diff options
author | Thomas Hellstrom <unichrome@shipmail.org> | 2006-02-22 04:46:30 +0000 |
---|---|---|
committer | Thomas Hellstrom <unichrome@shipmail.org> | 2006-02-22 04:46:30 +0000 |
commit | a2490dabe8fb3b74ba320f38556280917f254465 (patch) | |
tree | 2aaf0107a2a4829339e0e24b40daa132c60312a0 | |
parent | d0d329b8708faf9a07695509fb73fce1129155c6 (diff) |
Add a proper framebuffer map for DRI. (openChrome Chgset 144)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/via_dri.c | 11 | ||||
-rw-r--r-- | src/via_driver.h | 1 |
3 files changed, 15 insertions, 3 deletions
@@ -1,5 +1,11 @@ 2006-02-22 Thomas Hellstrom <thomas-at-tungstengraphics.com> + * src/via_dri.c: (VIADRIKernelInit), (VIADRIMapInit): + * src/via_driver.h: + Add a proper framebuffer map for DRI. (openChrome Chgset 144) + +2006-02-22 Thomas Hellstrom <thomas-at-tungstengraphics.com> + * configure.ac: * src/via_drmclient.h: * src/xvmc/viaXvMC.c: diff --git a/src/via_dri.c b/src/via_dri.c index 12506c5..7f64d21 100644 --- a/src/via_dri.c +++ b/src/via_dri.c @@ -881,7 +881,7 @@ static Bool VIADRIKernelInit(ScreenPtr pScreen, VIAPtr pVia) memset(&drmInfo, 0, sizeof(drm_via_init_t)); drmInfo.func = VIA_INIT_MAP; drmInfo.sarea_priv_offset = sizeof(XF86DRISAREARec); - drmInfo.fb_offset = pVia->FrameBufferBase; + drmInfo.fb_offset = pVia->frameBufferHandle; drmInfo.mmio_offset = pVia->registerHandle; if (pVia->IsPCI) drmInfo.agpAddr = (CARD32)NULL; @@ -904,9 +904,14 @@ static Bool VIADRIMapInit(ScreenPtr pScreen, VIAPtr pVia) DRM_REGISTERS, flags, &pVia->registerHandle) < 0) { return FALSE; } - xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] register handle = 0x%08lx\n", (unsigned long) pVia->registerHandle); - + if (drmAddMap(pVia->drmFD, pVia->FrameBufferBase, pVia->videoRambytes, + DRM_FRAME_BUFFER, 0, &pVia->frameBufferHandle) < 0) { + return FALSE; + } + xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] framebuffer handle = 0x%08lx\n", + (unsigned long) pVia->frameBufferHandle); + return TRUE; } diff --git a/src/via_driver.h b/src/via_driver.h index df1fccc..84c8657 100644 --- a/src/via_driver.h +++ b/src/via_driver.h @@ -258,6 +258,7 @@ typedef struct _VIA { VIAConfigPrivPtr pVisualConfigsPriv; drm_handle_t agpHandle; drm_handle_t registerHandle; + drm_handle_t frameBufferHandle; unsigned long agpAddr; drmAddress agpMappedAddr; unsigned char *agpBase; |