summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_screen.c
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2013-01-29 13:27:44 +0000
committerJosé Fonseca <[email protected]>2013-01-29 16:41:56 +0000
commit42f762dcf682957a8a5c85ca1d30b28f41ea4bd0 (patch)
treed276e9294d1f1218e374d43c1320b376ee265ad4 /src/gallium/drivers/llvmpipe/lp_screen.c
parent3b683700efe81f82ba2f978d6c645385e5ccfa97 (diff)
llvmpipe: Don't advertise S8_UNORM (with feeble attempt at supporting it).
S8_UNORM was inadvertedly supported together with Z16_UNORM. I tried to update the code to accomodate stencil-only -- it seemed a simple thing to do -- but "fbo-stencil clear GL_STENCIL_INDEX8" still fails, and it's not worth debugging. Therefore although this change tries to update for S8_UNORM, it also disables it completely. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_screen.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_screen.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index de80c6fdc6b..3769428a971 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -356,9 +356,14 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
if (format_desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS)
return FALSE;
- /* FIXME: Temporary restriction. See lp_bld_depth.c. */
+ /* TODO: Support Z32_FLOAT_S8X24_UINT. See lp_bld_depth.c. */
if (format_desc->block.bits > 32)
return FALSE;
+
+ /* TODO: Support stencil-only formats */
+ if (format_desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_NONE) {
+ return FALSE;
+ }
}
if (format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC) {