diff options
-rw-r--r-- | etnaviv/etnaviv_render.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/etnaviv/etnaviv_render.c b/etnaviv/etnaviv_render.c index c4f87cd..a46c1bb 100644 --- a/etnaviv/etnaviv_render.c +++ b/etnaviv/etnaviv_render.c @@ -413,6 +413,9 @@ static struct etnaviv_pixmap *etnaviv_acquire_src(ScreenPtr pScreen, if (!vSrc) goto fallback; + if (vSrc->width < clip->x2 || vSrc->height < clip->y2) + goto fallback; + etnaviv_set_format(vSrc, pict); if (!etnaviv_src_format_valid(etnaviv, vSrc->pict_format)) goto fallback; @@ -671,6 +674,9 @@ static int etnaviv_accel_composite_masked(PicturePtr pSrc, PicturePtr pMask, if (!vMask) goto fallback; + if (vMask->width < clip_temp.x2 || vMask->height < clip_temp.y2) + goto fallback; + mask_offset.x += mo.x; mask_offset.y += mo.y; } else { |