glsl: move variables in to ir_variable::data, part II
This patch moves following bitfields and variables to the data structure: explicit_location, explicit_index, explicit_binding, has_initializer, is_unmatched_generic_inout, location_frac, from_named_ifc_block_nonarray, from_named_ifc_block_array, depth_layout, location, index, binding, max_array_access, atomic Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
@@ -88,7 +88,7 @@ public:
|
||||
if (!var || var->data.mode != this->mode)
|
||||
return visit_continue;
|
||||
|
||||
if (this->find_frag_outputs && var->location == FRAG_RESULT_DATA0) {
|
||||
if (this->find_frag_outputs && var->data.location == FRAG_RESULT_DATA0) {
|
||||
this->fragdata_array = var;
|
||||
|
||||
ir_constant *index = ir->array_index->as_constant();
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
return visit_continue_with_parent;
|
||||
}
|
||||
|
||||
if (!this->find_frag_outputs && var->location == VARYING_SLOT_TEX0) {
|
||||
if (!this->find_frag_outputs && var->data.location == VARYING_SLOT_TEX0) {
|
||||
this->texcoord_array = var;
|
||||
|
||||
ir_constant *index = ir->array_index->as_constant();
|
||||
@@ -133,14 +133,14 @@ public:
|
||||
if (var->data.mode != this->mode || !var->type->is_array())
|
||||
return visit_continue;
|
||||
|
||||
if (this->find_frag_outputs && var->location == FRAG_RESULT_DATA0) {
|
||||
if (this->find_frag_outputs && var->data.location == FRAG_RESULT_DATA0) {
|
||||
/* This is a whole array dereference. */
|
||||
this->fragdata_usage |= (1 << var->type->array_size()) - 1;
|
||||
this->lower_fragdata_array = false;
|
||||
return visit_continue;
|
||||
}
|
||||
|
||||
if (!this->find_frag_outputs && var->location == VARYING_SLOT_TEX0) {
|
||||
if (!this->find_frag_outputs && var->data.location == VARYING_SLOT_TEX0) {
|
||||
/* This is a whole array dereference like "gl_TexCoord = x;",
|
||||
* there's probably no point in lowering that.
|
||||
*/
|
||||
@@ -160,7 +160,7 @@ public:
|
||||
return visit_continue;
|
||||
|
||||
/* Handle colors and fog. */
|
||||
switch (var->location) {
|
||||
switch (var->data.location) {
|
||||
case VARYING_SLOT_COL0:
|
||||
this->color[0] = var;
|
||||
this->color_usage |= 1;
|
||||
@@ -358,9 +358,9 @@ public:
|
||||
new_var[i] =
|
||||
new(ctx) ir_variable(glsl_type::vec4_type, name,
|
||||
this->info->mode);
|
||||
new_var[i]->location = start_location + i;
|
||||
new_var[i]->explicit_location = true;
|
||||
new_var[i]->explicit_index = 0;
|
||||
new_var[i]->data.location = start_location + i;
|
||||
new_var[i]->data.explicit_location = true;
|
||||
new_var[i]->data.explicit_index = 0;
|
||||
}
|
||||
|
||||
ir->head->insert_before(new_var[i]);
|
||||
|
Reference in New Issue
Block a user