diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 0e699688a45..918707cfd7d 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -75,6 +75,23 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, features->formatA4B4G4R4 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: { + VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *features = (void *)ext; + features->extendedDynamicState = true; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: { + VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *features = (void *)ext; + features->extendedDynamicState2 = true; + features->extendedDynamicState2LogicOp = true; + features->extendedDynamicState2PatchControlPoints = true; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: { + VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT *features = (void *)ext; + features->vertexInputDynamicState = true; + break; + } /* More feature structs */ default: break; @@ -189,6 +206,9 @@ nvk_get_device_extensions(const struct nvk_physical_device *device, .KHR_variable_pointers = true, .EXT_custom_border_color = true, .EXT_inline_uniform_block = true, + .EXT_extended_dynamic_state = true, + .EXT_extended_dynamic_state2 = true, + .EXT_vertex_input_dynamic_state = true, }; }