https://bugs.documentfoundation.org/show_bug.cgi?id=99207
V Stuart Foote <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|minor |normal --- Comment #6 from V Stuart Foote <[email protected]> --- (In reply to Michael Meeks from comment #5) > Oh amazing - presumably if it only works when GL is enabled, then this is > not a GL bug ? =) If that can be confirmed - please drop the 'Blocks' field > =) OK, it is not strictly an issue with enabling OpenGL rendering, and looks to be in the GraphiteWinLayout area of winlayout.cxx Down side seems that when OpenGL is enabled, the coloring of fonts issue resolves, but performance when Graphite fonts are used becomes *very* sluggish to the point of the entire GUI being unusable. Otherwise, for folks with GPUs blacklisted for OpenGL use, they will only be seeing discolored Graphite fonts. Here is the top of a WinDbg 64bit stack trace of 64-bit 5.1.2.2 running in OpenGL mode and sluggish with any canvas redraw. 0:017> ~* kp 0 Id: 1a1c.1b40 Suspend: 1 Teb: 00000021`5a35a000 Unfrozen Child-SP RetAddr Call Site 00000021`5ad8cce8 00007ff9`c6ec3ce0 GDI32!NtGdiRestoreDC+0x14 00000021`5ad8ccf0 00007ff9`bf2fd050 GDI32!RestoreDC+0xa0 00000021`5ad8cd80 00007ff9`bf29d55e D2d1!BitmapRealization::ReleaseDC+0x64 00000021`5ad8cde0 00007ff9`bf29d255 D2d1!DCRenderTargetHelper::PresentToDC+0x12e 00000021`5ad8cea0 00007ff9`bf2f2328 D2d1!DCPresenter::Present+0x65 00000021`5ad8cee0 00007ff9`bf2bec80 D2d1!DrawingContext::EndDraw+0xe4 00000021`5ad8cf30 00007ff9`a34f02ff D2d1!D2DDeviceContextBase<ID2D1DCRenderTarget,ID2D1DCRenderTarget,ID2D1DeviceContext3>::EndDraw+0xa0 00000021`5ad8cf80 00007ff9`a34f3ac4 mergedlo!D2DWriteTextOutRenderer::operator()(class WinLayout * rLayout = 0x00007ff9`c6ec021f, struct HDC__ * hDC = 0x0000016b`000001d6, class Rectangle * pRectToErase = 0x00000000`00000000, class Point * pPos = 0x00000021`5ad8d138, int * pGetNextGlypInfo = 0x00000021`5ad8d120)+0x30f [c:\cygwin64\home\buildslave\source\libo-core\vcl\win\source\gdi\winlayout.cxx @ 3794] 00000021`5ad8d0b0 00007ff9`a34f3982 mergedlo!GraphiteWinLayout::DrawTextImpl(struct HDC__ * hDC = 0x00000021`5ad8d1c9, class Rectangle * pRectToErase = 0x00000000`038a007c, class Point * pPos = 0x00000000`0099ff66, int * pGetNextGlypInfo = 0x00000021`5ad8d120)+0x74 [c:\cygwin64\home\buildslave\source\libo-core\vcl\win\source\gdi\winlayout.cxx @ 4095] 00000021`5ad8d0f0 00007ff9`a3291cf7 mergedlo!WinLayout::DrawText(class SalGraphics * rGraphics = 0x00000000`00000000)+0x252 [c:\cygwin64\home\buildslave\source\libo-core\vcl\win\source\gdi\winlayout.cxx @ 1469] 00000021`5ad8d230 00007ff9`a3291020 mergedlo!OutputDevice::ImplDrawTextDirect(class SalLayout * rSalLayout = 0x00000181`6145d610, bool bTextLines = true, unsigned long flags = 0x73d18a30)+0x107 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\text.cxx @ 337] 00000021`5ad8d290 00007ff9`a328d78b mergedlo!OutputDevice::ImplDrawText(class SalLayout * rSalLayout = 0x00000181`6145d610)+0xa0 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\text.cxx @ 493] 00000021`5ad8d2c0 00007ff9`9ee3f33a mergedlo!OutputDevice::DrawTextArray(class Point * rStartPt = 0x00000181`61ef5fcc, class rtl::OUString * rStr = 0x00000021`5ad8d640, long * pDXAry = 0x00007ff9`9ea42baa, long nIndex = 0n1, long nLen = 0n103, SalLayoutFlags flags = NONE (0n0))+0x12b [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\text.cxx @ 991] 00000021`5ad8d380 00007ff9`9ee610ec swlo!SwFntObj::DrawText(class SwDrawTextInfo * rInf = 0x00007ff9`b83cc600)+0x1d3a [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\txtnode\fntcache.cxx @ 1770] 00000021`5ad8d500 00007ff9`9edcffc4 swlo!SwSubFont::_DrawText(class SwDrawTextInfo * rInf = 0x00000021`5ad8d640, bool bGrey = true)+0x1ac [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\txtnode\swfont.cxx @ 1203] 00000021`5ad8d5d0 00007ff9`9edfeaad swlo!SwTextPaintInfo::_DrawText(class rtl::OUString * rText = 0x00000181`65d5c780, class SwLinePortion * rPor = 0x00000000`00000000, long nStart = 0n213, long nLength = 0n103, bool bKern = false, bool bWrong = false, bool bSmartTag = false, bool bGrammarCheck = false)+0x6a4 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\text\inftxt.cxx @ 726] 00000021`5ad8d780 00007ff9`9ede3781 swlo!SwTextPortion::Paint(class SwTextPaintInfo * rInf = 0x00000021`5ad8d899)+0x20d [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\text\portxt.cxx @ 555] 00000021`5ad8d7f0 00007ff9`9edc6ea2 swlo!SwTextPainter::DrawTextLine(class SwRect * rPaint = 0x00000021`0000247f, class SwSaveClip * rClip = 0x00000021`5ad8d9a0, bool bUnderSz = false)+0x8e1 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\text\itrpaint.cxx @ 392] 00000021`5ad8d900 00007ff9`9ed3afc0 swlo!SwTextFrame::Paint(class OutputDevice * rRenderContext = 0x00000021`5ad8e530, class SwRect * rRect = 0x00000181`0000170f, class SwPrintData * __formal = 0x00000181`65e1a510)+0x412 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\text\frmpaint.cxx @ 693] 00000021`5ad8e4f0 00007ff9`9ed3afc0 swlo!SwLayoutFrame::Paint(class OutputDevice * rRenderContext = 0x00000181`7312e7a0, class SwRect * rRect = 0x00000181`65e19000, class SwPrintData * __formal = 0x00007ff9`9fd2ee00)+0x2c0 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\layout\paintfrm.cxx @ 3673] 00000021`5ad8e5c0 00007ff9`9ed3ba33 swlo!SwLayoutFrame::Paint(class OutputDevice * rRenderContext = 0x00000181`7312e7a0, class SwRect * rRect = 0x00000181`61c42a50, class SwPrintData * __formal = 0x00007ff9`9fd7e330)+0x2c0 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\layout\paintfrm.cxx @ 3673] 00000021`5ad8e690 00007ff9`9f04b1fe swlo!SwRootFrame::Paint(class OutputDevice * rRenderContext = 0x00000181`7312e7a0, class SwRect * rRect = 0x00000181`7312e7a0, class SwPrintData * pPrintData = 0x00000000`00000000)+0x963 [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\layout\paintfrm.cxx @ 3394] 00000021`5ad8e9a0 00007ff9`9ea5d8eb swlo!SwViewShell::Paint(class OutputDevice * rRenderContext = 0x00000181`61c42a50, class Rectangle * rRect = 0x00000181`61504900)+0x2ae [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\view\viewsh.cxx @ 1803] 00000021`5ad8ea70 00007ff9`9f1dce3f swlo!SwCursorShell::Paint(class OutputDevice * rRenderContext = 0x00000181`7628d010, class Rectangle * rRect = 0x00007ff9`a34d17da)+0xcb [c:\cygwin64\home\buildslave\source\libo-core\sw\source\core\crsr\crsrsh.cxx @ 1280] 00000021`5ad8eb10 00007ff9`a30c38f8 swlo!SwEditWin::Paint(class OutputDevice * rRenderContext = 0x00000181`73131558, class Rectangle * rRect = 0x00000181`73131320)+0xff [c:\cygwin64\home\buildslave\source\libo-core\sw\source\uibase\docvw\edtwin2.cxx @ 473] 00000021`5ad8eb60 00007ff9`a30c45c0 mergedlo!PaintHelper::DoPaint(class vcl::Region * pRegion = 0x00000181`61504900)+0x228 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 306] 00000021`5ad8ec30 00007ff9`a30c33f1 mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000181`7312e7a0, unsigned short nPaintFlags = 0x4900)+0x1b0 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 608] 00000021`5ad8ece0 00007ff9`a30c45d3 mergedlo!PaintHelper::~PaintHelper(void)+0x91 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 546] 00000021`5ad8ed90 00007ff9`a30c33f1 mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000181`61dbce70, unsigned short nPaintFlags = 0x4900)+0x1c3 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 610] 00000021`5ad8ee40 00007ff9`a30c45d3 mergedlo!PaintHelper::~PaintHelper(void)+0x91 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 546] 00000021`5ad8eef0 00007ff9`a30c33f1 mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000181`61dbd5f0, unsigned short nPaintFlags = 0x4900)+0x1c3 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 610] 00000021`5ad8efa0 00007ff9`a30c45d3 mergedlo!PaintHelper::~PaintHelper(void)+0x91 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 546] 00000021`5ad8f050 00007ff9`a30c33f1 mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000181`72f21210, unsigned short nPaintFlags = 0x4900)+0x1c3 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 610] 00000021`5ad8f100 00007ff9`a30c45d3 mergedlo!PaintHelper::~PaintHelper(void)+0x91 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 546] 00000021`5ad8f1b0 00007ff9`a30c33f1 mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000181`61c1ecd0, unsigned short nPaintFlags = 0x4900)+0x1c3 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 610] 00000021`5ad8f260 00007ff9`a30c45d3 mergedlo!PaintHelper::~PaintHelper(void)+0x91 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 546] 00000021`5ad8f310 00007ff9`a30c43fa mergedlo!vcl::Window::ImplCallPaint(class vcl::Region * pRegion = 0x00000000`00000000, unsigned short nPaintFlags = 0)+0x1c3 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 610] 00000021`5ad8f3c0 00007ff9`a30c469b mergedlo!vcl::Window::ImplCallOverlapPaint(void)+0x9a [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 629] 00000021`5ad8f400 00007ff9`a3427c57 mergedlo!vcl::Window::ImplHandlePaintHdl(class Idle * __formal = 0x00000021`5a35a800)+0x8b [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\paint.cxx @ 659] 00000021`5ad8f440 00007ff9`a3427ca6 mergedlo!ImplSchedulerData::Invoke(void)+0x47 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\scheduler.cxx @ 41] 00000021`5ad8f470 00007ff9`a343bc23 mergedlo!Scheduler::ProcessTaskScheduling(bool bTimerOnly = true)+0x36 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\scheduler.cxx @ 171] 00000021`5ad8f4b0 00007ff9`a343a3dc mergedlo!ImplYield(bool i_bWait = true, bool i_bAllEvents = true, unsigned int64 nReleased = 0x00000181`61e3d9f0)+0x93 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svapp.cxx @ 522] 00000021`5ad8f510 00007ff9`a2485c82 mergedlo!Application::Execute(void)+0x14c [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svapp.cxx @ 470] 00000021`5ad8f560 00007ff9`a3442089 mergedlo!desktop::Desktop::Main(void)+0x1082 [c:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\app.cxx @ 1609] 00000021`5ad8f820 00007ff9`a3442422 mergedlo!ImplSVMain(void)+0x49 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svmain.cxx @ 170] 00000021`5ad8f860 00007ff9`a24a0fa5 mergedlo!SVMain(void)+0x32 [c:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svmain.cxx @ 208] *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files\LibreOffice 5\program\soffice.bin - 00000021`5ad8f890 00007ff6`258b102e mergedlo!soffice_main(void)+0x75 [c:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\sofficemain.cxx @ 96] 00000021`5ad8f940 00007ff6`258b139d soffice+0x102e 00000021`5ad8f970 00007ff9`c9428102 soffice!main+0x35d 00000021`5ad8f9b0 00007ff9`c9abc5b4 KERNEL32!BaseThreadInitThunk+0x22 00000021`5ad8f9e0 00000000`00000000 ntdll!RtlUserThreadStart+0x34 -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ Libreoffice-bugs mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
