mesa/st: clamp scissored clear regions to fb size
these should never be larger than the fb and drivers shouldn't have to
care about it
Fixes: 1c8bcad81a
("gallium: add pipe cap for scissored clears and pass scissor state to clear() hook")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9344>
This commit is contained in:

committed by
Marge Bot

parent
d7c38af3da
commit
c5e72eb09d
@@ -538,6 +538,11 @@ st_Clear(struct gl_context *ctx, GLbitfield mask)
|
||||
scissor_state.miny = MAX2(miny, 0);
|
||||
scissor_state.maxy = MAX2(maxy, 0);
|
||||
}
|
||||
if (have_scissor_buffers) {
|
||||
const struct gl_framebuffer *fb = ctx->DrawBuffer;
|
||||
scissor_state.maxx = MIN2(scissor_state.maxx, fb->Width);
|
||||
scissor_state.maxy = MIN2(scissor_state.maxy, fb->Height);
|
||||
}
|
||||
/* We can't translate the clear color to the colorbuffer format,
|
||||
* because different colorbuffers may have different formats.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user