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

Author: Marek Olšák <mar...@gmail.com>
Date:   Wed Jul 18 06:18:42 2012 +0200

r600g: move VGT_STRMOUT_DRAW_OPAQUE_OFFSET initialization into invariant state

---

 src/gallium/drivers/r600/evergreen_state.c   |    2 ++
 src/gallium/drivers/r600/r600_state.c        |    1 +
 src/gallium/drivers/r600/r600_state_common.c |    1 -
 3 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index 54438af..9313cb4 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -2107,6 +2107,7 @@ static void cayman_init_atom_start_cs(struct r600_context 
*rctx)
 
        r600_store_context_reg(cb, R_028354_SX_SURFACE_SYNC, 
S_028354_SURFACE_SYNC_MASK(0xf));
        r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
+       r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
 
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0, 0x01000FFF);
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0 + (32 * 4), 
0x01000FFF);
@@ -2592,6 +2593,7 @@ void evergreen_init_atom_start_cs(struct r600_context 
*rctx)
 
        r600_store_context_reg(cb, R_028354_SX_SURFACE_SYNC, 
S_028354_SURFACE_SYNC_MASK(0xf));
        r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
+       r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
 
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0, 0x01000FFF);
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0 + (32 * 4), 
0x01000FFF);
diff --git a/src/gallium/drivers/r600/r600_state.c 
b/src/gallium/drivers/r600/r600_state.c
index ab4a3cf..50a7bec 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -2258,6 +2258,7 @@ void r600_init_atom_start_cs(struct r600_context *rctx)
        if (rctx->chip_class == R700 && rctx->screen->has_streamout)
                r600_store_context_reg(cb, R_028354_SX_SURFACE_SYNC, 
S_028354_SURFACE_SYNC_MASK(0xf));
        r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
+       r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
 
        r600_store_loop_const(cb, R_03E200_SQ_LOOP_CONST_0, 0x1000FFF);
        r600_store_loop_const(cb, R_03E200_SQ_LOOP_CONST_0 + (32 * 4), 
0x1000FFF);
diff --git a/src/gallium/drivers/r600/r600_state_common.c 
b/src/gallium/drivers/r600/r600_state_common.c
index d3d0983..05152ca 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -1111,7 +1111,6 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct 
pipe_draw_info *dinfo)
                        struct r600_so_target *t = (struct 
r600_so_target*)info.count_from_stream_output;
                        uint64_t va = r600_resource_va(&rctx->screen->screen, 
(void*)t->filled_size);
 
-                       r600_write_context_reg(cs, 
R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
                        r600_write_context_reg(cs, 
R_028B30_VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE, t->stride_in_dw);
 
                        cs->buf[cs->cdw++] = PKT3(PKT3_COPY_DW, 4, 0);

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

Reply via email to