[Mesa-dev] [PATCH 1/2] i965: retype result of typed atomic operation to the same type as source

Francisco Jerez currojerez at riseup.net
Mon Feb 22 22:21:28 UTC 2016


Ilia Mirkin <imirkin at alum.mit.edu> writes:

> On Mon, Feb 22, 2016 at 3:53 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> On Mon, Feb 22, 2016 at 3:52 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>> This fixes atomic exchange with a r32f image, as needed by
>>> GL_OES_shader_atomic_exchange.
>>
>> Sorry, that should be GL_OES_shader_image_atomic of course.
>>
>>>
>>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>> ---
>>>  src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 6 ++++--
>>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> index 081dbad..e775cc0 100644
>>> --- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> +++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> @@ -156,8 +156,10 @@ namespace brw {
>>>           const fs_reg tmp = bld.vgrf(BRW_REGISTER_TYPE_UD, n);
>>>           bld.LOAD_PAYLOAD(tmp, srcs, n, 0);
>>>
>>> -         return emit_send(bld, SHADER_OPCODE_TYPED_ATOMIC_LOGICAL,
>>> -                          addr, tmp, surface, dims, op, rsize);
>>> +         return retype(
>>> +            emit_send(bld, SHADER_OPCODE_TYPED_ATOMIC_LOGICAL,
>>> +                      addr, tmp, surface, dims, op, rsize),
>>> +            src0.type);
>
> Actually I've been thinking a bit more about this... relying on
> src0.type won't fly. The surface's mesa_format needs to be passed
> through to emit_image_atomic, just like it is done for emit_image_load
> and emit_image_store. And I need to fix up the vec4 emitter. Curro,
> does that sound reasonable? Or should the retype be done at the
> emit_image_atomic callsites?
>
I doubt it's necessary to pass the surface format through.  Any reason
we shouldn't go with this series I sent half a year ago instead? (and you
actually commented to)

https://lists.freedesktop.org/archives/mesa-dev/2015-August/091948.html
https://lists.freedesktop.org/archives/mesa-dev/2015-August/091949.html
https://lists.freedesktop.org/archives/mesa-dev/2015-August/091950.html
https://lists.freedesktop.org/archives/mesa-dev/2015-August/091951.html
https://lists.freedesktop.org/archives/mesa-dev/2015-August/091952.html

>   -ilia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160222/dcac5c09/attachment.sig>


More information about the mesa-dev mailing list