Module: Mesa Branch: main Commit: fee5e379f4cf6539b59e25c09f92d5d83d2eb8f3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fee5e379f4cf6539b59e25c09f92d5d83d2eb8f3
Author: Samuel Pitoiset <[email protected]> Date: Thu Oct 20 04:40:20 2022 +0000 radv/llvm: do not set COMPR for exports on GFX11 Use 0x3 channel mask instead. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216> --- src/amd/vulkan/radv_nir_to_llvm.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 47ae7128529..1cd57a1999c 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -668,7 +668,6 @@ si_llvm_init_export_args(struct radv_shader_context *ctx, LLVMValueRef *values, packed = packf(&ctx->ac, pack_args); args->out[chan] = ac_to_float(&ctx->ac, packed); } - args->compr = 1; /* COMPR flag */ } /* Pack i16/u16. */ @@ -681,8 +680,16 @@ si_llvm_init_export_args(struct radv_shader_context *ctx, LLVMValueRef *values, packed = packi(&ctx->ac, pack_args, is_int8 ? 8 : is_int10 ? 10 : 16, chan == 1); args->out[chan] = ac_to_float(&ctx->ac, packed); } - args->compr = 1; /* COMPR flag */ } + + if (packf || packi) { + if (ctx->options->gfx_level >= GFX11) { + args->enabled_channels = 0x3; + } else { + args->compr = 1; /* COMPR flag */ + } + } + return; }
