Index: i810_dri.c =================================================================== RCS file: /cvs/xorg/driver/xf86-video-i810/src/i810_dri.c,v retrieving revision 1.12 diff -u -r1.12 i810_dri.c --- i810_dri.c 24 Jan 2006 15:20:34 -0000 1.12 +++ i810_dri.c 16 Feb 2006 02:32:18 -0000 @@ -356,12 +356,11 @@ pDRIInfo->ddxDriverMajorVersion = I810_MAJOR_VERSION; pDRIInfo->ddxDriverMinorVersion = I810_MINOR_VERSION; pDRIInfo->ddxDriverPatchVersion = I810_PATCHLEVEL; - pDRIInfo->frameBufferPhysicalAddress = (pointer) pI810->LinearAddr; - pDRIInfo->frameBufferSize = (((pScrn->displayWidth * - pScrn->virtualY * pI810->cpp) + - 4096 - 1) / 4096) * 4096; - - pDRIInfo->frameBufferStride = pScrn->displayWidth * pI810->cpp; +#if 1 + pDRIInfo->frameBufferPhysicalAddress = 0; + pDRIInfo->frameBufferSize = 0; + pDRIInfo->frameBufferStride = 0; +#endif pDRIInfo->ddxDrawableTableEntry = I810_MAX_DRAWABLES; if (SAREA_MAX_DRAWABLES < I810_MAX_DRAWABLES) @@ -847,6 +846,20 @@ pI810->auxPitch = i810_pitches[pitch_idx]; pI810->auxPitchBits = i810_pitch_flags[pitch_idx]; pI810->SavedDcacheMem = pI810->DcacheMem; + pI810DRI->frontbufferSize = (((pScrn->displayWidth * + pScrn->virtualY * pI810->cpp) + + 4096 - 1) / 4096) * 4096; + + + if (drmAddMap(pI810->drmSubFD, (drm_handle_t) pI810->LinearAddr, + pI810DRI->frontbufferSize, DRM_FRAME_BUFFER, 0, + &pI810DRI->frontbuffer) < 0) { + xf86DrvMsg(pScreen->myNum, X_ERROR, + "[drm] drmAddMap(frontbuffer) failed. Disabling DRI\n"); + DRICloseScreen(pScreen); + return FALSE; + } + pI810DRI->backbufferSize = pI810->BackBuffer.Size; if (drmAddMap(pI810->drmSubFD, (drm_handle_t) pI810->BackBuffer.Start, Index: i810_dri.h =================================================================== RCS file: /cvs/xorg/driver/xf86-video-i810/src/i810_dri.h,v retrieving revision 1.5 diff -u -r1.5 i810_dri.h --- i810_dri.h 31 Jul 2005 17:19:28 -0000 1.5 +++ i810_dri.h 16 Feb 2006 02:32:18 -0000 @@ -12,6 +12,9 @@ drm_handle_t regs; drmSize regsSize; + drmSize frontbufferSize; + drm_handle_t frontbuffer; + drmSize backbufferSize; drm_handle_t backbuffer;