Skip to content

Add native Graphite views and samples - #4734

Closed
mattleibow wants to merge 2 commits into
mainfrom
mattleibow-native-graphite-views
Closed

Add native Graphite views and samples#4734
mattleibow wants to merge 2 commits into
mainfrom
mattleibow-native-graphite-views

Conversation

@mattleibow

Copy link
Copy Markdown
Contributor

Description

Adds the native Graphite views/package layer and direct native Basic samples split from draft #4728.

This PR introduces:

  • SkiaSharp.Views.Graphite, with a Vulkan-backed SKGraphiteVulkanView for Android and a Metal-backed SKGraphiteMetalView for iOS, Mac Catalyst, macOS, and tvOS.
  • Direct native Graphite tabs in the Android, iOS, Mac Catalyst, macOS, and tvOS Basic samples.
  • Animated, touch-reactive sample scenes with FPS/backend status and render-failure reporting.
  • Android API 24 gating so the Graphite navigation item is hidden and disabled on unsupported releases.

This is the middle commit in the split of #4728. It is commit-stacked on the exact head of #4729 (4e6d1268dfffb2470fae74d1225771fbb2200c8a) and must not merge until #4729 and mono/skia#345 merge. It intentionally excludes all MAUI controls, handlers, tests, touch proxies, and MAUI samples.

Related issues

Related to #4721

Documentation: mono/SkiaSharp-API-docs#200

Required skia PR

Requires mono/skia#345

Also requires #4729.

Areas affected

  • Managed API (binding/)
  • Native / C API (externals/skia/src/c, include/c)
  • Generated P/Invoke bindings
  • Native dependency or Skia update (libpng, HarfBuzz, FreeType, zlib, milestone bump, ...)
  • Views & integrations (MAUI, Uno, WPF, WinUI, Blazor, ...)
  • Rendering output / visual behavior
  • Performance
  • Tests
  • Build, packaging, or CI
  • Documentation or samples

Changes

Public API

  • Adds the SkiaSharp.Views.Graphite package for Android, iOS, Mac Catalyst, macOS, and tvOS.
  • Adds SKGraphiteVulkanView on Android with CanvasSize, GraphiteContext, RenderMode, PaintSurface, RenderFailed, RequestRender(), OnPause(), and OnResume().
  • Adds SKGraphiteMetalView on Apple platforms with CanvasSize, GraphiteContext, PaintSurface, and RenderFailed.
  • Adds SKPaintGraphiteSurfaceEventArgs and SKGraphiteRenderFailedEventArgs in each platform's native views namespace.

Behavior

The native views own their Graphite presentation lifecycle, render continuously by default, surface unrecoverable failures through RenderFailed, and stop/pause rendering with their host lifecycle. Android requires API 24 or later.

Testing

  • Source-built native assets without externals-download:
    • dotnet cake --target=externals-android
    • dotnet cake --target=externals-ios
    • dotnet cake --target=externals-maccatalyst
    • dotnet cake --target=externals-macos --arch=arm64
    • dotnet cake --target=externals-tvos
  • Built SkiaSharp.Views.Graphite for:
    • net10.0-android36.0
    • net10.0-ios26.0
    • net10.0-maccatalyst26.0
    • net10.0-macos26.0
    • net10.0-tvos26.0
  • Packed SkiaSharp.Views.Graphite.4.152.0.nupkg and verified all five current TFM assemblies and dependency groups.
  • Built all five native Basic samples: Android, iOS simulator arm64, Mac Catalyst arm64, macOS arm64, and tvOS simulator arm64.
  • Ran the Android API 36 sample on the 16 KB-page emulator, opened the Graphite tab, and observed GRAPHITE / VULKAN | FPS: 103 with no render or process failures.
  • Installed and launched the iOS sample on an iOS 26 simulator.
  • Full console suite result: singleton initialization, Vulkan, and Direct3D hosts passed. The core host passed 6,124 tests with 23 declared skips and one unrelated, repeatable existing Ganesh-GL DiagonalLines golden mismatch; the isolated visual test run reproduced only that same mismatch.

No tests were added because this PR restores the already-reviewed native view implementation and adds direct platform samples; the five sample builds and Android/iOS simulator runs exercise the integration.

