Mesa (staging/21.2): llvmpipe: disable 64-bit integer textures.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 24 22:54:05 UTC 2021


Module: Mesa
Branch: staging/21.2
Commit: 11cd74dd567b34d81754ab26c299404e67ee1461
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=11cd74dd567b34d81754ab26c299404e67ee1461

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Nov  1 09:43:49 2021 +1000

llvmpipe: disable 64-bit integer textures.

This fixes some crashes in VK-GL-CTS where it doesn't deal with these.

Cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13617>
(cherry picked from commit 53a8faafc1eb28399509098ee2c0fd210f0727f2)

---

 .pick_status.json                        |  2 +-
 src/gallium/drivers/llvmpipe/lp_screen.c | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 88d9456b3fe..faa61734c52 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -3181,7 +3181,7 @@
         "description": "llvmpipe: disable 64-bit integer textures.",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index 94e37dc4fe6..1aa693ff4ca 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -735,6 +735,16 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
           format_desc->block.bits != 96) {
          return false;
       }
+
+      /* Disable 64-bit integer formats for RT/samplers.
+       * VK CTS crashes with these and they don't make much sense.
+       */
+      int c = util_format_get_first_non_void_channel(format_desc->format);
+      if (c >= 0) {
+         if (format_desc->channel[c].pure_integer && format_desc->channel[c].size == 64)
+            return false;
+      }
+
    }
 
    if (!(bind & PIPE_BIND_VERTEX_BUFFER) &&



More information about the mesa-commit mailing list