RADV Radeon Vulkan Code Enables More Driver Features
The RADV Radeon Vulkan driver in Mesa has seen some activity last night to enable more fine-grained features.
RADV now enables shaderImageGatherExtended. The image gather extended functionality for shaders is described via the Vulkan registry as "indicates whether the extended set of image gather instructions are available in shader code. If this feature is not enabled, the OpImage*Gather instructions do not support the Offset and ConstOffsets operands. This also indicates whether shader modules can declare the ImageGatherExtended capability."
That was followed by shaderStorageImageExtendedFormats support in RADV. Again from the registry, "indicates whether the extended storage image formats are available in shader code. If this feature is not enabled, the formats requiring the StorageImageExtendedFormats capability are not supported for storage images. This also indicates whether shader modules can declare the StorageImageExtendedFormats capability."
For those wondering what the overall state of VkPhysicalDeviceFeatures -- what specifies the supported fine-grained features -- is for the driver: RADV still has yet to support geometry shaders, tessellation shaders, sample rate shading, support for multiple viewports, ETC2 texture compression, ASTC LDR texture compression, pipeline statistics query, multisampled storage images, shaderStorageImageReadWithoutFormat, 64-bit float, 64-bit integers, 16-bit integers, variableMultisampleRate, and inherited queries.
If you are wondering how the VkPhysicalDeviceFeatures of the Intel ANV driver compares: the Intel driver still has to land tessellation shaders, multi-draw indirect, depth bounds, pipeline statistics query, shader image gather extended, shaderStorageImageMultisample, shaderStorageImageReadWithoutFormat, 64-bit floats, 64-bit integers, 16-bit integers, shaderResourceMinLod, variableMultisampleRate, and inherited queries.
RADV now enables shaderImageGatherExtended. The image gather extended functionality for shaders is described via the Vulkan registry as "indicates whether the extended set of image gather instructions are available in shader code. If this feature is not enabled, the OpImage*Gather instructions do not support the Offset and ConstOffsets operands. This also indicates whether shader modules can declare the ImageGatherExtended capability."
That was followed by shaderStorageImageExtendedFormats support in RADV. Again from the registry, "indicates whether the extended storage image formats are available in shader code. If this feature is not enabled, the formats requiring the StorageImageExtendedFormats capability are not supported for storage images. This also indicates whether shader modules can declare the StorageImageExtendedFormats capability."
For those wondering what the overall state of VkPhysicalDeviceFeatures -- what specifies the supported fine-grained features -- is for the driver: RADV still has yet to support geometry shaders, tessellation shaders, sample rate shading, support for multiple viewports, ETC2 texture compression, ASTC LDR texture compression, pipeline statistics query, multisampled storage images, shaderStorageImageReadWithoutFormat, 64-bit float, 64-bit integers, 16-bit integers, variableMultisampleRate, and inherited queries.
If you are wondering how the VkPhysicalDeviceFeatures of the Intel ANV driver compares: the Intel driver still has to land tessellation shaders, multi-draw indirect, depth bounds, pipeline statistics query, shader image gather extended, shaderStorageImageMultisample, shaderStorageImageReadWithoutFormat, 64-bit floats, 64-bit integers, 16-bit integers, shaderResourceMinLod, variableMultisampleRate, and inherited queries.
9 Comments