Lines Matching defs:fields
881 lhs_t = lhs_t->fields.array;
882 rhs_t = rhs_t->fields.array;
890 lhs_t = lhs_t->fields.array;
891 rhs_t = rhs_t->fields.array;
977 * arrays, function names, swizzles with repeated fields,
1015 var->type = glsl_type::get_array_instance(lhs->type->fields.array,
1165 const char *field_name = op0->type->fields.structure[i].name;
2831 /* Layout qualifiers may only apply to interface blocks and fields in
2896 const glsl_type *member_t = t_without_array->fields.structure[i].type;
2904 int xfb_offset = t_without_array->fields.structure[i].offset;
3645 t = t->fields.array;
3654 t = t->fields.array;
4381 && (var->type->fields.array == earlier->type->fields.array)) {
4772 var->type = glsl_type::get_array_instance(var->type->fields.array,
4875 var->type = glsl_type::get_array_instance(var->type->fields.array,
5515 var->type->fields.array->is_array()) {
5522 var->type->fields.array->is_struct()) {
5529 if (var->type->fields.structure[i].type->is_array() ||
5530 var->type->fields.structure[i].type->is_struct())
5614 var->type->fields.array->is_array()) {
5625 type = var->type->fields.array;
5628 if (type->is_array() && type->fields.array->is_struct()) {
5636 if (type->fields.structure[i].type->is_array() ||
5637 type->fields.structure[i].type->is_struct())
5992 * function names, swizzles with repeated fields, and constants
7360 * Process a structure or interface block tree into an array of structure fields
7373 * The number of fields processed. A pointer to the array structure fields is
7395 /* Make an initial pass over the list of fields to determine how
7404 /* Allocate storage for the fields and process the field
7409 glsl_struct_field *const fields = rzalloc_array(state, glsl_struct_field,
7618 fields[i].type = field_type;
7619 fields[i].name = decl->identifier;
7620 fields[i].interpolation =
7623 fields[i].centroid = qual->flags.q.centroid ? 1 : 0;
7624 fields[i].sample = qual->flags.q.sample ? 1 : 0;
7625 fields[i].patch = qual->flags.q.patch ? 1 : 0;
7626 fields[i].offset = -1;
7627 fields[i].explicit_xfb_buffer = explicit_xfb_buffer;
7628 fields[i].xfb_buffer = xfb_buffer;
7629 fields[i].xfb_stride = xfb_stride;
7635 fields[i].location = qual_location +
7636 (fields[i].patch ? VARYING_SLOT_PATCH0 : VARYING_SLOT_VAR0);
7637 expl_location = fields[i].location +
7638 fields[i].type->count_attribute_slots(false);
7642 fields[i].location = expl_location;
7643 expl_location += fields[i].type->count_attribute_slots(false);
7645 fields[i].location = -1;
7653 validate_component_layout_for_type(state, &loc, fields[i].type,
7655 fields[i].component = qual_component;
7658 fields[i].component = -1;
7698 fields[i].offset = qual_offset;
7708 unsigned offset = fields[i].offset != -1 ? fields[i].offset :
7722 fields[i].offset = glsl_align(offset, member_align);
7723 next_offset = fields[i].offset + size;
7727 fields[i].offset = glsl_align(offset, expl_align);
7728 next_offset = fields[i].offset + size;
7748 fields[i].offset = xfb_offset;
7749 block_xfb_offset = fields[i].offset +
7755 fields[i].offset = glsl_align(block_xfb_offset, align);
7760 /* Propogate row- / column-major information down the fields of the
7772 fields[i].matrix_layout = matrix_layout;
7775 fields[i].matrix_layout = GLSL_MATRIX_LAYOUT_ROW_MAJOR;
7777 fields[i].matrix_layout = GLSL_MATRIX_LAYOUT_COLUMN_MAJOR;
7782 assert(fields[i].matrix_layout == GLSL_MATRIX_LAYOUT_ROW_MAJOR
7783 || fields[i].matrix_layout == GLSL_MATRIX_LAYOUT_COLUMN_MAJOR);
7795 fields[i].memory_read_only = qual->flags.q.read_only;
7796 fields[i].memory_write_only = qual->flags.q.write_only;
7798 fields[i].memory_read_only =
7800 fields[i].memory_write_only =
7807 fields[i].memory_coherent = qual->flags.q.coherent ||
7809 fields[i].memory_volatile = qual->flags.q._volatile ||
7811 fields[i].memory_restrict = qual->flags.q.restrict_flag ||
7822 fields[i].image_format = qual->image_format;
7830 fields[i].image_format = PIPE_FORMAT_NONE;
7837 fields[i].precision = select_gles_precision(qual->precision,
7842 fields[i].precision = qual->precision;
7851 *fields_ret = fields;
7872 glsl_struct_field *fields;
7877 &fields,
7891 type = glsl_type::get_struct_instance(fields, decl_count, this->name);
7957 if (strcmp(interface_type->fields.structure[length-1].name, v->name) == 0)
8102 glsl_struct_field *fields;
8177 &fields,
8280 int j = earlier_per_vertex->field_index(fields[i].name);
8286 fields[i].location =
8287 earlier_per_vertex->fields.structure[j].location;
8288 fields[i].offset =
8289 earlier_per_vertex->fields.structure[j].offset;
8290 fields[i].interpolation =
8291 earlier_per_vertex->fields.structure[j].interpolation;
8292 fields[i].centroid =
8293 earlier_per_vertex->fields.structure[j].centroid;
8294 fields[i].sample =
8295 earlier_per_vertex->fields.structure[j].sample;
8296 fields[i].patch =
8297 earlier_per_vertex->fields.structure[j].patch;
8298 fields[i].precision =
8299 earlier_per_vertex->fields.structure[j].precision;
8300 fields[i].explicit_xfb_buffer =
8301 earlier_per_vertex->fields.structure[j].explicit_xfb_buffer;
8302 fields[i].xfb_buffer =
8303 earlier_per_vertex->fields.structure[j].xfb_buffer;
8304 fields[i].xfb_stride =
8305 earlier_per_vertex->fields.structure[j].xfb_stride;
8331 glsl_type::get_interface_instance(fields,
8399 if (fields[i].type->is_array()) {
8400 const unsigned size = fields[i].type->array_size();
8401 check_builtin_array_max_size(fields[i].name, size, loc, state);
8457 if (fields[i].location != -1) {
8522 block_array_type->fields.array->is_array()) {
8555 apply_memory_qualifiers(var, fields[i]);
8591 new(state) ir_variable(fields[i].type,
8592 ralloc_strdup(state, fields[i].name),
8594 var->data.interpolation = fields[i].interpolation;
8595 var->data.centroid = fields[i].centroid;
8596 var->data.sample = fields[i].sample;
8597 var->data.patch = fields[i].patch;
8599 var->data.location = fields[i].location;
8601 if (fields[i].location != -1)
8604 var->data.explicit_xfb_buffer = fields[i].explicit_xfb_buffer;
8605 var->data.xfb_buffer = fields[i].xfb_buffer;
8607 if (fields[i].offset != -1)
8609 var->data.offset = fields[i].offset;
8619 select_gles_precision(fields[i].precision, fields[i].type,
8623 if (fields[i].matrix_layout == GLSL_MATRIX_LAYOUT_INHERITED) {
8627 var->data.matrix_layout = fields[i].matrix_layout;
8631 apply_memory_qualifiers(var, fields[i]);
8660 /* Propagate the "binding" keyword into this UBO/SSBO's fields.
8689 "array", fields[i].name);
8790 var->type = glsl_type::get_array_instance(var->type->fields.array,
8844 var->type = glsl_type::get_array_instance(var->type->fields.array,