From f7059e4603b70e2be9afa6b34ac27e6e5506804d Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 3 Apr 2020 14:21:29 +0200 Subject: [PATCH] v3dv: set render area for partial clears to match clear rect While this was already being achieved by the scissort rect set on the pipeline, we still want to limit the render area to we reduce the tile coverage of the pass as much as possible and avoid unnecessar tile load and store operations. Part-of: --- src/broadcom/vulkan/v3dv_meta_clear.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_meta_clear.c b/src/broadcom/vulkan/v3dv_meta_clear.c index a37d4437a28..77f0da595ba 100644 --- a/src/broadcom/vulkan/v3dv_meta_clear.c +++ b/src/broadcom/vulkan/v3dv_meta_clear.c @@ -551,8 +551,9 @@ emit_color_clear_rect(struct v3dv_cmd_buffer *cmd_buffer, .sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, .renderPass = pipeline->pass, .framebuffer = fb, - .renderArea = { .offset = { 0, 0 }, - .extent = { fb_info.width, fb_info.height } }, + .renderArea = { + .offset = { rect->rect.offset.x, rect->rect.offset.y }, + .extent = { rect->rect.extent.width, rect->rect.extent.height } }, .clearValueCount = 0, };