From c917fa411502d402b9c69de30f6a88e102bb8610 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 8 Apr 2014 01:01:28 -0700 Subject: [PATCH] glamor: Always allocate precisely the requested pixmap size Using a pixmap as a tile or stipple means that we must have the underlying FBO match the pixmap geometry exactly. We may want to add some complexity here to migrate pixmaps into exact sized objects as necessary, but for now, make the server work correctly by skipping this optimization. Signed-off-by: Keith Packard Reviewed-by: Eric Anholt --- glamor/glamor_fbo.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c index 4f6da67..d0215be 100644 --- a/glamor/glamor_fbo.c +++ b/glamor/glamor_fbo.c @@ -367,10 +367,11 @@ glamor_create_fbo(glamor_screen_private *glamor_priv, if (flag == GLAMOR_CREATE_PIXMAP_MAP) goto no_tex; - if (flag == GLAMOR_CREATE_PIXMAP_FIXUP) - cache_flag = GLAMOR_CACHE_EXACT_SIZE; - else - cache_flag = 0; + /* Tiling from textures requires exact pixmap sizes. As we don't + * know which pixmaps will be used as tiles, just allocate + * everything at the requested size + */ + cache_flag = GLAMOR_CACHE_EXACT_SIZE; fbo = glamor_pixmap_fbo_cache_get(glamor_priv, w, h, format, cache_flag); if (fbo) -- 2.7.4