Checklist

  • Tests added or updated (if omitted, explain why above)
  • Changes above lists all public API and behavioral changes (or "None.")
  • New/changed public API? Filed a docs issue in mono/SkiaSharp-API-docs so reference docs can be written later
  • Native change? Companion mono/skia PR linked above and bindings regenerated

Copilot AI added 2 commits August 11, 2026 13:31
Expose deferred canvases, Vulkan synchronization and texture-state primitives, and 64-bit-safe external handles independently of any view implementation.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 00cda8ff-9603-406f-ae2e-45c70e39b3e7
Carve the reviewed native Graphite views package from the combined Graphite
views work and add direct native Basic samples for Android, iOS, Mac Catalyst,
macOS, and tvOS. Gate Android below API 24 and keep the sample render loops
lifecycle-aware and failure-reporting.

Related: #4721
Requires: #4729
Requires: mono/skia#345

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dd83f08e-1222-4b30-b315-1a5c2103463a
@github-actions

Copy link
Copy Markdown
Contributor

📦 Try the packages from this PR

Warning

Do not run these scripts without first reviewing the code in this PR.

Step 1 — Download the packages

bash / macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 4734

PowerShell / Windows:

iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4734"

Step 2 — Add the local NuGet source

dotnet nuget add source ~/.skiasharp/hives/pr-4734/packages --name skiasharp-pr-4734
More options
Option Description
--successful-only / -SuccessfulOnly Only use successful builds
--force / -Force Overwrite previously downloaded packages
--list / -List List available artifacts without downloading
--build-id ID / -BuildId ID Download from a specific build

Or download manually from Azure Pipelines — look for the nuget artifact on the build for this PR.

Remove the source when you're done:

dotnet nuget remove source skiasharp-pr-4734

@github-actions

Copy link
Copy Markdown
Contributor

📖 Documentation Preview

The documentation for this PR has been deployed and is available at:

🔗 View Staging Site
🔗 View Staging Docs
🔗 View Staging Gallery (Blazor)
🔗 View Staging Gallery (Uno Platform)
🔗 View Staging SkiaFiddle

This preview will be updated automatically when you push new commits to this PR.


This comment is automatically updated by the documentation staging workflow.

@github-actions

Copy link
Copy Markdown
Contributor

📊 SkiaSharp benchmarks — PR #4734

this PR (full source build) vs 🌙 nightly · Linux · Windows · macOS

Informational only — this never blocks the PR. 🟢 faster / less allocation · 🔴 slower / more allocation; moves under 5% are hidden as noise.

⏱️ Times are raw BenchmarkDotNet means, and the ⭐ PR and baseline legs run on separate CI runners, so microbenchmarks can swing run-to-run — treat small time deltas as noise. Allocations are deterministic and the reliable signal. The interactive perf-dashboard (linked below) applies smoothing for the trend view.

Highlights

⏱️ Time — 🔴 39 slower · 🟢 52 faster

  • 🔴 RasterImageLifecycleBenchmark.CreateRasterImage(Count: 256) · Windows · 238.66 µs → 376.19 µs (+58%)
  • 🟢 ColorMathBenchmark.ToColor(Colors: 4096) · Linux · 14.99 µs → 7.23 µs (-52%)
  • 🔴 BitmapDrawBenchmark.DrawScaledTiles(Tiles: 64) · macOS · 195.71 µs → 291.47 µs (+49%)
  • 🔴 MatrixMapPointsBenchmark.MapPoints(Points: 4096) · macOS · 1.52 µs → 2.23 µs (+47%)
  • 🔴 RuntimeEffectShaderBenchmark.DrawFrame · Linux · 2.85 ms → 4.15 ms (+46%)
  • …and 86 more (see details below)

📦 Allocations — 🔴 1 more alloc · 🟢 0 less alloc

  • 🔴 RuntimeEffectShaderBenchmark.DrawFrame · Linux · 683 B → 733 B (+7%)
Full per-OS benchmark deltas

Linux

⏱️ Time (vs 🌙 nightly 4.152.0-nightly.10)

