summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-11-16 23:47:43 -0800
committerKenneth Graunke <[email protected]>2019-03-11 19:32:40 -0700
commit1467deb5432a512845fb646ed7b44a2e2d36dbd6 (patch)
treefaa3d73f7c37d3482345ea555f43cc692598c752 /src/gallium/drivers/freedreno
parentc6af96d1bc18cc5af733ca80b11f4a23c414abe1 (diff)
i965: Reimplement all the PIPE_CONTROL rules.
This implements virtually all documented PIPE_CONTROL restrictions in a centralized helper. You now simply ask for the operations you want, and the pipe control "brain" will figure out exactly what pipe controls to emit to make that happen without tanking your system. The hope is that this will fix some intermittent flushing issues as well as GPU hangs. However, it also has a high risk of causing GPU hangs and other regressions, as this is a particularly sensitive area and poking the bear isn't always advisable. Mark Janes noted that this patch helps with some GPU hangs on Icelake. This does re-enable the VF Invalidate => Write Immediate workaround on Gen8, which had been disabled (bug 103787) due to GPU hangs. The old code did this workaround after another which would have added CS stall bits, so it missed a workaround. The new code orders them properly and appears to work. v4: Don't pass "bo, offset, imm" to a recursive CS stall (caught by Topi Pohjolainen), drop Gen10 workarounds that are unnecessary for production hardware. Reviewed-by: Topi Pohjolainen <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno')
0 files changed, 0 insertions, 0 deletions