Explorar o código

Integrated glsl-optimizer.

Branimir Karadžić %!s(int64=8) %!d(string=hai) anos
pai
achega
9908ae000b
Modificáronse 2 ficheiros con 10 adicións e 4 borrados
  1. 4 0
      3rdparty/.editorconfig
  2. 6 4
      3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp

+ 4 - 0
3rdparty/.editorconfig

@@ -31,3 +31,7 @@ indent_size  = 4
 [remotery/*]
 indent_style = space
 indent_size  = 4
+
+[glsl-optimizer/*]
+indent_style = space
+indent_size  = 3

+ 6 - 4
3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp

@@ -3045,10 +3045,12 @@ process_initializer(ir_variable *var, ast_declaration *decl,
    /* Propagate precision qualifier for constant value */
    if (type->qualifier.flags.q.constant) {
       ir_constant *constant_value = rhs->constant_expression_value();
-      constant_value->set_precision((glsl_precision)type->qualifier.precision);
-      if (constant_value->type->is_array()) {
-         for (unsigned i = 0; i < constant_value->type->length; i++) {
-            constant_value->get_array_element(i)->set_precision((glsl_precision)type->qualifier.precision);
+      if (NULL != constant_value) {
+         constant_value->set_precision((glsl_precision)type->qualifier.precision);
+         if (constant_value->type->is_array()) {
+            for (unsigned i = 0; i < constant_value->type->length; i++) {
+               constant_value->get_array_element(i)->set_precision((glsl_precision)type->qualifier.precision);
+            }
          }
       }
    }