summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2018-09-11 16:21:29 -0400
committerRob Clark <robdclark@gmail.com>2018-09-27 15:41:46 -0400
commit919741b8d5357b2a061a48f7142c1e24be8656d4 (patch)
treeba4d6279898c864973c8f37b08a9a00346a0243c /src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
parent19e9d286464d1941f731f0d84402725f918623d6 (diff)
freedreno: handle invalidated buffers harder
Do a better job of skipping mem2gmem/gmem2mem.. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'src/gallium/drivers/freedreno/a2xx/fd2_gmem.c')
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_gmem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
index 62382995c09..5340ece72c6 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
@@ -69,6 +69,9 @@ emit_gmem2mem_surf(struct fd_batch *batch, uint32_t base,
struct fd_resource *rsc = fd_resource(psurf->texture);
uint32_t swap = fmt2swap(psurf->format);
+ if (!rsc->valid)
+ return;
+
OUT_PKT3(ring, CP_SET_CONSTANT, 2);
OUT_RING(ring, CP_REG(REG_A2XX_RB_COLOR_INFO));
OUT_RING(ring, A2XX_RB_COLOR_INFO_SWAP(swap) |