summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorLucas Stach <[email protected]>2017-05-15 17:06:41 +0200
committerLucas Stach <[email protected]>2017-06-08 18:29:36 +0200
commit978e6876f1cd8ccc8850a5665e9619a3e29b731e (patch)
treecc9f5801accf0b6110a996fe9cd220e1af73ecfd /src/gallium/drivers
parentf25390afa49f51fadaafed70a890093f96e7a02d (diff)
etnaviv: flush resource when binding as sampler view
As TS is also allowed on sampler resources, we need to make sure to resolve to self when binding the resource as a texture, to avoid stale content being sampled. Signed-off-by: Lucas Stach <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_texture.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_texture.c b/src/gallium/drivers/etnaviv/etnaviv_texture.c
index 6f77af286f2..df77829078c 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_texture.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_texture.c
@@ -120,6 +120,9 @@ etna_update_sampler_source(struct pipe_sampler_view *view)
etna_copy_resource(view->context, res->texture, view->texture, 0,
view->texture->last_level);
etna_resource(res->texture)->seqno = res->seqno;
+ } else if (etna_resource_needs_flush(res)) {
+ etna_copy_resource(view->context, view->texture, view->texture, 0, 0);
+ res->flush_seqno = res->seqno;
}
}