in Skia raster mode cache even enlarging of images (tdf#134160)

Change-Id: I842b55cd922eb0e411fd7450e84224b41ba82a2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96989
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
(cherry picked from commit 4654ac5aa75abc59226e15d12e77bd9fa95f7528)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97004
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index b632f63..c33a035 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -1263,16 +1263,23 @@
{
    sk_sp<SkImage> image;
    OString key;
    // Probably not much point in caching of just doing a copy.
    if (alphaBitmap == nullptr && targetSize == bitmap.GetSize())
        blockCaching = true; // probably not much point in caching of just doing a copy
    if (targetSize.Width() > bitmap.GetSize().Width()
        || targetSize.Height() > bitmap.GetSize().Height())
        blockCaching = true; // caching enlarging is probably wasteful and not worth it
    if (bitmap.GetSize().Width() < 100 && bitmap.GetSize().Height() < 100)
        blockCaching = true; // image too small to be worth caching
        blockCaching = true;
    // Caching enlarging is probably wasteful and not worth it.
    // With Raster it may make a difference though (tdf#134160).
    if (SkiaHelper::renderMethodToUse() != SkiaHelper::RenderRaster
        && (targetSize.Width() > bitmap.GetSize().Width()
            || targetSize.Height() > bitmap.GetSize().Height()))
        blockCaching = true;
    // Image too small to be worth caching.
    if (bitmap.GetSize().Width() < 100 && bitmap.GetSize().Height() < 100
        && targetSize.Width() < 100 && targetSize.Height() < 100)
        blockCaching = true;
    // GPU-accelerated shouldn't need caching of applying alpha.
    if (SkiaHelper::renderMethodToUse() != SkiaHelper::RenderRaster
        && targetSize == bitmap.GetSize())
        blockCaching = true; // GPU-accelerated shouldn't need caching of applying alpha
        blockCaching = true;
    if (!blockCaching)
    {
        OStringBuffer keyBuf;