download.lst                                      |    4 
 external/skia/Library_skia.mk                     |    4 
 external/skia/UnpackedTarball_skia.mk             |    1 
 external/skia/fix-SkDebugf-link-error.patch.1     |   27 ++---
 external/skia/fix-windows-dwrite.patch.1          |   16 +--
 external/skia/fix-windows-operator-equals.patch.1 |  113 ----------------------
 external/skia/share-grcontext.patch.1             |   62 ++++--------
 external/skia/windows-define-conflict.patch.1     |    8 -
 vcl/skia/gdiimpl.cxx                              |    2 
 9 files changed, 55 insertions(+), 182 deletions(-)

New commits:
commit caa0397cf9393746983498802c438603047df19a
Author:     Xisco Fauli <[email protected]>
AuthorDate: Thu Feb 19 14:57:35 2026 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Fri Feb 20 08:33:17 2026 +0100

    skia: upgrade to m146
    
    * fix-windows-operator-equals.patch.1 has been fixed upstream
    
    Change-Id: If83e9afddbebf37246fda240acafc8ecec370d5d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199726
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Jenkins

diff --git a/download.lst b/download.lst
index a4f21573ec82..53a49a3b2d27 100644
--- a/download.lst
+++ b/download.lst
@@ -652,8 +652,8 @@ RHINO_TARBALL := rhino-1.7.15.1.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-SKIA_SHA256SUM := 
a0e8f2e0616436414a8cadf647808bf2c4017c787d7851adc189b541298dae8c
-SKIA_TARBALL := skia-m145-2ab8add5be2c46eb6238f4c217f6d6dbc9bccd23.tar.xz
+SKIA_SHA256SUM := 
7828d116bc021010e0f81f6387fc27001ea11eee4efdfe5ebf7b168c392a5bb2
+SKIA_TARBALL := skia-m146-90228207f40ec85064f8b5c41fcdc2c0cf855ff2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index 619d35a43e5c..056fd4e59df6 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -129,6 +129,7 @@ $(eval $(call gb_Library_set_include,skia,\
     -I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/ \
     
-I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/include/ 
\
     -I$(gb_UnpackedTarball_workdir)/skia/src/gpu/vk/vulkanmemoryallocator/ \
+    -I$(gb_UnpackedTarball_workdir)/skia/src/ports/ \
     -I$(gb_UnpackedTarball_workdir)/skia/include/third_party/vulkan/ \
     -I$(SRCDIR)/external/skia/inc/ \
 ))
@@ -361,6 +362,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/base/SkContainers \
     UnpackedTarball/skia/src/base/SkCubics \
     UnpackedTarball/skia/src/base/SkDeque \
+    UnpackedTarball/skia/src/base/SkDebug \
     UnpackedTarball/skia/src/base/SkFloatingPoint \
     UnpackedTarball/skia/src/base/SkHalf \
     UnpackedTarball/skia/src/base/SkMalloc \
@@ -495,7 +497,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkPathRaw \
     UnpackedTarball/skia/src/core/SkPathRawShapes \
     UnpackedTarball/skia/src/core/SkPathUtils \
-    UnpackedTarball/skia/src/core/SkPath_pathdata \
     UnpackedTarball/skia/src/core/SkPath_serial \
     UnpackedTarball/skia/src/core/SkPixelRef \
     UnpackedTarball/skia/src/core/SkPixmap \
@@ -1066,6 +1067,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache \
     UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientShader \
     UnpackedTarball/skia/src/gpu/ganesh/image/GrImageUtils \
+    UnpackedTarball/skia/src/gpu/ganesh/image/GrMippedBitmap \
     UnpackedTarball/skia/src/gpu/ganesh/image/GrTextureGenerator \
     UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_Ganesh \
     UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_GaneshBase \
diff --git a/external/skia/UnpackedTarball_skia.mk 
b/external/skia/UnpackedTarball_skia.mk
index 246b4f2de0fd..29d88d399123 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -43,7 +43,6 @@ skia_patches := \
        0004-loong64-Fix-the-remaining-implicit-vector-casts.patch \
     msvc-unknown-attributes.patch.1 \
        fix-semaphore-include.patch.1 \
-       fix-windows-operator-equals.patch.1 \
        fix-xputimage-depth.patch.1 \
 
 ifneq ($(MSYSTEM),)
