From 2740d92e3de9195dcdacc0c71345b746c4227e7d Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Mon, 13 May 2024 14:12:21 -0700 Subject: [PATCH] vulkan: drop redundant core props query and copy helpers The last client, venus, has stopped using those either. Signed-off-by: Yiwei Zhang Tested-by: Oskar Viljasaar Reviewed-by: Konstantin Seurer Part-of: --- src/vulkan/runtime/vk_device.c | 252 --------------------------------- src/vulkan/runtime/vk_device.h | 7 - src/vulkan/util/vk_util.h | 7 - 3 files changed, 266 deletions(-) diff --git a/src/vulkan/runtime/vk_device.c b/src/vulkan/runtime/vk_device.c index 31cb331e9abd7..89a994f77e9b5 100644 --- a/src/vulkan/runtime/vk_device.c +++ b/src/vulkan/runtime/vk_device.c @@ -558,255 +558,3 @@ vk_clock_gettime(clockid_t clock_id) } #endif //!_WIN32 - -#define CORE_RENAMED_PROPERTY(ext_property, core_property) \ - memcpy(&properties->ext_property, &core->core_property, sizeof(core->core_property)) - -#define CORE_PROPERTY(property) CORE_RENAMED_PROPERTY(property, property) - -bool -vk_get_physical_device_core_1_1_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan11Properties *core) -{ - switch (ext->sType) { - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: { - VkPhysicalDeviceIDProperties *properties = (void *)ext; - CORE_PROPERTY(deviceUUID); - CORE_PROPERTY(driverUUID); - CORE_PROPERTY(deviceLUID); - CORE_PROPERTY(deviceNodeMask); - CORE_PROPERTY(deviceLUIDValid); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: { - VkPhysicalDeviceMaintenance3Properties *properties = (void *)ext; - CORE_PROPERTY(maxPerSetDescriptors); - CORE_PROPERTY(maxMemoryAllocationSize); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: { - VkPhysicalDeviceMultiviewProperties *properties = (void *)ext; - CORE_PROPERTY(maxMultiviewViewCount); - CORE_PROPERTY(maxMultiviewInstanceIndex); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: { - VkPhysicalDevicePointClippingProperties *properties = (void *) ext; - CORE_PROPERTY(pointClippingBehavior); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: { - VkPhysicalDeviceProtectedMemoryProperties *properties = (void *)ext; - CORE_PROPERTY(protectedNoFault); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: { - VkPhysicalDeviceSubgroupProperties *properties = (void *)ext; - CORE_PROPERTY(subgroupSize); - CORE_RENAMED_PROPERTY(supportedStages, - subgroupSupportedStages); - CORE_RENAMED_PROPERTY(supportedOperations, - subgroupSupportedOperations); - CORE_RENAMED_PROPERTY(quadOperationsInAllStages, - subgroupQuadOperationsInAllStages); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: - vk_copy_struct_guts(ext, (void *)core, sizeof(*core)); - return true; - - default: - return false; - } -} - -bool -vk_get_physical_device_core_1_2_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan12Properties *core) -{ - switch (ext->sType) { - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: { - VkPhysicalDeviceDepthStencilResolveProperties *properties = (void *)ext; - CORE_PROPERTY(supportedDepthResolveModes); - CORE_PROPERTY(supportedStencilResolveModes); - CORE_PROPERTY(independentResolveNone); - CORE_PROPERTY(independentResolve); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: { - VkPhysicalDeviceDescriptorIndexingProperties *properties = (void *)ext; - CORE_PROPERTY(maxUpdateAfterBindDescriptorsInAllPools); - CORE_PROPERTY(shaderUniformBufferArrayNonUniformIndexingNative); - CORE_PROPERTY(shaderSampledImageArrayNonUniformIndexingNative); - CORE_PROPERTY(shaderStorageBufferArrayNonUniformIndexingNative); - CORE_PROPERTY(shaderStorageImageArrayNonUniformIndexingNative); - CORE_PROPERTY(shaderInputAttachmentArrayNonUniformIndexingNative); - CORE_PROPERTY(robustBufferAccessUpdateAfterBind); - CORE_PROPERTY(quadDivergentImplicitLod); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindSamplers); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindUniformBuffers); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindStorageBuffers); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindSampledImages); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindStorageImages); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindInputAttachments); - CORE_PROPERTY(maxPerStageUpdateAfterBindResources); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindSamplers); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindUniformBuffers); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindUniformBuffersDynamic); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindStorageBuffers); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindStorageBuffersDynamic); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindSampledImages); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindStorageImages); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindInputAttachments); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: { - VkPhysicalDeviceDriverProperties *properties = (void *) ext; - CORE_PROPERTY(driverID); - CORE_PROPERTY(driverName); - CORE_PROPERTY(driverInfo); - CORE_PROPERTY(conformanceVersion); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: { - VkPhysicalDeviceSamplerFilterMinmaxProperties *properties = (void *)ext; - CORE_PROPERTY(filterMinmaxImageComponentMapping); - CORE_PROPERTY(filterMinmaxSingleComponentFormats); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES : { - VkPhysicalDeviceFloatControlsProperties *properties = (void *)ext; - CORE_PROPERTY(denormBehaviorIndependence); - CORE_PROPERTY(roundingModeIndependence); - CORE_PROPERTY(shaderDenormFlushToZeroFloat16); - CORE_PROPERTY(shaderDenormPreserveFloat16); - CORE_PROPERTY(shaderRoundingModeRTEFloat16); - CORE_PROPERTY(shaderRoundingModeRTZFloat16); - CORE_PROPERTY(shaderSignedZeroInfNanPreserveFloat16); - CORE_PROPERTY(shaderDenormFlushToZeroFloat32); - CORE_PROPERTY(shaderDenormPreserveFloat32); - CORE_PROPERTY(shaderRoundingModeRTEFloat32); - CORE_PROPERTY(shaderRoundingModeRTZFloat32); - CORE_PROPERTY(shaderSignedZeroInfNanPreserveFloat32); - CORE_PROPERTY(shaderDenormFlushToZeroFloat64); - CORE_PROPERTY(shaderDenormPreserveFloat64); - CORE_PROPERTY(shaderRoundingModeRTEFloat64); - CORE_PROPERTY(shaderRoundingModeRTZFloat64); - CORE_PROPERTY(shaderSignedZeroInfNanPreserveFloat64); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: { - VkPhysicalDeviceTimelineSemaphoreProperties *properties = (void *) ext; - CORE_PROPERTY(maxTimelineSemaphoreValueDifference); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: - vk_copy_struct_guts(ext, (void *)core, sizeof(*core)); - return true; - - default: - return false; - } -} - -bool -vk_get_physical_device_core_1_3_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan13Properties *core) -{ - switch (ext->sType) { - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { - VkPhysicalDeviceInlineUniformBlockProperties *properties = (void *)ext; - CORE_PROPERTY(maxInlineUniformBlockSize); - CORE_PROPERTY(maxPerStageDescriptorInlineUniformBlocks); - CORE_PROPERTY(maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks); - CORE_PROPERTY(maxDescriptorSetInlineUniformBlocks); - CORE_PROPERTY(maxDescriptorSetUpdateAfterBindInlineUniformBlocks); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { - VkPhysicalDeviceMaintenance4Properties *properties = (void *)ext; - CORE_PROPERTY(maxBufferSize); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { - VkPhysicalDeviceShaderIntegerDotProductProperties *properties = (void *)ext; - -#define IDP_PROPERTY(x) CORE_PROPERTY(integerDotProduct##x) - IDP_PROPERTY(8BitUnsignedAccelerated); - IDP_PROPERTY(8BitSignedAccelerated); - IDP_PROPERTY(8BitMixedSignednessAccelerated); - IDP_PROPERTY(4x8BitPackedUnsignedAccelerated); - IDP_PROPERTY(4x8BitPackedSignedAccelerated); - IDP_PROPERTY(4x8BitPackedMixedSignednessAccelerated); - IDP_PROPERTY(16BitUnsignedAccelerated); - IDP_PROPERTY(16BitSignedAccelerated); - IDP_PROPERTY(16BitMixedSignednessAccelerated); - IDP_PROPERTY(32BitUnsignedAccelerated); - IDP_PROPERTY(32BitSignedAccelerated); - IDP_PROPERTY(32BitMixedSignednessAccelerated); - IDP_PROPERTY(64BitUnsignedAccelerated); - IDP_PROPERTY(64BitSignedAccelerated); - IDP_PROPERTY(64BitMixedSignednessAccelerated); - IDP_PROPERTY(AccumulatingSaturating8BitUnsignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating8BitSignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating8BitMixedSignednessAccelerated); - IDP_PROPERTY(AccumulatingSaturating4x8BitPackedUnsignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating4x8BitPackedSignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating4x8BitPackedMixedSignednessAccelerated); - IDP_PROPERTY(AccumulatingSaturating16BitUnsignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating16BitSignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating16BitMixedSignednessAccelerated); - IDP_PROPERTY(AccumulatingSaturating32BitUnsignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating32BitSignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating32BitMixedSignednessAccelerated); - IDP_PROPERTY(AccumulatingSaturating64BitUnsignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating64BitSignedAccelerated); - IDP_PROPERTY(AccumulatingSaturating64BitMixedSignednessAccelerated); -#undef IDP_PROPERTY - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { - VkPhysicalDeviceSubgroupSizeControlProperties *properties = (void *)ext; - CORE_PROPERTY(minSubgroupSize); - CORE_PROPERTY(maxSubgroupSize); - CORE_PROPERTY(maxComputeWorkgroupSubgroups); - CORE_PROPERTY(requiredSubgroupSizeStages); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { - VkPhysicalDeviceTexelBufferAlignmentProperties *properties = (void *)ext; - CORE_PROPERTY(storageTexelBufferOffsetAlignmentBytes); - CORE_PROPERTY(storageTexelBufferOffsetSingleTexelAlignment); - CORE_PROPERTY(uniformTexelBufferOffsetAlignmentBytes); - CORE_PROPERTY(uniformTexelBufferOffsetSingleTexelAlignment); - return true; - } - - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: - vk_copy_struct_guts(ext, (void *)core, sizeof(*core)); - return true; - - default: - return false; - } -} - -#undef CORE_RENAMED_PROPERTY -#undef CORE_PROPERTY - diff --git a/src/vulkan/runtime/vk_device.h b/src/vulkan/runtime/vk_device.h index 37e56771062ff..e20b259ba98c9 100644 --- a/src/vulkan/runtime/vk_device.h +++ b/src/vulkan/runtime/vk_device.h @@ -428,13 +428,6 @@ PFN_vkVoidFunction vk_device_get_proc_addr(const struct vk_device *device, const char *name); -bool vk_get_physical_device_core_1_1_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan11Properties *core); -bool vk_get_physical_device_core_1_2_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan12Properties *core); -bool vk_get_physical_device_core_1_3_property_ext(struct VkBaseOutStructure *ext, - const VkPhysicalDeviceVulkan13Properties *core); - #ifdef __cplusplus } #endif diff --git a/src/vulkan/util/vk_util.h b/src/vulkan/util/vk_util.h index d29db67a4d008..79d276263bfaf 100644 --- a/src/vulkan/util/vk_util.h +++ b/src/vulkan/util/vk_util.h @@ -110,13 +110,6 @@ vk_pnext_iterator_next(struct vk_pnext_iterator *iter) for (const VkBaseInStructure *__e = (VkBaseInStructure *)__iter.pos; \ __e; __e = (VkBaseInStructure *)vk_pnext_iterator_next(&__iter)) -static inline void -vk_copy_struct_guts(VkBaseOutStructure *dst, VkBaseInStructure *src, size_t struct_size) -{ - STATIC_ASSERT(sizeof(*dst) == sizeof(*src)); - memcpy(dst + 1, src + 1, struct_size - sizeof(VkBaseOutStructure)); -} - /** * A wrapper for a Vulkan output array. A Vulkan output array is one that * follows the convention of the parameters to