Skip to content

WIP: nir/loop_unroll: Do not unroll huge loops

Danylo Piliaiev requested to merge GL/mesa:fix/huge-loop-force-unrolling into master

Even force loop unroll should have some limits because it may want to unroll truly huge loop and make resulting native code exceed limits leading to crash.

However I'm unsure about the upper limit of unrolled loop instructions count. I've set it to 3x of ordinary but since I'm unsure why it's necessary to have force_unroll to bypass limits - I'm unsure what upper limit should be.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111120
Fixes dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_* on BSW Fixes: 51daccb2 ("nir: add a loop unrolling pass")

Also there similar loop unrolling in loop_unroll.cpp for glsl which probably should also have some upper limit.

Edited by Danylo Piliaiev

Merge request reports