diff options
-rw-r--r-- | src/compiler/glsl/ir_constant_expression.cpp | 2 | ||||
-rw-r--r-- | src/compiler/glsl/opt_constant_propagation.cpp | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/glsl/ir_constant_expression.cpp b/src/compiler/glsl/ir_constant_expression.cpp index 25b00a749f2..2fc23baba79 100644 --- a/src/compiler/glsl/ir_constant_expression.cpp +++ b/src/compiler/glsl/ir_constant_expression.cpp @@ -732,6 +732,8 @@ ir_swizzle::constant_expression_value(void *mem_ctx, case GLSL_TYPE_FLOAT: data.f[i] = v->value.f[swiz_idx[i]]; break; case GLSL_TYPE_BOOL: data.b[i] = v->value.b[swiz_idx[i]]; break; case GLSL_TYPE_DOUBLE:data.d[i] = v->value.d[swiz_idx[i]]; break; + case GLSL_TYPE_UINT64:data.u64[i] = v->value.u64[swiz_idx[i]]; break; + case GLSL_TYPE_INT64: data.i64[i] = v->value.i64[swiz_idx[i]]; break; default: assert(!"Should not get here."); break; } } diff --git a/src/compiler/glsl/opt_constant_propagation.cpp b/src/compiler/glsl/opt_constant_propagation.cpp index 52e3937bb11..05dc71efb72 100644 --- a/src/compiler/glsl/opt_constant_propagation.cpp +++ b/src/compiler/glsl/opt_constant_propagation.cpp @@ -238,6 +238,12 @@ ir_constant_propagation_visitor::constant_propagation(ir_rvalue **rvalue) { case GLSL_TYPE_BOOL: data.b[i] = found->constant->value.b[rhs_channel]; break; + case GLSL_TYPE_UINT64: + data.u64[i] = found->constant->value.u64[rhs_channel]; + break; + case GLSL_TYPE_INT64: + data.i64[i] = found->constant->value.i64[rhs_channel]; + break; default: assert(!"not reached"); break; |