Benchmark baseline this PR Δ
ColorMathBenchmark.ToColor(Colors: 4096) 14.99 µs 7.23 µs 🟢 -52%
RuntimeEffectShaderBenchmark.DrawFrame 2.85 ms 4.15 ms 🔴 +46%
ColorMathBenchmark.UnPreMultiply(Colors: 4096) 11.44 µs 6.83 µs 🟢 -40%
ColorMathBenchmark.PreMultiply(Colors: 4096) 12.87 µs 7.87 µs 🟢 -39%
ColorParseBenchmark.Parse(Iterations: 1000) 74.14 µs 47.19 µs 🟢 -36%
MatrixMapPointsBenchmark.MapPoint(Points: 256) 4.51 µs 3.07 µs 🟢 -32%
MatrixOpsBenchmark.Invert(Count: 4096) 130.80 µs 89.11 µs 🟢 -32%
LargeImageScaleBenchmark.UpscaleOpaque(Size: 2048) 2.92 ms 1.99 ms 🟢 -32%
MatrixMapPointsBenchmark.MapPoint(Points: 4096) 71.97 µs 49.10 µs 🟢 -32%
RasterImageLifecycleBenchmark.CreateRasterImage(Count: 256) 257.65 µs 178.14 µs 🟢 -31%
LargeImageScaleBenchmark.UpscaleOpaque(Size: 1024) 757.90 µs 528.62 µs 🟢 -30%
MatrixOpsBenchmark.Concat(Count: 4096) 218.29 µs 155.97 µs 🟢 -29%
SceneRenderBenchmark.RenderFrame(Complexity: 4) 18.07 ms 22.82 ms 🔴 +26%
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 256) 1.33 ms 986.70 µs 🟢 -26%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 256) 960.46 µs 711.90 µs 🟢 -26%
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 64) 351.94 µs 261.65 µs 🟢 -26%
PathBoundsBenchmark.TightBounds(Points: 64) 977.7 ns 731.4 ns 🟢 -25%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 64) 254.11 µs 190.26 µs 🟢 -25%
MatrixMapPointsBenchmark.MapRadius(Points: 256) 13.72 µs 10.34 µs 🟢 -25%
MatrixMapPointsBenchmark.MapVector(Points: 4096) 174.32 µs 131.73 µs 🟢 -24%
SceneRenderBenchmark.RenderFrame(Complexity: 1) 3.94 ms 4.90 ms 🔴 +24%
MatrixMapPointsBenchmark.MapRadius(Points: 4096) 216.94 µs 164.61 µs 🟢 -24%
MatrixMapPointsBenchmark.MapVector(Points: 256) 10.84 µs 8.26 µs 🟢 -24%
PathBoundsBenchmark.TightBounds(Points: 1024) 10.15 µs 7.76 µs 🟢 -24%
LargeImageScaleBenchmark.UpscaleCrossfade(Size: 2048) 7.96 ms 6.19 ms 🟢 -22%
…and 8 more

📦 Allocations (vs 🌙 nightly 4.152.0-nightly.10)

Benchmark baseline this PR Δ
RuntimeEffectShaderBenchmark.DrawFrame 683 B 733 B 🔴 +7%

Windows

⏱️ Time (vs 🌙 nightly 4.152.0-nightly.10)