diff --git a/external/skia/fix-SkDebugf-link-error.patch.1 
b/external/skia/fix-SkDebugf-link-error.patch.1
index fe207f80d685..7546fb604f62 100644
--- a/external/skia/fix-SkDebugf-link-error.patch.1
+++ b/external/skia/fix-SkDebugf-link-error.patch.1
@@ -1,20 +1,21 @@
-diff -ur skia.org/src/ports/SkDebug_stdio.cpp skia/src/ports/SkDebug_stdio.cpp
---- skia.org/src/ports/SkDebug_stdio.cpp       2023-07-09 19:30:53.272682125 
+0200
-+++ skia/src/ports/SkDebug_stdio.cpp   2023-07-09 19:34:44.812723870 +0200
-@@ -5,6 +5,7 @@
-  * found in the LICENSE file.
-  */
+diff -ur skia/src/base/SkDebug.cpp skia/src/base/SkDebug.cpp
+--- skia/src/base/SkDebug.cpp  2023-07-09 19:30:53.272682125 +0200
++++ skia/src/base/SkDebug.cpp  2023-07-09 19:34:44.812723870 +0200
+@@ -7,7 +7,7 @@
+ #include "include/private/base/SkDebug.h"
  
+ #include <cstdarg>
+-
 +#include "include/private/base/SkAPI.h"
- #include "include/private/base/SkDebug.h"
- #include "include/private/base/SkFeatures.h"
- #include "include/private/base/SkLoadUserConfig.h"
-@@ -13,7 +14,7 @@
- #include <stdarg.h>
- #include <stdio.h>
+ #include "include/private/base/SkAssert.h" // IWYU pragma: keep
+ #include "include/private/base/SkAttributes.h" // IWYU pragma: keep
+ #include "include/private/base/SkLog.h"
+@@ -19,7 +19,7 @@
+ #endif
  
