diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c index a54c0a74303..2261d91a935 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c @@ -91,8 +91,8 @@ etna_screen_destroy(struct pipe_screen *pscreen) { struct etna_screen *screen = etna_screen(pscreen); - if (screen->dummy_desc_reloc.bo) - etna_bo_del(screen->dummy_desc_reloc.bo); + if (screen->dummy_bo) + etna_bo_del(screen->dummy_bo); if (screen->dummy_rt_reloc.bo) etna_bo_del(screen->dummy_rt_reloc.bo); @@ -1166,11 +1166,11 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu, /* create dummy RT buffer, used when rendering with no color buffer */ - screen->dummy_rt_reloc.bo = etna_bo_new(screen->dev, 64 * 64 * 4, - DRM_ETNA_GEM_CACHE_WC); - if (!screen->dummy_rt_reloc.bo) + screen->dummy_bo = etna_bo_new(screen->dev, 64 * 64 * 4, DRM_ETNA_GEM_CACHE_WC); + if (!screen->dummy_bo) goto fail; + screen->dummy_rt_reloc.bo = screen->dummy_bo; screen->dummy_rt_reloc.offset = 0; screen->dummy_rt_reloc.flags = ETNA_RELOC_READ | ETNA_RELOC_WRITE; diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.h b/src/gallium/drivers/etnaviv/etnaviv_screen.h index c2fddd968b4..18c6233ab9a 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.h +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.h @@ -67,6 +67,9 @@ struct etna_screen { struct etna_compiler *compiler; struct util_queue shader_compiler_queue; + /* dummy BO available to user that don't care about the content */ + struct etna_bo *dummy_bo; + /* dummy render target for GPUs that can't fully disable the color pipe */ struct etna_reloc dummy_rt_reloc;