Benchmark baseline this PR Δ
RasterImageLifecycleBenchmark.CreateRasterImage(Count: 256) 238.66 µs 376.19 µs 🔴 +58%
MatrixMapPointsBenchmark.MapPoints(Points: 4096) 2.10 µs 3.01 µs 🔴 +43%
MatrixMapPointsBenchmark.MapPoints(Points: 256) 182.7 ns 257.8 ns 🔴 +41%
RasterImageLifecycleBenchmark.CreateDataWithReleaseProc(Count: 256) 96.45 µs 122.12 µs 🔴 +27%
ColorMathBenchmark.ToColorF(Colors: 4096) 14.14 µs 17.41 µs 🔴 +23%
MatrixMapPointsBenchmark.MapPoint(Points: 256) 5.42 µs 4.35 µs 🟢 -20%
MatrixMapPointsBenchmark.MapPoint(Points: 4096) 86.67 µs 70.35 µs 🟢 -19%
MatrixMapPointsBenchmark.MapVector(Points: 256) 8.88 µs 7.47 µs 🟢 -16%
RuntimeEffectShaderBenchmark.DrawFrame 1.22 ms 1.02 ms 🟢 -16%
MatrixOpsBenchmark.Invert(Count: 4096) 148.24 µs 125.86 µs 🟢 -15%
MatrixMapPointsBenchmark.MapRadius(Points: 4096) 153.16 µs 132.59 µs 🟢 -13%
MatrixMapPointsBenchmark.MapVector(Points: 4096) 137.55 µs 121.50 µs 🟢 -12%
LargeImageScaleBenchmark.UpscaleCrossfade(Size: 1024) 2.84 ms 2.54 ms 🟢 -11%
ColorMathBenchmark.UnPreMultiply(Colors: 4096) 12.79 µs 11.46 µs 🟢 -10%
PathBoundsBenchmark.TightBounds(Points: 64) 1.61 µs 1.76 µs 🔴 +10%
MatrixMapPointsBenchmark.MapRadius(Points: 256) 9.81 µs 8.87 µs 🟢 -10%
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 64) 361.89 µs 328.00 µs 🟢 -9%
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 256) 1.34 ms 1.24 ms 🟢 -7%
ColorMathBenchmark.PreMultiply(Colors: 4096) 14.74 µs 13.73 µs 🟢 -7%
MatrixMapPointsBenchmark.MapRect(Points: 256) 8.53 µs 7.95 µs 🟢 -7%
LargeImageScaleBenchmark.UpscaleCrossfade(Size: 2048) 11.24 ms 10.55 ms 🟢 -6%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 256) 969.18 µs 910.12 µs 🟢 -6%
MatrixOpsBenchmark.Concat(Count: 4096) 256.01 µs 240.79 µs 🟢 -6%
ColorMathBenchmark.ToColor(Colors: 4096) 11.93 µs 11.27 µs 🟢 -6%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 64) 257.66 µs 244.06 µs 🟢 -5%
…and 1 more

macOS

⏱️ Time (vs 🌙 nightly 4.152.0-nightly.10)

Benchmark baseline this PR Δ
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 64) 195.71 µs 291.47 µs 🔴 +49%
MatrixMapPointsBenchmark.MapPoints(Points: 4096) 1.52 µs 2.23 µs 🔴 +47%
MatrixMapPointsBenchmark.MapPoints(Points: 256) 135.9 ns 195.5 ns 🔴 +44%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 64) 148.63 µs 210.93 µs 🔴 +42%
CanvasDrawBenchmark.Draw(Shapes: 512) 11.08 ms 13.67 ms 🔴 +23%
RuntimeEffectShaderBenchmark.DrawFrame 507.38 µs 610.29 µs 🔴 +20%
RasterImageLifecycleBenchmark.CreateDataWithReleaseProc(Count: 256) 66.42 µs 79.70 µs 🔴 +20%
MatrixMapPointsBenchmark.MapPoint(Points: 4096) 18.14 µs 21.64 µs 🔴 +19%
LargeImageScaleBenchmark.UpscaleCrossfade(Size: 2048) 5.71 ms 6.81 ms 🔴 +19%
BitmapDrawBenchmark.DrawUnscaledTiles(Tiles: 256) 543.43 µs 642.98 µs 🔴 +18%
ColorParseBenchmark.Parse(Iterations: 1000) 63.10 µs 74.07 µs 🔴 +17%
MatrixMapPointsBenchmark.MapRadius(Points: 4096) 97.96 µs 114.34 µs 🔴 +17%
MatrixMapPointsBenchmark.MapPoint(Points: 256) 1.14 µs 1.33 µs 🔴 +16%
BitmapDrawBenchmark.DrawScaledTiles(Tiles: 256) 664.73 µs 770.33 µs 🔴 +16%
ColorMathBenchmark.UnPreMultiply(Colors: 4096) 7.56 µs 8.70 µs 🔴 +15%
LargeImageScaleBenchmark.UpscaleOpaque(Size: 1024) 671.67 µs 570.86 µs 🟢 -15%
MatrixMapPointsBenchmark.MapVector(Points: 256) 2.43 µs 2.79 µs 🔴 +15%
PathBoundsBenchmark.TightBounds(Points: 64) 850.3 ns 975.2 ns 🔴 +15%
ColorMathBenchmark.ToColorF(Colors: 4096) 4.92 µs 5.61 µs 🔴 +14%
RasterImageLifecycleBenchmark.CreateRasterImage(Count: 256) 141.56 µs 161.34 µs 🔴 +14%
CanvasDrawBenchmark.Draw(Shapes: 64) 1.39 ms 1.58 ms 🔴 +14%
MatrixOpsBenchmark.Concat(Count: 4096) 111.66 µs 125.89 µs 🔴 +13%
MatrixMapPointsBenchmark.MapVector(Points: 4096) 39.10 µs 44.01 µs 🔴 +13%
PathBoundsBenchmark.TightBounds(Points: 1024) 8.07 µs 9.05 µs 🔴 +12%
MatrixMapPointsBenchmark.MapRadius(Points: 256) 6.17 µs 6.92 µs 🔴 +12%
…and 7 more

