diff options
Diffstat (limited to 'src/sna/gen5_render.c')
-rw-r--r-- | src/sna/gen5_render.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c index 47c4e967..2c6d020b 100644 --- a/src/sna/gen5_render.c +++ b/src/sna/gen5_render.c @@ -2049,13 +2049,20 @@ has_alphamap(PicturePtr p) } static bool +need_upload(PicturePtr p) +{ + return p->pDrawable && unattached(p->pDrawable); +} + +static bool source_fallback(PicturePtr p) { return (has_alphamap(p) || is_gradient(p) || !gen5_check_filter(p) || !gen5_check_repeat(p) || - !gen5_check_format(p->format)); + !gen5_check_format(p->format) || + need_upload(p)); } static bool |