diff options
author | José Fonseca <[email protected]> | 2011-04-08 15:21:10 +0100 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-09-23 07:58:45 -0600 |
commit | 6759ad53e20c5a12b1722c6653f54eff9f44c062 (patch) | |
tree | f4546cdab647873673524ec2fcc3ee6552cbad41 /src/gallium/drivers/svga | |
parent | 846a21d352b0bd965c38d0308c75f220e70e3ba3 (diff) |
svga: Add a comment about depth format selection.
Diffstat (limited to 'src/gallium/drivers/svga')
-rw-r--r-- | src/gallium/drivers/svga/svga_screen.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 5b759627f73..e8f17ba30b0 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -519,6 +519,15 @@ svga_screen_create(struct svga_winsys_screen *sws) sws->get_cap(sws, SVGA3D_DEVCAP_VERTEX_SHADER_VERSION, &result) && result.u >= SVGA3DVSVERSION_30 ? TRUE : FALSE; + /* + * The D16, D24X8, and D24S8 formats always do an implicit shadow compare + * when sampled from, where as the DF16, DF24, and D24S8_INT do not. So + * we prefer the later when available. + * + * This mimics hardware vendors extensions for D3D depth sampling. See also + * http://aras-p.info/texts/D3D9GPUHacks.html + */ + { SVGA3dSurfaceFormatCaps mask; mask.value = 0; @@ -551,7 +560,7 @@ svga_screen_create(struct svga_winsys_screen *sws) sws->get_cap(sws, SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8_INT, &result) && (result.u & mask.value) == mask.value ? SVGA3D_Z_D24S8_INT : svgascreen->depth.s8z24; - } + } #if 1 |