Add iub features and properties passthrough
authorDawn Han <dawnhan@google.com>
Wed, 29 Jun 2022 18:14:01 +0000 (18:14 +0000)
committerMarge Bot <emma+marge@anholt.net>
Thu, 7 Jul 2022 02:37:36 +0000 (02:37 +0000)
Signed-off-by: Dawn Han <dawnhan@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699>

src/virtio/vulkan/vn_physical_device.c
src/virtio/vulkan/vn_physical_device.h

index ac79e4b..c520069 100644 (file)
@@ -129,6 +129,9 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
                        EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, features2);
    VN_ADD_EXT_TO_PNEXT(exts->EXT_image_robustness, feats->image_robustness,
                        IMAGE_ROBUSTNESS_FEATURES_EXT, features2);
+   VN_ADD_EXT_TO_PNEXT(exts->EXT_inline_uniform_block,
+                       feats->inline_uniform_block,
+                       INLINE_UNIFORM_BLOCK_FEATURES, features2);
    VN_ADD_EXT_TO_PNEXT(exts->EXT_shader_demote_to_helper_invocation,
                        feats->shader_demote_to_helper_invocation,
                        SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
@@ -466,6 +469,11 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
                       TIMELINE_SEMAPHORE_PROPERTIES, properties2);
    }
 
+   /* Vulkan 1.3 */
+   VN_ADD_EXT_TO_PNEXT(exts->EXT_inline_uniform_block,
+                       props->inline_uniform_block,
+                       INLINE_UNIFORM_BLOCK_PROPERTIES, properties2);
+
    /* EXT */
    VN_ADD_EXT_TO_PNEXT(
       exts->EXT_conservative_rasterization, props->conservative_rasterization,
@@ -1609,6 +1617,7 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
       VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
          *extended_dynamic_state2;
       VkPhysicalDeviceImageRobustnessFeaturesEXT *image_robustness;
+      VkPhysicalDeviceInlineUniformBlockFeatures *inline_uniform_block;
       VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
          *shader_demote_to_helper_invocation;
 
@@ -1796,6 +1805,9 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT:
          *u.image_robustness = feats->image_robustness;
          break;
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
+         *u.inline_uniform_block = feats->inline_uniform_block;
+         break;
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
          *u.shader_demote_to_helper_invocation =
             feats->shader_demote_to_helper_invocation;
@@ -1873,6 +1885,9 @@ vn_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
       VkPhysicalDeviceSamplerFilterMinmaxProperties *sampler_filter_minmax;
       VkPhysicalDeviceTimelineSemaphoreProperties *timeline_semaphore;
 
+      /* Vulkan 1.3 */
+      VkPhysicalDeviceInlineUniformBlockProperties *inline_uniform_block;
+
       /* EXT */
       VkPhysicalDeviceConservativeRasterizationPropertiesEXT
          *conservative_rasterization;
@@ -2067,6 +2082,11 @@ vn_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
             vk12_props->maxTimelineSemaphoreValueDifference;
          break;
 
+      /* Vulkan 1.3 */
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES:
+         *u.inline_uniform_block = props->inline_uniform_block;
+         break;
+
       /* EXT */
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
          *u.conservative_rasterization = props->conservative_rasterization;
index c17663e..6a9fb00 100644 (file)
@@ -27,6 +27,7 @@ struct vn_physical_device_features {
    VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extended_dynamic_state;
    VkPhysicalDeviceExtendedDynamicState2FeaturesEXT extended_dynamic_state_2;
    VkPhysicalDeviceImageRobustnessFeaturesEXT image_robustness;
+   VkPhysicalDeviceInlineUniformBlockFeatures inline_uniform_block;
    VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
       shader_demote_to_helper_invocation;
 
@@ -48,6 +49,9 @@ struct vn_physical_device_properties {
    VkPhysicalDeviceVulkan11Properties vulkan_1_1;
    VkPhysicalDeviceVulkan12Properties vulkan_1_2;
 
+   /* Vulkan 1.3 */
+   VkPhysicalDeviceInlineUniformBlockProperties inline_uniform_block;
+
    /* EXT */
    VkPhysicalDeviceConservativeRasterizationPropertiesEXT
       conservative_rasterization;