v3dv: consider render area when configuring supertiles
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

If the render area is restricted to a section of the framebuffer, there
is no need to consider all the framebuffer size when configuring the
supertiles, as only the supertiles coordinates of the affected area will
be submitted.

This allow to create supertiles smaller than the ones in case
considering the full screen, reducing the tiles that need to be
processed.

This also fixes https://gitlab.freedesktop.org/mesa/mesa/-/issues/13218.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35257>
This commit is contained in:
Juan A. Suarez Romero 2025-05-29 22:17:02 +02:00 committed by Marge Bot
parent 2cac70558d
commit d30a6f8102

View file

@ -1788,9 +1788,14 @@ cmd_buffer_subpass_create_job(struct v3dv_cmd_buffer *cmd_buffer,
layers = util_last_bit(subpass->view_mask);
}
uint32_t width =
state->render_area.offset.x + state->render_area.extent.width;
uint32_t height =
state->render_area.offset.y + state->render_area.extent.height;
v3dv_job_start_frame(job,
framebuffer->width,
framebuffer->height,
width,
height,
layers,
true, false,
subpass->color_count,