📈 Full interactive perf-dashboard & run details →

@mattleibow mattleibow mentioned this pull request Aug 11, 2026
14 tasks
@mattleibow

Copy link
Copy Markdown
Contributor Author

This is the middle layer of the split.

Review/merge order: #4729#4734#4739.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Artifact size report

Packages from this PR (build 1548414) vs the latest nightly baseline 4.152.0-nightly.17 (observed 2026-08-11).

Total .nupkg size: 569.8 MB → 569.8 MB (−2.0 KB, -0.0%)

Packages

⚠️ marks growth over 500.0 KB or 2%. Changes under 50.0 KB are treated as noise.

Package baseline this PR Δ Δ%
SkiaSharp.NativeAssets.WinUI 109.1 MB 108.5 MB 🟢 −667.8 KB -0.6%
SkiaSharp.Views.Graphite new 243.1 KB +243.1 KB ·
SkiaSharp 9.1 MB 9.2 MB 🔴 +104.6 KB +1.1%
SkiaSharp.NativeAssets.WebAssembly 69.7 MB 69.7 MB 🔴 +87.3 KB +0.1%
SkiaSharp.NativeAssets.Win32 85.7 MB 85.8 MB 🔴 +65.5 KB +0.1%

+36 package(s) unchanged (< 50.0 KB).

Per-file changes

SkiaSharp

File Size
lib/net462/SkiaSharp.dll 862.0 KB → 872.0 KB (🔴 +10.0 KB)
lib/net48/SkiaSharp.dll 862.0 KB → 871.5 KB (🔴 +9.5 KB)
lib/net10.0-android36.0/SkiaSharp.dll 534.0 KB → 540.5 KB (🔴 +6.5 KB)
lib/net10.0-ios26.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/net10.0-maccatalyst26.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/net10.0-tvos26.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/net6.0/SkiaSharp.dll 510.0 KB → 516.5 KB (🔴 +6.5 KB)
lib/net9.0-android35.0/SkiaSharp.dll 534.0 KB → 540.5 KB (🔴 +6.5 KB)
lib/net9.0-ios18.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/net9.0-maccatalyst18.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/net9.0-tvos18.0/SkiaSharp.dll 536.5 KB → 543.0 KB (🔴 +6.5 KB)
lib/netstandard2.1/SkiaSharp.dll 514.0 KB → 520.5 KB (🔴 +6.5 KB)
lib/net10.0-macos26.0/SkiaSharp.dll 536.5 KB → 542.5 KB (🔴 +6.0 KB)
lib/net10.0-tizen10.0/SkiaSharp.dll 554.0 KB → 560.0 KB (🔴 +6.0 KB)
lib/net10.0-windows10.0.19041/SkiaSharp.dll 539.0 KB → 545.0 KB (🔴 +6.0 KB)
lib/net10.0/SkiaSharp.dll 538.0 KB → 544.0 KB (🔴 +6.0 KB)
lib/net6.0-tizen8.0/SkiaSharp.dll 527.0 KB → 533.0 KB (🔴 +6.0 KB)
lib/net9.0-macos15.0/SkiaSharp.dll 536.5 KB → 542.5 KB (🔴 +6.0 KB)
lib/net9.0-tizen8.0/SkiaSharp.dll 554.0 KB → 560.0 KB (🔴 +6.0 KB)
lib/net9.0-windows10.0.19041/SkiaSharp.dll 539.0 KB → 545.0 KB (🔴 +6.0 KB)
lib/net9.0/SkiaSharp.dll 538.0 KB → 544.0 KB (🔴 +6.0 KB)
lib/netstandard2.0/SkiaSharp.dll 518.0 KB → 524.0 KB (🔴 +6.0 KB)
ref/net462/SkiaSharp.dll 470.0 KB → 475.0 KB (🔴 +5.0 KB)
ref/net48/SkiaSharp.dll 470.0 KB → 475.0 KB (🔴 +5.0 KB)
ref/net6.0/SkiaSharp.dll 296.0 KB → 299.5 KB (🔴 +3.5 KB)
+41 more file(s)

