summaryrefslogtreecommitdiffstats
path: root/src/glsl/lower_named_interface_blocks.cpp
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2013-09-09 16:39:47 -0700
committerPaul Berry <[email protected]>2013-10-08 12:44:01 -0700
commit378ff1dbac8c01f2524282b5caa81e4296ee296e (patch)
treedfb16cd131c78e73c611875890ad97790a0691f9 /src/glsl/lower_named_interface_blocks.cpp
parente166a58c43e92f10f03b32747bff44708096f898 (diff)
glsl: Keep track of location for interface block fields.
This patch adds a "location" element to struct glsl_struct_field, so that we can keep track of the gl_varying_slot associated with each built-in geometry shader input. In lower_named_interface_blocks, we use this value to populate the "location" field in the ir_variable that stores each geometry shader input. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/glsl/lower_named_interface_blocks.cpp')
-rw-r--r--src/glsl/lower_named_interface_blocks.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/lower_named_interface_blocks.cpp b/src/glsl/lower_named_interface_blocks.cpp
index 7019185a2f3..5ad5683f63d 100644
--- a/src/glsl/lower_named_interface_blocks.cpp
+++ b/src/glsl/lower_named_interface_blocks.cpp
@@ -150,6 +150,7 @@ flatten_named_interface_blocks_declarations::run(exec_list *instructions)
var_name,
(ir_variable_mode) var->mode);
}
+ new_var->location = iface_t->fields.structure[i].location;
new_var->interface_type = iface_t;
hash_table_insert(interface_namespace, new_var,