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