venus: Advertise VK_EXT_extended_dynamic_state support
Signed-off-by: Omar Akkila <omar.akkila@collabora.com> Reviewed-by: Chia-I Wu <olvaffe@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14866>
This commit is contained in:
@@ -154,6 +154,15 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
&physical_dev->transform_feedback_features;
|
||||
}
|
||||
|
||||
if (physical_dev->renderer_extensions.EXT_extended_dynamic_state) {
|
||||
physical_dev->extended_dynamic_state_features.sType =
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
|
||||
physical_dev->extended_dynamic_state_features.pNext =
|
||||
physical_dev->features.pNext;
|
||||
physical_dev->features.pNext =
|
||||
&physical_dev->extended_dynamic_state_features;
|
||||
}
|
||||
|
||||
vn_call_vkGetPhysicalDeviceFeatures2(
|
||||
instance, vn_physical_device_to_handle(physical_dev),
|
||||
&physical_dev->features);
|
||||
@@ -954,6 +963,8 @@ vn_physical_device_get_passthrough_extensions(
|
||||
.EXT_separate_stencil_usage = true,
|
||||
.EXT_shader_viewport_index_layer = true,
|
||||
|
||||
/* promoted to VK_VERSION_1_3 */
|
||||
.EXT_extended_dynamic_state = true,
|
||||
/* EXT */
|
||||
#ifndef ANDROID
|
||||
.EXT_image_drm_format_modifier = true,
|
||||
@@ -1629,6 +1640,7 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
VkPhysicalDeviceVulkanMemoryModelFeatures *vulkan_memory_model;
|
||||
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT *transform_feedback;
|
||||
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *extended_dynamic_state;
|
||||
} u;
|
||||
|
||||
u.pnext = (VkBaseOutStructure *)pFeatures;
|
||||
@@ -1790,6 +1802,10 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
&physical_dev->transform_feedback_features,
|
||||
sizeof(physical_dev->transform_feedback_features));
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
|
||||
u.extended_dynamic_state->extendedDynamicState =
|
||||
physical_dev->extended_dynamic_state_features.extendedDynamicState;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -41,6 +41,8 @@ struct vn_physical_device {
|
||||
VkPhysicalDeviceVulkan11Features vulkan_1_1_features;
|
||||
VkPhysicalDeviceVulkan12Features vulkan_1_2_features;
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT transform_feedback_features;
|
||||
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
|
||||
extended_dynamic_state_features;
|
||||
|
||||
VkPhysicalDeviceProperties2 properties;
|
||||
VkPhysicalDeviceVulkan11Properties vulkan_1_1_properties;
|
||||
|
||||
Reference in New Issue
Block a user