Module: Mesa
Branch: master
Commit: ae25b932456eb368ea91d167614751172edacfee
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae25b932456eb368ea91d167614751172edacfee

Author: Marek Olšák <mar...@gmail.com>
Date:   Sun Oct  7 15:38:32 2012 +0200

r600g: emit PS_PARTIAL_FLUSH at the beginning of CS

Reviewed-by: Jerome Glisse <jgli...@redhat.com>

---

 src/gallium/drivers/r600/evergreen_state.c |    8 ++++++++
 src/gallium/drivers/r600/r600_state.c      |    4 ++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index bc3aedb..2e58a28 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -2441,6 +2441,10 @@ static void cayman_init_atom_start_cs(struct 
r600_context *rctx)
        r600_store_value(cb, 0x80000000);
        r600_store_value(cb, 0x80000000);
 
+       /* We're setting config registers here. */
+       r600_store_value(cb, PKT3(PKT3_EVENT_WRITE, 0, 0));
+       r600_store_value(cb, EVENT_TYPE(EVENT_TYPE_PS_PARTIAL_FLUSH) | 
EVENT_INDEX(4));
+
        r600_store_config_reg_seq(cb, R_008C00_SQ_CONFIG, 2);
        r600_store_value(cb, S_008C00_EXPORT_SRC_C(1)); /* R_008C00_SQ_CONFIG */
        /* always set the temp clauses */
@@ -2842,6 +2846,10 @@ void evergreen_init_atom_start_cs(struct r600_context 
*rctx)
        r600_store_value(cb, 0x80000000);
        r600_store_value(cb, 0x80000000);
 
+       /* We're setting config registers here. */
+       r600_store_value(cb, PKT3(PKT3_EVENT_WRITE, 0, 0));
+       r600_store_value(cb, EVENT_TYPE(EVENT_TYPE_PS_PARTIAL_FLUSH) | 
EVENT_INDEX(4));
+
        evergreen_init_common_regs(cb, rctx->chip_class
                        , rctx->family, rctx->screen->info.drm_minor);
 
diff --git a/src/gallium/drivers/r600/r600_state.c 
b/src/gallium/drivers/r600/r600_state.c
index 5244143..567835f 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -2246,6 +2246,10 @@ void r600_init_atom_start_cs(struct r600_context *rctx)
        r600_store_value(cb, 0x80000000);
        r600_store_value(cb, 0x80000000);
 
+       /* We're setting config registers here. */
+       r600_store_value(cb, PKT3(PKT3_EVENT_WRITE, 0, 0));
+       r600_store_value(cb, EVENT_TYPE(EVENT_TYPE_PS_PARTIAL_FLUSH) | 
EVENT_INDEX(4));
+
        family = rctx->family;
        ps_prio = 0;
        vs_prio = 1;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to