Module: Mesa Branch: main Commit: b0c51cdc9eaef781ce03e3086219fa5b2fd9eac4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0c51cdc9eaef781ce03e3086219fa5b2fd9eac4
Author: Mike Blumenkrantz <michael.blumenkra...@gmail.com> Date: Thu Apr 8 13:47:12 2021 -0400 zink: add debug assert to verify that zink_clear_framebuffer() is accurate this should never be called for buffers that don't have pending clears Reviewed-by: Dave Airlie <airl...@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10705> --- src/gallium/drivers/zink/zink_clear.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/zink/zink_clear.c b/src/gallium/drivers/zink/zink_clear.c index ff932b2ca78..11b048604d7 100644 --- a/src/gallium/drivers/zink/zink_clear.c +++ b/src/gallium/drivers/zink/zink_clear.c @@ -252,6 +252,12 @@ zink_clear_framebuffer(struct zink_context *ctx, unsigned clear_buffers) { unsigned to_clear = 0; struct pipe_framebuffer_state *fb_state = &ctx->fb_state; +#ifndef NDEBUG + assert(!(clear_buffers & PIPE_CLEAR_DEPTHSTENCIL) || zink_fb_clear_enabled(ctx, PIPE_MAX_COLOR_BUFS)); + for (int i = 0; i < fb_state->nr_cbufs && clear_buffers >= PIPE_CLEAR_COLOR0; i++) { + assert(!(clear_buffers & (PIPE_CLEAR_COLOR0 << i)) || zink_fb_clear_enabled(ctx, i)); + } +#endif while (clear_buffers) { struct zink_framebuffer_clear *color_clear = NULL; struct zink_framebuffer_clear *zs_clear = NULL; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit