summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Behan <connor.behan@gmail.com>2015-08-27 01:09:53 -0400
committerMartin-Éric Racine <martin-eric.racine@iki.fi>2015-08-27 09:29:06 +0300
commitaecb0803d318e8100d6024f34a96df225ff738aa (patch)
tree77ea69f467c367b7c4225be799c8d41652e9bd21
parentd0d07108b7db4536ec12a45d5b7633b1abb22f60 (diff)
Fix GX UploadToScreen and DownloadFromScreen
Even though most embedded drivers don't do it, there could be a slight advantage on a single arch from reimplementing unaccelerated UTS and DFS since the xserver avoids assembly. This does not remove them, it merely updates them to work with the latest EXA. Signed-off-by: Connor Behan <connor.behan@gmail.com>
-rw-r--r--src/gx_accel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gx_accel.c b/src/gx_accel.c
index 2e02a50..41fb7ec 100644
--- a/src/gx_accel.c
+++ b/src/gx_accel.c
@@ -1489,7 +1489,8 @@ static Bool
amd_gx_exa_UploadToScreen(PixmapPtr pDst, int x, int y, int w, int h,
char *src, int src_pitch)
{
- char *dst = pDst->devPrivate.ptr;
+ GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pDst);
+ char *dst = pGeode->pExa->memoryBase + exaGetPixmapOffset(pDst);
int dst_pitch = exaGetPixmapPitch(pDst);
int bpp = pDst->drawable.bitsPerPixel;
@@ -1504,7 +1505,8 @@ static Bool
amd_gx_exa_DownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h,
char *dst, int dst_pitch)
{
- char *src = pSrc->devPrivate.ptr;
+ GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pSrc);
+ char *src = pGeode->pExa->memoryBase + exaGetPixmapOffset(pSrc);
int src_pitch = exaGetPixmapPitch(pSrc);
int bpp = pSrc->drawable.bitsPerPixel;