From 87e27543fe9a96bf4fd9555361ec66e3918aa3b3 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 3 Dec 2019 16:01:37 +1000 Subject: [PATCH] llvmpipe: fix stencil only formats. Currently the test crashes with LLVM errors Stored value type does not match pointer operand type! store <8 x i32> %s_dst, <8 x i8>* %261 Change the stored type for 8-bit stencil formats. Fixes: GTF-GL45.gtf44.GL31Tests.texture_stencil8.texture_stencil8_gl44 Reviewed-by: Roland Scheidegger Part-of: --- src/gallium/drivers/llvmpipe/lp_state_fs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index edc4dcd2a5a..e1c5fc09597 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -559,6 +559,9 @@ generate_fs_loop(struct gallivm_state *gallivm, struct lp_type s_type = zs_type; if (zs_format_desc->block.bits < type.width) z_type.width = type.width; + if (zs_format_desc->block.bits == 8) + s_type.width = type.width; + else if (zs_format_desc->block.bits > 32) { z_type.width = z_type.width / 2; s_type.width = s_type.width / 2; -- 2.34.1