summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-07-02 12:41:35 +0200
committerEric Anholt <anholt@FreeBSD.org>2006-07-03 16:41:44 +0200
commit7106a77df37c06d2b5568eceeb9297096bff3137 (patch)
tree36a817e935fa9d69bc1c3c2d7236b4bdb294a817 /exa
parentf5e92542a14f51029347b6476e4e4af69144930b (diff)
Fix bugs in support for new repeatTypes in XAA and EXA.
EXA now won't pass pictures with new repeatTypes to drivers. We can add a flag for them to support it at a later time.
Diffstat (limited to 'exa')
-rw-r--r--exa/exa_render.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/exa/exa_render.c b/exa/exa_render.c
index b21c5d724..2187af810 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -535,7 +535,8 @@ exaComposite(CARD8 op,
if (op == PictOpSrc)
{
if (pSrc->pDrawable->width == 1 &&
- pSrc->pDrawable->height == 1 && pSrc->repeat)
+ pSrc->pDrawable->height == 1 && pSrc->repeat &&
+ pSrc->repeatType == RepeatNormal)
{
ret = exaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst,
width, height);
@@ -575,6 +576,8 @@ exaComposite(CARD8 op,
pMask->repeat = 0;
if (pExaScr->info->PrepareComposite &&
+ (!pSrc->repeat || pSrc->repeat == RepeatNormal) &&
+ (!pMask || !pMask->repeat || pMask->repeat == RepeatNormal) &&
!pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap)
{
ret = exaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask,