configure.ac | 2 - src/via_driver.c | 14 ------- src/via_ums.c | 101 +++++++++++++++++++++++++++++-------------------------- 3 files changed, 56 insertions(+), 61 deletions(-)
New commits: commit afc59f3c8c0563f20c9a969f2d71ec21a597d548 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Feb 12 13:45:29 2020 -0800 Version bumped to 0.6.214 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/configure.ac b/configure.ac index 959e6d2..0ec07f2 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-openchrome], - [0.6.213], + [0.6.214], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome], [xf86-video-openchrome]) commit 8a0d281263abcf8c970687946af8280f4d3c59cb Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Feb 12 13:41:53 2020 -0800 Handle more of screen initialization inside viaUMSCreate() Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_driver.c b/src/via_driver.c index 98767fa..4733c04 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -1493,20 +1493,6 @@ VIAScreenInit(SCREEN_INIT_ARGS_DECL) if (!viaUMSCreate(pScrn)) { return FALSE; } - -#ifdef HAVE_DRI - if (pVia->directRenderingType == DRI_1) { - if (!VIADRIKernelInit(pScrn)) { - return FALSE; - } - } -#endif - } - - if (!pVia->NoAccel) { - if (!viaInitExa(pScreen)) { - return FALSE; - } } if ((!pVia->NoAccel) && diff --git a/src/via_ums.c b/src/via_ums.c index 1ddd74b..c646796 100644 --- a/src/via_ums.c +++ b/src/via_ums.c @@ -698,63 +698,72 @@ viaUMSCreate(ScrnInfoPtr pScrn) #ifdef HAVE_DRI if (pVia->directRenderingType == DRI_1) { - /* In the case of DRI we handle all VRAM by the DRI ioctls */ - if (pVia->useEXA) - goto exit; - - /* XAA has to use FBManager so we have to split the space with DRI */ - maxY = pScrn->virtualY + (pVia->driSize / pVia->Bpl); + if (!VIADRIKernelInit(pScrn)) { + return FALSE; + } } else #endif + { maxY = pVia->FBFreeEnd / pVia->Bpl; - /* FBManager can't handle more than 32767 scan lines */ - if (maxY > 32767) - maxY = 32767; + /* FBManager can't handle more than 32767 scan lines */ + if (maxY > 32767) + maxY = 32767; + + AvailFBArea.x1 = 0; + AvailFBArea.y1 = 0; + AvailFBArea.x2 = pScrn->displayWidth; + AvailFBArea.y2 = maxY; + pVia->FBFreeStart = (AvailFBArea.y2 + 1) * pVia->Bpl; + + /* + * Initialization of the XFree86 framebuffer manager is done + * via Bool xf86InitFBManager(ScreenPtr pScreen, + * BoxPtr FullBox). FullBox represents the area of the + * frame buffer that the manager is allowed to manage. + * This is typically a box with a width of pScrn->displayWidth + * and a height of as many lines as can be fit within the + * total video memory. + */ + ret = xf86InitFBManager(pScreen, &AvailFBArea); + if (!ret) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "xf86InitFBManager initialization failed.\n"); + goto exit; + } - AvailFBArea.x1 = 0; - AvailFBArea.y1 = 0; - AvailFBArea.x2 = pScrn->displayWidth; - AvailFBArea.y2 = maxY; - pVia->FBFreeStart = (AvailFBArea.y2 + 1) * pVia->Bpl; + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Frame buffer from (%d,%d) to (%d,%d).\n", + AvailFBArea.x1, AvailFBArea.y1, + AvailFBArea.x2, AvailFBArea.y2)); + + offset = (pVia->FBFreeStart + + ((pScrn->bitsPerPixel >> 3) - 1)) / + (pScrn->bitsPerPixel >> 3); + size = (pVia->FBFreeEnd / (pScrn->bitsPerPixel >> 3)) - offset; + + if (size > 0) { + ret = xf86InitFBManagerLinear(pScreen, offset, size); + if (!ret) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "xf86InitFBManagerLinear initialization " + "failed.\n"); + goto exit; + } + } - /* - * Initialization of the XFree86 framebuffer manager is done via - * Bool xf86InitFBManager(ScreenPtr pScreen, BoxPtr FullBox) - * FullBox represents the area of the framebuffer that the manager - * is allowed to manage. This is typically a box with a width of - * pScrn->displayWidth and a height of as many lines as can be fit - * within the total video memory. - */ - ret = xf86InitFBManager(pScreen, &AvailFBArea); - if (!ret) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "xf86InitFBManager initialization failed.\n"); - goto exit; + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Using %d lines for off screen memory.\n", + AvailFBArea.y2 - pScrn->virtualY)); } - DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, - "Frame buffer from (%d,%d) to (%d,%d).\n", - AvailFBArea.x1, AvailFBArea.y1, - AvailFBArea.x2, AvailFBArea.y2)); - - offset = (pVia->FBFreeStart + ((pScrn->bitsPerPixel >> 3) - 1)) / - (pScrn->bitsPerPixel >> 3); - size = (pVia->FBFreeEnd / (pScrn->bitsPerPixel >> 3)) - offset; - - if (size > 0) { - ret = xf86InitFBManagerLinear(pScreen, offset, size); - if (!ret) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "xf86InitFBManagerLinear initialization " - "failed.\n"); - goto exit; + if ((!pVia->NoAccel) && (pVia->useEXA)) { + if (!viaInitExa(pScreen)) { + ret = FALSE; } } - DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, - "Using %d lines for off screen memory.\n", - AvailFBArea.y2 - pScrn->virtualY)); + exit: return ret; } _______________________________________________ openchrome-devel mailing list openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel