From 0422749d11d9fc77948e8b2c901b5ad32dd46ccb Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 1 Nov 2021 09:43:49 +1000 Subject: [PATCH] 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 Part-of: (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) &&