|
|
@ -662,7 +662,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
properties.properties.limits.maxVertexInputBindings = 32; |
|
|
properties.properties.limits.maxVertexInputBindings = 32; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const auto dyna_state = u32(Settings::values.dyna_state.GetValue()); |
|
|
|
|
|
|
|
|
const auto dyna_state = Settings::values.dyna_state.GetValue(); |
|
|
|
|
|
|
|
|
// Base dynamic states (VIEWPORT, SCISSOR, DEPTH_BIAS, etc.) are ALWAYS active in vk_graphics_pipeline.cpp
|
|
|
// Base dynamic states (VIEWPORT, SCISSOR, DEPTH_BIAS, etc.) are ALWAYS active in vk_graphics_pipeline.cpp
|
|
|
// This slider controls EXTENDED dynamic states with accumulative levels per Vulkan specs:
|
|
|
// This slider controls EXTENDED dynamic states with accumulative levels per Vulkan specs:
|
|
|
@ -672,7 +672,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
// Level 3 = Core + VK_EXT_extended_dynamic_state + VK_EXT_extended_dynamic_state2 + VK_EXT_extended_dynamic_state3
|
|
|
// Level 3 = Core + VK_EXT_extended_dynamic_state + VK_EXT_extended_dynamic_state2 + VK_EXT_extended_dynamic_state3
|
|
|
|
|
|
|
|
|
switch (dyna_state) { |
|
|
switch (dyna_state) { |
|
|
case 0: |
|
|
|
|
|
|
|
|
case Settings::ExtendedDynamicState::Disabled: |
|
|
// Level 0: Disable all extended dynamic state extensions
|
|
|
// Level 0: Disable all extended dynamic state extensions
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state, features.extended_dynamic_state, |
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state, features.extended_dynamic_state, |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); |
|
|
@ -683,7 +683,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_enables = false; |
|
|
dynamic_state3_enables = false; |
|
|
break; |
|
|
break; |
|
|
case 1: |
|
|
|
|
|
|
|
|
case Settings::ExtendedDynamicState::EDS1: |
|
|
// Level 1: Enable EDS1, disable EDS2 and EDS3
|
|
|
// Level 1: Enable EDS1, disable EDS2 and EDS3
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state2, features.extended_dynamic_state2, |
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state2, features.extended_dynamic_state2, |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME); |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME); |
|
|
@ -692,14 +692,14 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_enables = false; |
|
|
dynamic_state3_enables = false; |
|
|
break; |
|
|
break; |
|
|
case 2: |
|
|
|
|
|
|
|
|
case Settings::ExtendedDynamicState::EDS2: |
|
|
// Level 2: Enable EDS1 + EDS2, disable EDS3
|
|
|
// Level 2: Enable EDS1 + EDS2, disable EDS3
|
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3, |
|
|
RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3, |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); |
|
|
VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_blending = false; |
|
|
dynamic_state3_enables = false; |
|
|
dynamic_state3_enables = false; |
|
|
break; |
|
|
break; |
|
|
case 3: |
|
|
|
|
|
|
|
|
case Settings::ExtendedDynamicState::EDS3: |
|
|
default: |
|
|
default: |
|
|
// Level 3: Enable all (EDS1 + EDS2 + EDS3)
|
|
|
// Level 3: Enable all (EDS1 + EDS2 + EDS3)
|
|
|
break; |
|
|
break; |
|
|
|