summaryrefslogtreecommitdiffstats
path: root/src/glsl/hir_field_selection.cpp
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2013-01-21 23:19:25 -0500
committerIan Romanick <[email protected]>2013-01-25 09:07:36 -0500
commitf09d77b2af0e6e7553a1e2efca2f12fe2e4dcea8 (patch)
treea311ac6c440aae02c23f21a414df16e87761e17c /src/glsl/hir_field_selection.cpp
parent32f322925592e9eeda6a5624c7320232fc170c03 (diff)
glsl: Allow dereferencing fields of an interface instance
Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/glsl/hir_field_selection.cpp')
-rw-r--r--src/glsl/hir_field_selection.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/glsl/hir_field_selection.cpp b/src/glsl/hir_field_selection.cpp
index ac416d5dac4..0035a5f81fd 100644
--- a/src/glsl/hir_field_selection.cpp
+++ b/src/glsl/hir_field_selection.cpp
@@ -61,7 +61,8 @@ _mesa_ast_field_selection_to_hir(const ast_expression *expr,
_mesa_glsl_error(& loc, state, "Invalid swizzle / mask `%s'",
expr->primary_expression.identifier);
}
- } else if (op->type->base_type == GLSL_TYPE_STRUCT) {
+ } else if (op->type->base_type == GLSL_TYPE_STRUCT
+ || op->type->base_type == GLSL_TYPE_INTERFACE) {
result = new(ctx) ir_dereference_record(op,
expr->primary_expression.identifier);