Lines Matching defs:var
122 ir_variable *const var = ir->lhs->variable_referenced();
124 return check_variable_name(var->name);
136 ir_variable *var = param_rval->variable_referenced();
137 if (var && check_variable_name(var->name) == visit_stop)
143 ir_variable *const var = ir->return_deref->variable_referenced();
145 if (check_variable_name(var->name) == visit_stop)
197 find_assignments(exec_list *ir, find_variable *var)
199 find_assignment_visitor visitor(1, &var);
216 if (strcmp(this->name, ir->var->name) == 0) {
244 ir->type = ir->var->type;
286 virtual ir_visitor_status visit(ir_variable *var)
288 if (!var->type->is_array() || var->data.mode != ir_var_shader_in ||
289 var->data.patch)
292 unsigned size = var->type->length;
298 if (!var->data.implicit_sized_array &&
302 var->name, size, this->num_vertices);
310 if (var->data.max_array_access >= (int)this->num_vertices) {
314 var->data.max_array_access, var->name, this->num_vertices);
319 var->type = glsl_type::get_array_instance(var->type->fields.array,
321 var->data.max_array_access = this->num_vertices - 1;
487 ir_variable *const var = node->as_variable();
489 if (var == NULL)
497 if (!var->data.explicit_location) {
498 var->data.location = -1;
499 var->data.location_frac = 0;
786 ir_variable *const var,
795 if (var->type->is_array() && existing->type->is_array()) {
796 const glsl_type *no_array_var = var->type->fields.array;
805 ((var->type->length == 0)|| (existing->type->length == 0))) {
806 if (var->type->length != 0) {
807 if ((int)var->type->length <= existing->data.max_array_access) {
811 mode_string(var),
812 var->name, var->type->name,
815 existing->type = var->type;
818 if((int)existing->type->length <= var->data.max_array_access &&
823 mode_string(var),
824 var->name, existing->type->name,
825 var->data.max_array_access);
845 ir_variable *const var = node->as_variable();
847 if (var == NULL)
850 if (uniforms_only && (var->data.mode != ir_var_uniform && var->data.mode != ir_var_shader_storage))
854 if (var->type->contains_subroutine())
861 if (var->is_interface_instance())
867 if (var->data.mode == ir_var_temporary)
874 ir_variable *const existing = variables->get_variable(var->name);
877 if (var->type != existing->type) {
878 if (!validate_intrastage_arrays(prog, var, existing)) {
885 if (!(var->data.mode == ir_var_shader_storage &&
886 var->data.from_ssbo_unsized_array &&
889 var->type->gl_type == existing->type->gl_type)) {
892 mode_string(var),
893 var->name, var->type->name,
900 if (var->data.explicit_location) {
902 && (var->data.location != existing->data.location)) {
905 mode_string(var), var->name);
909 if (var->data.location_frac != existing->data.location_frac) {
911 "differing values\n", mode_string(var), var->name);
915 existing->data.location = var->data.location;
924 var->data.location = existing->data.location;
925 var->data.explicit_location = true;
935 if (var->data.explicit_binding) {
937 var->data.binding != existing->data.binding) {
940 mode_string(var), var->name);
944 existing->data.binding = var->data.binding;
948 if (var->type->contains_atomic() &&
949 var->data.offset != existing->data.offset) {
952 mode_string(var), var->name);
967 if (strcmp(var->name, "gl_FragDepth") == 0) {
968 bool layout_declared = var->data.depth_layout != ir_depth_layout_none;
970 var->data.depth_layout != existing->data.depth_layout;
979 if (var->data.used && layout_differs) {
1006 if (var->constant_initializer != NULL) {
1009 !var->data.is_implicit_initializer) {
1010 if (!var->constant_initializer->has_value(existing->constant_initializer)) {
1013 mode_string(var), var->name);
1021 if (!var->data.is_implicit_initializer)
1022 variables->replace_variable(existing->name, var);
1026 if (var->data.has_initializer) {
1028 && (var->constant_initializer == NULL
1033 var->name);
1038 if (existing->data.explicit_invariant != var->data.explicit_invariant) {
1041 mode_string(var), var->name);
1044 if (existing->data.centroid != var->data.centroid) {
1047 mode_string(var), var->name);
1050 if (existing->data.sample != var->data.sample) {
1053 mode_string(var), var->name);
1056 if (existing->data.image_format != var->data.image_format) {
1059 mode_string(var), var->name);
1067 prog->IsES && !var->get_interface_type() &&
1068 existing->data.precision != var->data.precision) {
1069 if ((existing->data.used && var->data.used) || prog->data->Version >= 300) {
1072 mode_string(var), var->name);
1077 mode_string(var), var->name);
1092 const glsl_type *var_itype = var->get_interface_type();
1098 mode_string(var), var->name,
1104 mode_string(var), var->name,
1111 variables->add_variable(var);
1344 if (ir->var->data.mode == ir_var_temporary) {
1345 hash_entry *entry = _mesa_hash_table_search(temps, ir->var);
1346 ir_variable *var = entry ? (ir_variable *) entry->data : NULL;
1348 assert(var != NULL);
1349 ir->var = var;
1354 this->symbols->get_variable(ir->var->name);
1356 ir->var = existing;
1358 ir_variable *copy = ir->var->clone(this->target, NULL);
1362 ir->var = copy;
1415 ir_variable *var = inst->as_variable();
1416 if ((var != NULL) && (var->data.mode != ir_var_temporary))
1422 || ((var != NULL) && (var->data.mode == ir_var_temporary)));
1427 if (var != NULL)
1428 _mesa_hash_table_insert(temps, var, inst);
1467 virtual ir_visitor_status visit(ir_variable *var)
1470 bool implicit_sized_array = var->data.implicit_sized_array;
1471 fixup_type(&var->type, var->data.max_array_access,
1472 var->data.from_ssbo_unsized_array,
1474 var->data.implicit_sized_array = implicit_sized_array;
1475 type_without_array = var->type->without_array();
1476 if (var->type->is_interface()) {
1477 if (interface_contains_unsized_arrays(var->type)) {
1479 resize_interface_members(var->type,
1480 var->get_max_ifc_array_access(),
1481 var->is_in_shader_storage_block());
1482 var->type = new_type;
1483 var->change_interface_type(new_type);
1489 var->get_max_ifc_array_access(),
1490 var->is_in_shader_storage_block());
1491 var->change_interface_type(new_type);
1492 var->type = update_interface_members_array(var->type, new_type);
1494 } else if (const glsl_type *ifc_type = var->get_interface_type()) {
1510 unsigned index = ifc_type->field_index(var->name);
1513 interface_vars[index] = var;
2291 ir_variable *var = (ir_variable *) ir;
2293 if (var->data.mode == ir_var_shader_out &&
2294 !symbols->get_variable(var->name)) {
2295 var = var->clone(linked_shader, NULL);
2296 symbols->add_variable(var);
2297 linked_shader->ir->push_head(var);
2607 ir_variable *var = ir->as_variable();
2608 if (var && var->data.mode == ir_var_system_value &&
2609 var->data.location == SYSTEM_VALUE_VERTICES_IN) {
2610 void *mem_ctx = ralloc_parent(var);
2611 var->data.location = 0;
2612 var->data.explicit_location = false;
2613 var->data.mode = ir_var_auto;
2614 var->constant_value = new(mem_ctx) ir_constant(num_vertices);
2727 ir_variable *var;
2751 ir_variable *const var = node->as_variable();
2753 if ((var == NULL) || (var->data.mode != (unsigned) direction))
2756 if (var->data.explicit_location) {
2757 if ((var->data.location >= (int)(max_index + generic_base))
2758 || (var->data.location < 0)) {
2761 (var->data.location < 0)
2762 ? var->data.location
2763 : var->data.location - generic_base,
2764 var->name);
2770 if (prog->AttributeBindings->get(binding, var->name)) {
2772 var->data.location = binding;
2777 const char *name = var->name;
2778 const glsl_type *type = var->type;
2784 var->data.location = binding;
2787 var->data.index = index;
2803 if (strcmp(var->name, "gl_LastFragData") == 0)
2814 if (target_index == MESA_SHADER_FRAGMENT && var->data.index >= 1 &&
2815 var->data.location - generic_base >=
2820 var->data.location - generic_base, var->data.index,
2821 var->name);
2825 const unsigned slots = var->type->count_attribute_slots(target_index == MESA_SHADER_VERTEX);
2832 if (var->data.location != -1) {
2833 if (var->data.location >= generic_base && var->data.index < 1) {
2905 const unsigned attr = var->data.location - generic_base;
2917 var->name, used_locations, use_mask, attr);
2947 const glsl_type *type = var->type->without_array();
2951 assigned[i]->name, var->name);
2960 var->data.location_frac;
2965 string, assigned[i]->name, var->name,
2966 var->data.location_frac);
2974 "to %s `%s' %d %d %d\n", string, var->name,
2979 "to %s `%s' %d %d %d\n", string, var->name,
2992 assigned[assigned_attr] = var;
3018 if (var->type->without_array()->is_dual_slot())
3033 to_assign[num_attr].var = var;
3087 string, to_assign[i].var->name);
3091 to_assign[i].var->data.location = generic_base + location;
3094 if (to_assign[i].var->type->without_array()->is_dual_slot())
3138 ir_variable *const var = node->as_variable();
3140 if (var == NULL || var->data.mode != ir_var_shader_out) {
3144 if (strcmp(var->name, "gl_FragDepth") == 0) {
3145 switch (var->data.depth_layout) {
3177 string_to_uint_map *map, ir_variable *var)
3179 unsigned slots = var->type->uniform_locations();
3180 unsigned max_loc = var->data.location + slots - 1;
3203 unsigned loc = var->data.location + i;
3210 if (map->get(hash_loc, var->name) && hash_loc == loc - i) {
3224 var->name);
3235 map->put(var->data.location, var->name);
3243 ir_variable *var)
3245 unsigned slots = var->type->uniform_locations();
3246 unsigned max_loc = var->data.location + slots - 1;
3268 unsigned loc = var->data.location + i;
3281 var->name);
3324 ir_variable *var = node->as_variable();
3325 if (!var || var->data.mode != ir_var_uniform)
3328 if (var->data.explicit_location) {
3330 if (var->type->without_array()->is_subroutine())
3331 ret = reserve_subroutine_explicit_locations(prog, p, var);
3334 var);
3462 ir_variable *const var = node->as_variable();
3464 if (var == NULL || var->data.mode != io_mode)
3468 if (var->data.how_declared == ir_var_declared_implicitly)
3471 var->data.always_active_io = true;