[Mesa-dev] [RFC PATCH 05/12] glsl: avoid hitting assert for arrays of arrays

2015-03-21 Thread Timothy Arceri
Also add TODO comment about adding proper support

Signed-off-by: Timothy Arceri t_arc...@yahoo.com.au
---
 src/glsl/ir_set_program_inouts.cpp | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/glsl/ir_set_program_inouts.cpp 
b/src/glsl/ir_set_program_inouts.cpp
index e877a20..49cf85d 100644
--- a/src/glsl/ir_set_program_inouts.cpp
+++ b/src/glsl/ir_set_program_inouts.cpp
@@ -194,6 +194,12 @@ 
ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
   type = type-fields.array;
}
 
+   /* TODO: implement proper arrays of arrays support
+* for now let the caller mark whole variable as used.
+*/
+   if (type-is_array()  type-fields.array-is_array())
+  return false;
+
/* The code below only handles:
 *
 * - Indexing into matrices
-- 
2.1.0

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


Re: [Mesa-dev] [RFC PATCH 05/12] glsl: avoid hitting assert for arrays of arrays

2015-03-21 Thread Ilia Mirkin
On Sat, Mar 21, 2015 at 5:49 AM, Timothy Arceri t_arc...@yahoo.com.au wrote:
 Also add TODO comment about adding proper support

 Signed-off-by: Timothy Arceri t_arc...@yahoo.com.au
 ---
  src/glsl/ir_set_program_inouts.cpp | 6 ++
  1 file changed, 6 insertions(+)

 diff --git a/src/glsl/ir_set_program_inouts.cpp 
 b/src/glsl/ir_set_program_inouts.cpp
 index e877a20..49cf85d 100644
 --- a/src/glsl/ir_set_program_inouts.cpp
 +++ b/src/glsl/ir_set_program_inouts.cpp
 @@ -194,6 +194,12 @@ 
 ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
type = type-fields.array;
 }

 +   /* TODO: implement proper arrays of arrays support
 +* for now let the caller mark whole variable as used.
 +*/
 +   if (type-is_array()  type-fields.array-is_array())
 +  return false;
 +

Won't this also hit the GS case even without array-of-arrays?

The subject should reflect that this is about in/out variable liveness
calculation.

 /* The code below only handles:
  *
  * - Indexing into matrices
 --
 2.1.0

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


Re: [Mesa-dev] [RFC PATCH 05/12] glsl: avoid hitting assert for arrays of arrays

2015-03-21 Thread Timothy Arceri
On Sat, 2015-03-21 at 19:30 -0400, Ilia Mirkin wrote:
 On Sat, Mar 21, 2015 at 5:49 AM, Timothy Arceri t_arc...@yahoo.com.au wrote:
  Also add TODO comment about adding proper support
 
  Signed-off-by: Timothy Arceri t_arc...@yahoo.com.au
  ---
   src/glsl/ir_set_program_inouts.cpp | 6 ++
   1 file changed, 6 insertions(+)
 
  diff --git a/src/glsl/ir_set_program_inouts.cpp 
  b/src/glsl/ir_set_program_inouts.cpp
  index e877a20..49cf85d 100644
  --- a/src/glsl/ir_set_program_inouts.cpp
  +++ b/src/glsl/ir_set_program_inouts.cpp
  @@ -194,6 +194,12 @@ 
  ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
 type = type-fields.array;
  }
 
  +   /* TODO: implement proper arrays of arrays support
  +* for now let the caller mark whole variable as used.
  +*/
  +   if (type-is_array()  type-fields.array-is_array())
  +  return false;
  +
 
 Won't this also hit the GS case even without array-of-arrays?

The code just above this takes care of the non arrays-of-arrays GS case.
For reference here is is:

   if (this-shader_stage == MESA_SHADER_GEOMETRY 
   var-data.mode == ir_var_shader_in) {
  type = type-fields.array;
   }

 
 The subject should reflect that this is about in/out variable liveness
 calculation.

Yes it should. Will fix.

 
  /* The code below only handles:
   *
   * - Indexing into matrices
  --
  2.1.0
 
  ___
  mesa-dev mailing list
  mesa-dev@lists.freedesktop.org
  http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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