ir_set_program_inouts_visitor::mark_whole_variable(ir_variable *var)
{
const glsl_type *type = var->type;
- bool vertex_input = false;
+ bool is_vertex_input = false;
if (this->shader_stage == MESA_SHADER_GEOMETRY &&
var->data.mode == ir_var_shader_in && type->is_array()) {
type = type->fields.array;
if (this->shader_stage == MESA_SHADER_VERTEX &&
var->data.mode == ir_var_shader_in)
- vertex_input = true;
+ is_vertex_input = true;
- mark(this->prog, var, 0, type->count_attribute_slots(vertex_input),
+ mark(this->prog, var, 0, type->count_attribute_slots(is_vertex_input),
this->shader_stage);
}
return false;
}
- const unsigned slots = var->type->count_attribute_slots(target_index == MESA_SHADER_VERTEX ? true : false);
+ const unsigned slots = var->type->count_attribute_slots(target_index == MESA_SHADER_VERTEX);
/* If the variable is not a built-in and has a location statically
* assigned in the shader (presumably via a layout qualifier), make sure
const char *name, const glsl_type *type,
bool use_implicit_location, int location)
{
- const bool vertex_input_slots =
+ const bool is_vertex_input =
programInterface == GL_PROGRAM_INPUT &&
stage_mask == MESA_SHADER_VERTEX;
return false;
field_location +=
- field->type->count_attribute_slots(vertex_input_slots);
+ field->type->count_attribute_slots(is_vertex_input);
}
return true;
}
}
unsigned
-glsl_type::count_attribute_slots(bool vertex_input_slots) const
+glsl_type::count_attribute_slots(bool is_vertex_input) const
{
/* From page 31 (page 37 of the PDF) of the GLSL 1.50 spec:
*
case GLSL_TYPE_BOOL:
return this->matrix_columns;
case GLSL_TYPE_DOUBLE:
- if (this->vector_elements > 2 && !vertex_input_slots)
+ if (this->vector_elements > 2 && !is_vertex_input)
return this->matrix_columns * 2;
else
return this->matrix_columns;
unsigned size = 0;
for (unsigned i = 0; i < this->length; i++)
- size += this->fields.structure[i].type->count_attribute_slots(vertex_input_slots);
+ size += this->fields.structure[i].type->count_attribute_slots(is_vertex_input);
return size;
}
case GLSL_TYPE_ARRAY:
- return this->length * this->fields.array->count_attribute_slots(vertex_input_slots);
+ return this->length * this->fields.array->count_attribute_slots(is_vertex_input);
case GLSL_TYPE_FUNCTION:
case GLSL_TYPE_SAMPLER:
* For vertex shader attributes - doubles only take one slot.
* For inter-shader varyings - dvec3/dvec4 take two slots.
*/
- unsigned count_attribute_slots(bool vertex_input_slots) const;
+ unsigned count_attribute_slots(bool is_vertex_input) const;
/**
* Alignment in bytes of the start of this type in a std140 uniform
unsigned
glsl_count_attribute_slots(const struct glsl_type *type,
- bool vertex_input_slots)
+ bool is_vertex_input)
{
- return type->count_attribute_slots(vertex_input_slots);
+ return type->count_attribute_slots(is_vertex_input);
}
const char *
unsigned glsl_get_aoa_size(const struct glsl_type *type);
unsigned glsl_count_attribute_slots(const struct glsl_type *type,
- bool vertex_input_slots);
+ bool is_vertex_input);
const char *glsl_get_struct_elem_name(const struct glsl_type *type,
unsigned index);