aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorBen Skeggs <[email protected]>2010-02-12 12:50:24 +1000
committerBen Skeggs <[email protected]>2010-02-12 16:03:20 +1000
commit6af75a0ff47acfe1e51c93637045affb770f00ab (patch)
treed574fd751e54bb3a4fc0c55a558c7623c66835e3 /src/gallium
parent04d35714a6e10f96f8a216c626f46fdfbc2e5c1f (diff)
nouveau: switch to nouveau_bo_new_tile()
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_screen.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c
index 156cb2d229b..81bc296ab44 100644
--- a/src/gallium/drivers/nouveau/nouveau_screen.c
+++ b/src/gallium/drivers/nouveau/nouveau_screen.c
@@ -55,7 +55,7 @@ nouveau_screen_bo_new(struct pipe_screen *pscreen, unsigned alignment,
{
struct nouveau_device *dev = nouveau_screen(pscreen)->device;
struct nouveau_bo *bo = NULL;
- uint32_t flags = NOUVEAU_BO_MAP;
+ uint32_t flags = NOUVEAU_BO_MAP, tile_mode = 0, tile_flags = 0;
int ret;
if (usage & NOUVEAU_BUFFER_USAGE_TRANSFER)
@@ -77,13 +77,15 @@ nouveau_screen_bo_new(struct pipe_screen *pscreen, unsigned alignment,
flags |= NOUVEAU_BO_VRAM;
if (dev->chipset == 0x50 || dev->chipset >= 0x80) {
- flags |= NOUVEAU_BO_TILED;
if (usage & NOUVEAU_BUFFER_USAGE_ZETA)
- flags |= NOUVEAU_BO_ZTILE;
+ tile_flags = 0x2800;
+ else
+ tile_flags = 0x7000;
}
}
- ret = nouveau_bo_new(dev, flags, alignment, size, &bo);
+ ret = nouveau_bo_new_tile(dev, flags, alignment, size,
+ tile_mode, tile_flags, &bo);
if (ret)
return NULL;