diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2021-04-14 14:29:20 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2021-04-14 18:54:32 +0200 |
commit | 302fb4c1ec4a24112f9a2028be4d424891f10b4c (patch) | |
tree | 128a9df73b135fbec5b0ff0188ad50d5f6b2223b /vcl | |
parent | 3d64587c53eea47674d51e84622a167db1635909 (diff) |
Revert "update Skia to chrome/m91" (tdf#141680)
The m91 snapshot seems to cause a number of Vulkan problems.
My commit already worked around one, but there are apparently
others, such as very slow startup, or a failed Skia assertion
triggered by VCL Skia's copyArea().
This reverts commit 09d850e46903a528d4b08d3fdf03c3964d79fbc5.
Change-Id: I4f1832ba76db15cab8eccbe115d21c989da3c841
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114089
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/skia/gdiimpl.cxx | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index fd4f64e930cf..e2d4ff9a3800 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -1434,14 +1434,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl // with SkBlendMode::kDifference(?) and surfaces wider than 1024 pixels, resulting // in drawing errors. Work that around by fetching the relevant part of the surface // and drawing using CPU. - bool rasterHack = (isGPU() && getVendor() == DriverBlocklist::VendorIntel && !mXorMode); -#if defined LINUX - // With the chrome/m91 Skia version BackendTest::testDrawInvertTrackFrameWithRectangle() - // also has a problem with SkBlendMode::kDifference on AMD/Linux, leading to crashes or even - // driver instability. Also work around by drawing using CPU. - if (isGPU() && getVendor() == DriverBlocklist::VendorAMD && !mXorMode) - rasterHack = true; -#endif + bool intelHack = (isGPU() && getVendor() == DriverBlocklist::VendorIntel && !mXorMode); SkPath aPath; addPolygonToPath(rPoly, aPath); aPath.setFillType(SkPathFillType::kEvenOdd); @@ -1461,7 +1454,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl aPaint.setPathEffect(SkDashPathEffect::Make(intervals, SK_ARRAY_COUNT(intervals), 0)); aPaint.setColor(SkColorSetARGB(255, 255, 255, 255)); aPaint.setBlendMode(SkBlendMode::kDifference); - if (!rasterHack) + if (!intelHack) getDrawCanvas()->drawPath(aPath, aPaint); else { @@ -1512,7 +1505,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl aPaint.setShader( aBitmap.makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat, SkSamplingOptions())); } - if (!rasterHack) + if (!intelHack) getDrawCanvas()->drawPath(aPath, aPaint); else { |