iris: hacky flushing for now
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 23 Apr 2018 04:44:40 +0000 (21:44 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:06 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_draw.c

index d00419ad8d55ff8dc164e84abe0dc2cf6dee0f96..ccb55164387d6d376fbc74009b1c150881016e44 100644 (file)
@@ -36,6 +36,20 @@ iris_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
 {
    struct iris_context *ice = (struct iris_context *) ctx;
 
+   // XXX: actually do brw_cache_flush_for_*
+   iris_emit_pipe_control_flush(&ice->render_batch,
+                                PIPE_CONTROL_DEPTH_CACHE_FLUSH |
+                                PIPE_CONTROL_RENDER_TARGET_FLUSH |
+                                PIPE_CONTROL_CS_STALL);
+
+   iris_emit_pipe_control_flush(&ice->render_batch,
+                                PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
+                                PIPE_CONTROL_CONST_CACHE_INVALIDATE);
+
+   iris_cache_sets_clear(&ice->render_batch);
+   // XXX: ^^^
+
+
    iris_update_compiled_shaders(ice);
    ice->vtbl.upload_render_state(ice, &ice->render_batch, info);
 }