Mesa (master): glsl: fix assertion which fails for unsigned array indices.

Brian Paul brianp at kemper.freedesktop.org
Wed Sep 3 22:20:00 UTC 2014


Module: Mesa
Branch: master
Commit: cfc42db592a7d9684d5cee8d4238a0b2dd6f0603
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cfc42db592a7d9684d5cee8d4238a0b2dd6f0603

Author: tiffany <tiffany at stormbit.net>
Date:   Sat Aug 30 12:30:00 2014 -0600

glsl: fix assertion which fails for unsigned array indices.

According to the GLSL 1.40 spec, section 5.7 Structure and Array Operations:

"Array elements are accessed using an expression whose type is int or uint."

Cc: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/glsl/lower_variable_index_to_cond_assign.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/lower_variable_index_to_cond_assign.cpp b/src/glsl/lower_variable_index_to_cond_assign.cpp
index 7c5d80f..d878cb0 100644
--- a/src/glsl/lower_variable_index_to_cond_assign.cpp
+++ b/src/glsl/lower_variable_index_to_cond_assign.cpp
@@ -76,7 +76,7 @@ compare_index_block(exec_list *instructions, ir_variable *index,
    ir_rvalue *broadcast_index = new(mem_ctx) ir_dereference_variable(index);
 
    assert(index->type->is_scalar());
-   assert(index->type->base_type == GLSL_TYPE_INT);
+   assert(index->type->base_type == GLSL_TYPE_INT || index->type->base_type == GLSL_TYPE_UINT);
    assert(components >= 1 && components <= 4);
 
    if (components > 1) {




More information about the mesa-commit mailing list