From: Dave Airlie Date: Tue, 3 Dec 2019 06:01:37 +0000 (+1000) Subject: llvmpipe: fix stencil only formats. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=87e27543fe9a96bf4fd9555361ec66e3918aa3b3;p=mesa.git 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: --- 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;