+ #if !defined(SkDebugf)
 -void SkDebugf(const char format[], ...) {
 +SK_API void SkDebugf(const char format[], ...) {
      va_list args;
      va_start(args, format);
- #pragma GCC diagnostic push
+     SkLogVAList(SkLogPriority::kDebug, format, args);
diff --git a/external/skia/fix-windows-dwrite.patch.1 
b/external/skia/fix-windows-dwrite.patch.1
index b5f216a5258d..651740efda19 100644
--- a/external/skia/fix-windows-dwrite.patch.1
+++ b/external/skia/fix-windows-dwrite.patch.1
@@ -22,19 +22,17 @@ diff --git a/src/ports/SkScalerContext_win_dw.cpp 
b/src/ports/SkScalerContext_wi
 index b2df467b22..385094e506 100644
 --- a/src/ports/SkScalerContext_win_dw.cpp
 +++ b/src/ports/SkScalerContext_win_dw.cpp
-@@ -778,6 +778,7 @@ void 
SkScalerContext_DW::generateFontMetrics(SkFontMetrics* metrics) {
+@@ -1883,11 +1883,13 @@
      metrics->fFlags |= SkFontMetrics::kStrikeoutThicknessIsValid_Flag;
      metrics->fFlags |= SkFontMetrics::kStrikeoutPositionIsValid_Flag;
  
 +#if defined(NTDDI_WIN10_RS3) && NTDDI_VERSION >= NTDDI_WIN10_RS3
-     SkTScopedComPtr<IDWriteFontFace5> fontFace5;
-     if 
(SUCCEEDED(this->getDWriteTypeface()->fDWriteFontFace->QueryInterface(&fontFace5)))
 {
-         if (fontFace5->HasVariations()) {
-@@ -785,6 +786,7 @@ void 
SkScalerContext_DW::generateFontMetrics(SkFontMetrics* metrics) {
-             metrics->fFlags |= SkFontMetrics::kBoundsInvalid_Flag;
-         }
+     IDWriteFontFace5* fontFace5 = 
this->getDWriteTypeface()->fDWriteFontFace5.get();
+     if (fontFace5 && fontFace5->HasVariations()) {
+         // The bounds are only valid for the default variation.
+         metrics->fFlags |= SkFontMetrics::kBoundsInvalid_Flag;
      }
 +#endif
  
-     if (this->getDWriteTypeface()->fDWriteFontFace1.get()) {
-         DWRITE_FONT_METRICS1 dwfm1;
+     IDWriteFontFace1* fontFace1 = 
this->getDWriteTypeface()->fDWriteFontFace1.get();
+     if (fontFace1) {
diff --git a/external/skia/fix-windows-operator-equals.patch.1 
b/external/skia/fix-windows-operator-equals.patch.1
deleted file mode 100644
index 5c99dd4797ba..000000000000
--- a/external/skia/fix-windows-operator-equals.patch.1
+++ /dev/null
@@ -1,113 +0,0 @@
-diff -ur skia.org/include/core/SkColorSpace.h skia/include/core/SkColorSpace.h
---- skia.org/include/core/SkColorSpace.h       2026-01-27 09:40:11.413189600 
+0200
-+++ skia/include/core/SkColorSpace.h   2026-01-27 09:45:24.942227100 +0200
-@@ -37,6 +37,11 @@
-      *  representation of SkColorSpace.
-      */
-     bool toXYZD50(skcms_Matrix3x3* toXYZD50) const;
-+
-+    bool operator==(const SkColorSpacePrimaries& other) const {
-+        return fRX == other.fRX && fRY == other.fRY && fGX == other.fGX && 
fGY == other.fGY &&
-+               fBX == other.fBX && fBY == other.fBY && fWX == other.fWX && 
fWY == other.fWY;
-+    }
- };
- 
- namespace SkNamedPrimaries {
-diff -ur skia.org/include/private/SkHdrMetadata.h 
skia/include/private/SkHdrMetadata.h
---- skia.org/include/private/SkHdrMetadata.h   2026-01-27 09:40:11.335068400 
+0200
-+++ skia/include/private/SkHdrMetadata.h       2026-01-27 09:53:46.338379800 
+0200
-@@ -141,12 +141,20 @@
-             float fX = 0.f;
-             float fY = 0.f;
-             float fM = 0.f;
-+
-+            bool operator==(const ControlPoint& other) const {
-+                return fX == other.fX && fY == other.fY && fM == other.fM;
-+            }
-         };
- 
-         // The size of this vector is the value of the 
GainCurveNumControlPoints metadata item.
-         static constexpr size_t kMinNumControlPoints = 1u;
-         static constexpr size_t kMaxNumControlPoints = 32u;
-         std::vector<ControlPoint> fControlPoints;
-+
-+        bool operator==(const GainCurve& other) const {
-+            return fControlPoints == other.fControlPoints;
-+        }
-     };
- 
-     // A ComponentMix metadata group.
-@@ -158,6 +166,11 @@
-         float fMax = 0.f;
-         float fMin = 0.f;
-         float fComponent = 0.f;
-+
-+        bool operator==(const ComponentMixingFunction& other) const {
-+            return fRed == other.fRed && fGreen == other.fGreen && fBlue == 
other.fBlue &&
-+                   fMax == other.fMax && fMin == other.fMin && fComponent == 
other.fComponent;
-+        }
-     };
- 
-     // A ColorGainFunction metadata group.
-@@ -167,6 +180,10 @@
- 
-         // The GainCurve metadata group.
-         GainCurve fGainCurve;
-+
-+        bool operator==(const ColorGainFunction& other) const {
-+            return fComponentMixing == other.fComponentMixing && fGainCurve 
== other.fGainCurve;
-+        }
-     };
- 
-     // Structure holding the metadata items and groups for an alternate image.
-@@ -176,6 +193,10 @@
- 
-         // The ColorGainFunction metadata group.
-         ColorGainFunction fColorGainFunction;
-+
-+        bool operator==(const AlternateImage& other) const {
-+            return fHdrHeadroom == other.fHdrHeadroom && fColorGainFunction 
== other.fColorGainFunction;
-+        }
-     };
- 
-     // HeadroomAdaptiveToneMap metadata group.
-@@ -192,6 +213,12 @@
-         // The size of this vector is the NumAlternateImages metadata item.
-         static constexpr size_t kMaxNumAlternateImages = 4u;
-         std::vector<AlternateImage> fAlternateImages;
-+
-+        bool operator==(const HeadroomAdaptiveToneMap& other) const {
-+            return fBaselineHdrHeadroom == other.fBaselineHdrHeadroom &&
-+                   fGainApplicationSpacePrimaries == 
other.fGainApplicationSpacePrimaries &&
-+                   fAlternateImages == other.fAlternateImages;
-+        }
-     };
- 
-     // The default value for the HdrReferenceWhite metadata item.
-@@ -218,7 +245,10 @@
-      */
-     SkString toString() const;
- 
--    bool operator==(const AdaptiveGlobalToneMap& other) const;
-+    bool operator==(const AdaptiveGlobalToneMap& other) const {
-+        return fHdrReferenceWhite == other.fHdrReferenceWhite &&
-+               fHeadroomAdaptiveToneMap == other.fHeadroomAdaptiveToneMap;
-+    }
-     bool operator!=(const AdaptiveGlobalToneMap& other) const {
-         return !(*this == other);
-     }
-diff -ur skia.org/src/codec/SkHdrAgtmParse.cpp 
skia/src/codec/SkHdrAgtmParse.cpp
---- skia.org/src/codec/SkHdrAgtmParse.cpp      2026-01-27 09:40:06.084287800 
+0200
-+++ skia/src/codec/SkHdrAgtmParse.cpp  2026-01-27 09:56:03.168285100 +0200
-@@ -12,11 +12,6 @@
- 
- namespace {
- 
--// TODO(https://issuetracker.google.com/issues/40044808): Include operator== 
in SkColorSpace.h.
--bool operator==(const SkColorSpacePrimaries& a, const SkColorSpacePrimaries& 
b) {
--    return memcmp(&a, &b, sizeof(a)) == 0;
--}
--
- // Return x clamped to [a, b].
- template<typename T, typename U, typename V>
- T clamp(T x, U a, V b) {
diff --git a/external/skia/share-grcontext.patch.1 
b/external/skia/share-grcontext.patch.1
index 33ac0d303205..bc0d561fb6ce 100644
--- a/external/skia/share-grcontext.patch.1
+++ b/external/skia/share-grcontext.patch.1
@@ -306,7 +306,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
  
      PFN_vkGetPhysicalDeviceProperties localGetPhysicalDeviceProperties =
              reinterpret_cast<PFN_vkGetPhysicalDeviceProperties>(
-@@ -86,23 +100,42 @@
+@@ -86,23 +100,35 @@
                                              backendContext.fInstance,
                                              VK_NULL_HANDLE));
      if (!localGetPhysicalDeviceProperties) {
@@ -342,14 +342,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
      }
 +
 +    backendContext.fMemoryAllocator =
-+            skgpu::VulkanAMDMemoryAllocator::Make(d->fInstance,
-+                                                  
backendContext.fPhysicalDevice,
-+                                                  backendContext.fDevice,
-+                                                  physDevVersion,
-+                                                  &extensions,
-+                                                  d->fInterface.get(),
-+                                                  skgpu::ThreadSafe::kNo,
-+                                                  /*blockSize=*/std::nullopt);
++            skgpu::VulkanMemoryAllocators::Make(backendContext, 
skgpu::ThreadSafe::kNo);
 +
 +    fShared = fGlobalShared;
 +    } // if( !fShared )
@@ -359,7 +352,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
      GET_PROC(DestroySurfaceKHR);
      GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
      GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
-@@ -110,7 +143,6 @@
+@@ -110,7 +136,6 @@
      GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
      GET_DEV_PROC(DeviceWaitIdle);
      GET_DEV_PROC(QueueWaitIdle);
@@ -367,26 +360,20 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
      GET_DEV_PROC(CreateSwapchainKHR);
      GET_DEV_PROC(DestroySwapchainKHR);
      GET_DEV_PROC(GetSwapchainImagesKHR);
-@@ -118,27 +150,22 @@
+@@ -118,20 +143,22 @@
      GET_DEV_PROC(QueuePresentKHR);
      GET_DEV_PROC(GetDeviceQueue);
  
 -    backendContext.fMemoryAllocator =
--            skgpu::VulkanAMDMemoryAllocator::Make(fInstance,
--                                                  
backendContext.fPhysicalDevice,
--                                                  backendContext.fDevice,
--                                                  physDevVersion,
--                                                  &extensions,
--                                                  fInterface.get(),
--                                                  skgpu::ThreadSafe::kNo,
--                                                  /*blockSize=*/std::nullopt);
+-            skgpu::VulkanMemoryAllocators::Make(backendContext, 
skgpu::ThreadSafe::kNo);
 -
 -    fContext = GrDirectContexts::MakeVulkan(backendContext, 
fDisplayParams->grContextOptions());
+-
+-    fDeviceSurface = fCreateVkSurfaceFn(fInstance);
 +    // No actual window, used just to create the shared GrContext.
 +    if(fCreateVkSurfaceFn == nullptr)
 +        return;
- 
--    fDeviceSurface = fCreateVkSurfaceFn(fInstance);
++ 
 +    fDeviceSurface = fCreateVkSurfaceFn(fShared->fInstance);
      if (VK_NULL_HANDLE == fDeviceSurface) {
          this->destroyContext();
@@ -397,14 +384,13 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
 +    fGetDeviceQueue(fShared->fDevice, fShared->fPresentQueueIndex, 0, 
&fPresentQueue);
 +
      VkBool32 supported;
--    VkResult res = fGetPhysicalDeviceSurfaceSupportKHR(
+     VkResult res = fGetPhysicalDeviceSurfaceSupportKHR(
 -            fPhysicalDevice, fPresentQueueIndex, fDeviceSurface, &supported);
-+    VkResult res = fGetPhysicalDeviceSurfaceSupportKHR(
 +            fShared->fPhysicalDevice, fShared->fPresentQueueIndex, 
fDeviceSurface, &supported);
      if (VK_SUCCESS != res) {
          this->destroyContext();
          return;
-@@ -148,20 +175,18 @@
+@@ -141,20 +168,18 @@
          this->destroyContext();
          return;
      }
@@ -427,7 +413,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                                nullptr);
      if (VK_SUCCESS != res) {
          return false;
-@@ -169,14 +194,14 @@
+@@ -162,14 +187,14 @@
  
      SkAutoMalloc surfaceFormatAlloc(surfaceFormatCount * 
sizeof(VkSurfaceFormatKHR));
      VkSurfaceFormatKHR* surfaceFormats = 
(VkSurfaceFormatKHR*)surfaceFormatAlloc.get();
@@ -444,7 +430,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                                     nullptr);
      if (VK_SUCCESS != res) {
          return false;
-@@ -184,7 +209,7 @@
+@@ -177,7 +202,7 @@
  
      SkAutoMalloc presentModeAlloc(presentModeCount * 
sizeof(VkPresentModeKHR));
      VkPresentModeKHR* presentModes = 
(VkPresentModeKHR*)presentModeAlloc.get();
@@ -453,7 +439,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                                     presentModes);
      if (VK_SUCCESS != res) {
          return false;
-@@ -296,8 +321,8 @@
+@@ -289,8 +314,8 @@
      swapchainCreateInfo.imageArrayLayers = 1;
      swapchainCreateInfo.imageUsage = usageFlags;
  
@@ -464,7 +450,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
          swapchainCreateInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT;
          swapchainCreateInfo.queueFamilyIndexCount = 2;
          swapchainCreateInfo.pQueueFamilyIndices = queueFamilies;
-@@ -313,16 +338,16 @@
+@@ -306,16 +331,16 @@
      swapchainCreateInfo.clipped = true;
      swapchainCreateInfo.oldSwapchain = fSwapchain;
  
@@ -484,7 +470,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
          swapchainCreateInfo.oldSwapchain = VK_NULL_HANDLE;
      }
      // If buffer creation fails, destroy the swapchain.
-@@ -330,9 +355,9 @@
+@@ -323,9 +348,9 @@
                                         usageFlags,
                                         colorType,
                                         swapchainCreateInfo.imageSharingMode)) 
{
@@ -496,7 +482,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
          swapchainCreateInfo.oldSwapchain = VK_NULL_HANDLE;
          return false;
      }
