[Mesa-dev] [PATCH v2 02/41] radv: ensure export arguments are always float

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Feb 18 08:38:59 UTC 2019


Patch 1-2 are:

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

On 2/16/19 1:21 AM, Rhys Perry wrote:
> 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 at gmail.com>
> ---
>   src/amd/vulkan/radv_nir_to_llvm.c | 6 +-----
>   1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
> index a8268c44ecf..d3795eec403 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


More information about the mesa-dev mailing list