From 6759ad53e20c5a12b1722c6653f54eff9f44c062 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 8 Apr 2011 15:21:10 +0100 Subject: [PATCH] svga: Add a comment about depth format selection. --- src/gallium/drivers/svga/svga_screen.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 -- 2.30.2