summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-09-27 11:14:21 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-27 11:14:21 +0200
commitca728973bce504e03bf6228d18287906c35eaa3f (patch)
treebfb48569c3487c6d1dddd3e890d92c29d8c7408e
parent21593d04d222b05dbba9abd31eaa3bfb91d999b6 (diff)
radeon: Don't use pixmap data pointer directly with EXA.
Fixes segfault with current xserver master without AccelDFS.
-rw-r--r--src/radeon_exa_funcs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
index c356de7..d233813 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -244,7 +244,7 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
#if X_BYTE_ORDER == X_BIG_ENDIAN || defined(ACCEL_CP)
RINFO_FROM_SCREEN(pDst->drawable.pScreen);
#endif
- CARD8 *dst = pDst->devPrivate.ptr;
+ CARD8 *dst = info->FB + exaGetPixmapOffset(pDst);
unsigned int dst_pitch = exaGetPixmapPitch(pDst);
unsigned int bpp = pDst->drawable.bitsPerPixel;
#ifdef ACCEL_CP
@@ -362,7 +362,7 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
~(RADEON_NONSURF_AP0_SWP_32BPP | RADEON_NONSURF_AP1_SWP_32BPP |
RADEON_NONSURF_AP0_SWP_16BPP | RADEON_NONSURF_AP1_SWP_16BPP);
#endif
- CARD8 *src = pSrc->devPrivate.ptr;
+ CARD8 *src = info->FB + exaGetPixmapOffset(pSrc);
int src_pitch = exaGetPixmapPitch(pSrc);
int bpp = pSrc->drawable.bitsPerPixel;
#ifdef ACCEL_CP