Skip to content

v3d: better scissor tracking

Iago Toral requested to merge itoral/mesa:v3d_scissor_tracking into main

If all drawing is scissored but we have multiple discontinuous scissor rects, we end up flushing all the tiles in the rect that covers all scissor rects, which can be a waste, particularly for large render targets. The obvious case for this are updates to a mega texture or atlas for example.

This change keeps track if all rendering happenings against scissor rects, in which case it keeps track of the rects and ues this to discard tiles that are not included in any of them.

This optimization needs to be disabled if we have any non-scissored rendering, including non-scissored clears.

Merge request reports