summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Gregory <dp@xora.org.uk>2009-01-04 16:17:40 +0000
committerGraeme Gregory <dp@xora.org.uk>2009-01-04 16:17:40 +0000
commitdb3d4cdd8dc6f38441149c53049cd1a9ac687b5c (patch)
treec2e0450c33e54d5b1b2861b850ece8b5fa5e9109
parent3010eb2b86156f27f6772d88c242593b77a7fce5 (diff)
glamo* : sort out initialisation order for exa/CMDQ
-rw-r--r--src/glamo-cmdq.c22
-rw-r--r--src/glamo-draw.c8
-rw-r--r--src/glamo-driver.c8
3 files changed, 36 insertions, 2 deletions
diff --git a/src/glamo-cmdq.c b/src/glamo-cmdq.c
index 782a856..dddeb5f 100644
--- a/src/glamo-cmdq.c
+++ b/src/glamo-cmdq.c
@@ -411,15 +411,25 @@ GLAMOCMDQInit(GlamoPtr pGlamo,
char *mmio = pGlamo->reg_base;
int cq_len = CQ_LEN;
+ xf86DrvMsg(0, X_WARNING,
+ "GLAMOCMDQInit here1\n");
+
if (!force && pGlamo->exa_cmd_queue)
return TRUE;
+ xf86DrvMsg(0, X_WARNING,
+ "GLAMOCMDQInit here2\n");
+
pGlamo->ring_len = (cq_len + 1) * 1024;
pGlamo->exa_cmd_queue =
exaOffscreenAlloc(pGlamo->pScreen, pGlamo->ring_len + 4,
pGlamo->exa->pixmapOffsetAlign,
TRUE, NULL, NULL);
+
+ xf86DrvMsg(0, X_WARNING,
+ "GLAMOCMDQInit here3\n");
+
if (!pGlamo->exa_cmd_queue)
return FALSE;
pGlamo->ring_addr =
@@ -427,6 +437,10 @@ GLAMOCMDQInit(GlamoPtr pGlamo,
pGlamo->exa_cmd_queue->offset);
GLAMOEngineEnable(pGlamo, GLAMO_ENGINE_CMDQ);
+
+ xf86DrvMsg(0, X_WARNING,
+ "GLAMOCMDQInit here4\n");
+
GLAMOCMDQResetCP(pGlamo);
return TRUE;
}
@@ -434,11 +448,15 @@ GLAMOCMDQInit(GlamoPtr pGlamo,
void
GLAMOCMDQCacheSetup(GlamoPtr pGlamo)
{
+ xf86DrvMsg(0, X_WARNING,
+ "here1\n");
GLAMOCMDQInit(pGlamo, TRUE);
-
+ xf86DrvMsg(0, X_WARNING,
+ "here2\n");
if (pGlamo->cmd_queue_cache)
return;
-
+ xf86DrvMsg(0, X_WARNING,
+ "here3\n");
pGlamo->cmd_queue_cache = GLAMOCreateCMDQCache(pGlamo);
if (pGlamo->cmd_queue_cache == FALSE)
FatalError("Failed to allocate cmd queue cache buffer.\n");
diff --git a/src/glamo-draw.c b/src/glamo-draw.c
index 3948ffc..174e2d1 100644
--- a/src/glamo-draw.c
+++ b/src/glamo-draw.c
@@ -233,6 +233,7 @@ GLAMODrawExaInit(ScreenPtr pScreen, ScrnInfoPtr pScrn)
} else {
ErrorF("Failed to initialize EXA acceleration\n");
}
+
GLAMO_LOG("leave\n");
return success;
@@ -376,9 +377,16 @@ GLAMOExaCopy(PixmapPtr pDst,
srcX, srcY, dstX, dstY,
width, height);
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "here1\n");
BEGIN_CMDQ(34);
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "here2\n");
OUT_REG(GLAMO_REG_2D_SRC_ADDRL, pGlamo->src_offset & 0xffff);
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "here3\n");
+
OUT_REG(GLAMO_REG_2D_SRC_ADDRH, (pGlamo->src_offset >> 16) & 0x7f);
OUT_REG(GLAMO_REG_2D_SRC_PITCH, pGlamo->src_pitch);
diff --git a/src/glamo-driver.c b/src/glamo-driver.c
index dc3d9db..41727c4 100644
--- a/src/glamo-driver.c
+++ b/src/glamo-driver.c
@@ -732,6 +732,12 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* map in the registers */
fPtr->reg_base = xf86MapVidMem(pScreen->myNum, VIDMEM_MMIO, 0x8000000, 0x2400);
+ fPtr->pScreen = pScreen;
+
+ /*fPtr->cmd_queue_cache = GLAMOCreateCMDQCache(fPtr);*/
+
+ /*GLAMOCMDQCacheSetup(fPtr);*/
+
xf86LoadSubModule(pScrn, "exa");
xf86LoaderReqSymLists(exaSymbols, NULL);
@@ -741,6 +747,8 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
return FALSE;
}
+ GLAMOCMDQCacheSetup(fPtr);
+
xf86SetBlackWhitePixels(pScreen);
miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);