Lines Matching defs:var
86 can_remove_dead_sampler(nir_variable *var, void *data)
88 const struct glsl_type *base_type = glsl_without_array(var->type);
164 nir_foreach_variable_with_modes(var, nir, nir_var_uniform) {
165 auto type_no_array = glsl_without_array(var->type);
167 unsigned count = glsl_type_is_array(var->type) ? glsl_get_aoa_size(var->type) : 1;
169 shader->srv_bindings[var->data.binding + i].dimension = resource_dimension(glsl_get_sampler_dim(type_no_array));
171 shader->begin_srv_binding = MIN2(var->data.binding, shader->begin_srv_binding);
172 shader->end_srv_binding = MAX2(var->data.binding + count, shader->end_srv_binding);
176 nir_foreach_image_variable(var, nir) {
177 auto type_no_array = glsl_without_array(var->type);
178 unsigned count = glsl_type_is_array(var->type) ? glsl_get_aoa_size(var->type) : 1;
180 shader->uav_bindings[var->data.driver_location + i].format = var->data.image.format;
181 shader->uav_bindings[var->data.driver_location + i].dimension = resource_dimension(glsl_get_sampler_dim(type_no_array));
271 nir_variable *var = nir_intrinsic_get_var(intr, 0);
272 if (var->data.mode != nir_var_shader_out)
275 unsigned index = var->data.index;
276 if (var->data.location > FRAG_RESULT_DATA0)
277 index = var->data.location - FRAG_RESULT_DATA0;
278 else if (var->data.location != FRAG_RESULT_COLOR &&
279 var->data.location != FRAG_RESULT_DATA0)
511 nir_variable *var;
517 var = nir_variable_create(nir, mode, info->slots[slot].types[slot_frac], tmp);
518 var->data.location = slot;
519 var->data.location_frac = slot_frac;
520 var->data.driver_location = info->slots[slot].vars[slot_frac].driver_location;
521 var->data.interpolation = info->slots[slot].vars[slot_frac].interpolation;
522 var->data.patch = info->slots[slot].patch;
523 var->data.compact = info->slots[slot].vars[slot_frac].compact;
525 var->data.location += VARYING_SLOT_PATCH0;
528 NIR_PASS_V(nir, d3d12_write_0_to_new_varying, var);
530 return var;
546 nir_foreach_variable_with_modes(var, s, modes) {
547 unsigned slot = var->data.location;
558 const struct glsl_type *type = var->type;
564 info->slots[slot].types[var->data.location_frac] = type;
566 info->slots[slot].patch = var->data.patch;
567 auto& var_slot = info->slots[slot].vars[var->data.location_frac];
568 var_slot.driver_location = var->data.driver_location;
569 var_slot.interpolation = var->data.interpolation;
570 var_slot.compact = var->data.compact;
572 info->slots[slot].location_frac_mask |= (1 << var->data.location_frac);