Flushing the batch midframe (splitting a renderpass) is expensive on a tiler, as it requires the GPU to flush the framebuffer contents to main memory and read them back. Clearing the framebuffer should not trigger a flush. Apps expect clears to be (almost) free, flushing for a clear is at the very least unexpected behaviour. The only reason we previously flushed is to ensure we could always use a "fast" clear. But a slow clear is a heck of a lot faster than a flush ;-) Instead of flushing, we should clear with a draw (via u_blitter) in case a fast clear isn't possible. This fixes pathological performance for applications that rely on partial clears within a frame. This issue was identified with Inochi2D, which repeatedly clears the stencil buffer midframe, in order to implement masking efficiently with the stencil buffer. In total, the all-important workload of rendering Asahi Lina is improved from 17fps to 29fps on a panfrost device.