From d94625d11094b1c9e91969ff53b99f2e70ac5458 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Thu, 16 Mar 2023 09:38:38 +0000 Subject: [PATCH] v3dv: reorder features as 1.0, 1.1, 1.2, 1.3 Easier to follow than 1.0, 1.3, 1.2, 1.1 :) Signed-off-by: Eric Engestrom Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_device.c | 74 +++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 298ae33..a44f8e8 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1154,25 +1154,24 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, .inheritedQueries = true, }; - VkPhysicalDeviceVulkan13Features vk13 = { - .inlineUniformBlock = true, - /* Inline buffers work like push constants, so after their are bound - * some of their contents may be copied into the uniform stream as soon - * as the next draw/dispatch is recorded in the command buffer. This means - * that if the client updates the buffer contents after binding it to - * a command buffer, the next queue submit of that command buffer may - * not use the latest update to the buffer contents, but the data that - * was present in the buffer at the time it was bound to the command - * buffer. - */ - .descriptorBindingInlineUniformBlockUpdateAfterBind = false, - .pipelineCreationCacheControl = true, - .privateData = true, - .maintenance4 = true, - .shaderZeroInitializeWorkgroupMemory = true, - .synchronization2 = true, - .robustImageAccess = true, - .shaderIntegerDotProduct = true, + VkPhysicalDeviceVulkan11Features vk11 = { + .storageBuffer16BitAccess = true, + .uniformAndStorageBuffer16BitAccess = true, + .storagePushConstant16 = true, + .storageInputOutput16 = false, + .multiview = true, + .multiviewGeometryShader = false, + .multiviewTessellationShader = false, + .variablePointersStorageBuffer = true, + /* FIXME: this needs support for non-constant index on UBO/SSBO */ + .variablePointers = false, + .protectedMemory = false, +#ifdef ANDROID + .samplerYcbcrConversion = false, +#else + .samplerYcbcrConversion = true, +#endif + .shaderDrawParameters = false, }; VkPhysicalDeviceVulkan12Features vk12 = { @@ -1229,24 +1228,25 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, .bufferDeviceAddressMultiDevice = false, }; - VkPhysicalDeviceVulkan11Features vk11 = { - .storageBuffer16BitAccess = true, - .uniformAndStorageBuffer16BitAccess = true, - .storagePushConstant16 = true, - .storageInputOutput16 = false, - .multiview = true, - .multiviewGeometryShader = false, - .multiviewTessellationShader = false, - .variablePointersStorageBuffer = true, - /* FIXME: this needs support for non-constant index on UBO/SSBO */ - .variablePointers = false, - .protectedMemory = false, -#ifdef ANDROID - .samplerYcbcrConversion = false, -#else - .samplerYcbcrConversion = true, -#endif - .shaderDrawParameters = false, + VkPhysicalDeviceVulkan13Features vk13 = { + .inlineUniformBlock = true, + /* Inline buffers work like push constants, so after their are bound + * some of their contents may be copied into the uniform stream as soon + * as the next draw/dispatch is recorded in the command buffer. This means + * that if the client updates the buffer contents after binding it to + * a command buffer, the next queue submit of that command buffer may + * not use the latest update to the buffer contents, but the data that + * was present in the buffer at the time it was bound to the command + * buffer. + */ + .descriptorBindingInlineUniformBlockUpdateAfterBind = false, + .pipelineCreationCacheControl = true, + .privateData = true, + .maintenance4 = true, + .shaderZeroInitializeWorkgroupMemory = true, + .synchronization2 = true, + .robustImageAccess = true, + .shaderIntegerDotProduct = true, }; vk_foreach_struct(ext, pFeatures->pNext) { -- 2.7.4