[Mesa-dev] [PATCH 1/2] ac/nir: set the DA field when performing atomics on 3D images

Timothy Arceri tarceri at itsqueeze.com
Wed Feb 21 04:11:18 UTC 2018


On 21/02/18 07:29, Samuel Pitoiset wrote:
> On VI, 3D images are considered as 2D arrays. RadeonSI sets DA for 
> loads/stores/atomics and RADV only for loads/stores, so I guess there is 
> a reason for that?

I've changed the nir->llvm code recently in order to fix some piglit 
test on the  radeonsi nir backend.

[1] 
https://cgit.freedesktop.org/mesa/mesa/commit/?id=e68150de263156a3f3d1b609b6506c5649967f61
[2] 
https://cgit.freedesktop.org/mesa/mesa/commit/?id=82adf53308c137ce0dc5f2d5da4e7cc40c5b808c

> 
> Anyway, there is a potential issue on the RADV side I think.
> 
> On 02/20/2018 04:43 PM, Nicolai Hähnle wrote:
>> Why? 3D images are not arrays.
>>
>> On 20.02.2018 11:11, Samuel Pitoiset wrote:
>>> This doesn't fix anything known but it should definitely be set.
>>>
>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>> ---
>>>   src/amd/common/ac_nir_to_llvm.c | 3 ++-
>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/amd/common/ac_nir_to_llvm.c 
>>> b/src/amd/common/ac_nir_to_llvm.c
>>> index dc471de977..9244f8bc7b 100644
>>> --- a/src/amd/common/ac_nir_to_llvm.c
>>> +++ b/src/amd/common/ac_nir_to_llvm.c
>>> @@ -3764,7 +3764,8 @@ static LLVMValueRef visit_image_atomic(struct 
>>> ac_nir_context *ctx,
>>>           char coords_type[8];
>>>           bool da = glsl_sampler_type_is_array(type) ||
>>> -                  glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_CUBE;
>>> +                  glsl_get_sampler_dim(type) == 
>>> GLSL_SAMPLER_DIM_CUBE ||
>>> +                  glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_3D;
>>>           LLVMValueRef coords = params[param_count++] = 
>>> get_image_coords(ctx, instr);
>>>           params[param_count++] = get_sampler_desc(ctx, 
>>> instr->variables[0], AC_DESC_IMAGE,
>>>
>>
>>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list