Mesa (master): llvmpipe: fix stencil only formats.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 16 19:58:40 UTC 2020


Module: Mesa
Branch: master
Commit: 87e27543fe9a96bf4fd9555361ec66e3918aa3b3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87e27543fe9a96bf4fd9555361ec66e3918aa3b3

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Dec  3 16:01:37 2019 +1000

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 <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926>

---

 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;



More information about the mesa-commit mailing list