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

Reply via email to