Module: Mesa
Branch: main
Commit: 492a1cf49e95bf5efb87c1bbb36f4a988e85f2d0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=492a1cf49e95bf5efb87c1bbb36f4a988e85f2d0

Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Apr  3 12:52:32 2023 -0400

zink: add ZINK_DEBUG=noshobj to disable EXT_shader_object

for debugging/testing

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22725>

---

 docs/drivers/zink.rst                  | 2 ++
 src/gallium/drivers/zink/zink_screen.c | 3 ++-
 src/gallium/drivers/zink/zink_types.h  | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/docs/drivers/zink.rst b/docs/drivers/zink.rst
index 08ab4959074..1ec3b86aec6 100644
--- a/docs/drivers/zink.rst
+++ b/docs/drivers/zink.rst
@@ -307,6 +307,8 @@ variable:
     Print info about mapped VRAM
   ``flushsync``
     Force synchronous flushes/presents
+  ``noshobj``
+    Disable EXT_shader_object
 
 Vulkan Validation Layers
 ^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 75d2e44b675..acdbc240838 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -92,6 +92,7 @@ zink_debug_options[] = {
    { "norp", ZINK_DEBUG_NORP, "Disable renderpass tracking/optimizations" },
    { "map", ZINK_DEBUG_MAP, "Track amount of mapped VRAM" },
    { "flushsync", ZINK_DEBUG_FLUSHSYNC, "Force synchronous flushes/presents" },
+   { "noshobj", ZINK_DEBUG_NOSHOBJ, "Disable EXT_shader_object" },
    DEBUG_NAMED_VALUE_END
 };
 
@@ -2409,7 +2410,7 @@ init_driver_workarounds(struct zink_screen *screen)
    }
    /* TODO: maybe compile multiple variants for different set counts for 
compact mode? */
    if (screen->info.props.limits.maxBoundDescriptorSets < 
ZINK_DESCRIPTOR_ALL_TYPES ||
-       zink_debug & ZINK_DEBUG_COMPACT)
+       zink_debug & (ZINK_DEBUG_COMPACT | ZINK_DEBUG_NOSHOBJ))
       screen->info.have_EXT_shader_object = false;
    if (screen->info.line_rast_feats.stippledRectangularLines &&
        screen->info.line_rast_feats.stippledBresenhamLines &&
diff --git a/src/gallium/drivers/zink/zink_types.h 
b/src/gallium/drivers/zink/zink_types.h
index 9a959141cef..54cbb47f599 100644
--- a/src/gallium/drivers/zink/zink_types.h
+++ b/src/gallium/drivers/zink/zink_types.h
@@ -221,6 +221,7 @@ enum zink_debug {
    ZINK_DEBUG_NORP = (1<<10),
    ZINK_DEBUG_MAP = (1<<11),
    ZINK_DEBUG_FLUSHSYNC = (1<<12),
+   ZINK_DEBUG_NOSHOBJ = (1<<13),
 };
 
 enum zink_pv_emulation_primitive {

Reply via email to