SkiaSharp.NativeAssets.WebAssembly

File Size
🧬 wasm 5.0.6/st · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/5.0.6/st/libSkiaSharp.a) 18.0 MB → 18.0 MB (🔴 +3.7 KB)
🧬 wasm 5.0.6/st,simd · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/5.0.6/st,simd/libSkiaSharp.a) 18.2 MB → 18.2 MB (🔴 +3.7 KB)
🧬 wasm 5.0.6/mt · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/5.0.6/mt/libSkiaSharp.a) 17.9 MB → 17.9 MB (🔴 +3.7 KB)
🧬 wasm 5.0.6/mt,simd · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/5.0.6/mt,simd/libSkiaSharp.a) 18.2 MB → 18.2 MB (🔴 +3.6 KB)
🧬 wasm 3.1.56/st · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.56/st/libSkiaSharp.a) 17.8 MB → 17.8 MB (🔴 +3.3 KB)
🧬 wasm 3.1.56/st,simd · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.56/st,simd/libSkiaSharp.a) 18.1 MB → 18.1 MB (🔴 +3.3 KB)
🧬 wasm 3.1.56/mt · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.56/mt/libSkiaSharp.a) 17.8 MB → 17.8 MB (🔴 +3.2 KB)
🧬 wasm 3.1.56/mt,simd · libSkiaSharp.a (buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.56/mt,simd/libSkiaSharp.a) 18.0 MB → 18.0 MB (🔴 +3.2 KB)

SkiaSharp.NativeAssets.Win32

File Size
runtimes/win-x86/native/libSkiaSharp.pdb 97.1 MB → 97.1 MB (🔴 +72.0 KB)
runtimes/win-arm64/native/libSkiaSharp.pdb 91.2 MB → 91.2 MB (🔴 +60.0 KB)
runtimes/win-x64/native/libSkiaSharp.pdb 94.3 MB → 94.4 MB (🔴 +44.0 KB)
🧬 win-x64 (runtimes/win-x64/native/libSkiaSharp.dll) 12.8 MB → 12.8 MB (🔴 +9.0 KB)
🧬 win-arm64 (runtimes/win-arm64/native/libSkiaSharp.dll) 11.0 MB → 11.0 MB (🔴 +8.5 KB)
🧬 win-x86 (runtimes/win-x86/native/libSkiaSharp.dll) 11.1 MB → 11.1 MB (🔴 +7.5 KB)

SkiaSharp.NativeAssets.WinUI

File Size
runtimes/win-x86/native/libGLESv2.pdb 67.2 MB → 67.1 MB (🟢 −128.0 KB)
runtimes/win-arm64/native/libGLESv2.pdb 64.5 MB → 64.4 MB (🟢 −96.0 KB)
runtimes/win-x64/native/libGLESv2.pdb 66.6 MB → 66.6 MB (🟢 −64.0 KB)

Informational only — this never blocks the PR. Native binaries are labelled by os/arch.

@mattleibow

Copy link
Copy Markdown
Contributor Author

Superseded by the staged split:

The exact source commit for this cumulative draft remains pinned for carving the later Android-native layer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants