From 15bf6d08c523a543f928ea196da137d1009868e4 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Thu, 12 May 2022 08:25:05 +0200 Subject: [PATCH] v3dv: enable missing mandatory Vulkan 1.2 features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For some reason the Vulkan spec required that these features must be supported even though they only affect features that are optional in Vulkan 1.2 and that we don't support, so enabling them doesn't have any practical implications for us. Reviewed-by: Alejandro PiƱeiro Part-of: --- src/broadcom/vulkan/v3dv_device.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 511572cbd29..2a5a5bbfa96 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1203,6 +1203,16 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, .samplerMirrorClampToEdge = true, + /* These are mandatory by Vulkan 1.2, however, we don't support any of + * the optional features affected by them (non 32-bit types for + * shaderSubgroupExtendedTypes and additional subgroup ballot for + * subgroupBroadcastDynamicId), so in practice setting them to true + * doesn't have any implications for us until we implement any of these + * optional features. + */ + .shaderSubgroupExtendedTypes = true, + .subgroupBroadcastDynamicId = true, + .vulkanMemoryModel = true, .vulkanMemoryModelDeviceScope = true, .vulkanMemoryModelAvailabilityVisibilityChains = true,