Mesa (master): radv: enable shaderInt16 unconditionally with LLVM and only GFX8+ with ACO
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 5 10:14:10 UTC 2020
Module: Mesa
Branch: master
Commit: b0a7499d28dd5a7c89a70cea79cb14d943632609
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0a7499d28dd5a7c89a70cea79cb14d943632609
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon May 4 12:01:41 2020 +0200
radv: enable shaderInt16 unconditionally with LLVM and only GFX8+ with ACO
The Vulkan spec says:
"shaderInt16 specifies whether 16-bit integers (signed and unsigned)
are supported in shader code. If this feature is not enabled, 16-bit
integer types must not be used in shader code."
I think it's just safe to enable it because 16-bit integers should
be fully supported with LLVM and also with ACO and GFX8+. On GFX8
and earlier generations, throughput of 16-bit int is same as 32-bit
but that should't change anything.
For GFX6-GFX7 ACO support, we have to implement conversions without
SDWA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4874>
---
src/amd/vulkan/radv_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 49cbee18eff..9810820b252 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -908,7 +908,7 @@ void radv_GetPhysicalDeviceFeatures(
.shaderCullDistance = true,
.shaderFloat64 = true,
.shaderInt64 = true,
- .shaderInt16 = pdevice->rad_info.chip_class >= GFX9,
+ .shaderInt16 = !pdevice->use_aco || pdevice->rad_info.chip_class >= GFX8,
.sparseBinding = true,
.variableMultisampleRate = true,
.inheritedQueries = true,
More information about the mesa-commit
mailing list