summaryrefslogtreecommitdiff
path: root/src/compiler/glsl/lower_named_interface_blocks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/glsl/lower_named_interface_blocks.cpp')
-rw-r--r--src/compiler/glsl/lower_named_interface_blocks.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/glsl/lower_named_interface_blocks.cpp b/src/compiler/glsl/lower_named_interface_blocks.cpp
index 01c50932a9a..98d27b7109e 100644
--- a/src/compiler/glsl/lower_named_interface_blocks.cpp
+++ b/src/compiler/glsl/lower_named_interface_blocks.cpp
@@ -180,7 +180,12 @@ flatten_named_interface_blocks_declarations::run(exec_list *instructions)
(ir_variable_mode) var->data.mode);
}
new_var->data.location = iface_t->fields.structure[i].location;
+ new_var->data.location_frac =
+ iface_t->fields.structure[i].component >= 0 ?
+ iface_t->fields.structure[i].component : 0;
new_var->data.explicit_location = (new_var->data.location >= 0);
+ new_var->data.explicit_component =
+ (iface_t->fields.structure[i].component >= 0);
new_var->data.offset = iface_t->fields.structure[i].offset;
new_var->data.explicit_xfb_offset =
(iface_t->fields.structure[i].offset >= 0);