Module: Mesa
Branch: radeon-rewrite
Commit: b5d49cb195eef4c0bf8288c3d675513244b46dbb
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5d49cb195eef4c0bf8288c3d675513244b46dbb

Author: Maciej Cencora <m.cenc...@gmail.com>
Date:   Wed Jun 10 16:04:35 2009 +0200

r300: send only RS_IP_* regs that we are going to use

---

 src/mesa/drivers/dri/r300/r300_cmdbuf.c |   12 ++----------
 src/mesa/drivers/dri/r300/r300_state.c  |    2 ++
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c 
b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
index b949c3b..0261a5b 100644
--- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c
+++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
@@ -479,7 +479,6 @@ void r300InitCmdBuf(r300ContextPtr r300)
        int mtu;
        int has_tcl;
        int is_r500 = 0;
-       int i;
 
        has_tcl = r300->options.hw_tcl_enabled;
 
@@ -589,19 +588,12 @@ void r300InitCmdBuf(r300ContextPtr r300)
        ALLOC_STATE(rc, always, R300_RC_CMDSIZE, 0);
        r300->hw.rc.cmd[R300_RC_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, 
R300_RS_COUNT, 2);
        if (is_r500) {
-               ALLOC_STATE(ri, always, R500_RI_CMDSIZE, 0);
+               ALLOC_STATE(ri, variable, R500_RI_CMDSIZE, 0);
                r300->hw.ri.cmd[R300_RI_CMD_0] = 
cmdpacket0(r300->radeon.radeonScreen, R500_RS_IP_0, 16);
-               for (i = 0; i < 8; i++) {
-                       r300->hw.ri.cmd[R300_RI_CMD_0 + i +1] =
-                         (R500_RS_IP_PTR_K0 << R500_RS_IP_TEX_PTR_S_SHIFT) |
-                          (R500_RS_IP_PTR_K0 << R500_RS_IP_TEX_PTR_T_SHIFT) |
-                          (R500_RS_IP_PTR_K0 << R500_RS_IP_TEX_PTR_R_SHIFT) |
-                          (R500_RS_IP_PTR_K1 << R500_RS_IP_TEX_PTR_Q_SHIFT);
-               }
                ALLOC_STATE(rr, variable, R300_RR_CMDSIZE, 0);
                r300->hw.rr.cmd[R300_RR_CMD_0] = 
cmdpacket0(r300->radeon.radeonScreen, R500_RS_INST_0, 1);
        } else {
-               ALLOC_STATE(ri, always, R300_RI_CMDSIZE, 0);
+               ALLOC_STATE(ri, variable, R300_RI_CMDSIZE, 0);
                r300->hw.ri.cmd[R300_RI_CMD_0] = 
cmdpacket0(r300->radeon.radeonScreen, R300_RS_IP_0, 8);
                ALLOC_STATE(rr, variable, R300_RR_CMDSIZE, 0);
                r300->hw.rr.cmd[R300_RR_CMD_0] = 
cmdpacket0(r300->radeon.radeonScreen, R300_RS_INST_0, 1);
diff --git a/src/mesa/drivers/dri/r300/r300_state.c 
b/src/mesa/drivers/dri/r300/r300_state.c
index 06dba2a..c0eda97 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -1556,6 +1556,7 @@ static void r300SetupRSUnit(GLcontext * ctx)
        r300->hw.rc.cmd[2] |= high_rr - 1;
 
        r300->hw.rr.cmd[R300_RR_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, 
R300_RS_INST_0, high_rr);
+       r300->hw.ri.cmd[R300_RI_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, 
R300_RS_IP_0, high_rr);
 
        if (InputsRead)
                WARN_ONCE("Don't know how to satisfy InputsRead=0x%08x\n", 
InputsRead);
@@ -1683,6 +1684,7 @@ static void r500SetupRSUnit(GLcontext * ctx)
        r300->hw.rc.cmd[2] = 0xC0 | (high_rr - 1);
 
        r300->hw.rr.cmd[R300_RR_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, 
R500_RS_INST_0, high_rr);
+       r300->hw.ri.cmd[R300_RI_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, 
R500_RS_IP_0, high_rr);
 
        if (InputsRead)
                WARN_ONCE("Don't know how to satisfy InputsRead=0x%08x\n", 
InputsRead);

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

Reply via email to