summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2021-11-01 09:43:49 +1000
committerDylan Baker <dylan.c.baker@intel.com>2021-11-24 15:47:19 -0800
commit0422749d11d9fc77948e8b2c901b5ad32dd46ccb (patch)
tree7bdf2a8725c785fe9b9582fd0089d4a7f5f0ba9a
parentf1cc4c5d93d9cd98517bec9a82f0b7d4d4c3dbf6 (diff)
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@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13617> (cherry picked from commit 53a8faafc1eb28399509098ee2c0fd210f0727f2)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/llvmpipe/lp_screen.c10
2 files changed, 11 insertions, 1 deletions
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) &&