summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Faye-Lund <erik.faye-lund@collabora.com>2022-08-08 16:10:54 +0200
committerDylan Baker <dylan.c.baker@intel.com>2022-08-11 10:30:38 -0700
commita71b24c64a1a08c7c52e14d89d2d4ced34c7f21b (patch)
treefa25a5deae6f0d54c648151db446710b3442e6a2
parent627cd2a447f7cb77f007be877b79214d6f4e7c0f (diff)
downloadmesa-a71b24c64a1a08c7c52e14d89d2d4ced34c7f21b.tar.gz
zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking
Without this, we might end up trying to use VK_FORMAT_D32_SFLOAT_S8_UINT even when it's not supported... Cc: mesa-stable Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17953> (cherry picked from commit 3340dea1941885e85087bd35b6261dfee8148722)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/zink/zink_screen.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 23c1dff9ee0..ea22fd2b425 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -229,7 +229,7 @@
"description": "zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null
},
diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
index 3af38ed4b58..54060c80e0f 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -1463,7 +1463,8 @@ zink_get_format(struct zink_screen *screen, enum pipe_format format)
{
VkFormat ret = zink_pipe_format_to_vk_format(emulate_x8(format));
- if (format == PIPE_FORMAT_X32_S8X24_UINT)
+ if (format == PIPE_FORMAT_X32_S8X24_UINT &&
+ screen->have_D32_SFLOAT_S8_UINT)
return VK_FORMAT_D32_SFLOAT_S8_UINT;
if (format == PIPE_FORMAT_X24S8_UINT)