diff options
author | Dave Airlie <airlied@redhat.com> | 2021-11-01 09:43:49 +1000 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2021-11-24 15:47:19 -0800 |
commit | 0422749d11d9fc77948e8b2c901b5ad32dd46ccb (patch) | |
tree | 7bdf2a8725c785fe9b9582fd0089d4a7f5f0ba9a | |
parent | f1cc4c5d93d9cd98517bec9a82f0b7d4d4c3dbf6 (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.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_screen.c | 10 |
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) && |