summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-01-27 15:12:01 -0800
committerCorbin Simpson <[email protected]>2009-02-01 23:30:30 -0800
commit962d2e678f4da6ffef4f21f2fa9b062747bfbb85 (patch)
treee590575eac0bfee05381df4dfcaf7db1f154a237
parent2e635ef563e2bff50e7a2af4f505bbd066865723 (diff)
r300: Clean up PVS upload emits.
-rw-r--r--src/gallium/drivers/r300/r300_surface.c82
1 files changed, 11 insertions, 71 deletions
diff --git a/src/gallium/drivers/r300/r300_surface.c b/src/gallium/drivers/r300/r300_surface.c
index aab1850144b..c0b020f81d3 100644
--- a/src/gallium/drivers/r300/r300_surface.c
+++ b/src/gallium/drivers/r300/r300_surface.c
@@ -184,66 +184,6 @@ OUT_CS_REG(0x4F54, 0x00000000);
OUT_CS_REG(0x43E8, 0x00000000);
R300_PACIFY;
OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000406);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x3F800000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000400);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000401);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000402);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000403);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000404);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x43E8, 0x00000000);
-R300_PACIFY;
-OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000405);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00000000);
OUT_CS_REG(0x2150, 0x21030003);
OUT_CS_REG(0x4BC0, 0x00000000);
OUT_CS_REG(R300_VAP_PROG_STREAM_CNTL_EXT_0, 0xF688F688);
@@ -290,7 +230,6 @@ OUT_CS_REG(0x48C0, 0x00050A80);
OUT_CS_REG(0x46C0, 0x1C000000);
OUT_CS_REG(0x49C0, 0x00040889);
OUT_CS_REG(0x47C0, 0x01000000);
-OUT_CS_REG(0x2284, 0x00000000);
/* XXX these magic numbers should be explained when
* this becomes a cached state object */
OUT_CS_REG(R300_VAP_CNTL, 0xA | (0x5 << R300_PVS_NUM_CNTLRS_SHIFT) |
@@ -301,16 +240,17 @@ OUT_CS_REG(0x22D8, 0x00000001);
OUT_CS_REG(0x43E8, 0x00000000);
R300_PACIFY;
OUT_CS_REG(0x43E8, 0x00FFFFFF);
-OUT_CS_REG(0x2284, 0x00000001);
-OUT_CS_REG(0x2200, 0x00000000);
-OUT_CS_REG(0x2208, 0x00F00203);
-OUT_CS_REG(0x2208, 0x00D10001);
-OUT_CS_REG(0x2208, 0x01248001);
-OUT_CS_REG(0x2208, 0x00000000);
-OUT_CS_REG(0x2208, 0x00F02203);
-OUT_CS_REG(0x2208, 0x00D10021);
-OUT_CS_REG(0x2208, 0x01248021);
-OUT_CS_REG(0x2208, 0x00000000);
+/* XXX translate these back into normal instructions */
+OUT_CS_REG(R300_VAP_PVS_STATE_FLUSH_REG, 0x1);
+OUT_CS_REG(R300_VAP_PVS_VECTOR_INDX_REG, 0x0);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0xF00203);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0xD10001);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0x1248001);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0x0);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0xF02203);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0xD10021);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0x1248021);
+OUT_CS_REG(R300_VAP_PVS_UPLOAD_DATA, 0x0);
r300_emit_dsa_state(r300, &dsa_clear_state);