Lines Matching refs:location

41    if (var->data.location < 0)
44 unsigned location = var->data.patch ?
45 var->data.location - VARYING_SLOT_PATCH0 : var->data.location;
49 assert(var->data.location >= 0);
50 assert(location < 64);
59 return BITFIELD64_MASK(slots) << location;
65 return var->data.location == VARYING_SLOT_TESS_LEVEL_INNER ||
66 var->data.location == VARYING_SLOT_TESS_LEVEL_OUTER ||
67 var->data.location == VARYING_SLOT_BOUNDING_BOX0 ||
68 var->data.location == VARYING_SLOT_BOUNDING_BOX1;
150 if (var->data.location < VARYING_SLOT_VAR0 && var->data.location >= 0)
151 if (shader->info.stage != MESA_SHADER_MESH || var->data.location != VARYING_SLOT_PRIMITIVE_ID)
165 (shader->info.outputs_read & BITFIELD64_BIT(var->data.location)))
169 var->data.location = 0;
297 * algorithms this function just assigns them their existing location for now.
308 assert(var->data.location >= 0);
311 if (var->data.location >= VARYING_SLOT_VAR0 &&
312 var->data.location - VARYING_SLOT_VAR0 < MAX_VARYINGS_INCL_PATCH) {
327 unsigned location = var->data.location - VARYING_SLOT_VAR0;
340 comps[location + i].comps |= ((1 << comps_slot2) - 1);
350 comps[location + i].comps |=
354 comps[location + i].comps |=
358 comps[location + i].interp_type =
360 comps[location + i].interp_loc = get_interp_loc(var);
361 comps[location + i].is_32bit =
363 comps[location + i].is_mediump =
366 comps[location + i].is_per_primitive = var->data.per_primitive;
375 uint32_t location;
385 BITFIELD64_RANGE(var->data.location - loc_offset, num_slots);
394 BITFIELD64_BIT(var->data.location - loc_offset + offset);
411 assert(var->data.location >= 0);
414 if (var->data.location >= VARYING_SLOT_VAR0 &&
415 var->data.location - VARYING_SLOT_VAR0 < MAX_VARYINGS_INCL_PATCH) {
427 unsigned location = var->data.location - VARYING_SLOT_VAR0;
428 struct varying_loc *new_loc = &remap[location][var->data.location_frac];
435 BITFIELD64_RANGE(var->data.location - loc_offset, num_slots);
443 if (new_loc->location) {
444 var->data.location = new_loc->location;
527 /* If everything else matches just use the original location to sort */
530 if (data1->location != data2->location)
531 return data1->location - data2->location;
550 if (var->data.location >= VARYING_SLOT_VAR0 &&
551 var->data.location - VARYING_SLOT_VAR0 < MAX_VARYINGS_INCL_PATCH) {
566 unsigned loc = var->data.location - VARYING_SLOT_VAR0;
598 if (in_var->data.location < VARYING_SLOT_VAR0)
601 unsigned location = in_var->data.location - VARYING_SLOT_VAR0;
602 if (location >= MAX_VARYINGS_INCL_PATCH)
606 store_varying_info_idx[location][in_var->data.location_frac];
659 if (out_var->data.location < VARYING_SLOT_VAR0)
662 unsigned location = out_var->data.location - VARYING_SLOT_VAR0;
663 if (location >= MAX_VARYINGS_INCL_PATCH)
667 store_varying_info_idx[location][out_var->data.location_frac];
800 /* We can only pack varyings with matching interpolation location
829 unsigned location = info->var->data.location - VARYING_SLOT_VAR0;
831 /* Once we have assigned a location mark it as used */
839 /* Assign remap location */
840 remap[location][info->var->data.location_frac].component = tmp_comp++;
841 remap[location][info->var->data.location_frac].location =
901 /* Check if we failed to assign a remap location. This can happen if
974 if (var->data.location >= VARYING_SLOT_VAR0 &&
975 var->data.location - VARYING_SLOT_VAR0 < MAX_VARYING) {
977 unsigned location = var->data.location - VARYING_SLOT_VAR0;
978 input_vars[location][var->data.location_frac] = var;
983 if (var->data.location >= VARYING_SLOT_VAR0 &&
984 var->data.location - VARYING_SLOT_VAR0 < MAX_VARYING) {
989 unsigned location = var->data.location - VARYING_SLOT_VAR0;
990 if (input_vars[location][var->data.location_frac]) {
991 input_vars[location][var->data.location_frac]->data.always_active_io = true;
1000 return in_var->data.location == out_var->data.location &&
1033 if (out_var->data.location < VARYING_SLOT_VAR0 ||
1034 out_var->data.location - VARYING_SLOT_VAR0 >= MAX_VARYING)
1332 if (producer_var->data.location < 0)
1336 nir_var_shader_in, producer_var->data.location);
1447 (var->data.location > new_var->data.location ||
1448 (var->data.location == new_var->data.location &&
1472 unsigned location = 0;
1505 location++;
1512 unsigned start = 4 * location + var->data.location_frac;
1514 var_size = driver_size = end / 4 - location;
1523 location++;
1528 * when counting user-facing slots (var->data.location), but *not*
1543 * user defined varyings sharing the same location.
1546 if (var->data.location >= base) {
1547 unsigned glsl_location = var->data.location - base;
1559 /* Because component packing allows varyings to share the same location
1560 * we may have already have processed this location.
1565 unsigned driver_location = assigned_locations[var->data.location];
1574 * location order, but per-vertex/per-primitive outputs may be
1577 assert(last_loc <= var->data.location ||
1579 last_loc = var->data.location;
1582 if (last_slot_location > location) {
1583 unsigned num_unallocated_slots = last_slot_location - location;
1586 assigned_locations[var->data.location + i] = location;
1587 location++;
1594 assigned_locations[var->data.location + i] = location + i;
1597 var->data.driver_location = location;
1598 location += driver_size;
1602 location++;
1605 *size = location;
1609 get_linked_variable_location(unsigned location, bool patch)
1612 return location;
1618 if (location >= VARYING_SLOT_PATCH0)
1619 return location - VARYING_SLOT_PATCH0 + 4;
1620 else if (location >= VARYING_SLOT_TESS_LEVEL_OUTER &&
1621 location <= VARYING_SLOT_BOUNDING_BOX1)
1622 return location - VARYING_SLOT_TESS_LEVEL_OUTER;
1658 uint64_t loc = get_linked_variable_location(variable->data.location, variable->data.patch);
1671 uint64_t loc = get_linked_variable_location(variable->data.location, variable->data.patch);
1683 uint64_t loc = get_linked_variable_location(variable->data.location, variable->data.patch);
1692 uint64_t loc = get_linked_variable_location(variable->data.location, variable->data.patch);