Mesa (master): r300-gallium: Fix RS.

Corbin Simpson csimpson at kemper.freedesktop.org
Sat Feb 28 16:14:50 UTC 2009


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Fri Feb 27 23:40:18 2009 -0800

r300-gallium: Fix RS.

I should just stop using "git stash" altogether.

---

 src/gallium/drivers/r300/r300_reg.h           |    4 ++++
 src/gallium/drivers/r300/r300_state_derived.c |    9 ++++-----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_reg.h b/src/gallium/drivers/r300/r300_reg.h
index b3b8f49..e0da9d3 100644
--- a/src/gallium/drivers/r300/r300_reg.h
+++ b/src/gallium/drivers/r300/r300_reg.h
@@ -1220,14 +1220,18 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define R500_RS_INST_14					0x4358
 #define R500_RS_INST_15					0x435c
 #define R500_RS_INST_TEX_ID_SHIFT			0
+#        define R500_RS_INST_TEX_ID(x)                  ((x) << 0)
 #define R500_RS_INST_TEX_CN_WRITE			(1 << 4)
 #define R500_RS_INST_TEX_ADDR_SHIFT			5
+#        define R500_RS_INST_TEX_ADDR(x)                ((x) << 0)
 #define R500_RS_INST_COL_ID_SHIFT			12
+#        define R500_RS_INST_COL_ID(x)                  ((x) << 12)
 #define R500_RS_INST_COL_CN_NO_WRITE			(0 << 16)
 #define R500_RS_INST_COL_CN_WRITE			(1 << 16)
 #define R500_RS_INST_COL_CN_WRITE_FBUFFER		(2 << 16)
 #define R500_RS_INST_COL_CN_WRITE_BACKFACE		(3 << 16)
 #define R500_RS_INST_COL_ADDR_SHIFT			18
+#        define R500_RS_INST_COL_ADDR(x)                ((x) << 18)
 #define R500_RS_INST_TEX_ADJ				(1 << 25)
 #define R500_RS_INST_W_CN				(1 << 26)
 
diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index d17050e..5bf4f24 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -208,11 +208,10 @@ static void r300_update_rs_block(struct r300_context* r300)
                     break;
                 case INTERP_PERSPECTIVE:
                     rs->ip[tex_count] |=
-                        R500_RS_TEX_PTR(vinfo->attrib[i].src_index) |
-                        R500_RS_SEL_S(tex_count) |
-                        R500_RS_SEL_T(tex_count + 1) |
-                        R500_RS_SEL_R(tex_count + 2) |
-                        R500_RS_SEL_Q(tex_count + 3);
+                        R500_RS_SEL_S(vinfo->attrib[i].src_index) |
+                        R500_RS_SEL_T(vinfo->attrib[i].src_index + 1) |
+                        R500_RS_SEL_R(vinfo->attrib[i].src_index + 2) |
+                        R500_RS_SEL_Q(vinfo->attrib[i].src_index + 3);
                     tex_count++;
                     break;
             }




More information about the mesa-commit mailing list