[Mesa-dev] [PATCH v2 06/41] ac/nir: fix 16-bit ssbo stores

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Feb 18 08:58:25 UTC 2019


Does this fix anything know? There is a 16-bit version of tbuffer.store, 
maybe we should use it?

On 2/16/19 1:21 AM, Rhys Perry wrote:
> Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
> ---
>   src/amd/common/ac_nir_to_llvm.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
> index 89a78b43c6f..b260142c177 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -1586,6 +1586,8 @@ static void visit_store_ssbo(struct ac_nir_context *ctx,
>   		} else if (num_bytes == 2) {
>   			store_name = "llvm.amdgcn.tbuffer.store.i32";
>   			data_type = ctx->ac.i32;
> +			data = LLVMBuildBitCast(ctx->ac.builder, data, ctx->ac.i16, "");
> +			data = LLVMBuildZExt(ctx->ac.builder, data, data_type, "");
>   			LLVMValueRef tbuffer_params[] = {
>   				data,
>   				rsrc,


More information about the mesa-dev mailing list