Re: [Mesa-dev] [PATCH v2] compiler/glsl: allow sequence op as const expression for gles 1.0

2016-03-23 Thread Eduardo Lima Mitev

Reviewed-by: Eduardo Lima Mitev 

Thanks, Lars!

Eduardo

On 03/23/2016 03:14 AM, Lars Hamre wrote:

v2: Fixed regression pointed out by Eduardo Lima Mitev

Allow the sequence operator to be a constant expression in GLSL ES versions 
prior
to GLSL ES 3.0

Fixes the following piglit test:
/all/spec/glsl-es-1.0/compiler/array-sized-by-sequence-in-parenthesis.vert

This is similar to the logic from process_initializer() which performs the
same check for constant variable initialization with sequence operators.

Signed-off-by: Lars Hamre 

---
  src/compiler/glsl/ast_to_hir.cpp | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 5262bd8..35def8e 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -2125,7 +2125,9 @@ process_array_size(exec_node *node,
 }

 ir_constant *const size = ir->constant_expression_value();
-   if (size == NULL || array_size->has_sequence_subexpression()) {
+   if (size == NULL ||
+   (state->is_version(120, 300) &&
+array_size->has_sequence_subexpression())) {
_mesa_glsl_error(& loc, state, "array size must be a "
 "constant valued expression");
return 0;
--
2.5.0

___
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 v2] compiler/glsl: allow sequence op as const expression for gles 1.0

2016-03-22 Thread Lars Hamre
v2: Fixed regression pointed out by Eduardo Lima Mitev

Allow the sequence operator to be a constant expression in GLSL ES versions 
prior
to GLSL ES 3.0

Fixes the following piglit test:
   /all/spec/glsl-es-1.0/compiler/array-sized-by-sequence-in-parenthesis.vert

This is similar to the logic from process_initializer() which performs the
same check for constant variable initialization with sequence operators.

Signed-off-by: Lars Hamre 

---
 src/compiler/glsl/ast_to_hir.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 5262bd8..35def8e 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -2125,7 +2125,9 @@ process_array_size(exec_node *node,
}

ir_constant *const size = ir->constant_expression_value();
-   if (size == NULL || array_size->has_sequence_subexpression()) {
+   if (size == NULL ||
+   (state->is_version(120, 300) &&
+array_size->has_sequence_subexpression())) {
   _mesa_glsl_error(& loc, state, "array size must be a "
"constant valued expression");
   return 0;
--
2.5.0

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