diff --git a/src/r600_exa.c b/src/r600_exa.c index 9bb6831..a7aa60e 100644 --- a/src/r600_exa.c +++ b/src/r600_exa.c @@ -115,8 +115,12 @@ R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) pPix->drawable.bitsPerPixel, exaGetPixmapPitch(pPix)); #endif + xf86Msg(X_INFO, "R600PrepareSolid 1/2\n"); + accel_state->ib = RHDDRMCPBuffer(pScrn->scrnIndex); + xf86Msg(X_INFO, "R600PrepareSolid 2/2\n"); + /* Init */ start_3d(pScrn, accel_state->ib); diff --git a/src/rhd_dri.c b/src/rhd_dri.c index 2c8e812..9bfc745 100644 --- a/src/rhd_dri.c +++ b/src/rhd_dri.c @@ -45,6 +45,8 @@ #include "config.h" #endif +#include + /* X and server generic header files */ #include "xf86.h" #include "xaa.h" @@ -1902,6 +1904,8 @@ RHDDRMFDGet(int scrnIndex) struct _drmBuf * RHDDRMCPBuffer(int scrnIndex) { + xf86Msg(X_INFO, "RHDDRMCPBuffer start\n"); + struct rhdDri *Dri = RHDPTR(xf86Screens[scrnIndex])->dri; drmDMAReq dma; drmBufPtr buf = NULL; @@ -1922,15 +1926,20 @@ RHDDRMCPBuffer(int scrnIndex) dma.granted_count = 0; for (i = 0; i < R5XX_LOOP_COUNT; i++) { + clock_t czas = clock(); + xf86Msg(X_INFO, " RHDDRMCPBuffer for loop: %d / %d starts\n", i, R5XX_LOOP_COUNT); int ret = drmDMA(Dri->drmFD, &dma); if (!ret) { buf = &Dri->buffers->list[indx]; //xf86DrvMsg(scrnIndex, X_INFO, "%s: index %d, addr %p\n", __func__, buf->idx, buf->address); buf->used = 0; + xf86Msg(X_INFO, "RHDDRMCPBuffer end with success\n"); return buf; - } else if (ret != -16) + } else if (ret != -16) { xf86DrvMsg(scrnIndex, X_ERROR, "%s: drmDMA returned %d\n", __func__, ret); + } + xf86Msg(X_INFO, " RHDDRMCPBuffer for loop: %d / %d ends (%.2f sec) (ret==%d)\n", i, R5XX_LOOP_COUNT, (float)(clock() -czas)/CLOCKS_PER_SEC, ret); } /* There is nothing we can do here... If we fail, we either failed to set