etnaviv: split dummy RT backing store from reloc

The dummy BO used as backing store for the dummy render target
can be reused for other usages where we don't care about the
actual content of the buffer. Split it out from the dummy RT
reloc to make this more clear.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32947>
This commit is contained in:
Lucas Stach
2025-01-08 14:21:53 +01:00
committed by Marge Bot
parent c23df7e790
commit bca5ef70a4
2 changed files with 8 additions and 5 deletions

View File

@@ -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;

View File

@@ -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;