zink: disable dynamic state exts if the previous ones aren't present

this would be weird if a driver did it

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22996>
This commit is contained in:
Mike Blumenkrantz 2023-05-12 12:36:57 -04:00 committed by Marge Bot
parent 6debee51f3
commit d5cf6f7d2f

View file

@ -2412,6 +2412,12 @@ init_driver_workarounds(struct zink_screen *screen)
if (screen->info.props.limits.maxBoundDescriptorSets < ZINK_DESCRIPTOR_ALL_TYPES ||
zink_debug & (ZINK_DEBUG_COMPACT | ZINK_DEBUG_NOSHOBJ))
screen->info.have_EXT_shader_object = false;
/* EDS2 is only used with EDS1 */
if (!screen->info.have_EXT_extended_dynamic_state)
screen->info.have_EXT_extended_dynamic_state2 = false;
/* EDS3 is only used with EDS2 */
if (!screen->info.have_EXT_extended_dynamic_state2)
screen->info.have_EXT_extended_dynamic_state3 = false;
/* EXT_vertex_input_dynamic_state is only used with EDS2 and above */
if (!screen->info.have_EXT_extended_dynamic_state2)
screen->info.have_EXT_vertex_input_dynamic_state = false;