Compare commits
No commits in common. "c8s" and "c9-beta" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
/xf86-video-fbdev-0.5.0.tar.bz2
|
SOURCES/xf86-video-fbdev-0.5.0.tar.bz2
|
||||||
|
1
.xorg-x11-drv-fbdev.metadata
Normal file
1
.xorg-x11-drv-fbdev.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
8d79ec615cb54436ff96dc94b74775db6dc47aff SOURCES/xf86-video-fbdev-0.5.0.tar.bz2
|
409
SOURCES/0001-mustard-Enable-linking-with-z-now.patch
Normal file
409
SOURCES/0001-mustard-Enable-linking-with-z-now.patch
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
From 9a151d87fb084a914ad76f77be78f720448fa201 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Jackson <ajax@redhat.com>
|
||||||
|
Date: Tue, 25 Jan 2022 13:37:14 -0500
|
||||||
|
Subject: [PATCH xf86-video-fbdev] mustard: Enable linking with -z now
|
||||||
|
|
||||||
|
The xfree86 design loads the fb, fbdev, and shadow modules _after_ the
|
||||||
|
driver is loaded, which means we need to dlsym^WLoaderSymbol for the API
|
||||||
|
we need ourselves.
|
||||||
|
---
|
||||||
|
src/fbdev.c | 152 ++++++++++++++++++++++++++++++++++++++--------------
|
||||||
|
1 file changed, 113 insertions(+), 39 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/fbdev.c b/src/fbdev.c
|
||||||
|
index e4f66a2..ee3a716 100644
|
||||||
|
--- a/src/fbdev.c
|
||||||
|
+++ b/src/fbdev.c
|
||||||
|
@@ -77,6 +77,75 @@ static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
|
||||||
|
|
||||||
|
enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
|
||||||
|
|
||||||
|
+static typeof(fbdevHWAdjustFrame) *my_fbdevHWAdjustFrame;
|
||||||
|
+static typeof(fbdevHWDPMSSet) *my_fbdevHWDPMSSet;
|
||||||
|
+static typeof(fbdevHWEnterVT) *my_fbdevHWEnterVT;
|
||||||
|
+static typeof(fbdevHWGetDepth) *my_fbdevHWGetDepth;
|
||||||
|
+static typeof(fbdevHWGetLineLength) *my_fbdevHWGetLineLength;
|
||||||
|
+static typeof(fbdevHWGetName) *my_fbdevHWGetName;
|
||||||
|
+static typeof(fbdevHWGetType) *my_fbdevHWGetType;
|
||||||
|
+static typeof(fbdevHWGetVidmem) *my_fbdevHWGetVidmem;
|
||||||
|
+static typeof(fbdevHWInit) *my_fbdevHWInit;
|
||||||
|
+static typeof(fbdevHWLeaveVT) *my_fbdevHWLeaveVT;
|
||||||
|
+static typeof(fbdevHWLinearOffset) *my_fbdevHWLinearOffset;
|
||||||
|
+static typeof(fbdevHWLoadPalette) *my_fbdevHWLoadPalette;
|
||||||
|
+static typeof(fbdevHWMapVidmem) *my_fbdevHWMapVidmem;
|
||||||
|
+static typeof(fbdevHWModeInit) *my_fbdevHWModeInit;
|
||||||
|
+static typeof(fbdevHWProbe) *my_fbdevHWProbe;
|
||||||
|
+static typeof(fbdevHWRestore) *my_fbdevHWRestore;
|
||||||
|
+static typeof(fbdevHWSave) *my_fbdevHWSave;
|
||||||
|
+static typeof(fbdevHWSaveScreen) *my_fbdevHWSaveScreen;
|
||||||
|
+static typeof(fbdevHWSetVideoModes) *my_fbdevHWSetVideoModes;
|
||||||
|
+static typeof(fbdevHWSwitchMode) *my_fbdevHWSwitchMode;
|
||||||
|
+static typeof(fbdevHWUnmapVidmem) *my_fbdevHWUnmapVidmem;
|
||||||
|
+static typeof(fbdevHWUseBuildinMode) *my_fbdevHWUseBuildinMode;
|
||||||
|
+static typeof(fbdevHWValidMode) *my_fbdevHWValidMode;
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+bind_fbdevhw(void)
|
||||||
|
+{
|
||||||
|
+ my_fbdevHWAdjustFrame = LoaderSymbol("fbdevHWAdjustFrame");
|
||||||
|
+ my_fbdevHWDPMSSet = LoaderSymbol("fbdevHWDPMSSet");
|
||||||
|
+ my_fbdevHWEnterVT = LoaderSymbol("fbdevHWEnterVT");
|
||||||
|
+ my_fbdevHWGetDepth = LoaderSymbol("fbdevHWGetDepth");
|
||||||
|
+ my_fbdevHWGetLineLength = LoaderSymbol("fbdevHWGetLineLength");
|
||||||
|
+ my_fbdevHWGetName = LoaderSymbol("fbdevHWGetName");
|
||||||
|
+ my_fbdevHWGetType = LoaderSymbol("fbdevHWGetType");
|
||||||
|
+ my_fbdevHWGetVidmem = LoaderSymbol("fbdevHWGetVidmem");
|
||||||
|
+ my_fbdevHWInit = LoaderSymbol("fbdevHWInit");
|
||||||
|
+ my_fbdevHWLeaveVT = LoaderSymbol("fbdevHWLeaveVT");
|
||||||
|
+ my_fbdevHWLinearOffset = LoaderSymbol("fbdevHWLinearOffset");
|
||||||
|
+ my_fbdevHWLoadPalette = LoaderSymbol("fbdevHWLoadPalette");
|
||||||
|
+ my_fbdevHWMapVidmem = LoaderSymbol("fbdevHWMapVidmem");
|
||||||
|
+ my_fbdevHWModeInit = LoaderSymbol("fbdevHWModeInit");
|
||||||
|
+ my_fbdevHWProbe = LoaderSymbol("fbdevHWProbe");
|
||||||
|
+ my_fbdevHWRestore = LoaderSymbol("fbdevHWRestore");
|
||||||
|
+ my_fbdevHWSave = LoaderSymbol("fbdevHWSave");
|
||||||
|
+ my_fbdevHWSaveScreen = LoaderSymbol("fbdevHWSaveScreen");
|
||||||
|
+ my_fbdevHWSetVideoModes = LoaderSymbol("fbdevHWSetVideoModes");
|
||||||
|
+ my_fbdevHWSwitchMode = LoaderSymbol("fbdevHWSwitchMode");
|
||||||
|
+ my_fbdevHWUnmapVidmem = LoaderSymbol("fbdevHWUnmapVidmem");
|
||||||
|
+ my_fbdevHWUseBuildinMode = LoaderSymbol("fbdevHWUseBuildinMode");
|
||||||
|
+ my_fbdevHWValidMode = LoaderSymbol("fbdevHWValidMode");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static typeof(shadowAdd) *my_shadowAdd;
|
||||||
|
+static typeof(shadowRemove) *my_shadowRemove;
|
||||||
|
+static typeof(shadowSetup) *my_shadowSetup;
|
||||||
|
+static typeof(shadowUpdate32to24) *my_shadowUpdate32to24;
|
||||||
|
+static typeof(shadowUpdatePacked) *my_shadowUpdatePacked;
|
||||||
|
+static typeof(shadowUpdateRotatePacked) *my_shadowUpdateRotatePacked;
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+bind_shadow(void)
|
||||||
|
+{
|
||||||
|
+ my_shadowAdd = LoaderSymbol("shadowAdd");
|
||||||
|
+ my_shadowRemove = LoaderSymbol("shadowRemove");
|
||||||
|
+ my_shadowSetup = LoaderSymbol("shadowSetup");
|
||||||
|
+ my_shadowUpdate32to24 = LoaderSymbol("shadowUpdate32to24");
|
||||||
|
+ my_shadowUpdatePacked = LoaderSymbol("shadowUpdatePacked");
|
||||||
|
+ my_shadowUpdateRotatePacked = LoaderSymbol("shadowUpdateRotatePacked");
|
||||||
|
+}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
@@ -235,31 +304,31 @@ FBDevIdentify(int flags)
|
||||||
|
static Bool
|
||||||
|
fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||||
|
{
|
||||||
|
- return fbdevHWSwitchMode(pScrn, mode);
|
||||||
|
+ return my_fbdevHWSwitchMode(pScrn, mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
|
||||||
|
{
|
||||||
|
- fbdevHWAdjustFrame(pScrn, x, y);
|
||||||
|
+ my_fbdevHWAdjustFrame(pScrn, x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
fbdevEnterVT(ScrnInfoPtr pScrn)
|
||||||
|
{
|
||||||
|
- return fbdevHWEnterVT(pScrn);
|
||||||
|
+ return my_fbdevHWEnterVT(pScrn);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fbdevLeaveVT(ScrnInfoPtr pScrn)
|
||||||
|
{
|
||||||
|
- fbdevHWLeaveVT(pScrn);
|
||||||
|
+ my_fbdevHWLeaveVT(pScrn);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ModeStatus
|
||||||
|
fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
|
||||||
|
{
|
||||||
|
- return fbdevHWValidMode(pScrn, mode, verbose, flags);
|
||||||
|
+ return my_fbdevHWValidMode(pScrn, mode, verbose, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef XSERVER_LIBPCIACCESS
|
||||||
|
@@ -270,6 +339,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||||
|
|
||||||
|
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||||
|
return FALSE;
|
||||||
|
+ bind_fbdevhw();
|
||||||
|
|
||||||
|
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL,
|
||||||
|
NULL, NULL, NULL, NULL);
|
||||||
|
@@ -279,7 +349,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||||
|
pScrn->entityInstanceList[0]);
|
||||||
|
|
||||||
|
device = xf86FindOptionValue(devSection->options, "fbdev");
|
||||||
|
- if (fbdevHWProbe(dev, device, NULL)) {
|
||||||
|
+ if (my_fbdevHWProbe(dev, device, NULL)) {
|
||||||
|
pScrn->driverVersion = FBDEV_VERSION;
|
||||||
|
pScrn->driverName = FBDEV_DRIVER_NAME;
|
||||||
|
pScrn->name = FBDEV_NAME;
|
||||||
|
@@ -332,7 +402,8 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||||
|
|
||||||
|
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||||
|
return FALSE;
|
||||||
|
-
|
||||||
|
+ bind_fbdevhw();
|
||||||
|
+
|
||||||
|
for (i = 0; i < numDevSections; i++) {
|
||||||
|
Bool isIsa = FALSE;
|
||||||
|
Bool isPci = FALSE;
|
||||||
|
@@ -355,7 +426,7 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||||
|
0;
|
||||||
|
|
||||||
|
}
|
||||||
|
- if (fbdevHWProbe(NULL,dev,NULL)) {
|
||||||
|
+ if (my_fbdevHWProbe(NULL,dev,NULL)) {
|
||||||
|
pScrn = NULL;
|
||||||
|
if (isPci) {
|
||||||
|
#ifndef XSERVER_LIBPCIACCESS
|
||||||
|
@@ -459,11 +530,11 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
pci_dev = fPtr->pEnt->location.id.pci;
|
||||||
|
#endif
|
||||||
|
/* open device */
|
||||||
|
- if (!fbdevHWInit(pScrn, pci_dev,
|
||||||
|
+ if (!my_fbdevHWInit(pScrn, pci_dev,
|
||||||
|
xf86FindOptionValue(fPtr->pEnt->device->options,
|
||||||
|
"fbdev")))
|
||||||
|
return FALSE;
|
||||||
|
- default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
|
||||||
|
+ default_depth = my_fbdevHWGetDepth(pScrn,&fbbpp);
|
||||||
|
|
||||||
|
if (default_depth == 8) do {
|
||||||
|
/* trust the command line */
|
||||||
|
@@ -531,10 +602,10 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
pScrn->progClock = TRUE;
|
||||||
|
pScrn->rgbBits = 8;
|
||||||
|
pScrn->chipset = "fbdev";
|
||||||
|
- pScrn->videoRam = fbdevHWGetVidmem(pScrn);
|
||||||
|
+ pScrn->videoRam = my_fbdevHWGetVidmem(pScrn);
|
||||||
|
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
|
||||||
|
- " %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024);
|
||||||
|
+ " %dkB)\n", my_fbdevHWGetName(pScrn), pScrn->videoRam/1024);
|
||||||
|
|
||||||
|
/* handle options */
|
||||||
|
xf86CollectOptions(pScrn, NULL);
|
||||||
|
@@ -591,7 +662,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
/* select video modes */
|
||||||
|
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n");
|
||||||
|
- fbdevHWSetVideoModes(pScrn);
|
||||||
|
+ my_fbdevHWSetVideoModes(pScrn);
|
||||||
|
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
|
||||||
|
{
|
||||||
|
@@ -606,7 +677,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NULL == pScrn->modes)
|
||||||
|
- fbdevHWUseBuildinMode(pScrn);
|
||||||
|
+ my_fbdevHWUseBuildinMode(pScrn);
|
||||||
|
pScrn->currentMode = pScrn->modes;
|
||||||
|
|
||||||
|
/* First approximation, may be refined in ScreenInit */
|
||||||
|
@@ -618,7 +689,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
xf86SetDpi(pScrn, 0, 0);
|
||||||
|
|
||||||
|
/* Load bpp-specific modules */
|
||||||
|
- switch ((type = fbdevHWGetType(pScrn)))
|
||||||
|
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||||
|
{
|
||||||
|
case FBDEVHW_PACKED_PIXELS:
|
||||||
|
switch (pScrn->bitsPerPixel)
|
||||||
|
@@ -671,6 +742,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||||
|
FBDevFreeRec(pScrn);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
+ bind_shadow();
|
||||||
|
}
|
||||||
|
|
||||||
|
TRACE_EXIT("PreInit");
|
||||||
|
@@ -681,20 +753,20 @@ static void
|
||||||
|
fbdevUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_SHADOW_3224
|
||||||
|
- shadowUpdate32to24(pScreen, pBuf);
|
||||||
|
+ my_shadowUpdate32to24(pScreen, pBuf);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||||
|
{
|
||||||
|
- shadowUpdateRotatePacked(pScreen, pBuf);
|
||||||
|
+ my_shadowUpdateRotatePacked(pScreen, pBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||||
|
{
|
||||||
|
- shadowUpdatePacked(pScreen, pBuf);
|
||||||
|
+ my_shadowUpdatePacked(pScreen, pBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
@@ -722,7 +794,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen)
|
||||||
|
else
|
||||||
|
update = fbdevUpdatePacked;
|
||||||
|
|
||||||
|
- if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
|
||||||
|
+ if (!my_shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
|
||||||
|
NULL)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
@@ -736,7 +808,7 @@ FBDevShadowInit(ScreenPtr pScreen)
|
||||||
|
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||||
|
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||||
|
|
||||||
|
- if (!shadowSetup(pScreen)) {
|
||||||
|
+ if (!my_shadowSetup(pScreen)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -749,19 +821,19 @@ FBDevShadowInit(ScreenPtr pScreen)
|
||||||
|
static void
|
||||||
|
fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis)
|
||||||
|
{
|
||||||
|
- fbdevHWLoadPalette(pScrn, num, i, col, pVis);
|
||||||
|
+ my_fbdevHWLoadPalette(pScrn, num, i, col, pVis);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
|
||||||
|
{
|
||||||
|
- fbdevHWDPMSSet(pScrn, mode, flags);
|
||||||
|
+ my_fbdevHWDPMSSet(pScrn, mode, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
fbdevSaveScreen(ScreenPtr pScreen, int mode)
|
||||||
|
{
|
||||||
|
- return fbdevHWSaveScreen(pScreen, mode);
|
||||||
|
+ return my_fbdevHWSaveScreen(pScreen, mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
@@ -773,6 +845,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
int init_picture = 0;
|
||||||
|
int ret, flags;
|
||||||
|
int type;
|
||||||
|
+ typeof(fbScreenInit) *my_fbScreenInit = LoaderSymbol("fbScreenInit");
|
||||||
|
+ typeof(fbPictureInit) *my_fbPictureInit = LoaderSymbol("fbPictureInit");
|
||||||
|
|
||||||
|
TRACE_ENTER("FBDevScreenInit");
|
||||||
|
|
||||||
|
@@ -786,21 +860,21 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
|
||||||
|
+ if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) {
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
|
||||||
|
" failed\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
- fPtr->fboff = fbdevHWLinearOffset(pScrn);
|
||||||
|
+ fPtr->fboff = my_fbdevHWLinearOffset(pScrn);
|
||||||
|
|
||||||
|
- fbdevHWSave(pScrn);
|
||||||
|
+ my_fbdevHWSave(pScrn);
|
||||||
|
|
||||||
|
- if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
|
||||||
|
+ if (!my_fbdevHWModeInit(pScrn, pScrn->currentMode)) {
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mode initialization failed\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
- fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
|
||||||
|
- fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
|
||||||
|
+ my_fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
|
||||||
|
+ my_fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
|
||||||
|
|
||||||
|
/* mi layer */
|
||||||
|
miClearVisualTypes();
|
||||||
|
@@ -834,7 +908,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
} else if (!fPtr->shadowFB) {
|
||||||
|
/* FIXME: this doesn't work for all cases, e.g. when each scanline
|
||||||
|
has a padding which is independent from the depth (controlfb) */
|
||||||
|
- pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
|
||||||
|
+ pScrn->displayWidth = my_fbdevHWGetLineLength(pScrn) /
|
||||||
|
(pScrn->bitsPerPixel / 8);
|
||||||
|
|
||||||
|
if (pScrn->displayWidth != pScrn->virtualX) {
|
||||||
|
@@ -862,7 +936,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- switch ((type = fbdevHWGetType(pScrn)))
|
||||||
|
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||||
|
{
|
||||||
|
case FBDEVHW_PACKED_PIXELS:
|
||||||
|
switch (pScrn->bitsPerPixel) {
|
||||||
|
@@ -870,7 +944,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
case 16:
|
||||||
|
case 24:
|
||||||
|
case 32:
|
||||||
|
- ret = fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
|
||||||
|
+ ret = my_fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
|
||||||
|
: fPtr->fbstart, pScrn->virtualX,
|
||||||
|
pScrn->virtualY, pScrn->xDpi,
|
||||||
|
pScrn->yDpi, pScrn->displayWidth,
|
||||||
|
@@ -935,7 +1009,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* must be after RGB ordering fixed */
|
||||||
|
- if (init_picture && !fbPictureInit(pScreen, NULL, 0))
|
||||||
|
+ if (init_picture && !my_fbPictureInit(pScreen, NULL, 0))
|
||||||
|
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
|
||||||
|
"Render extension initialisation failed\n");
|
||||||
|
|
||||||
|
@@ -966,7 +1040,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||||
|
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
|
||||||
|
|
||||||
|
/* colormap */
|
||||||
|
- switch ((type = fbdevHWGetType(pScrn)))
|
||||||
|
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||||
|
{
|
||||||
|
/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
|
||||||
|
case FBDEVHW_PACKED_PIXELS:
|
||||||
|
@@ -1032,10 +1106,10 @@ FBDevCloseScreen(CLOSE_SCREEN_ARGS_DECL)
|
||||||
|
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||||
|
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||||
|
|
||||||
|
- fbdevHWRestore(pScrn);
|
||||||
|
- fbdevHWUnmapVidmem(pScrn);
|
||||||
|
+ my_fbdevHWRestore(pScrn);
|
||||||
|
+ my_fbdevHWUnmapVidmem(pScrn);
|
||||||
|
if (fPtr->shadow) {
|
||||||
|
- shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
|
||||||
|
+ my_shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
|
||||||
|
free(fPtr->shadow);
|
||||||
|
fPtr->shadow = NULL;
|
||||||
|
}
|
||||||
|
@@ -1070,7 +1144,7 @@ FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
|
||||||
|
if (fPtr->lineLength)
|
||||||
|
*size = fPtr->lineLength;
|
||||||
|
else
|
||||||
|
- *size = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
|
||||||
|
+ *size = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
|
||||||
|
|
||||||
|
return ((CARD8 *)fPtr->fbstart + row * fPtr->lineLength + offset);
|
||||||
|
}
|
||||||
|
@@ -1225,7 +1299,7 @@ FBDevDGAAddModes(ScrnInfoPtr pScrn)
|
||||||
|
if (fPtr->lineLength)
|
||||||
|
pDGAMode->bytesPerScanline = fPtr->lineLength;
|
||||||
|
else
|
||||||
|
- pDGAMode->bytesPerScanline = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
|
||||||
|
+ pDGAMode->bytesPerScanline = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
|
||||||
|
|
||||||
|
pDGAMode->imageWidth = pMode->HDisplay;
|
||||||
|
pDGAMode->imageHeight = pMode->VDisplay;
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
@ -7,6 +7,6 @@ diff -up xf86-video-fbdev-0.4.3/src/fbdev.c.dma xf86-video-fbdev-0.4.3/src/fbdev
|
|||||||
|
|
||||||
+ pScreen->canDoBGNoneRoot = 1;
|
+ pScreen->canDoBGNoneRoot = 1;
|
||||||
+
|
+
|
||||||
if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
|
if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) {
|
||||||
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
|
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
|
||||||
" failed\n");
|
" failed\n");
|
@ -2,22 +2,21 @@
|
|||||||
%global moduledir %(pkg-config xorg-server --variable=moduledir )
|
%global moduledir %(pkg-config xorg-server --variable=moduledir )
|
||||||
%global driverdir %{moduledir}/drivers
|
%global driverdir %{moduledir}/drivers
|
||||||
|
|
||||||
%undefine _hardened_build
|
|
||||||
|
|
||||||
Summary: Xorg X11 fbdev video driver
|
Summary: Xorg X11 fbdev video driver
|
||||||
Name: xorg-x11-drv-fbdev
|
Name: xorg-x11-drv-fbdev
|
||||||
Version: 0.5.0
|
Version: 0.5.0
|
||||||
Release: 2%{?dist}
|
Release: 11%{?dist}
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: User Interface/X Hardware Support
|
|
||||||
|
|
||||||
Source0: https://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
|
Source0: https://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
|
||||||
|
|
||||||
ExcludeArch: s390 s390x
|
ExcludeArch: s390 s390x
|
||||||
|
|
||||||
|
Patch0: 0001-mustard-Enable-linking-with-z-now.patch
|
||||||
Patch2: BGNoneRoot.patch
|
Patch2: BGNoneRoot.patch
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
BuildRequires: xorg-x11-server-devel >= 1.10.99.902
|
BuildRequires: xorg-x11-server-devel >= 1.10.99.902
|
||||||
BuildRequires: autoconf automake libtool
|
BuildRequires: autoconf automake libtool
|
||||||
|
|
||||||
@ -29,6 +28,7 @@ X.Org X11 fbdev video driver.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{tarball}-%{version}
|
%setup -q -n %{tarball}-%{version}
|
||||||
|
%patch0 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -50,6 +50,35 @@ find $RPM_BUILD_ROOT -regex ".*\.la$" | xargs rm -f --
|
|||||||
%{_mandir}/man4/fbdev.4*
|
%{_mandir}/man4/fbdev.4*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 23 2022 Adam Jackson <ajax@redhat.com> - 0.5.0-11
|
||||||
|
- Enable hardened build
|
||||||
|
Resolves: rhbz#2044899
|
||||||
|
|
||||||
|
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.0-10
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.0-9
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Nov 5 09:57:16 AEST 2020 Peter Hutterer <peter.hutterer@redhat.com> - 0.5.0-7
|
||||||
|
- Add BuildRequires for make
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-8
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: manual.sst_graphics_infrastructure.xorg-x11-drv-fbdev.sanity}
|
|
Loading…
Reference in New Issue
Block a user