diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2023-04-03 12:52:32 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-04-27 01:33:17 +0000 |
commit | 492a1cf49e95bf5efb87c1bbb36f4a988e85f2d0 (patch) | |
tree | 429c8c9cf8b85f47d658eec630b7720a5d2d7113 | |
parent | 8650aa056031e65f31e68ae8ca4d7fd1bb1629b5 (diff) | |
download | mesa-492a1cf49e95bf5efb87c1bbb36f4a988e85f2d0.tar.gz |
zink: add ZINK_DEBUG=noshobj to disable EXT_shader_object
for debugging/testing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22725>
-rw-r--r-- | docs/drivers/zink.rst | 2 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_screen.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_types.h | 1 |
3 files changed, 5 insertions, 1 deletions
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 { |