Lines Matching defs:var
59 get_interpolation(nir_variable *var)
61 if (var->data.patch)
64 if (glsl_type_is_integer(glsl_without_array_or_matrix(var->type)))
67 if (var->data.sample) {
68 if (var->data.location == VARYING_SLOT_POS)
70 switch (var->data.interpolation) {
76 } else if (unlikely(var->data.centroid)) {
77 if (var->data.location == VARYING_SLOT_POS)
79 switch (var->data.interpolation) {
86 if (var->data.location == VARYING_SLOT_POS)
88 switch (var->data.interpolation) {
100 in_sysvalue_name(nir_variable *var)
102 switch (var->data.location) {
121 get_additional_semantic_info(nir_shader *s, nir_variable *var, struct semantic_info *info,
124 const struct glsl_type *type = var->type;
125 if (nir_is_arrayed_io(var, s->info.stage))
135 } else if (var->data.interpolation == INTERP_MODE_FLAT) {
144 (var->data.mode & (nir_var_shader_in | nir_var_system_value));
146 info->stream = var->data.stream;
160 assert(var->data.compact);
165 } else if (var->data.compact) {
166 if (var->data.location_frac) {
175 unsigned start_offset = (var->data.location - VARYING_SLOT_CLIP_DIST0) * 4 +
176 var->data.location_frac;
183 info->start_col = (uint8_t)var->data.location_frac;
190 info->start_col = (uint8_t)var->data.location_frac;
197 typedef void (*semantic_info_proc)(nir_variable *var, struct semantic_info *info, gl_shader_stage stage);
200 get_semantic_vs_in_name(nir_variable *var, struct semantic_info *info, gl_shader_stage stage)
203 info->index = var->data.driver_location;
208 get_semantic_sv_name(nir_variable *var, struct semantic_info *info, gl_shader_stage stage)
211 info->interpolation = get_interpolation(var);
213 switch (var->data.location) {
232 strncpy(info->name, var->name, ARRAY_SIZE(info->name) - 1);
236 get_semantic_ps_outname(nir_variable *var, struct semantic_info *info)
239 switch (var->data.location) {
242 info->index = var->data.index;
254 info->index = var->data.location - FRAG_RESULT_DATA0;
255 if (var->data.location == FRAG_RESULT_DATA0 &&
256 var->data.index > 0)
257 info->index = var->data.index;
279 get_semantic_name(nir_variable *var, struct semantic_info *info,
283 info->interpolation = get_interpolation(var);
284 switch (var->data.location) {
293 assert(glsl_get_components(var->type) == 1);
299 assert(glsl_get_components(var->type) == 1);
308 assert(var->data.location == VARYING_SLOT_CLIP_DIST1 || info->index == 0);
314 assert(glsl_get_components(var->type) <= 2);
320 assert(glsl_get_components(var->type) <= 4);
326 assert(glsl_get_components(var->type) == 1);
332 assert(glsl_get_components(var->type) == 1);
338 info->index = var->data.driver_location;
346 get_semantic_in_name(nir_variable *var, struct semantic_info *info, gl_shader_stage stage)
348 const struct glsl_type *type = var->type;
349 if (nir_is_arrayed_io(var, stage) &&
353 get_semantic_name(var, info, type);
354 info->sysvalue_name = in_sysvalue_name(var);
569 nir_foreach_variable_with_modes(var, s, modes) {
570 if (var->data.patch)
574 get_semantics(var, &semantic, s->info.stage);
576 *row_iter = get_additional_semantic_info(s, var, &semantic, *row_iter, input_clip_size);
578 mod->input_mappings[var->data.driver_location] = num_inputs;
614 static const char *out_sysvalue_name(nir_variable *var)
616 switch (var->data.location) {
636 nir_foreach_variable_with_modes(var, s, nir_var_shader_out) {
638 if (var->data.patch)
642 get_semantic_ps_outname(var, &semantic);
645 const struct glsl_type *type = var->type;
646 if (nir_is_arrayed_io(var, s->info.stage))
648 get_semantic_name(var, &semantic, type);
649 mod->outputs[num_outputs].sysvalue = out_sysvalue_name(var);
651 next_row = get_additional_semantic_info(s, var, &semantic, next_row, s->info.clip_distance_array_size);
680 patch_sysvalue_name(nir_variable *var)
682 switch (var->data.location) {
684 switch (glsl_get_aoa_size(var->type)) {
690 return var->data.location_frac == 0 ?
697 switch (glsl_get_aoa_size(var->type)) {
722 nir_foreach_variable_with_modes(var, s, mode) {
724 if (!var->data.patch)
727 const struct glsl_type *type = var->type;
728 get_semantic_name(var, &semantic, type);
730 mod->patch_consts[num_consts].sysvalue = patch_sysvalue_name(var);
731 next_row = get_additional_semantic_info(s, var, &semantic, next_row, 0);