summaryrefslogtreecommitdiff
path: root/nouveau/nouveau_bo.c
diff options
context:
space:
mode:
Diffstat (limited to 'nouveau/nouveau_bo.c')
-rw-r--r--nouveau/nouveau_bo.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c
index 32b23b65..c1432b0b 100644
--- a/nouveau/nouveau_bo.c
+++ b/nouveau/nouveau_bo.c
@@ -52,7 +52,8 @@ nouveau_bo_info(struct nouveau_bo_priv *nvbo, struct drm_nouveau_gem_info *arg)
nvbo->offset = arg->offset;
nvbo->map_handle = arg->map_handle;
nvbo->base.tile_mode = arg->tile_mode;
- nvbo->base.tile_flags = arg->tile_flags;
+ /* XXX - flag inverted for backwards compatibility */
+ nvbo->base.tile_flags = arg->tile_flags ^ NOUVEAU_GEM_TILE_NONCONTIG;
return 0;
}
@@ -140,6 +141,10 @@ nouveau_bo_kalloc(struct nouveau_bo_priv *nvbo, struct nouveau_channel *chan)
info->tile_mode = nvbo->base.tile_mode;
info->tile_flags = nvbo->base.tile_flags;
+ /* XXX - flag inverted for backwards compatibility */
+ info->tile_flags ^= NOUVEAU_GEM_TILE_NONCONTIG;
+ if (!nvdev->has_bo_usage)
+ info->tile_flags &= NOUVEAU_GEM_TILE_LAYOUT_MASK;
ret = drmCommandWriteRead(nvdev->fd, DRM_NOUVEAU_GEM_NEW,
&req, sizeof(req));