Lines Matching defs:outinfo
364 return &info->vs.outinfo;
367 return &info->vs.outinfo;
371 return &info->tes.outinfo;
374 return &info->ms.outinfo;
429 assign_outinfo_param(struct radv_vs_output_info *outinfo, gl_varying_slot idx,
432 if (outinfo->vs_output_param_offset[idx] == AC_EXP_PARAM_UNDEFINED)
433 outinfo->vs_output_param_offset[idx] = (*total_param_exports)++;
437 assign_outinfo_params(struct radv_vs_output_info *outinfo, uint64_t mask,
444 outinfo->export_clip_dists))
445 assign_outinfo_param(outinfo, idx, total_param_exports);
507 struct radv_vs_output_info *outinfo = get_vs_output_info(nir, info);
508 if (outinfo) {
525 outinfo->writes_pointsize = per_vtx_mask & VARYING_BIT_PSIZ;
526 outinfo->writes_viewport_index = per_vtx_mask & VARYING_BIT_VIEWPORT;
527 outinfo->writes_layer = per_vtx_mask & VARYING_BIT_LAYER;
528 outinfo->writes_primitive_shading_rate = per_vtx_mask & VARYING_BIT_PRIMITIVE_SHADING_RATE;
531 outinfo->writes_viewport_index_per_primitive = per_prim_mask & VARYING_BIT_VIEWPORT;
532 outinfo->writes_layer_per_primitive = per_prim_mask & VARYING_BIT_LAYER;
533 outinfo->writes_primitive_shading_rate_per_primitive = per_prim_mask & VARYING_BIT_PRIMITIVE_SHADING_RATE;
536 outinfo->clip_dist_mask = (1 << nir->info.clip_distance_array_size) - 1;
537 outinfo->cull_dist_mask = (1 << nir->info.cull_distance_array_size) - 1;
538 outinfo->cull_dist_mask <<= nir->info.clip_distance_array_size;
542 if (outinfo->writes_pointsize || outinfo->writes_viewport_index || outinfo->writes_layer ||
543 outinfo->writes_primitive_shading_rate)
546 unsigned num_clip_distances = util_bitcount(outinfo->clip_dist_mask);
547 unsigned num_cull_distances = util_bitcount(outinfo->cull_dist_mask);
554 outinfo->pos_exports = util_bitcount(pos_written);
556 memset(outinfo->vs_output_param_offset, AC_EXP_PARAM_UNDEFINED,
557 sizeof(outinfo->vs_output_param_offset));
562 assign_outinfo_params(outinfo, per_vtx_mask, &total_param_exports);
563 if (outinfo->writes_layer)
564 assign_outinfo_param(outinfo, VARYING_SLOT_LAYER, &total_param_exports);
565 if (outinfo->export_prim_id)
566 assign_outinfo_param(outinfo, VARYING_SLOT_PRIMITIVE_ID, &total_param_exports);
568 outinfo->param_exports = total_param_exports;
571 assign_outinfo_params(outinfo, per_prim_mask, &total_param_exports);
572 if (outinfo->writes_layer_per_primitive)
573 assign_outinfo_param(outinfo, VARYING_SLOT_LAYER, &total_param_exports);
574 if (outinfo->writes_viewport_index_per_primitive)
575 assign_outinfo_param(outinfo, VARYING_SLOT_VIEWPORT, &total_param_exports);
577 outinfo->prim_param_exports = total_param_exports - outinfo->param_exports;