|
|
|
@ -743,16 +743,26 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
|
Settings::values.dyna_state.SetValue(0); |
|
|
|
} |
|
|
|
|
|
|
|
if (Settings::values.dyna_state.GetValue() == 0) { |
|
|
|
RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); |
|
|
|
#ifdef _WIN32
|
|
|
|
if (Settings::values.dyna_state.GetValue() == 0) { |
|
|
|
must_emulate_scaled_formats = true; |
|
|
|
LOG_INFO(Render_Vulkan, "Dynamic state is disabled, forcing scaled format emulation ON"); |
|
|
|
|
|
|
|
// Disable dynamic state 1-3 and all extensions
|
|
|
|
RemoveExtensionFeature(extensions.custom_border_color, features.custom_border_color, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME); |
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state, features.extended_dynamic_state, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); |
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state2, features.extended_dynamic_state2, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME); |
|
|
|
RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); |
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); |
|
|
|
} |
|
|
|
dynamic_state3_blending = false; |
|
|
|
dynamic_state3_enables = false; |
|
|
|
|
|
|
|
if (Settings::values.dyna_state.GetValue() > 0) { |
|
|
|
LOG_INFO(Render_Vulkan, "All dynamic state extensions and features have been disabled"); |
|
|
|
} else { |
|
|
|
must_emulate_scaled_formats = false; |
|
|
|
LOG_INFO(Render_Vulkan, "Dynamic state is enabled, disabling scaled format emulation"); |
|
|
|
} |
|
|
|
#endif
|
|
|
|
|
|
|
|
logical = vk::Device::Create(physical, queue_cis, ExtensionListForVulkan(loaded_extensions), first_next, dld); |
|
|
|
|
|
|
|
|