mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 02:40:11 +01:00
freedreno/a6xx: fix lrz overflow
Running the complete deqp_gles2 seems to trigger an overflow in lrz cmdstream. We skip the blit clear fast-path if there have been any draws (so mid-batch clears of any attached buffer hit the 3d pipe). Which means it is safe to simply discard any lrz clear rendering. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3569>
This commit is contained in:
parent
3e79c4f0ed
commit
2f4f46b708
1 changed files with 3 additions and 8 deletions
|
|
@ -350,16 +350,11 @@ fd6_clear_lrz(struct fd_batch *batch, struct fd_resource *zsbuf, double depth)
|
|||
struct fd_ringbuffer *ring;
|
||||
struct fd6_context *fd6_ctx = fd6_context(batch->ctx);
|
||||
|
||||
// TODO mid-frame clears (ie. app doing crazy stuff)?? Maybe worth
|
||||
// splitting both clear and lrz clear out into their own rb's. And
|
||||
// just throw away any draws prior to clear. (Anything not fullscreen
|
||||
// clear, just fallback to generic path that treats it as a normal
|
||||
// draw
|
||||
|
||||
if (!batch->lrz_clear) {
|
||||
batch->lrz_clear = fd_submit_new_ringbuffer(batch->submit, 0x1000, 0);
|
||||
if (batch->lrz_clear) {
|
||||
fd_ringbuffer_del(batch->lrz_clear);
|
||||
}
|
||||
|
||||
batch->lrz_clear = fd_submit_new_ringbuffer(batch->submit, 0x1000, 0);
|
||||
ring = batch->lrz_clear;
|
||||
|
||||
emit_marker6(ring, 7);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue