diff options
author | Keith Packard <keithp@keithp.com> | 2014-04-08 01:01:28 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-04-17 15:01:26 -0700 |
commit | c917fa411502d402b9c69de30f6a88e102bb8610 (patch) | |
tree | 9cc8c3a141a8b22d3ee7950ca8ab1687f0802e13 /glamor | |
parent | 3028ae6c9aa37168e249e0d847b29f8e3efb05b2 (diff) |
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 <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'glamor')
-rw-r--r-- | glamor/glamor_fbo.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c index 4f6da67fb..d0215beef 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) |