summaryrefslogtreecommitdiff
path: root/src/sna/gen5_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/gen5_render.c')
-rw-r--r--src/sna/gen5_render.c9
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