[Mesa-dev] [PATCH 4/5] i965/fs: Return result of image atomic in a register of the expected type.

Ilia Mirkin imirkin at alum.mit.edu
Tue Feb 23 02:48:16 UTC 2016


On Mon, Feb 22, 2016 at 9:40 PM, Francisco Jerez <currojerez at riseup.net> wrote:
> So the result is of float type if we're implementing the float
> overload of imageAtomicExchange.  This is the only back-end change
> required to support OES_shader_image_atomic AFAICT.
> ---
>  src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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..75734d2 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
> @@ -1125,7 +1125,7 @@ namespace brw {
>           if (rsize && pred)
>              set_predicate(pred, bld.SEL(tmp, tmp, brw_imm_d(0)));
>
> -         return tmp;
> +         return retype(tmp, src0.type);

I had chosen to stick this into emit_typed_atomic -- the typed-ness
seemed to fit better there. Your call though, this is just a thought.

>        }
>     }
>  }
> --
> 2.7.0
>


More information about the mesa-dev mailing list