-@@ -346,13 +371,13 @@
+@@ -339,13 +364,13 @@
                                                    VkSharingMode sharingMode) {
      // Determine number of swapchain images
      uint32_t swapchainImgCount;
@@ -512,7 +498,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
  
      // Populate all swapchain image representations
      fImages = 
skia_private::AutoTArray<SwapchainImage>((size_t)swapchainImgCount);
-@@ -365,8 +390,8 @@
+@@ -358,8 +383,8 @@
          static const VkSemaphoreCreateInfo submitSemInfo =
                  {VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, /*pNext=*/nullptr, 
/*flags=*/0};
          SkDEBUGCODE(VkResult result = )GR_VK_CALL(
@@ -523,7 +509,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                  &submitSemInfo,
                                  /*pAllocator=*/nullptr,
                                  &fImages[i].fRenderCompletionSemaphore));
-@@ -379,7 +404,7 @@
+@@ -372,7 +397,7 @@
          info.fFormat = format;
          info.fImageUsageFlags = usageFlags;
          info.fLevelCount = 1;
@@ -532,7 +518,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
          info.fProtected = 
skgpu::Protected(fDisplayParams->createProtectedNativeBackend());
          info.fSharingMode = sharingMode;
  
-@@ -429,7 +454,7 @@
+@@ -422,7 +447,7 @@
      info.fNumSemaphores = 1;
      info.fSignalSemaphores = &backendRenderSemaphore;
      skgpu::MutableTextureState presentState = 
