glsl: add capability to lower mediump array types
[mesa.git] / src / compiler / glsl / ir_reader.cpp
index 6d3d04817797926d3f972c73e5653f35cd3181fa..d4f0e58b155cbe5edc70508b2f49cf3fb05a4660 100644 (file)
@@ -419,8 +419,10 @@ ir_reader::read_declaration(s_expression *expr)
          var->data.sample = 1;
       } else if (strcmp(qualifier->value(), "patch") == 0) {
          var->data.patch = 1;
+      } else if (strcmp(qualifier->value(), "explicit_invariant") == 0) {
+         var->data.explicit_invariant = true;
       } else if (strcmp(qualifier->value(), "invariant") == 0) {
-        var->data.invariant = 1;
+         var->data.invariant = true;
       } else if (strcmp(qualifier->value(), "uniform") == 0) {
         var->data.mode = ir_var_uniform;
       } else if (strcmp(qualifier->value(), "shader_storage") == 0) {
@@ -833,7 +835,7 @@ ir_reader::read_constant(s_expression *expr)
         return NULL;
       }
 
-      if (type->base_type == GLSL_TYPE_FLOAT) {
+      if (type->is_float()) {
         s_number *value = SX_AS_NUMBER(expr);
         if (value == NULL) {
            ir_read_error(values, "expected numbers");