Mesa (master): r300g: Move ROPCNTL to the top of the emit order.

Corbin Simpson csimpson at kemper.freedesktop.org
Sun Jan 10 23:16:33 PST 2010


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Sun Jan 10 17:51:40 2010 -0800

r300g: Move ROPCNTL to the top of the emit order.

According to the docs, this decreases stalls, and indeed we get a tiny
bit more glxgears from it.

---

 src/gallium/drivers/r300/r300_emit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index 60e4a10..cfeb99a 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -42,6 +42,7 @@ void r300_emit_blend_state(struct r300_context* r300, void* state)
     struct r300_blend_state* blend = (struct r300_blend_state*)state;
     CS_LOCALS(r300);
     BEGIN_CS(8);
+    OUT_CS_REG(R300_RB3D_ROPCNTL, blend->rop);
     OUT_CS_REG_SEQ(R300_RB3D_CBLEND, 3);
     if (r300->framebuffer_state.nr_cbufs) {
         OUT_CS(blend->blend_control);
@@ -53,7 +54,6 @@ void r300_emit_blend_state(struct r300_context* r300, void* state)
         OUT_CS(0);
         /* XXX also disable fastfill here once it's supported */
     }
-    OUT_CS_REG(R300_RB3D_ROPCNTL, blend->rop);
     OUT_CS_REG(R300_RB3D_DITHER_CTL, blend->dither);
     END_CS;
 }



More information about the mesa-commit mailing list