Skip to content

etnaviv: fix separate depth/stencil clears

TS only tracks the clear state on a per-tile basis, so for a combined depth/stencil buffer there is no way to fast-clear the one without also affecting the other. Fall back to a regular clear when the clear_bits tell us that not all channels of the buffer are to be cleared and make sure to flush/invalidate any pending TS state when we do so.

This has been reported to affect a closed-source application. As I couldn't find a test to reproduce this issue I've added a new piglit test to show the issue.

Merge request reports