aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2019-12-03 16:01:37 +1000
committerDave Airlie <[email protected]>2020-07-17 05:09:34 +1000
commit87e27543fe9a96bf4fd9555361ec66e3918aa3b3 (patch)
treeced28dc0fbfdab33150d207618356035efa566f9
parent045711dc1c076fcb8f095a272f44a84dd245c339 (diff)
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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926>
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs.c3
1 files changed, 3 insertions, 0 deletions
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;