From 087d439a52c65791c18c6757f8f26e6beaa3490a Mon Sep 17 00:00:00 2001 From: Simon Perretta Date: Sat, 23 Nov 2024 18:07:26 +0000 Subject: [PATCH] pco: run dce pass until no more progress is made Signed-off-by: Simon Perretta Acked-by: Frank Binns Part-of: --- src/imagination/pco/pco_ir.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/imagination/pco/pco_ir.c b/src/imagination/pco/pco_ir.c index 3c42b79138e..2ee5bd9fb83 100644 --- a/src/imagination/pco/pco_ir.c +++ b/src/imagination/pco/pco_ir.c @@ -28,7 +28,13 @@ void pco_process_ir(pco_ctx *ctx, pco_shader *shader) PCO_PASS(_, shader, pco_const_imms); PCO_PASS(_, shader, pco_opt); - PCO_PASS(_, shader, pco_dce); + + bool progress; + do { + progress = false; + PCO_PASS(progress, shader, pco_dce); + } while (progress); + /* TODO: schedule after RA instead as e.g. vecs may no longer be the first * time a drc result is used. */