lavapipe: add some safety asserts when beginning rendering
if the render area exceeds the attachment size, this is not only illegal, it will crash later cc: mesa-stable Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20583>
This commit is contained in:
committed by
Marge Bot
parent
b20df1abeb
commit
847d198c1f
@@ -1850,6 +1850,8 @@ static void handle_begin_rendering(struct vk_cmd_queue_entry *cmd,
|
||||
state->color_att[i].imgv = create_multisample_surface(state, imgv, state->forced_sample_count,
|
||||
att_needs_replicate(state, imgv, state->color_att[i].load_op));
|
||||
state->framebuffer.cbufs[i] = state->color_att[i].imgv->surface;
|
||||
assert(state->render_area.offset.x + state->render_area.extent.width <= state->framebuffer.cbufs[i]->texture->width0);
|
||||
assert(state->render_area.offset.y + state->render_area.extent.height <= state->framebuffer.cbufs[i]->texture->height0);
|
||||
} else {
|
||||
state->framebuffer.cbufs[i] = NULL;
|
||||
}
|
||||
@@ -1881,6 +1883,8 @@ static void handle_begin_rendering(struct vk_cmd_queue_entry *cmd,
|
||||
att_needs_replicate(state, imgv, load_op));
|
||||
}
|
||||
state->framebuffer.zsbuf = state->ds_imgv->surface;
|
||||
assert(state->render_area.offset.x + state->render_area.extent.width <= state->framebuffer.zsbuf->texture->width0);
|
||||
assert(state->render_area.offset.y + state->render_area.extent.height <= state->framebuffer.zsbuf->texture->height0);
|
||||
} else {
|
||||
state->ds_imgv = NULL;
|
||||
state->framebuffer.zsbuf = NULL;
|
||||
|
||||
Reference in New Issue
Block a user