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

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 17 20:07:01 UTC 2021


Module: Mesa
Branch: staging/21.3
Commit: 90486b44aef5097814e47c6ea7f09ad8c67e5601
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90486b44aef5097814e47c6ea7f09ad8c67e5601

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 1929e8e2220..3d9e8c90a7d 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1129,7 +1129,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 4e0756463ba..839902bb567 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -748,6 +748,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