From 404220cc71b49fa2a3ff8ad9e9d5f1a5fcf34f62 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 28 Feb 2020 08:52:22 +0100 Subject: [PATCH] v3dv: fix supertile coverage when render are size is 0. Part-of: --- src/broadcom/vulkan/v3dv_cmd_buffer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c index b251683..b455b78 100644 --- a/src/broadcom/vulkan/v3dv_cmd_buffer.c +++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c @@ -1196,10 +1196,12 @@ cmd_buffer_emit_render_pass_layer_rcl(struct v3dv_cmd_buffer *cmd_buffer, const uint32_t min_y_supertile = state->render_area.offset.y / supertile_h_in_pixels; - const uint32_t max_render_x = - state->render_area.offset.x + state->render_area.extent.width - 1; - const uint32_t max_render_y = - state->render_area.offset.y + state->render_area.extent.height - 1; + uint32_t max_render_x = state->render_area.offset.x; + if (state->render_area.extent.width > 0) + max_render_x += state->render_area.extent.width - 1; + uint32_t max_render_y = state->render_area.offset.y; + if (state->render_area.extent.height > 0) + max_render_y += state->render_area.extent.height - 1; const uint32_t max_x_supertile = max_render_x / supertile_w_in_pixels; const uint32_t max_y_supertile = max_render_y / supertile_h_in_pixels; -- 2.7.4