summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-09-09 06:08:39 +0200
committerMarek Olšák <[email protected]>2012-09-13 20:18:44 +0200
commitfd2e34d557c07fba5a6e344e915f73dcfb66d0b4 (patch)
treec560ea82c4f443fc617446507c1ebc2fa35f4e33 /src/gallium/drivers/r600/r600.h
parent6a5a4d59ce63aa1fa14d3dd6c50169c532424b6d (diff)
r600g: simplify flushing
Based on the patch called "simplify and fix flushing and synchronization" by Jerome Glisse. Rebased, removed unneded code, simplified more and cleaned up. Also, SH_ACTION_ENA is not set when changing shaders (hw doesn't seem to need it). It's only used to flush constant buffers. Reviewed-by: Jerome Glisse <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600.h')
-rw-r--r--src/gallium/drivers/r600/r600.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h
index af7b0ca2e74..7c1d77313de 100644
--- a/src/gallium/drivers/r600/r600.h
+++ b/src/gallium/drivers/r600/r600.h
@@ -180,9 +180,16 @@ struct r600_so_target {
unsigned so_index;
};
-#define R600_CONTEXT_DRAW_PENDING (1 << 0)
-#define R600_CONTEXT_DST_CACHES_DIRTY (1 << 1)
-#define R600_PARTIAL_FLUSH (1 << 2)
+#define R600_CONTEXT_PS_PARTIAL_FLUSH (1 << 0)
+#define R600_CONTEXT_CB_FLUSH (1 << 1)
+#define R600_CONTEXT_DB_FLUSH (1 << 2)
+#define R600_CONTEXT_SHADERCONST_FLUSH (1 << 3)
+#define R600_CONTEXT_TEX_FLUSH (1 << 4)
+#define R600_CONTEXT_VTX_FLUSH (1 << 5)
+#define R600_CONTEXT_STREAMOUT_FLUSH (1 << 6)
+#define R600_CONTEXT_WAIT_IDLE (1 << 7)
+#define R600_CONTEXT_FLUSH_AND_INV (1 << 8)
+#define R600_CONTEXT_HTILE_ERRATA (1 << 9)
struct r600_context;
struct r600_screen;
@@ -196,10 +203,7 @@ void r600_context_flush(struct r600_context *ctx, unsigned flags);
void r600_context_emit_fence(struct r600_context *ctx, struct r600_resource *fence,
unsigned offset, unsigned value);
-void r600_inval_shader_cache(struct r600_context *ctx);
-void r600_inval_texture_cache(struct r600_context *ctx);
-void r600_inval_vertex_cache(struct r600_context *ctx);
-void r600_flush_framebuffer(struct r600_context *ctx, bool flush_now);
+void r600_flush_emit(struct r600_context *ctx);
void r600_context_streamout_begin(struct r600_context *ctx);
void r600_context_streamout_end(struct r600_context *ctx);