diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2018-12-06 12:11:00 +0000 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-02-19 07:08:23 -0800 |
commit | c7fc61d15b5db5340dfe3eca633c8fc86d81b0d4 (patch) | |
tree | 07687414b366af5ccaf38dc0489d703120cc315f | |
parent | 1b093b567f8aa0dc24530006cc0aeffa90ecd3ab (diff) |
radv: ensure export arguments are always float
So that the signature is correct and consistent, the inputs to a export
intrinsic should always be 32-bit floats.
This and the previous commit fixes a large amount crashes from
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_*
tests
Fixes: b722b29f10d ('radv: add support for 16bit input/output')
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 0ca550e01ac55c67c2deef50f5cb750a0181352b)
-rw-r--r-- | src/amd/vulkan/radv_nir_to_llvm.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index fa6bfe6b750..cfaeaabf539 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2429,12 +2429,8 @@ si_llvm_init_export_args(struct radv_shader_context *ctx, } else memcpy(&args->out[0], values, sizeof(values[0]) * 4); - for (unsigned i = 0; i < 4; ++i) { - if (!(args->enabled_channels & (1 << i))) - continue; - + for (unsigned i = 0; i < 4; ++i) args->out[i] = ac_to_float(&ctx->ac, args->out[i]); - } } static void |