mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 19:40:10 +01:00
aco: remove early_rast wait insert
It's done in nir position export. Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>
This commit is contained in:
parent
f6b194b648
commit
ed419f46aa
3 changed files with 0 additions and 24 deletions
|
|
@ -551,21 +551,6 @@ kill(wait_imm& imm, alu_delay_info& delay, Instruction* instr, wait_ctx& ctx,
|
|||
imm.combine(ctx.barrier_imm[ffs(storage_gds) - 1]);
|
||||
}
|
||||
|
||||
if (ctx.program->early_rast && instr->opcode == aco_opcode::exp) {
|
||||
if (instr->exp().dest >= V_008DFC_SQ_EXP_POS && instr->exp().dest < V_008DFC_SQ_EXP_PRIM) {
|
||||
|
||||
/* With early_rast, the HW will start clipping and rasterization after the 1st DONE pos
|
||||
* export. Wait for all stores (and atomics) to complete, so PS can read them.
|
||||
* TODO: This only really applies to DONE pos exports.
|
||||
* Consider setting the DONE bit earlier.
|
||||
*/
|
||||
if (ctx.vs_cnt > 0)
|
||||
imm.vs = 0;
|
||||
if (ctx.vm_cnt > 0)
|
||||
imm.vm = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (instr->opcode == aco_opcode::p_barrier)
|
||||
perform_barrier(ctx, imm, instr->barrier().sync, semantic_acqrel);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -258,14 +258,6 @@ setup_vs_output_info(isel_context* ctx, nir_shader* nir)
|
|||
ctx->num_cull_distances = util_bitcount(outinfo->cull_dist_mask);
|
||||
|
||||
assert(ctx->num_clip_distances + ctx->num_cull_distances <= 8);
|
||||
|
||||
/* GFX10+ early rasterization:
|
||||
* When there are no param exports in an NGG (or legacy VS) shader,
|
||||
* RADV sets NO_PC_EXPORT=1, which means the HW will start clipping and rasterization
|
||||
* as soon as it encounters a DONE pos export. When this happens, PS waves can launch
|
||||
* before the NGG (or VS) waves finish.
|
||||
*/
|
||||
ctx->program->early_rast = ctx->program->gfx_level >= GFX10 && outinfo->param_exports == 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -2168,7 +2168,6 @@ public:
|
|||
uint16_t min_waves = 0;
|
||||
unsigned workgroup_size; /* if known; otherwise UINT_MAX */
|
||||
bool wgp_mode;
|
||||
bool early_rast = false; /* whether rasterization can start as soon as the 1st DONE pos export */
|
||||
|
||||
bool needs_vcc = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue