vcl/skia/gdiimpl.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
New commits: commit 8caf02c848989c25dbe235f7d8a027928fafcc75 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sun Dec 31 11:45:27 2023 +0600 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Tue Jan 2 10:48:37 2024 +0100 tdf#158942: renderMethodToUseForSize may force raster surface Maybe there is a way to avoid this path for the situation of creating small raster surfaces like tooltips, but I have no clue how to do it. Change-Id: I5ab6ccad572e0efd682bf3ef850b68b6b1941537 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161460 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit 025a49a40a3c0c1be5bf4383e87a1cc60014b7f4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161418 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 485eaf24618d..d7028b959842 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -415,7 +415,10 @@ void SkiaSalGraphicsImpl::flushSurfaceToWindowContext() // for every swapBuffers(), for this reason mSurface is an offscreen surface // where we keep the contents (LO does not do full redraws). // So here blit the surface to the window context surface and then swap it. - assert(isGPU()); // Raster should always draw directly to backbuffer to save copying + + // Raster should always draw directly to backbuffer to save copying + // except for small sizes - see renderMethodToUseForSize + assert(isGPU() || (mSurface->width() <= 32 && mSurface->height() <= 32)); SkPaint paint; paint.setBlendMode(SkBlendMode::kSrc); // copy as is // We ignore mDirtyRect here, and mSurface already is in screenSurface coordinates,