Re: [Mesa-dev] [PATCH 5/6] radeonsi/nir: set uses_bindless_images for images

2018-04-09 Thread Timothy Arceri



On 10/04/18 06:29, Marek Olšák wrote:

Do you need break statements?


Whoops the first one does. I'll add a /* fall through */ comment to the 
second one. Thanks.




Marek

On Thu, Apr 5, 2018 at 1:34 AM, Timothy Arceri > wrote:


V2: add missing intrinsics (Spotted-by: Samuel Pitoiset)
---
 src/gallium/drivers/radeonsi/si_shader_nir.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 01c8554272f..362b7445cc5 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -123,6 +123,13 @@ static void scan_instruction(struct
tgsi_shader_info *info,
                case nir_intrinsic_load_tess_level_outer:
                        info->reads_tess_factors = true;
                        break;
+               case nir_intrinsic_image_var_load:
+               case nir_intrinsic_image_var_size:
+               case nir_intrinsic_image_var_samples: {
+                       nir_variable *var = intr->variables[0]->var;
+                       if (var->data.bindless)
+  info->uses_bindless_images = true;
+               }
                case nir_intrinsic_image_var_store:
                case nir_intrinsic_image_var_atomic_add:
                case nir_intrinsic_image_var_atomic_min:
@@ -131,7 +138,11 @@ static void scan_instruction(struct
tgsi_shader_info *info,
                case nir_intrinsic_image_var_atomic_or:
                case nir_intrinsic_image_var_atomic_xor:
                case nir_intrinsic_image_var_atomic_exchange:
-               case nir_intrinsic_image_var_atomic_comp_swap:
+               case nir_intrinsic_image_var_atomic_comp_swap: {
+                       nir_variable *var = intr->variables[0]->var;
+                       if (var->data.bindless)
+  info->uses_bindless_images = true;
+               }
                case nir_intrinsic_store_ssbo:
                case nir_intrinsic_ssbo_atomic_add:
                case nir_intrinsic_ssbo_atomic_imin:
--
2.14.3

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org 
https://lists.freedesktop.org/mailman/listinfo/mesa-dev





___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 5/6] radeonsi/nir: set uses_bindless_images for images

2018-04-09 Thread Marek Olšák
Do you need break statements?

Marek

On Thu, Apr 5, 2018 at 1:34 AM, Timothy Arceri 
wrote:

> V2: add missing intrinsics (Spotted-by: Samuel Pitoiset)
> ---
>  src/gallium/drivers/radeonsi/si_shader_nir.c | 13 -
>  1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
> b/src/gallium/drivers/radeonsi/si_shader_nir.c
> index 01c8554272f..362b7445cc5 100644
> --- a/src/gallium/drivers/radeonsi/si_shader_nir.c
> +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
> @@ -123,6 +123,13 @@ static void scan_instruction(struct tgsi_shader_info
> *info,
> case nir_intrinsic_load_tess_level_outer:
> info->reads_tess_factors = true;
> break;
> +   case nir_intrinsic_image_var_load:
> +   case nir_intrinsic_image_var_size:
> +   case nir_intrinsic_image_var_samples: {
> +   nir_variable *var = intr->variables[0]->var;
> +   if (var->data.bindless)
> +   info->uses_bindless_images = true;
> +   }
> case nir_intrinsic_image_var_store:
> case nir_intrinsic_image_var_atomic_add:
> case nir_intrinsic_image_var_atomic_min:
> @@ -131,7 +138,11 @@ static void scan_instruction(struct tgsi_shader_info
> *info,
> case nir_intrinsic_image_var_atomic_or:
> case nir_intrinsic_image_var_atomic_xor:
> case nir_intrinsic_image_var_atomic_exchange:
> -   case nir_intrinsic_image_var_atomic_comp_swap:
> +   case nir_intrinsic_image_var_atomic_comp_swap: {
> +   nir_variable *var = intr->variables[0]->var;
> +   if (var->data.bindless)
> +   info->uses_bindless_images = true;
> +   }
> case nir_intrinsic_store_ssbo:
> case nir_intrinsic_ssbo_atomic_add:
> case nir_intrinsic_ssbo_atomic_imin:
> --
> 2.14.3
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 5/6] radeonsi/nir: set uses_bindless_images for images

2018-04-04 Thread Timothy Arceri
V2: add missing intrinsics (Spotted-by: Samuel Pitoiset)
---
 src/gallium/drivers/radeonsi/si_shader_nir.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c 
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 01c8554272f..362b7445cc5 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -123,6 +123,13 @@ static void scan_instruction(struct tgsi_shader_info *info,
case nir_intrinsic_load_tess_level_outer:
info->reads_tess_factors = true;
break;
+   case nir_intrinsic_image_var_load:
+   case nir_intrinsic_image_var_size:
+   case nir_intrinsic_image_var_samples: {
+   nir_variable *var = intr->variables[0]->var;
+   if (var->data.bindless)
+   info->uses_bindless_images = true;
+   }
case nir_intrinsic_image_var_store:
case nir_intrinsic_image_var_atomic_add:
case nir_intrinsic_image_var_atomic_min:
@@ -131,7 +138,11 @@ static void scan_instruction(struct tgsi_shader_info *info,
case nir_intrinsic_image_var_atomic_or:
case nir_intrinsic_image_var_atomic_xor:
case nir_intrinsic_image_var_atomic_exchange:
-   case nir_intrinsic_image_var_atomic_comp_swap:
+   case nir_intrinsic_image_var_atomic_comp_swap: {
+   nir_variable *var = intr->variables[0]->var;
+   if (var->data.bindless)
+   info->uses_bindless_images = true;
+   }
case nir_intrinsic_store_ssbo:
case nir_intrinsic_ssbo_atomic_add:
case nir_intrinsic_ssbo_atomic_imin:
-- 
2.14.3

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev