diff options
author | Kenneth Graunke <[email protected]> | 2018-10-19 01:31:56 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:09 -0800 |
commit | b3a40c27a24ccf10d1b91d8294b6e9f01f5fd2b9 (patch) | |
tree | f923174bea4da94f2f36df98c76d429afd13d998 /src/gallium/drivers/iris/iris_draw.c | |
parent | f8796079dab4a3d6fb9ea034b93fd38de53fbe1f (diff) |
iris: don't let render/compute contexts stomp each other's dirty bits
only clear what you process
Diffstat (limited to 'src/gallium/drivers/iris/iris_draw.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_draw.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/iris/iris_draw.c b/src/gallium/drivers/iris/iris_draw.c index c2216a22bed..f9b8db7b64e 100644 --- a/src/gallium/drivers/iris/iris_draw.c +++ b/src/gallium/drivers/iris/iris_draw.c @@ -89,7 +89,7 @@ iris_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) ice->vtbl.update_surface_base_address(batch, &ice->state.binder); ice->vtbl.upload_render_state(ice, batch, info); - ice->state.dirty = 0ull; + ice->state.dirty &= ~IRIS_ALL_DIRTY_FOR_RENDER; iris_postdraw_update_resolve_tracking(ice, batch); } @@ -163,8 +163,7 @@ iris_launch_grid(struct pipe_context *ctx, const struct pipe_grid_info *grid) ice->vtbl.update_surface_base_address(batch, &ice->state.binder); ice->vtbl.upload_compute_state(ice, batch, grid); - // XXX: this is wrong. we need separate dirty tracking for compute/render - ice->state.dirty = 0ull; + ice->state.dirty &= ~IRIS_ALL_DIRTY_FOR_COMPUTE; // XXX: postdraw resolve tracking } |