external/skia/0001-AvoidCombiningExtrememelyLargeMeshes.patch.1 |   34 
++++++++++
 external/skia/UnpackedTarball_skia.mk                           |    1 
 2 files changed, 35 insertions(+)

New commits:
commit a7736c8f3bc795696192692cd652afb5fa004091
Author:     Caolán McNamara <[email protected]>
AuthorDate: Wed Nov 29 16:17:44 2023 +0000
Commit:     Michael Stahl <[email protected]>
CommitDate: Mon Dec 11 13:34:54 2023 +0100

    backport skia "Avoid combining extremely large meshes" fix
    
    Change-Id: Iaedd03ba4014b133bc28a4b0a6a7b6aaaaa39a97
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160115
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit f1b017b19918df3406e77992ff499207235952c0)

diff --git a/external/skia/0001-AvoidCombiningExtrememelyLargeMeshes.patch.1 
b/external/skia/0001-AvoidCombiningExtrememelyLargeMeshes.patch.1
new file mode 100644
index 000000000000..ca58048a75f0
--- /dev/null
+++ b/external/skia/0001-AvoidCombiningExtrememelyLargeMeshes.patch.1
@@ -0,0 +1,34 @@
+From 6169a1fabae1743709bc9641ad43fcbb6a4f62e1 Mon Sep 17 00:00:00 2001
+From: John Stiles <[email protected]>
+Date: Fri, 24 Nov 2023 09:40:11 -0500
+Subject: [PATCH] Avoid combining extremely large meshes.
+
+Bug: chromium:1505053
+Change-Id: I42f2ff872bbf054686ec7af0cc85ff63055fcfbf
+Reviewed-on: https://skia-review.googlesource.com/c/skia/+/782936
+Commit-Queue: Michael Ludwig <[email protected]>
+Reviewed-by: Michael Ludwig <[email protected]>
+Auto-Submit: John Stiles <[email protected]>
+---
+ src/gpu/ganesh/ops/DrawMeshOp.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/gpu/ganesh/ops/DrawMeshOp.cpp 
b/src/gpu/ganesh/ops/DrawMeshOp.cpp
+index d827009b993..eed2757579e 100644
+--- a/src/gpu/ganesh/ops/DrawMeshOp.cpp
++++ b/src/gpu/ganesh/ops/DrawMeshOp.cpp
+@@ -1178,10 +1178,13 @@ GrOp::CombineResult MeshOp::onCombineIfPossible(GrOp* 
t, SkArenaAlloc*, const Gr
+         return CombineResult::kCannotCombine;
+     }
+ 
++    if (fVertexCount > INT32_MAX - that->fVertexCount) {
++        return CombineResult::kCannotCombine;
++    }
+     if (SkToBool(fIndexCount) != SkToBool(that->fIndexCount)) {
+         return CombineResult::kCannotCombine;
+     }
+-    if (SkToBool(fIndexCount) && fVertexCount + that->fVertexCount > 
SkToInt(UINT16_MAX)) {
++    if (SkToBool(fIndexCount) && fVertexCount > UINT16_MAX - 
that->fVertexCount) {
+         return CombineResult::kCannotCombine;
+     }
+ 
diff --git a/external/skia/UnpackedTarball_skia.mk 
b/external/skia/UnpackedTarball_skia.mk
index f88cb371d65c..162c66f6e9a4 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -39,6 +39,7 @@ skia_patches := \
     vk_mem_alloc.patch.1 \
     tdf148624.patch.1 \
     missing-include.patch.0 \
+    0001-AvoidCombiningExtrememelyLargeMeshes.patch.1 \
 
 $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
 

Reply via email to