[Mesa-dev] [PATCH] spirv: fix AtomicLoad/Store on images

Jason Ekstrand jason at jlekstrand.net
Mon Sep 19 17:02:23 UTC 2016


This looks good to me.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

Do we have tests for this? If not, we should write some.  I know there are
other image atomic tests in the CTS. They shouldn't be hard to extend.

On Sep 19, 2016 9:36 AM, "Lionel Landwerlin" <llandwerlin at gmail.com> wrote:

> OpAtomicLoad/Store should have pointer to images just like the rest of the
> atomic operators. These couple of lines were poorly copied from the
> ssbo/shared_vars cases (the only ones currently tests by the CTS).
>
> Fixes 2afb950161f847d9b0a7 "spirv/nir: Add support for OpAtomicLoad/Store"
> Cc: Timothy Arceri <timothy.arceri at collabora.com>
> Cc: Jason Ekstrand <jason at jlekstrand.net>
> ---
>  src/compiler/spirv/spirv_to_nir.c | 13 +++----------
>  1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/src/compiler/spirv/spirv_to_nir.c
> b/src/compiler/spirv/spirv_to_nir.c
> index 49338b2..12b43ee 100644
> --- a/src/compiler/spirv/spirv_to_nir.c
> +++ b/src/compiler/spirv/spirv_to_nir.c
> @@ -1671,6 +1671,7 @@ vtn_handle_image(struct vtn_builder *b, SpvOp opcode,
>     case SpvOpAtomicIDecrement:
>     case SpvOpAtomicIAdd:
>     case SpvOpAtomicISub:
> +   case SpvOpAtomicLoad:
>     case SpvOpAtomicSMin:
>     case SpvOpAtomicUMin:
>     case SpvOpAtomicSMax:
> @@ -1681,17 +1682,9 @@ vtn_handle_image(struct vtn_builder *b, SpvOp
> opcode,
>        image = *vtn_value(b, w[3], vtn_value_type_image_pointer)->image;
>        break;
>
> -   case SpvOpAtomicLoad: {
> -      image.image =
> -         vtn_value(b, w[3], vtn_value_type_access_chain)->access_chain;
> -      break;
> -   }
> -
> -   case SpvOpAtomicStore: {
> -      image.image =
> -         vtn_value(b, w[1], vtn_value_type_access_chain)->access_chain;
> +   case SpvOpAtomicStore:
> +      image = *vtn_value(b, w[1], vtn_value_type_image_pointer)->image;
>        break;
> -   }
>
>     case SpvOpImageQuerySize:
>        image.image =
> --
> 2.9.3
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160919/90917324/attachment-0001.html>


More information about the mesa-dev mailing list