mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 21:20:12 +01:00
aco: cleanup setup_vs_output_info()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13243>
This commit is contained in:
parent
849832bc89
commit
b3269444fd
1 changed files with 7 additions and 12 deletions
|
|
@ -247,10 +247,10 @@ get_reg_class(isel_context* ctx, RegType type, unsigned components, unsigned bit
|
|||
}
|
||||
|
||||
void
|
||||
setup_vs_output_info(isel_context* ctx, nir_shader* nir, bool export_prim_id,
|
||||
bool export_clip_dists, const radv_vs_output_info* outinfo)
|
||||
setup_vs_output_info(isel_context* ctx, nir_shader* nir,
|
||||
const radv_vs_output_info* outinfo)
|
||||
{
|
||||
ctx->export_clip_dists = export_clip_dists;
|
||||
ctx->export_clip_dists = outinfo->export_clip_dists;
|
||||
ctx->num_clip_distances = util_bitcount(outinfo->clip_dist_mask);
|
||||
ctx->num_cull_distances = util_bitcount(outinfo->cull_dist_mask);
|
||||
|
||||
|
|
@ -269,8 +269,7 @@ void
|
|||
setup_vs_variables(isel_context* ctx, nir_shader* nir)
|
||||
{
|
||||
if (ctx->stage == vertex_vs || ctx->stage == vertex_ngg) {
|
||||
const radv_vs_output_info* outinfo = &ctx->program->info->vs.outinfo;
|
||||
setup_vs_output_info(ctx, nir, outinfo->export_prim_id, outinfo->export_clip_dists, outinfo);
|
||||
setup_vs_output_info(ctx, nir, &ctx->program->info->vs.outinfo);
|
||||
|
||||
/* TODO: NGG streamout */
|
||||
if (ctx->stage.hw == HWStage::NGG)
|
||||
|
|
@ -292,8 +291,7 @@ setup_gs_variables(isel_context* ctx, nir_shader* nir)
|
|||
ctx->program->config->lds_size =
|
||||
ctx->program->info->gs_ring_info.lds_size; /* Already in units of the alloc granularity */
|
||||
} else if (ctx->stage == vertex_geometry_ngg || ctx->stage == tess_eval_geometry_ngg) {
|
||||
const radv_vs_output_info* outinfo = &ctx->program->info->vs.outinfo;
|
||||
setup_vs_output_info(ctx, nir, false, outinfo->export_clip_dists, outinfo);
|
||||
setup_vs_output_info(ctx, nir, &ctx->program->info->vs.outinfo);
|
||||
|
||||
ctx->program->config->lds_size =
|
||||
DIV_ROUND_UP(nir->info.shared_size, ctx->program->dev.lds_encoding_granule);
|
||||
|
|
@ -315,8 +313,7 @@ setup_tes_variables(isel_context* ctx, nir_shader* nir)
|
|||
ctx->tcs_num_patches = ctx->args->shader_info->num_tess_patches;
|
||||
|
||||
if (ctx->stage == tess_eval_vs || ctx->stage == tess_eval_ngg) {
|
||||
const radv_vs_output_info* outinfo = &ctx->program->info->tes.outinfo;
|
||||
setup_vs_output_info(ctx, nir, outinfo->export_prim_id, outinfo->export_clip_dists, outinfo);
|
||||
setup_vs_output_info(ctx, nir, &ctx->program->info->tes.outinfo);
|
||||
|
||||
/* TODO: NGG streamout */
|
||||
if (ctx->stage.hw == HWStage::NGG)
|
||||
|
|
@ -900,9 +897,7 @@ setup_isel_context(Program* program, unsigned shader_count, struct nir_shader* c
|
|||
unsigned scratch_size = 0;
|
||||
if (program->stage == gs_copy_vs) {
|
||||
assert(shader_count == 1);
|
||||
setup_vs_output_info(&ctx, shaders[0], false,
|
||||
args->shader_info->vs.outinfo.export_clip_dists,
|
||||
&args->shader_info->vs.outinfo);
|
||||
setup_vs_output_info(&ctx, shaders[0], &args->shader_info->vs.outinfo);
|
||||
} else {
|
||||
for (unsigned i = 0; i < shader_count; i++) {
|
||||
nir_shader* nir = shaders[i];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue