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