Module: Mesa
Branch: master
Commit: 35fe62dad10cdeff0af39009185c85aa59db6a76
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=35fe62dad10cdeff0af39009185c85aa59db6a76

Author: Rhys Perry <pendingchao...@gmail.com>
Date:   Thu Mar 11 11:40:51 2021 +0000

radv/llvm: fix enabled_channels for compressed exports

The old values seemed to work fine, but the ISA docs recommend 0x0,0x3,0xc
and 0xf:

COMPR==1: export half-dword enable. Valid values are: 0x0,3,c,f
[0] enables VSRC0 : R,G from one VGPR (R in low bits, G high)
[2] enables VSRC1 : B,A from one VGPR (B in low bits, A high)

Signed-off-by: Rhys Perry <pendingchao...@gmail.com>
Reviewed-by: Daniel Schürmann <dan...@schuermann.dev>
Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9459>

---

 src/amd/vulkan/radv_nir_to_llvm.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/amd/vulkan/radv_nir_to_llvm.c 
b/src/amd/vulkan/radv_nir_to_llvm.c
index b2dec617cee..3aa646ce3a2 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -1433,7 +1433,7 @@ si_llvm_init_export_args(struct radv_shader_context *ctx,
                        break;
 
                case V_028714_SPI_SHADER_FP16_ABGR:
-                       args->enabled_channels = 0x5;
+                       args->enabled_channels = 0xf;
                        packf = ac_build_cvt_pkrtz_f16;
                        if (is_16bit) {
                                for (unsigned chan = 0; chan < 4; chan++)
@@ -1444,17 +1444,17 @@ si_llvm_init_export_args(struct radv_shader_context 
*ctx,
                        break;
 
                case V_028714_SPI_SHADER_UNORM16_ABGR:
-                       args->enabled_channels = 0x5;
+                       args->enabled_channels = 0xf;
                        packf = ac_build_cvt_pknorm_u16;
                        break;
 
                case V_028714_SPI_SHADER_SNORM16_ABGR:
-                       args->enabled_channels = 0x5;
+                       args->enabled_channels = 0xf;
                        packf = ac_build_cvt_pknorm_i16;
                        break;
 
                case V_028714_SPI_SHADER_UINT16_ABGR:
-                       args->enabled_channels = 0x5;
+                       args->enabled_channels = 0xf;
                        packi = ac_build_cvt_pk_u16;
                        if (is_16bit) {
                                for (unsigned chan = 0; chan < 4; chan++)
@@ -1465,7 +1465,7 @@ si_llvm_init_export_args(struct radv_shader_context *ctx,
                        break;
 
                case V_028714_SPI_SHADER_SINT16_ABGR:
-                       args->enabled_channels = 0x5;
+                       args->enabled_channels = 0xf;
                        packi = ac_build_cvt_pk_i16;
                        if (is_16bit) {
                                for (unsigned chan = 0; chan < 4; chan++)

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to