Преглед на файлове

drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR

These are needed for Occulsion Query support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie преди 16 години
родител
ревизия
3f8befec95
променени са 1 файла, в които са добавени 15 реда и са изтрити 0 реда
  1. 15 0
      drivers/gpu/drm/radeon/r300.c

+ 15 - 0
drivers/gpu/drm/radeon/r300.c

@@ -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);