summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r300.c
diff options
context:
space:
mode:
authorMaciej Cencora <m.cencora@gmail.com>2009-12-15 23:13:08 +0100
committerDave Airlie <airlied@redhat.com>2009-12-16 07:09:19 +0100
commit6e7267721fd67d626433ea10c59fc232c6928259 (patch)
tree3a139cfb0c8618f9f746076665a98eb169d5b3c5 /drivers/gpu/drm/radeon/r300.c
parentMerge remote branch 'korg/drm-radeon-next' into drm-linus (diff)
downloadlinux-6e7267721fd67d626433ea10c59fc232c6928259.tar.xz
linux-6e7267721fd67d626433ea10c59fc232c6928259.zip
drm/radeon/kms: allow for texture tiling
This adds the relocations for texture tiling for KMS. Signed-off-by: Maciej Cencora <m.cencora@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r300.c')
-rw-r--r--drivers/gpu/drm/radeon/r300.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index e47af526fc04..dbb149060b1d 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -686,7 +686,15 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
r100_cs_dump_packet(p, pkt);
return r;
}
- ib[idx] = idx_value + ((u32)reloc->lobj.gpu_offset);
+
+ if (reloc->lobj.tiling_flags & RADEON_TILING_MACRO)
+ tile_flags |= R300_TXO_MACRO_TILE;
+ if (reloc->lobj.tiling_flags & RADEON_TILING_MICRO)
+ tile_flags |= R300_TXO_MICRO_TILE;
+
+ tmp = idx_value + ((u32)reloc->lobj.gpu_offset);
+ tmp |= tile_flags;
+ ib[idx] = tmp;
track->textures[i].robj = reloc->robj;
break;
/* Tracked registers */