Lines Matching defs:array
268 val = ((ir_dereference_array *)val)->array;
412 ir = a->array->as_dereference();
434 /* Replace the array index with a dereference of the new temporary */
456 /* An array index could also be an out variable so we need to make a copy
760 const ast_expression *array, ast_expression *idx,
763 if (array->oper == ast_array_index) {
767 array->subexpressions[0],
768 array->subexpressions[1],
779 *function_name = array->primary_expression.identifier;
1191 * the variable being declared must be a vector, a matrix, an array, or a
1287 /* Array constructors come in two forms: sized and unsized. Sized array
1290 * specified size of the array.
1292 * Unsized array constructors look like 'vec4[](a, b)', where 'a' and 'b'
1293 * are vec4 variables. In this case the size of the array being constructed
1299 * the array being constructed. If no size is present in the
1300 * constructor, then the array is explicitly sized to the number of
1302 * element 0, to the elements of the constructed array. Each argument
1303 * must be the same type as the element type of the array, or be a type
1304 * that can be converted to the element type of the array according to
1317 _mesa_glsl_error(loc, state, "array constructor must have %s %u "
1326 glsl_type::get_array_instance(constructor_type->fields.array,
1333 const glsl_type *element_type = constructor_type->fields.array;
1346 if (constructor_type->fields.array->is_unsized_array()) {
1360 _mesa_glsl_error(loc, state, "type error in array constructor: "
1366 } else if (ir->type != constructor_type->fields.array) {
1367 _mesa_glsl_error(loc, state, "type error in array constructor: "
1369 constructor_type->fields.array->name,
1377 if (constructor_type->fields.array->is_unsized_array()) {
2025 /* Handle "method calls" in GLSL 1.20 - namely, array.length() */
2033 * calling array.length.
2047 "length called on unsized array"
2052 /* Calculate length of an unsized array in run-time */
2111 * 2. methods - Only the .length() method of array types.
2163 300, &loc, "array constructors forbidden")) {