summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_util.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2014-08-29 10:51:40 -0400
committerRob Clark <[email protected]>2014-08-30 18:02:50 -0400
commitb823abedf8d1ddba9aeaa43c4a239cb90664dae4 (patch)
tree4fc302e800e73c97f3f6ab364354ca61a019691e /src/gallium/drivers/freedreno/freedreno_util.h
parent932b0ef1ceecf873213447a8778e5cbe1b3b6be7 (diff)
freedreno/ir3: detect scheduler fail
There are some cases where the scheduler can get itself into impossible situations, by scheduling the wrong write to pred or addr register first. (Ie. it could end up being unable to schedule any instruction if some instruction which depends on the current addr/reg value also depends on another addr/reg value.) To solve this we'd need to be able to insert extra mov instructions (which would also help when register assignment gets into impossible situations). To do that, we'd need to move the nop padding from sched into legalize. But to start with, just detect when we get into an impossible situation and bail, rather than sitting forever in an infinite loop. This way it will at least fall back to the old compiler, which might even work if you are lucky. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_util.h')
0 files changed, 0 insertions, 0 deletions