|
@@ -1403,6 +1403,21 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
|
|
|
tmp = (ib_chunk->kdata[idx] >> 22) & 0xF;
|
|
|
track->textures[i].txdepth = tmp;
|
|
|
break;
|
|
|
+ case R300_ZB_ZPASS_ADDR:
|
|
|
+ r = r100_cs_packet_next_reloc(p, &reloc);
|
|
|
+ if (r) {
|
|
|
+ DRM_ERROR("No reloc for ib[%d]=0x%04X\n",
|
|
|
+ idx, reg);
|
|
|
+ r100_cs_dump_packet(p, pkt);
|
|
|
+ return r;
|
|
|
+ }
|
|
|
+ ib[idx] = ib_chunk->kdata[idx] + ((u32)reloc->lobj.gpu_offset);
|
|
|
+ break;
|
|
|
+ case 0x4be8:
|
|
|
+ /* valid register only on RV530 */
|
|
|
+ if (p->rdev->family == CHIP_RV530)
|
|
|
+ break;
|
|
|
+ /* fallthrough do not move */
|
|
|
default:
|
|
|
printk(KERN_ERR "Forbidden register 0x%04X in cs at %d\n",
|
|
|
reg, idx);
|