From 1ecd481bd7d8a86840d703714aa20f602e1f46fe Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 4 Mar 2022 22:59:44 -0800 Subject: [PATCH] venus: add VK_EXT_robustness2 Part-of: --- src/virtio/vulkan/vn_physical_device.c | 13 +++++++++++++ src/virtio/vulkan/vn_physical_device.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 9ab6b4799e4..d23622b4db5 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -143,6 +143,8 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) LINE_RASTERIZATION_FEATURES_EXT, features2); VN_ADD_EXT_TO_PNEXT(exts->EXT_provoking_vertex, feats->provoking_vertex, PROVOKING_VERTEX_FEATURES_EXT, features2); + VN_ADD_EXT_TO_PNEXT(exts->EXT_robustness2, feats->robustness_2, + ROBUSTNESS_2_FEATURES_EXT, features2); VN_ADD_EXT_TO_PNEXT(exts->EXT_transform_feedback, feats->transform_feedback, TRANSFORM_FEEDBACK_FEATURES_EXT, features2); @@ -440,6 +442,8 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev) LINE_RASTERIZATION_PROPERTIES_EXT, properties2); VN_ADD_EXT_TO_PNEXT(exts->EXT_provoking_vertex, props->provoking_vertex, PROVOKING_VERTEX_PROPERTIES_EXT, properties2); + VN_ADD_EXT_TO_PNEXT(exts->EXT_robustness2, props->robustness_2, + ROBUSTNESS_2_PROPERTIES_EXT, properties2); VN_ADD_EXT_TO_PNEXT(exts->EXT_transform_feedback, props->transform_feedback, TRANSFORM_FEEDBACK_PROPERTIES_EXT, properties2); @@ -943,6 +947,7 @@ vn_physical_device_get_passthrough_extensions( .EXT_line_rasterization = true, .EXT_provoking_vertex = true, .EXT_queue_family_foreign = true, + .EXT_robustness2 = true, .EXT_transform_feedback = true, }; } @@ -1666,6 +1671,7 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceDepthClipEnableFeaturesEXT *depth_clip_enable; VkPhysicalDeviceLineRasterizationFeaturesEXT *line_rasterization; VkPhysicalDeviceProvokingVertexFeaturesEXT *provoking_vertex; + VkPhysicalDeviceRobustness2FeaturesEXT *robustness_2; VkPhysicalDeviceTransformFeedbackFeaturesEXT *transform_feedback; } u; @@ -1855,6 +1861,9 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: *u.provoking_vertex = feats->provoking_vertex; break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: + *u.robustness_2 = feats->robustness_2; + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: *u.transform_feedback = feats->transform_feedback; break; @@ -1910,6 +1919,7 @@ vn_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDevicePCIBusInfoPropertiesEXT *pci_bus_info; VkPhysicalDevicePresentationPropertiesANDROID *presentation_properties; VkPhysicalDeviceProvokingVertexPropertiesEXT *provoking_vertex; + VkPhysicalDeviceRobustness2PropertiesEXT *robustness_2; VkPhysicalDeviceTransformFeedbackPropertiesEXT *transform_feedback; } u; @@ -2122,6 +2132,9 @@ vn_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: *u.provoking_vertex = props->provoking_vertex; break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: + *u.robustness_2 = props->robustness_2; + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: *u.transform_feedback = props->transform_feedback; break; diff --git a/src/virtio/vulkan/vn_physical_device.h b/src/virtio/vulkan/vn_physical_device.h index 1a73179b344..3804a4ac1ae 100644 --- a/src/virtio/vulkan/vn_physical_device.h +++ b/src/virtio/vulkan/vn_physical_device.h @@ -34,6 +34,7 @@ struct vn_physical_device_features { VkPhysicalDeviceDepthClipEnableFeaturesEXT depth_clip_enable; VkPhysicalDeviceLineRasterizationFeaturesEXT line_rasterization; VkPhysicalDeviceProvokingVertexFeaturesEXT provoking_vertex; + VkPhysicalDeviceRobustness2FeaturesEXT robustness_2; VkPhysicalDeviceTransformFeedbackFeaturesEXT transform_feedback; }; @@ -48,6 +49,7 @@ struct vn_physical_device_properties { VkPhysicalDeviceCustomBorderColorPropertiesEXT custom_border_color; VkPhysicalDeviceLineRasterizationPropertiesEXT line_rasterization; VkPhysicalDeviceProvokingVertexPropertiesEXT provoking_vertex; + VkPhysicalDeviceRobustness2PropertiesEXT robustness_2; VkPhysicalDeviceTransformFeedbackPropertiesEXT transform_feedback; };