diff options
author | Dave Airlie <[email protected]> | 2019-12-03 16:01:37 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2020-07-17 05:09:34 +1000 |
commit | 87e27543fe9a96bf4fd9555361ec66e3918aa3b3 (patch) | |
tree | ced28dc0fbfdab33150d207618356035efa566f9 | |
parent | 045711dc1c076fcb8f095a272f44a84dd245c339 (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.c | 3 |
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; |