anv: Use the shared now-in-core feature/prop extension helper functions.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12967>
This commit is contained in:
+10
-327
@@ -1418,11 +1418,12 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
};
|
||||
anv_get_physical_device_features_1_2(pdevice, &core_1_2);
|
||||
|
||||
#define CORE_FEATURE(major, minor, feature) \
|
||||
features->feature = core_##major##_##minor.feature
|
||||
|
||||
|
||||
vk_foreach_struct(ext, pFeatures->pNext) {
|
||||
if (vk_get_physical_device_core_1_1_feature_ext(ext, &core_1_1))
|
||||
continue;
|
||||
if (vk_get_physical_device_core_1_2_feature_ext(ext, &core_1_2))
|
||||
continue;
|
||||
|
||||
switch (ext->sType) {
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
|
||||
VkPhysicalDevice4444FormatsFeaturesEXT *features =
|
||||
@@ -1432,24 +1433,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: {
|
||||
VkPhysicalDevice8BitStorageFeaturesKHR *features =
|
||||
(VkPhysicalDevice8BitStorageFeaturesKHR *)ext;
|
||||
CORE_FEATURE(1, 2, storageBuffer8BitAccess);
|
||||
CORE_FEATURE(1, 2, uniformAndStorageBuffer8BitAccess);
|
||||
CORE_FEATURE(1, 2, storagePushConstant8);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
|
||||
VkPhysicalDevice16BitStorageFeatures *features =
|
||||
(VkPhysicalDevice16BitStorageFeatures *)ext;
|
||||
CORE_FEATURE(1, 1, storageBuffer16BitAccess);
|
||||
CORE_FEATURE(1, 1, uniformAndStorageBuffer16BitAccess);
|
||||
CORE_FEATURE(1, 1, storagePushConstant16);
|
||||
CORE_FEATURE(1, 1, storageInputOutput16);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
|
||||
VkPhysicalDeviceAccelerationStructureFeaturesKHR *features = (void *)ext;
|
||||
@@ -1469,13 +1452,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR: {
|
||||
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR *features = (void *)ext;
|
||||
CORE_FEATURE(1, 2, bufferDeviceAddress);
|
||||
CORE_FEATURE(1, 2, bufferDeviceAddressCaptureReplay);
|
||||
CORE_FEATURE(1, 2, bufferDeviceAddressMultiDevice);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
|
||||
VkPhysicalDeviceColorWriteEnableFeaturesEXT *features =
|
||||
@@ -1515,13 +1491,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: {
|
||||
VkPhysicalDeviceFloat16Int8FeaturesKHR *features = (void *)ext;
|
||||
CORE_FEATURE(1, 2, shaderFloat16);
|
||||
CORE_FEATURE(1, 2, shaderInt8);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
|
||||
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *features =
|
||||
(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *)ext;
|
||||
@@ -1531,39 +1500,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
|
||||
VkPhysicalDeviceHostQueryResetFeaturesEXT *features =
|
||||
(VkPhysicalDeviceHostQueryResetFeaturesEXT *)ext;
|
||||
CORE_FEATURE(1, 2, hostQueryReset);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: {
|
||||
VkPhysicalDeviceDescriptorIndexingFeaturesEXT *features =
|
||||
(VkPhysicalDeviceDescriptorIndexingFeaturesEXT *)ext;
|
||||
CORE_FEATURE(1, 2, shaderInputAttachmentArrayDynamicIndexing);
|
||||
CORE_FEATURE(1, 2, shaderUniformTexelBufferArrayDynamicIndexing);
|
||||
CORE_FEATURE(1, 2, shaderStorageTexelBufferArrayDynamicIndexing);
|
||||
CORE_FEATURE(1, 2, shaderUniformBufferArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderSampledImageArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderStorageBufferArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderStorageImageArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderInputAttachmentArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderUniformTexelBufferArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, shaderStorageTexelBufferArrayNonUniformIndexing);
|
||||
CORE_FEATURE(1, 2, descriptorBindingUniformBufferUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingSampledImageUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingStorageImageUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingStorageBufferUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingUniformTexelBufferUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingStorageTexelBufferUpdateAfterBind);
|
||||
CORE_FEATURE(1, 2, descriptorBindingUpdateUnusedWhilePending);
|
||||
CORE_FEATURE(1, 2, descriptorBindingPartiallyBound);
|
||||
CORE_FEATURE(1, 2, descriptorBindingVariableDescriptorCount);
|
||||
CORE_FEATURE(1, 2, runtimeDescriptorArray);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
|
||||
VkPhysicalDeviceFragmentShadingRateFeaturesKHR *features =
|
||||
(VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)ext;
|
||||
@@ -1615,22 +1551,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
|
||||
VkPhysicalDeviceMultiviewFeatures *features =
|
||||
(VkPhysicalDeviceMultiviewFeatures *)ext;
|
||||
CORE_FEATURE(1, 1, multiview);
|
||||
CORE_FEATURE(1, 1, multiviewGeometryShader);
|
||||
CORE_FEATURE(1, 1, multiviewTessellationShader);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: {
|
||||
VkPhysicalDeviceImagelessFramebufferFeaturesKHR *features =
|
||||
(VkPhysicalDeviceImagelessFramebufferFeaturesKHR *)ext;
|
||||
CORE_FEATURE(1, 2, imagelessFramebuffer);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
|
||||
VkPhysicalDevicePerformanceQueryFeaturesKHR *feature =
|
||||
(VkPhysicalDevicePerformanceQueryFeaturesKHR *)ext;
|
||||
@@ -1660,12 +1580,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
|
||||
VkPhysicalDeviceProtectedMemoryFeatures *features = (void *)ext;
|
||||
CORE_FEATURE(1, 1, protectedMemory);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
|
||||
VkPhysicalDeviceProvokingVertexFeaturesEXT *features =
|
||||
(VkPhysicalDeviceProvokingVertexFeaturesEXT *)ext;
|
||||
@@ -1682,27 +1596,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
|
||||
VkPhysicalDeviceSamplerYcbcrConversionFeatures *features =
|
||||
(VkPhysicalDeviceSamplerYcbcrConversionFeatures *) ext;
|
||||
CORE_FEATURE(1, 1, samplerYcbcrConversion);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: {
|
||||
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *features =
|
||||
(VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *)ext;
|
||||
CORE_FEATURE(1, 2, scalarBlockLayout);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR: {
|
||||
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR *features =
|
||||
(VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR *)ext;
|
||||
CORE_FEATURE(1, 2, separateDepthStencilLayouts);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
|
||||
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *features = (void *)ext;
|
||||
features->shaderBufferFloat32Atomics = true;
|
||||
@@ -1737,13 +1630,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: {
|
||||
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = (void *)ext;
|
||||
CORE_FEATURE(1, 2, shaderBufferInt64Atomics);
|
||||
CORE_FEATURE(1, 2, shaderSharedInt64Atomics);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
|
||||
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *features = (void *)ext;
|
||||
features->shaderDemoteToHelperInvocation = true;
|
||||
@@ -1758,12 +1644,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
|
||||
VkPhysicalDeviceShaderDrawParametersFeatures *features = (void *)ext;
|
||||
CORE_FEATURE(1, 1, shaderDrawParameters);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
|
||||
VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *features =
|
||||
(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *)ext;
|
||||
@@ -1778,13 +1658,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
};
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR: {
|
||||
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR *features =
|
||||
(VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR *)ext;
|
||||
CORE_FEATURE(1, 2, shaderSubgroupExtendedTypes);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
|
||||
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *features =
|
||||
(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *)ext;
|
||||
@@ -1814,20 +1687,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR: {
|
||||
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR *features =
|
||||
(VkPhysicalDeviceTimelineSemaphoreFeaturesKHR *) ext;
|
||||
CORE_FEATURE(1, 2, timelineSemaphore);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
|
||||
VkPhysicalDeviceVariablePointersFeatures *features = (void *)ext;
|
||||
CORE_FEATURE(1, 1, variablePointersStorageBuffer);
|
||||
CORE_FEATURE(1, 1, variablePointers);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT *features =
|
||||
(VkPhysicalDeviceTransformFeedbackFeaturesEXT *)ext;
|
||||
@@ -1836,13 +1695,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: {
|
||||
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *features =
|
||||
(VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *)ext;
|
||||
CORE_FEATURE(1, 2, uniformBufferStandardLayout);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *features =
|
||||
(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)ext;
|
||||
@@ -1851,22 +1703,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
|
||||
anv_get_physical_device_features_1_1(pdevice, (void *)ext);
|
||||
break;
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
|
||||
anv_get_physical_device_features_1_2(pdevice, (void *)ext);
|
||||
break;
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: {
|
||||
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *features = (void *)ext;
|
||||
CORE_FEATURE(1, 2, vulkanMemoryModel);
|
||||
CORE_FEATURE(1, 2, vulkanMemoryModelDeviceScope);
|
||||
CORE_FEATURE(1, 2, vulkanMemoryModelAvailabilityVisibilityChains);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
|
||||
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *features =
|
||||
(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *)ext;
|
||||
@@ -1919,7 +1755,6 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
}
|
||||
}
|
||||
|
||||
#undef CORE_FEATURE
|
||||
}
|
||||
|
||||
#define MAX_PER_STAGE_DESCRIPTOR_UNIFORM_BUFFERS 64
|
||||
@@ -2290,14 +2125,12 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
};
|
||||
anv_get_physical_device_properties_1_2(pdevice, &core_1_2);
|
||||
|
||||
#define CORE_RENAMED_PROPERTY(major, minor, ext_property, core_property) \
|
||||
memcpy(&properties->ext_property, &core_##major##_##minor.core_property, \
|
||||
sizeof(core_##major##_##minor.core_property))
|
||||
|
||||
#define CORE_PROPERTY(major, minor, property) \
|
||||
CORE_RENAMED_PROPERTY(major, minor, property, property)
|
||||
|
||||
vk_foreach_struct(ext, pProperties->pNext) {
|
||||
if (vk_get_physical_device_core_1_1_property_ext(ext, &core_1_1))
|
||||
continue;
|
||||
if (vk_get_physical_device_core_1_2_property_ext(ext, &core_1_2))
|
||||
continue;
|
||||
|
||||
switch (ext->sType) {
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceAccelerationStructurePropertiesKHR *props = (void *)ext;
|
||||
@@ -2346,44 +2179,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceDepthStencilResolvePropertiesKHR *properties =
|
||||
(VkPhysicalDeviceDepthStencilResolvePropertiesKHR *)ext;
|
||||
CORE_PROPERTY(1, 2, supportedDepthResolveModes);
|
||||
CORE_PROPERTY(1, 2, supportedStencilResolveModes);
|
||||
CORE_PROPERTY(1, 2, independentResolveNone);
|
||||
CORE_PROPERTY(1, 2, independentResolve);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceDescriptorIndexingPropertiesEXT *properties =
|
||||
(VkPhysicalDeviceDescriptorIndexingPropertiesEXT *)ext;
|
||||
CORE_PROPERTY(1, 2, maxUpdateAfterBindDescriptorsInAllPools);
|
||||
CORE_PROPERTY(1, 2, shaderUniformBufferArrayNonUniformIndexingNative);
|
||||
CORE_PROPERTY(1, 2, shaderSampledImageArrayNonUniformIndexingNative);
|
||||
CORE_PROPERTY(1, 2, shaderStorageBufferArrayNonUniformIndexingNative);
|
||||
CORE_PROPERTY(1, 2, shaderStorageImageArrayNonUniformIndexingNative);
|
||||
CORE_PROPERTY(1, 2, shaderInputAttachmentArrayNonUniformIndexingNative);
|
||||
CORE_PROPERTY(1, 2, robustBufferAccessUpdateAfterBind);
|
||||
CORE_PROPERTY(1, 2, quadDivergentImplicitLod);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindSamplers);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindUniformBuffers);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindStorageBuffers);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindSampledImages);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindStorageImages);
|
||||
CORE_PROPERTY(1, 2, maxPerStageDescriptorUpdateAfterBindInputAttachments);
|
||||
CORE_PROPERTY(1, 2, maxPerStageUpdateAfterBindResources);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindSamplers);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindUniformBuffers);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindStorageBuffers);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindSampledImages);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindStorageImages);
|
||||
CORE_PROPERTY(1, 2, maxDescriptorSetUpdateAfterBindInputAttachments);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props =
|
||||
@@ -2412,16 +2207,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceDriverPropertiesKHR *properties =
|
||||
(VkPhysicalDeviceDriverPropertiesKHR *) ext;
|
||||
CORE_PROPERTY(1, 2, driverID);
|
||||
CORE_PROPERTY(1, 2, driverName);
|
||||
CORE_PROPERTY(1, 2, driverInfo);
|
||||
CORE_PROPERTY(1, 2, conformanceVersion);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceDrmPropertiesEXT *props =
|
||||
(VkPhysicalDeviceDrmPropertiesEXT *)ext;
|
||||
@@ -2445,16 +2230,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
|
||||
VkPhysicalDeviceIDProperties *properties =
|
||||
(VkPhysicalDeviceIDProperties *)ext;
|
||||
CORE_PROPERTY(1, 1, deviceUUID);
|
||||
CORE_PROPERTY(1, 1, driverUUID);
|
||||
CORE_PROPERTY(1, 1, deviceLUID);
|
||||
CORE_PROPERTY(1, 1, deviceLUIDValid);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceInlineUniformBlockPropertiesEXT *props =
|
||||
(VkPhysicalDeviceInlineUniformBlockPropertiesEXT *)ext;
|
||||
@@ -2489,25 +2264,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
|
||||
VkPhysicalDeviceMaintenance3Properties *properties =
|
||||
(VkPhysicalDeviceMaintenance3Properties *)ext;
|
||||
/* This value doesn't matter for us today as our per-stage
|
||||
* descriptors are the real limit.
|
||||
*/
|
||||
CORE_PROPERTY(1, 1, maxPerSetDescriptors);
|
||||
CORE_PROPERTY(1, 1, maxMemoryAllocationSize);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
|
||||
VkPhysicalDeviceMultiviewProperties *properties =
|
||||
(VkPhysicalDeviceMultiviewProperties *)ext;
|
||||
CORE_PROPERTY(1, 1, maxMultiviewViewCount);
|
||||
CORE_PROPERTY(1, 1, maxMultiviewInstanceIndex);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
|
||||
VkPhysicalDevicePCIBusInfoPropertiesEXT *properties =
|
||||
(VkPhysicalDevicePCIBusInfoPropertiesEXT *)ext;
|
||||
@@ -2528,13 +2284,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
|
||||
VkPhysicalDevicePointClippingProperties *properties =
|
||||
(VkPhysicalDevicePointClippingProperties *) ext;
|
||||
CORE_PROPERTY(1, 1, pointClippingBehavior);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wswitch"
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID: {
|
||||
@@ -2545,13 +2294,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
|
||||
VkPhysicalDeviceProtectedMemoryProperties *properties =
|
||||
(VkPhysicalDeviceProtectedMemoryProperties *)ext;
|
||||
CORE_PROPERTY(1, 1, protectedNoFault);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceProvokingVertexPropertiesEXT *properties =
|
||||
(VkPhysicalDeviceProvokingVertexPropertiesEXT *)ext;
|
||||
@@ -2576,14 +2318,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *properties =
|
||||
(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *)ext;
|
||||
CORE_PROPERTY(1, 2, filterMinmaxImageComponentMapping);
|
||||
CORE_PROPERTY(1, 2, filterMinmaxSingleComponentFormats);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR *props =
|
||||
(VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR *)ext;
|
||||
@@ -2622,18 +2356,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
|
||||
VkPhysicalDeviceSubgroupProperties *properties = (void *)ext;
|
||||
CORE_PROPERTY(1, 1, subgroupSize);
|
||||
CORE_RENAMED_PROPERTY(1, 1, supportedStages,
|
||||
subgroupSupportedStages);
|
||||
CORE_RENAMED_PROPERTY(1, 1, supportedOperations,
|
||||
subgroupSupportedOperations);
|
||||
CORE_RENAMED_PROPERTY(1, 1, quadOperationsInAllStages,
|
||||
subgroupQuadOperationsInAllStages);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *props =
|
||||
(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *)ext;
|
||||
@@ -2644,27 +2366,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
props->requiredSubgroupSizeStages = VK_SHADER_STAGE_COMPUTE_BIT;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR : {
|
||||
VkPhysicalDeviceFloatControlsPropertiesKHR *properties = (void *)ext;
|
||||
CORE_PROPERTY(1, 2, denormBehaviorIndependence);
|
||||
CORE_PROPERTY(1, 2, roundingModeIndependence);
|
||||
CORE_PROPERTY(1, 2, shaderDenormFlushToZeroFloat16);
|
||||
CORE_PROPERTY(1, 2, shaderDenormPreserveFloat16);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTEFloat16);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTZFloat16);
|
||||
CORE_PROPERTY(1, 2, shaderSignedZeroInfNanPreserveFloat16);
|
||||
CORE_PROPERTY(1, 2, shaderDenormFlushToZeroFloat32);
|
||||
CORE_PROPERTY(1, 2, shaderDenormPreserveFloat32);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTEFloat32);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTZFloat32);
|
||||
CORE_PROPERTY(1, 2, shaderSignedZeroInfNanPreserveFloat32);
|
||||
CORE_PROPERTY(1, 2, shaderDenormFlushToZeroFloat64);
|
||||
CORE_PROPERTY(1, 2, shaderDenormPreserveFloat64);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTEFloat64);
|
||||
CORE_PROPERTY(1, 2, shaderRoundingModeRTZFloat64);
|
||||
CORE_PROPERTY(1, 2, shaderSignedZeroInfNanPreserveFloat64);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceSampleLocationsPropertiesEXT *props =
|
||||
@@ -2715,13 +2416,6 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceTimelineSemaphorePropertiesKHR *properties =
|
||||
(VkPhysicalDeviceTimelineSemaphorePropertiesKHR *) ext;
|
||||
CORE_PROPERTY(1, 2, maxTimelineSemaphoreValueDifference);
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT *props =
|
||||
(VkPhysicalDeviceTransformFeedbackPropertiesEXT *)ext;
|
||||
@@ -2754,22 +2448,11 @@ void anv_GetPhysicalDeviceProperties2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
|
||||
anv_get_physical_device_properties_1_1(pdevice, (void *)ext);
|
||||
break;
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
|
||||
anv_get_physical_device_properties_1_2(pdevice, (void *)ext);
|
||||
break;
|
||||
|
||||
default:
|
||||
anv_debug_ignored_stype(ext->sType);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#undef CORE_RENAMED_PROPERTY
|
||||
#undef CORE_PROPERTY
|
||||
}
|
||||
|
||||
static const VkQueueFamilyProperties
|
||||
|
||||
Reference in New Issue
Block a user