[Mesa-dev] [PATCH v2 06/41] ac/nir: fix 16-bit ssbo stores
Rhys Perry
pendingchaos02 at gmail.com
Mon Feb 18 13:23:33 UTC 2019
I don't see a 16-bit version of tbuffer.store in IntrinsicsAMDGPU.td
and simply changing "llvm.amdgcn.tbuffer.store.i32" to
"llvm.amdgcn.tbuffer.store.i16" and removing the zext doesn't seem to
work.
On Mon, 18 Feb 2019 at 08:55, Samuel Pitoiset <samuel.pitoiset at gmail.com> wrote:
>
> 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