skgpu::MutableTextureStates::MakeVulkan(
@@ -541,7 +527,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
      auto dContext = surface->recordingContext()->asDirectContext();
      dContext->flush(surface, info, &presentState);
      dContext->submit();
-@@ -443,7 +468,7 @@
+@@ -436,7 +461,7 @@
      // Clean up the image's semaphores
      for (size_t i = 0; i < fImages.size(); i++) {
          if (fImages[i].fRenderCompletionSemaphore != VK_NULL_HANDLE) {
@@ -550,7 +536,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                                      
fImages[i].fRenderCompletionSemaphore,
                                                      /*pAllocator=*/nullptr));
          }
-@@ -459,42 +484,58 @@
+@@ -452,42 +477,58 @@
  void VulkanWindowContext::destroyContext() {
      if (this->isValid()) {
          fQueueWaitIdle(fPresentQueue);
@@ -623,7 +609,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
  }
  
  sk_sp<SkSurface> VulkanWindowContext::getBackbufferSurface() {
-@@ -502,12 +543,12 @@
+@@ -495,12 +536,12 @@
      static const VkSemaphoreCreateInfo acquireSemInfo =
              { VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, /*pNext=*/nullptr, 
/*flags=*/0 };
      SkDEBUGCODE(VkResult result = )GR_VK_CALL(
@@ -639,7 +625,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
                                          fSwapchain,
                                          /*timeout=*/UINT64_MAX,
                                          fAcquireSemaphore,
-@@ -515,26 +556,26 @@
+@@ -508,26 +549,26 @@
                                          &fCurrentImageIndex);
      if (VK_ERROR_SURFACE_LOST_KHR == res) {
          // TODO: Recreate fDeviceSurface using fCreateVkSurfaceFn, and then 
rebuild the swapchain
@@ -673,7 +659,7 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
              return nullptr;
          }
      }
-@@ -564,4 +605,6 @@
+@@ -557,4 +598,6 @@
      fQueuePresentKHR(fPresentQueue, &presentInfo);
  }
  
