summaryrefslogtreecommitdiff
path: root/src/i830_exa.c
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2008-04-19 08:54:38 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2008-05-07 13:42:38 +0800
commit79fde3ad7a949fb7f0dc9907cb6eea6ca9a910ae (patch)
tree9e154e97bd2eea1fc3670d51d933a7b5a009f5ac /src/i830_exa.c
parent36ec93300926084fb2951d69b001e4c67bc6ff79 (diff)
Check pitch for EXA operation
2D pitch limit applys to all chips. Pre-965 chip has 8KB pitch limit for 3D. 965 supports max pitch by current exa (128KB). (cherry picked from commit 8187a5a16f8bd8f0ba5e7f5357f355928b3b8f07)
Diffstat (limited to 'src/i830_exa.c')
-rw-r--r--src/i830_exa.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 9b5bb936..2c807c51 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -170,6 +170,8 @@ I830EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
if (pPixmap->drawable.bitsPerPixel == 24)
I830FALLBACK("solid 24bpp unsupported!\n");
+ i830_exa_check_pitch_2d(pPixmap);
+
offset = exaGetPixmapOffset(pPixmap);
pitch = exaGetPixmapPitch(pPixmap);
@@ -255,6 +257,9 @@ I830EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir,
if (!EXA_PM_IS_SOLID(&pSrcPixmap->drawable, planemask))
I830FALLBACK("planemask is not solid");
+ i830_exa_check_pitch_2d(pSrcPixmap);
+ i830_exa_check_pitch_2d(pDstPixmap);
+
pI830->pSrcPixmap = pSrcPixmap;
pI830->BR[13] = I830CopyROP[alu] << 16;