From 165a880f1ae1f528d597bf3de138a29445b01a48 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 31 Jan 2022 10:18:10 -0500 Subject: [PATCH] llvmpipe: clamp surface clear geometry avoid oob writes to avoid crashing cc: mesa-stable Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/llvmpipe/lp_surface.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/llvmpipe/lp_surface.c b/src/gallium/drivers/llvmpipe/lp_surface.c index a116b02..6a081f9 100644 --- a/src/gallium/drivers/llvmpipe/lp_surface.c +++ b/src/gallium/drivers/llvmpipe/lp_surface.c @@ -311,6 +311,9 @@ llvmpipe_clear_render_target(struct pipe_context *pipe, if (render_condition_enabled && !llvmpipe_check_render_cond(llvmpipe)) return; + width = MIN2(width, dst->texture->width0 - dstx); + height = MIN2(height, dst->texture->height0 - dsty); + if (dst->texture->nr_samples > 1) { struct pipe_box box; u_box_2d(dstx, dsty, width, height, &box); @@ -379,6 +382,9 @@ llvmpipe_clear_depth_stencil(struct pipe_context *pipe, if (render_condition_enabled && !llvmpipe_check_render_cond(llvmpipe)) return; + width = MIN2(width, dst->texture->width0 - dstx); + height = MIN2(height, dst->texture->height0 - dsty); + if (dst->texture->nr_samples > 1) { uint64_t zstencil = util_pack64_z_stencil(dst->format, depth, stencil); struct pipe_box box; -- 2.7.4