diff --git a/external/skia/windows-define-conflict.patch.1 
b/external/skia/windows-define-conflict.patch.1
index 20fde50786a0..bd4331b52e17 100644
--- a/external/skia/windows-define-conflict.patch.1
+++ b/external/skia/windows-define-conflict.patch.1
@@ -1,12 +1,12 @@
 diff -ur skia.org/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h 
skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h
 --- skia.org/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h       
2024-10-10 13:39:56.699879300 +0200
 +++ skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h   
2024-10-10 13:40:06.489885800 +0200
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
                                               VkDevice device,
                                               uint32_t physicalDeviceVersion,
                                               const VulkanExtensions* 
extensions,
 -                                             const VulkanInterface* interface,
 +                                             const VulkanInterface* 
vinterface,
-                                              ThreadSafe,
-                                              std::optional<VkDeviceSize> 
blockSize);
-
+                                              ThreadSafe);
+ 
+     ~VulkanAMDMemoryAllocator() override;
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 6d40440c30d8..9437ea35bd32 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -34,7 +34,7 @@
 
 #include <SkBitmap.h>
 #include <SkCanvas.h>
-#include <SkGradientShader.h>
+#include <SkGradient.h>
 #include <SkPathBuilder.h>
 #include <SkRegion.h>
 #include <SkPathEffect.h>

Reply via email to