[Mesa-dev] [PATCH v2 06/41] ac/nir: fix 16-bit ssbo stores
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Feb 26 10:01:55 UTC 2019
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 2/18/19 2:23 PM, Rhys Perry wrote:
> 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