v3dv: restrict render pass clears to the render area

Graphics / Mesa 3D Graphics Library / Mesa - Iago Toral Quiroga [igalia.com] - 13 October 2020 21:21 UTC

The problem with this is that TLB clears always clear and store full tiles, so if our render area is not perfectly aligned to tile boundaries we end up clearing all pixels in tiles that are only partially covered.

In this scenario we have to avoid using TLB clears and instead fallback to clearing by rendering a scissored quad in the clear color, like we do for partial clears in vkCmdClearAttachments.

Part-of:

7e96f9b2199 v3dv: restrict render pass clears to the render area
src/broadcom/vulkan/v3dv_cmd_buffer.c | 149 ++++++++++++++++++++++++++++++----
src/broadcom/vulkan/v3dv_private.h | 13 +++
2 files changed, 148 insertions(+), 14 deletions(-)

Upstream: cgit.freedesktop.org


  • Share