summaryrefslogtreecommitdiff
path: root/src/sna/sna_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-07-01 15:11:07 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-07-01 16:52:35 +0100
commita10781b70f222f3997928fa979f6292617f79316 (patch)
treeebd2d4f547ed242706f38e037592cf22cc1157a0 /src/sna/sna_display.c
parent75745cd5861481c5a9a31125d357f339349dd0f8 (diff)
sna: Enforce LinearFramebuffer option
This option should only be used for compatibility. Previously this was done at a high level, this changes it to enforce the tiling as we apply the CRTC. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_display.c')
-rw-r--r--src/sna/sna_display.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 38ebc11d..55795855 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1666,6 +1666,9 @@ static bool use_shadow(struct sna *sna, xf86CrtcPtr crtc)
if (priv->gpu_bo->pitch > pitch_limit)
return true;
+ if (priv->gpu_bo->tiling && sna->flags & SNA_LINEAR_FB)
+ return true;
+
transform = NULL;
if (crtc->transformPresent)
transform = &crtc->transform;
@@ -1779,6 +1782,8 @@ static struct kgem_bo *sna_crtc_attach(xf86CrtcPtr crtc)
tiled_limit = 8 * 1024 * 8;
if ((unsigned long)crtc->mode.HDisplay * scrn->bitsPerPixel > tiled_limit)
tiling = I915_TILING_NONE;
+ if (sna->flags & SNA_LINEAR_FB)
+ tiling = I915_TILING_NONE;
bo = kgem_create_2d(&sna->kgem,
crtc->mode.HDisplay, crtc->mode.VDisplay,