diff options
author | Kenneth Graunke <[email protected]> | 2018-11-21 01:03:48 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:10 -0800 |
commit | 415ede346decfcc21b0639052dc01c4d41060385 (patch) | |
tree | a178354d178069d0e607c6f0df914c81bf3d0ce3 /src/gallium/drivers/iris/iris_blit.c | |
parent | c8579e708ec4344590352aa5bb77fe4e0bbc5144 (diff) |
iris: Flush for history at various moments
When we blit, transfer, or copy_resource to a buffer, we need to flush
to ensure any stale data for that buffer is invalidated in the caches.
bind_history will inform us which caches need to be flushed.
Also, for any push constant buffers, we need to flag those dirty so
that we re-emit 3DSTATE_CONSTANT_*, causing the data to be re-pushed.
Diffstat (limited to 'src/gallium/drivers/iris/iris_blit.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_blit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_blit.c b/src/gallium/drivers/iris/iris_blit.c index 6e6f4456072..c50e7958d24 100644 --- a/src/gallium/drivers/iris/iris_blit.c +++ b/src/gallium/drivers/iris/iris_blit.c @@ -378,6 +378,9 @@ iris_blit(struct pipe_context *ctx, const struct pipe_blit_info *info) } blorp_batch_finish(&blorp_batch); + + iris_flush_and_dirty_for_history(ice, batch, (struct iris_resource *) + info->dst.resource); } /** @@ -432,6 +435,8 @@ iris_resource_copy_region(struct pipe_context *ctx, } blorp_batch_finish(&blorp_batch); + + iris_flush_and_dirty_for_history(ice, batch, (struct iris_resource *) dst); } void |