summaryrefslogtreecommitdiff
path: root/src/radeon_exa.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-02-11 12:03:56 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-02-11 12:03:56 -0500
commitd98359b20e1eb8eae893581ab199c299c8352dc4 (patch)
tree0bf21405498184169529c896dc76a8e39467606b /src/radeon_exa.c
parent0c4694c58f2ec152b19023626bc7ced891d9da65 (diff)
Revert "Radeon EXA: wait for the engine to be idle before sw access"
This reverts commit 0c4694c58f2ec152b19023626bc7ced891d9da65. This patch just adds latency and thus isn't a real solution
Diffstat (limited to 'src/radeon_exa.c')
-rw-r--r--src/radeon_exa.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index ebe65d1d..c4bc1bb1 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -220,22 +220,17 @@ int RADEONBiggerCrtcArea(PixmapPtr pPix)
}
#if X_BYTE_ORDER == X_BIG_ENDIAN
+
static unsigned long swapper_surfaces[3];
-#endif /* X_BYTE_ORDER == X_BIG_ENDIAN */
static Bool RADEONPrepareAccess(PixmapPtr pPix, int index)
{
RINFO_FROM_SCREEN(pPix->drawable.pScreen);
-#if X_BYTE_ORDER == X_BIG_ENDIAN
unsigned char *RADEONMMIO = info->MMIO;
uint32_t offset = exaGetPixmapOffset(pPix);
int bpp, soff;
uint32_t size, flags;
-#endif /* X_BYTE_ORDER == X_BIG_ENDIAN */
-
- RADEONWaitforIdlePoll(pScrn);
-#if X_BYTE_ORDER == X_BIG_ENDIAN
/* Front buffer is always set with proper swappers */
if (offset == 0)
return TRUE;
@@ -291,13 +286,11 @@ static Bool RADEONPrepareAccess(PixmapPtr pPix, int index)
OUTREG(RADEON_SURFACE0_LOWER_BOUND + soff, offset);
OUTREG(RADEON_SURFACE0_UPPER_BOUND + soff, offset + size - 1);
swapper_surfaces[index] = offset;
-#endif /* X_BYTE_ORDER == X_BIG_ENDIAN */
return TRUE;
}
static void RADEONFinishAccess(PixmapPtr pPix, int index)
{
-#if X_BYTE_ORDER == X_BIG_ENDIAN
RINFO_FROM_SCREEN(pPix->drawable.pScreen);
unsigned char *RADEONMMIO = info->MMIO;
uint32_t offset = exaGetPixmapOffset(pPix);
@@ -325,9 +318,9 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
OUTREG(RADEON_SURFACE0_LOWER_BOUND + soff, 0);
OUTREG(RADEON_SURFACE0_UPPER_BOUND + soff, 0);
swapper_surfaces[index] = 0;
-#endif /* X_BYTE_ORDER == X_BIG_ENDIAN */
}
+#endif /* X_BYTE_ORDER == X_BIG_ENDIAN */
#define ENTER_DRAW(x) TRACE
#define LEAVE_DRAW(x) TRACE