Module: Mesa
Branch: master
Commit: f88d9c9d7cb4edea2cd981d09d1d076de37b535f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f88d9c9d7cb4edea2cd981d09d1d076de37b535f

Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Feb 10 09:47:57 2021 -0500

zink: use better mapping for PIPE_FORMAT_X24S8_UINT

this needs to be unconditionally supported in some way, and it also
needs to use a more compatible fallback format if the base format is unavailable

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8959>

---

 src/gallium/drivers/zink/zink_screen.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 6a30c1f4a74..b5b1896f0cb 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -906,6 +906,11 @@ 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_X24S8_UINT)
+      /* valid when using aspects to extract stencil,
+       * fails format test because it's emulated */
+      ret = VK_FORMAT_D24_UNORM_S8_UINT;
+
    if (ret == VK_FORMAT_X8_D24_UNORM_PACK32 &&
        !screen->have_X8_D24_UNORM_PACK32) {
       assert(zink_is_depth_format_supported(screen, VK_FORMAT_D32_SFLOAT));
@@ -925,11 +930,6 @@ zink_get_format(struct zink_screen *screen, enum 
pipe_format format)
         !screen->info.format_4444_feats.formatA4R4G4B4))
       return VK_FORMAT_UNDEFINED;
 
-   if (format == PIPE_FORMAT_X24S8_UINT)
-      /* valid when using aspects to extract stencil,
-       * fails format test because it's emulated */
-      return VK_FORMAT_X8_D24_UNORM_PACK32;
-
    return ret;
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to