panvk: explicitly list unsupported features

We already do this many places, let's add the missing ones for the core
Vulkan versions.

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37136>
This commit is contained in:
Erik Faye-Lund
2025-09-02 11:48:48 +02:00
committed by Marge Bot
parent 2f79a3a81d
commit 9da4eb4a4e
@@ -245,6 +245,8 @@ panvk_per_arch(get_physical_device_features)(
.fullDrawIndexUint32 = true,
.imageCubeArray = true,
.independentBlend = true,
.geometryShader = false,
.tessellationShader = false,
.sampleRateShading = true,
.dualSrcBlend = true,
.logicOp = true,
@@ -252,13 +254,18 @@ panvk_per_arch(get_physical_device_features)(
.drawIndirectFirstInstance = true,
.depthClamp = true,
.depthBiasClamp = true,
.fillModeNonSolid = false,
.depthBounds = false,
.wideLines = true,
.largePoints = true,
.alphaToOne = false,
.multiViewport = false,
.samplerAnisotropy = true,
.textureCompressionETC2 = has_texture_compression_etc2(device),
.textureCompressionASTC_LDR = has_texture_compression_astc_ldr(device),
.textureCompressionBC = has_texture_compression_bc(device),
.occlusionQueryPrecise = true,
.pipelineStatisticsQuery = false,
/* On v13+, the hardware isn't speculatively referencing to invalid
indices anymore. */
.vertexPipelineStoresAndAtomics =
@@ -266,16 +273,34 @@ panvk_per_arch(get_physical_device_features)(
instance->force_enable_shader_atomics,
.fragmentStoresAndAtomics = (PAN_ARCH >= 10) ||
instance->force_enable_shader_atomics,
.shaderTessellationAndGeometryPointSize = false,
.shaderImageGatherExtended = true,
.shaderStorageImageExtendedFormats = true,
.shaderStorageImageMultisample = false,
.shaderStorageImageReadWithoutFormat = true,
.shaderStorageImageWriteWithoutFormat = true,
.shaderUniformBufferArrayDynamicIndexing = true,
.shaderSampledImageArrayDynamicIndexing = true,
.shaderStorageBufferArrayDynamicIndexing = true,
.shaderStorageImageArrayDynamicIndexing = true,
.shaderClipDistance = false,
.shaderCullDistance = false,
.shaderFloat64 = false,
.shaderInt64 = true,
.shaderInt16 = true,
.shaderResourceResidency = false,
.shaderResourceMinLod = false,
.sparseBinding = false,
.sparseResidencyBuffer = false,
.sparseResidencyImage2D = false,
.sparseResidencyImage3D = false,
.sparseResidency2Samples = false,
.sparseResidency4Samples = false,
.sparseResidency8Samples = false,
.sparseResidency16Samples = false,
.sparseResidencyAliased = false,
.variableMultisampleRate = false,
.inheritedQueries = false,
/* Vulkan 1.1 */
.storageBuffer16BitAccess = true,
@@ -368,12 +393,17 @@ panvk_per_arch(get_physical_device_features)(
.shaderExpectAssume = true,
.rectangularLines = true,
.bresenhamLines = true,
.smoothLines = false,
.stippledRectangularLines = false,
.stippledBresenhamLines = false,
.stippledSmoothLines = false,
.vertexAttributeInstanceRateDivisor = true,
.vertexAttributeInstanceRateZeroDivisor = true,
.indexTypeUint8 = true,
.dynamicRenderingLocalRead = true,
.maintenance5 = true,
.maintenance6 = true,
.pipelineProtectedAccess = false,
.pipelineRobustness = true,
.hostImageCopy = true,
.pushDescriptor = true,
@@ -893,8 +923,34 @@ panvk_per_arch(get_physical_device_properties)(
MAX_INLINE_UNIFORM_BLOCK_DESCRIPTORS * MAX_INLINE_UNIFORM_BLOCK_SIZE,
.integerDotProduct8BitUnsignedAccelerated = true,
.integerDotProduct8BitSignedAccelerated = true,
.integerDotProduct8BitMixedSignednessAccelerated = false,
.integerDotProduct4x8BitPackedUnsignedAccelerated = true,
.integerDotProduct4x8BitPackedSignedAccelerated = true,
.integerDotProduct4x8BitPackedSignedAccelerated = false,
.integerDotProduct16BitUnsignedAccelerated = false,
.integerDotProduct16BitSignedAccelerated = false,
.integerDotProduct16BitMixedSignednessAccelerated = false,
.integerDotProduct32BitUnsignedAccelerated = false,
.integerDotProduct32BitSignedAccelerated = false,
.integerDotProduct32BitMixedSignednessAccelerated = false,
.integerDotProduct64BitUnsignedAccelerated = false,
.integerDotProduct64BitSignedAccelerated = false,
.integerDotProduct64BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating8BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating16BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating32BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false,
.storageTexelBufferOffsetAlignmentBytes = 64,
.storageTexelBufferOffsetSingleTexelAlignment = false,
.uniformTexelBufferOffsetAlignmentBytes = 64,
@@ -907,8 +963,14 @@ panvk_per_arch(get_physical_device_properties)(
.maxVertexAttribDivisor = UINT32_MAX,
.supportsNonZeroFirstInstance = true,
.maxPushDescriptors = MAX_PUSH_DESCS,
.dynamicRenderingLocalReadDepthStencilAttachments = false,
.dynamicRenderingLocalReadMultisampledAttachments = false,
.earlyFragmentMultisampleCoverageAfterSampleCounting = true,
.earlyFragmentSampleMaskTestBeforeSampleCounting = true,
.depthStencilSwizzleOneSupport = false,
.polygonModePointSize = false,
.nonStrictSinglePixelWideLinesUseParallelogram = false,
.nonStrictWideLinesUseParallelogram = false,
.blockTexelViewCompatibleMultipleLayers = true,
.maxCombinedImageSamplerDescriptorCount = 1,
/* We don't implement VK_KHR_fragment_shading_rate */