aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/r300_cmdbuf.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-06-18 23:01:58 -0400
committerDave Airlie <airlied@redhat.com>2008-06-18 23:01:58 -0400
commit21efa2bac91b8d12064617c5a35492ec982544eb (patch)
tree03d6293704e70f335fa8df32ac8dd990931e4246 /drivers/char/drm/r300_cmdbuf.c
parent5e35eff13f7dd0f5c1d82b3b4708b2f7a5f44113 (diff)
drm/radeon: add hier-z registers for r300 and r500 chipsets
Diffstat (limited to 'drivers/char/drm/r300_cmdbuf.c')
-rw-r--r--drivers/char/drm/r300_cmdbuf.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/char/drm/r300_cmdbuf.c b/drivers/char/drm/r300_cmdbuf.c
index 329733a48b64..702df45320f7 100644
--- a/drivers/char/drm/r300_cmdbuf.c
+++ b/drivers/char/drm/r300_cmdbuf.c
@@ -190,7 +190,7 @@ void r300_init_reg_flags(struct drm_device *dev)
190 ADD_RANGE(0x42C0, 2); 190 ADD_RANGE(0x42C0, 2);
191 ADD_RANGE(R300_RS_CNTL_0, 2); 191 ADD_RANGE(R300_RS_CNTL_0, 2);
192 192
193 ADD_RANGE(0x43A4, 2); 193 ADD_RANGE(R300_SC_HYPERZ, 2);
194 ADD_RANGE(0x43E8, 1); 194 ADD_RANGE(0x43E8, 1);
195 195
196 ADD_RANGE(0x46A4, 5); 196 ADD_RANGE(0x46A4, 5);
@@ -209,14 +209,12 @@ void r300_init_reg_flags(struct drm_device *dev)
209 ADD_RANGE(0x4E50, 9); 209 ADD_RANGE(0x4E50, 9);
210 ADD_RANGE(0x4E88, 1); 210 ADD_RANGE(0x4E88, 1);
211 ADD_RANGE(0x4EA0, 2); 211 ADD_RANGE(0x4EA0, 2);
212 ADD_RANGE(R300_RB3D_ZSTENCIL_CNTL_0, 3); 212 ADD_RANGE(R300_ZB_CNTL, 3);
213 ADD_RANGE(R300_RB3D_ZSTENCIL_FORMAT, 4); 213 ADD_RANGE(R300_ZB_FORMAT, 4);
214 ADD_RANGE_MARK(R300_RB3D_DEPTHOFFSET, 1, MARK_CHECK_OFFSET); /* check offset */ 214 ADD_RANGE_MARK(R300_ZB_DEPTHOFFSET, 1, MARK_CHECK_OFFSET); /* check offset */
215 ADD_RANGE(R300_RB3D_DEPTHPITCH, 1); 215 ADD_RANGE(R300_ZB_DEPTHPITCH, 1);
216 ADD_RANGE(0x4F28, 1); 216 ADD_RANGE(R300_ZB_DEPTHCLEARVALUE, 1);
217 ADD_RANGE(0x4F30, 2); 217 ADD_RANGE(R300_ZB_ZMASK_OFFSET, 13);
218 ADD_RANGE(0x4F44, 1);
219 ADD_RANGE(0x4F54, 1);
220 218
221 ADD_RANGE(R300_TX_FILTER_0, 16); 219 ADD_RANGE(R300_TX_FILTER_0, 16);
222 ADD_RANGE(R300_TX_FILTER1_0, 16); 220 ADD_RANGE(R300_TX_FILTER1_0, 16);
@@ -229,7 +227,7 @@ void r300_init_reg_flags(struct drm_device *dev)
229 ADD_RANGE(R300_TX_BORDER_COLOR_0, 16); 227 ADD_RANGE(R300_TX_BORDER_COLOR_0, 16);
230 228
231 /* Sporadic registers used as primitives are emitted */ 229 /* Sporadic registers used as primitives are emitted */
232 ADD_RANGE(R300_RB3D_ZCACHE_CTLSTAT, 1); 230 ADD_RANGE(R300_ZB_ZCACHE_CTLSTAT, 1);
233 ADD_RANGE(R300_RB3D_DSTCACHE_CTLSTAT, 1); 231 ADD_RANGE(R300_RB3D_DSTCACHE_CTLSTAT, 1);
234 ADD_RANGE(R300_VAP_INPUT_ROUTE_0_0, 8); 232 ADD_RANGE(R300_VAP_INPUT_ROUTE_0_0, 8);
235 ADD_RANGE(R300_VAP_INPUT_ROUTE_1_0, 8); 233 ADD_RANGE(R300_VAP_INPUT_ROUTE_1_0, 8);
@@ -243,6 +241,7 @@ void r300_init_reg_flags(struct drm_device *dev)
243 ADD_RANGE(R500_RS_INST_0, 16); 241 ADD_RANGE(R500_RS_INST_0, 16);
244 ADD_RANGE(R500_RB3D_COLOR_CLEAR_VALUE_AR, 2); 242 ADD_RANGE(R500_RB3D_COLOR_CLEAR_VALUE_AR, 2);
245 ADD_RANGE(R500_RB3D_CONSTANT_COLOR_AR, 2); 243 ADD_RANGE(R500_RB3D_CONSTANT_COLOR_AR, 2);
244 ADD_RANGE(R500_ZB_FIFO_SIZE, 2);
246 } else { 245 } else {
247 ADD_RANGE(R300_PFS_CNTL_0, 3); 246 ADD_RANGE(R300_PFS_CNTL_0, 3);
248 ADD_RANGE(R300_PFS_NODE_0, 4); 247 ADD_RANGE(R300_PFS_NODE_0, 4);
@@ -719,8 +718,9 @@ static __inline__ void r300_pacify(drm_radeon_private_t *dev_priv)
719 BEGIN_RING(6); 718 BEGIN_RING(6);
720 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); 719 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
721 OUT_RING(R300_RB3D_DSTCACHE_UNKNOWN_0A); 720 OUT_RING(R300_RB3D_DSTCACHE_UNKNOWN_0A);
722 OUT_RING(CP_PACKET0(R300_RB3D_ZCACHE_CTLSTAT, 0)); 721 OUT_RING(CP_PACKET0(R300_ZB_ZCACHE_CTLSTAT, 0));
723 OUT_RING(R300_RB3D_ZCACHE_UNKNOWN_03); 722 OUT_RING(R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE|
723 R300_ZB_ZCACHE_CTLSTAT_ZC_FREE_FREE);
724 OUT_RING(CP_PACKET3(RADEON_CP_NOP, 0)); 724 OUT_RING(CP_PACKET3(RADEON_CP_NOP, 0));
725 OUT_RING(0x0); 725 OUT_RING(0x0);
726 ADVANCE_RING(); 726 ADVANCE_RING();