freedreno/a6xx: Clear control mem at context create
authorRob Clark <robdclark@chromium.org>
Thu, 19 Nov 2020 17:48:35 +0000 (09:48 -0800)
committerMarge Bot <eric+marge@anholt.net>
Mon, 23 Nov 2020 16:04:52 +0000 (16:04 +0000)
We could be getting a recycled bo containing random garbage, which can
confuse check_vsc_overflow().

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7717>

src/gallium/drivers/freedreno/a6xx/fd6_context.c

index 508b6fe..88f94cc 100644 (file)
@@ -181,6 +181,9 @@ fd6_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
        fd6_ctx->control_mem = fd_bo_new(screen->dev, 0x1000,
                        DRM_FREEDRENO_GEM_TYPE_KMEM, "control");
 
+       memset(fd_bo_map(fd6_ctx->control_mem), 0,
+                       sizeof(struct fd6_control));
+
        fd_context_setup_common_vbos(&fd6_ctx->base);
 
        fd6_blitter_init(pctx);