Revert "intel/brw: Lower VGRFs to FIXED_GRFs earlier"
What does this MR do and why?
Revert "intel/brw: Lower VGRFs to FIXED_GRFs earlier"
This reverts commit ff89e83178ac6fde49b6f0f1c5d0bacf285cbf19.
As far as I can tell, using FIXES_GRFs is completely unsupported by
the scoreboarding pass.
One of the case I saw is :
add(1) g29:UD, g2<0>:UD, 256u NoMask group0
cmp.l.f0.0(1) null:UD, g29<2>:UD, g2<0>:UD NoMask group0
The scoreboarding pass is gathering dependencies in
gather_inst_dependencies(), and for some reason regs_read(inst, 0) on
the cmp instruction will return 0. Meaning the dependency is
completely ignored here, obviously breaking a number of shaders.
I have not seen cases in the CTS exercising this but I assume a number
of workload must be impacted.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11069
Fixes: ff89e83178 ("intel/brw: Lower VGRFs to FIXED_GRFs earlier")
Closes: #11069 (closed)
/cc @cmarcelo
/cc @currojerez : maybe you have a suggestion? It feels like the same problem would happen in other parts and we're just lucky that fixed GRFs mostly used for payload which doesn't require synchronization
Edited by Lionel Landwerlin