Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 323554 Details for
Bug 434468
x11-drivers/xf86-video-neomagic failed to load /usr/lib/xorg/modules/drivers/neomagic_drv.so: /usr/lib/xorg/modules/drivers/neomagic_drv.so: undefined symbol: NEO_Sync on X.Org 1.13.0
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Potential fix
neomagic.patch (text/plain), 3.06 KB, created by
Matt Turner
on 2012-09-11 22:46:25 UTC
(
hide
)
Description:
Potential fix
Filename:
MIME Type:
Creator:
Matt Turner
Created:
2012-09-11 22:46:25 UTC
Size:
3.06 KB
patch
obsolete
>diff --git a/src/neo.h b/src/neo.h >index 6812e7a..1e44542 100644 >--- a/src/neo.h >+++ b/src/neo.h >@@ -257,6 +257,7 @@ typedef struct neoRec > NeoRegRec NeoSavedReg; > /* proc pointer */ > CloseScreenProcPtr CloseScreen; >+ CreateScreenResourcesProcPtr CreateScreenResources; > I2CBusPtr I2C; > vbeInfoPtr pVbe; > unsigned char * ShadowPtr; >@@ -273,6 +274,9 @@ typedef struct neoRec > int overlay_offset; > int videoKey; > int interlace; >+ void *shadow; >+ ShadowUpdateProc update; >+ ShadowWindowProc window; > } NEORec, *NEOPtr; > > typedef struct { >diff --git a/src/neo_driver.c b/src/neo_driver.c >index ce89ce0..df8e51d 100644 >--- a/src/neo_driver.c >+++ b/src/neo_driver.c >@@ -1404,6 +1404,23 @@ NEOLoadPalette( > } > } > >+static Bool >+NEOCreateScreenResources(ScreenPtr pScreen) >+{ >+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; >+ NEOPtr nPtr = NEOPTR(pScrn); >+ Bool ret; >+ >+ pScreen->CreateScreenResources = nPtr->CreateScreenResources; >+ ret = pScreen->CreateScreenResources(pScreen); >+ pScreen->CreateScreenResources = NEOCreateScreenResources; >+ >+ shadowAdd(pScreen, pScreen->GetScreenPixmap(pScreen), nPtr->update, >+ nPtr->window, 0, 0); >+ >+ return ret; >+} >+ > /* Mandatory */ > static Bool > NEOScreenInit(SCREEN_INIT_ARGS_DECL) >@@ -1438,7 +1455,17 @@ NEOScreenInit(SCREEN_INIT_ARGS_DECL) > /* Map the Neo memory and possible MMIO areas */ > if (!neoMapMem(pScrn)) > return FALSE; >- >+ >+ if (nPtr->shadowFB) { >+ nPtr->shadow = calloc(1, pScrn->displayWidth * pScrn->virtualY * >+ ((pScrn->bitsPerPixel + 7) / 8)); >+ if (!nPtr->shadow) { >+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, >+ "Failed to allocate shadow buffer\n"); >+ return FALSE; >+ } >+ } >+ > /* > * next we save the current state and setup the first mode > */ >@@ -1485,7 +1512,7 @@ NEOScreenInit(SCREEN_INIT_ARGS_DECL) > FBStart = nPtr->NeoFbBase; > } > >- ret = fbScreenInit(pScreen, FBStart, >+ ret = fbScreenInit(pScreen, nPtr->shadowFB ? nPtr->shadow : FBStart, > width, height, > pScrn->xDpi, pScrn->yDpi, > displayWidth, pScrn->bitsPerPixel); >@@ -1655,7 +1682,10 @@ NEOScreenInit(SCREEN_INIT_ARGS_DECL) > #if 0 > ShadowFBInit(pScreen, nPtr->refreshArea); > #else >- shadowInit (pScreen, neoShadowUpdate, 0); >+ if (!shadowSetup(pScreen)) >+ return FALSE; >+ nPtr->CreateScreenResources = pScreen->CreateScreenResources; >+ pScreen->CreateScreenResources = NEOCreateScreenResources; > #endif > } > >@@ -1785,6 +1815,10 @@ NEOCloseScreen(CLOSE_SCREEN_ARGS_DECL) > neoLock(pScrn); > neoUnmapMem(pScrn); > } >+ if (nPtr->shadowFB && nPtr->shadow) { >+ shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen)); >+ free(nPtr->shadow); >+ } > #ifdef HAVE_XAA_H > if (nPtr->AccelInfoRec) > XAADestroyInfoRec(nPtr->AccelInfoRec); >@@ -1795,6 +1829,7 @@ NEOCloseScreen(CLOSE_SCREEN_ARGS_DECL) > free(nPtr->ShadowPtr); > > pScrn->vtSema = FALSE; >+ pScreen->CreateScreenResources = nPtr->CreateScreenResources; > pScreen->CloseScreen = nPtr->CloseScreen; > return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 434468
:
323312
|
323328
|
323330
|
323332
|
323334
|
323338
|
323340
|
323542
| 323554 |
356182