diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-06-30 17:58:12 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-09-28 21:12:05 +0200 |
commit | a77b7d720e454e66b8e6abe65b7cf49de4a6a6d3 (patch) | |
tree | bfef01267a82c0b95fc046e63b41ae5364d5525a /vcl | |
parent | f4fa65c7847d0e1860eb473e253f4a027f15fa97 (diff) |
backport update Skia to chrome/m85 snapshot to libreoffice-7-0
This is for https://gerrit.libreoffice.org/c/core/+/103190 , I think
detecting silent misdrawings is a good enough reason. There haven't
been yet any problems with any Skia updates on master (at least
that I'm aware of), so I consider this worth it.
Change-Id: I3af3517c9c213e0db8365aecd0a008d817ca4dcf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97592
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
(cherry picked from commit 3dfc6d42edfd469436ad177ad1ebc5526679aa99)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103560
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/skia/gdiimpl.cxx | 6 | ||||
-rw-r--r-- | vcl/skia/win/gdiimpl.cxx | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 2f308ad8aba8..12a06b2c874e 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -361,7 +361,7 @@ void SkiaSalGraphicsImpl::destroySurface() // commands referring to the surface data. This is probably a Skia bug, // but work around it here. if (mSurface) - mSurface->flush(); + mSurface->flushAndSubmit(); mSurface.reset(); mWindowContext.reset(); mIsGPU = false; @@ -444,7 +444,7 @@ void SkiaSalGraphicsImpl::flushDrawing() checkPendingDrawing(); if (mXorMode) applyXor(); - mSurface->flush(); + mSurface->flushAndSubmit(); } bool SkiaSalGraphicsImpl::setClipRegion(const vcl::Region& region) @@ -827,7 +827,7 @@ void SkiaSalGraphicsImpl::performDrawPolyPolygon(const basegfx::B2DPolyPolygon& // only on Linux (not Windows on the same machine), with both AMDGPU and Mesa, // and only when antialiasing is enabled. Flushing seems to avoid the problem. if (useAA && SkiaHelper::getVendor() == DriverBlocklist::VendorAMD) - mSurface->flush(); + mSurface->flushAndSubmit(); #endif } diff --git a/vcl/skia/win/gdiimpl.cxx b/vcl/skia/win/gdiimpl.cxx index 6e3e99ec8937..a4cbe062f3a5 100644 --- a/vcl/skia/win/gdiimpl.cxx +++ b/vcl/skia/win/gdiimpl.cxx @@ -277,7 +277,7 @@ sk_sp<SkImage> SkiaCompatibleDC::getAsMaskImage() const // The data we got is upside-down. SkMatrix matrix; matrix.preTranslate(0, maRects.mnSrcHeight); - matrix.setConcat(matrix, SkMatrix::MakeScale(1, -1)); + matrix.setConcat(matrix, SkMatrix::Scale(1, -1)); canvas8.concat(matrix); canvas8.drawBitmap(tmpBitmap, 0, 0, &paint8); bitmap8.setImmutable(); @@ -307,7 +307,7 @@ sk_sp<SkImage> SkiaCompatibleDC::getAsImage() const // The data we got is upside-down. SkMatrix matrix; matrix.preTranslate(0, maRects.mnSrcHeight); - matrix.setConcat(matrix, SkMatrix::MakeScale(1, -1)); + matrix.setConcat(matrix, SkMatrix::Scale(1, -1)); canvas->concat(matrix); canvas->drawBitmapRect(tmpBitmap, SkRect::MakeXYWH(0, 0, maRects.mnSrcWidth, maRects.mnSrcHeight), @@ -358,7 +358,7 @@ sk_sp<SkImage> SkiaCompatibleDC::getAsImageDiff(const SkiaCompatibleDC& white) c // The data we got is upside-down. SkMatrix matrix; matrix.preTranslate(0, tmpBitmap.height()); - matrix.setConcat(matrix, SkMatrix::MakeScale(1, -1)); + matrix.setConcat(matrix, SkMatrix::Scale(1, -1)); canvas->concat(matrix); canvas->drawBitmap(tmpBitmap, 0, 0, &paint); canvas->restore(); |