Module: Mesa Branch: staging/21.3 Commit: 9ca87c722df6a9e2bb1c4b0f7284cf2db617ebd5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ca87c722df6a9e2bb1c4b0f7284cf2db617ebd5
Author: Dave Airlie <[email protected]> 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 <[email protected]> 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 29f5966a7c2..60578690c25 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -238,7 +238,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) &&
