mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-05 19:50:12 +01:00
zink: clamp dynamic renderArea to framebuffer size
it's illegal to have a renderArea larger than the attachments, so perform
clamping to avoid that scenario
Fixes: c81cd989c8 ("zink: use dynamic rendering (most of the time)")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16947>
This commit is contained in:
parent
87c7e75721
commit
8c0f3cdfac
1 changed files with 5 additions and 0 deletions
|
|
@ -2051,6 +2051,11 @@ begin_rendering(struct zink_context *ctx)
|
|||
else
|
||||
ctx->dynamic_fb.attachments[i].loadOp = VK_ATTACHMENT_LOAD_OP_LOAD;
|
||||
ctx->gfx_pipeline_state.rendering_formats[i] = surf ? surf->info.format[0] : VK_FORMAT_R8G8B8A8_UNORM;
|
||||
/* use dummy fb size of 1024 if no surf exists */
|
||||
unsigned width = surf ? surf->base.texture->width0 : 1024;
|
||||
unsigned height = surf ? surf->base.texture->height0 : 1024;
|
||||
ctx->dynamic_fb.info.renderArea.extent.width = MIN2(ctx->dynamic_fb.info.renderArea.extent.width, width);
|
||||
ctx->dynamic_fb.info.renderArea.extent.height = MIN2(ctx->dynamic_fb.info.renderArea.extent.height, height);
|
||||
}
|
||||
|
||||
/* unset depth and stencil info: reset below */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue