mirror of https://gitlab.freedesktop.org/mesa/mesa
vulkan: drop redundant core props query and copy helpers
The last client, venus, has stopped using those either. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Tested-by: Oskar Viljasaar <oskar.viljasaar@gmail.com> Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29180>
This commit is contained in:
parent
374a14ce4c
commit
2740d92e3d
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue