diff --git a/src/gallium/drivers/zink/zink_instance.py b/src/gallium/drivers/zink/zink_instance.py index 918f97ffc87..dfd2fc0346d 100644 --- a/src/gallium/drivers/zink/zink_instance.py +++ b/src/gallium/drivers/zink/zink_instance.py @@ -7,6 +7,7 @@ EXTENSIONS = [ Extension("VK_EXT_debug_utils"), Extension("VK_KHR_get_physical_device_properties2"), Extension("VK_KHR_external_memory_capabilities"), + Extension("VK_MVK_moltenvk"), ] LAYERS = [ @@ -45,12 +46,6 @@ struct zink_instance_info { %for layer in layers: bool have_layer_${layer.pure_name()}; %endfor - -#if defined(MVK_VERSION) - bool have_moltenvk_layer_ext; - bool have_moltenvk_layer; - bool have_moltenvk; -#endif }; VkInstance @@ -82,9 +77,7 @@ zink_create_instance(struct zink_screen *screen) %endfor #if defined(MVK_VERSION) - bool have_moltenvk_layer_ext = false; bool have_moltenvk_layer = false; - bool have_moltenvk = false; #endif // Build up the extensions from the reported ones but only for the unnamed layer @@ -95,17 +88,11 @@ zink_create_instance(struct zink_screen *screen) if (vkEnumerateInstanceExtensionProperties(NULL, &extension_count, extension_props) == VK_SUCCESS) { for (uint32_t i = 0; i < extension_count; i++) { %for ext in extensions: - if (!strcmp(extension_props[i].extensionName, ${ext.extension_name()})) { + if (!strcmp(extension_props[i].extensionName, ${ext.extension_name_literal()})) { have_${ext.name_with_vendor()} = true; - extensions[num_extensions++] = ${ext.extension_name()}; + extensions[num_extensions++] = ${ext.extension_name_literal()}; } %endfor -#if defined(MVK_VERSION) - if (!strcmp(extension_props[i].extensionName, VK_MVK_MOLTENVK_EXTENSION_NAME)) { - have_moltenvk_layer_ext = true; - extensions[num_extensions++] = VK_MVK_MOLTENVK_EXTENSION_NAME; - } -#endif } } free(extension_props); @@ -160,12 +147,6 @@ zink_create_instance(struct zink_screen *screen) } %endfor -#if defined(MVK_VERSION) - screen->instance_info.have_moltenvk_layer_ext = have_moltenvk_layer_ext; - screen->instance_info.have_moltenvk_layer = have_moltenvk_layer; - screen->have_moltenvk = have_moltenvk_layer_ext && have_moltenvk_layer; -#endif - VkApplicationInfo ai = {}; ai.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index b39bae6de97..074d206a128 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -874,11 +874,11 @@ create_debug(struct zink_screen *screen) return true; } -#if defined(MVK_VERSION) static bool zink_internal_setup_moltenvk(struct zink_screen *screen) { - if (!screen->have_moltenvk) +#if defined(MVK_VERSION) + if (!screen->have_MVK_moltenvk) return true; GET_PROC_ADDR_INSTANCE(GetMoltenVKConfigurationMVK); @@ -910,10 +910,10 @@ zink_internal_setup_moltenvk(struct zink_screen *screen) (*screen->vk_SetMoltenVKConfigurationMVK)(screen->instance, &molten_config, &molten_config_size); } } +#endif // MVK_VERSION return true; } -#endif // MVK_VERSION static void check_device_needs_mesa_wsi(struct zink_screen *screen) @@ -1013,9 +1013,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config) */ check_device_needs_mesa_wsi(screen); -#if defined(MVK_VERSION) zink_internal_setup_moltenvk(screen); -#endif screen->dev = zink_create_logical_device(screen); if (!screen->dev)