Module: Mesa Branch: main Commit: 7f1050f207e93601d84be3cae82a327f44974db5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f1050f207e93601d84be3cae82a327f44974db5
Author: Mike Blumenkrantz <[email protected]> Date: Fri Mar 18 10:00:44 2022 -0400 lavapipe: EXT_inline_uniform_block Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457> --- src/gallium/frontends/lavapipe/lvp_device.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index df144b0d157..3e426b1b2b1 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -145,6 +145,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .EXT_host_query_reset = true, .EXT_image_robustness = true, .EXT_index_type_uint8 = true, + .EXT_inline_uniform_block = true, .EXT_multi_draw = true, .EXT_pipeline_creation_feedback = true, .EXT_pipeline_creation_cache_control = true, @@ -805,6 +806,13 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2( features->formatA4B4G4R4 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { + VkPhysicalDeviceInlineUniformBlockFeatures *features = + (VkPhysicalDeviceInlineUniformBlockFeatures*)ext; + features->inlineUniformBlock = true; + features->descriptorBindingInlineUniformBlockUpdateAfterBind = true; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: { VkPhysicalDeviceCustomBorderColorFeaturesEXT *features = (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)ext; @@ -1087,6 +1095,16 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties2( PIPE_CAP_RASTERIZER_SUBPIXEL_BITS); break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { + VkPhysicalDeviceInlineUniformBlockProperties *properties = + (VkPhysicalDeviceInlineUniformBlockProperties *)ext; + properties->maxInlineUniformBlockSize = MAX_DESCRIPTOR_UNIFORM_BLOCK_SIZE; + properties->maxPerStageDescriptorInlineUniformBlocks = MAX_PER_STAGE_DESCRIPTOR_UNIFORM_BLOCKS; + properties->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = MAX_PER_STAGE_DESCRIPTOR_UNIFORM_BLOCKS; + properties->maxDescriptorSetInlineUniformBlocks = MAX_PER_STAGE_DESCRIPTOR_UNIFORM_BLOCKS; + properties->maxDescriptorSetUpdateAfterBindInlineUniformBlocks = MAX_PER_STAGE_DESCRIPTOR_UNIFORM_BLOCKS; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: { VkPhysicalDeviceExternalMemoryHostPropertiesEXT *properties = (VkPhysicalDeviceExternalMemoryHostPropertiesEXT *)ext;
