How partial swap is implemented is up to each
SkiaOutputDevice implementation. The partial swap rect is specified by `sub_buffer_rect` passed in the `OutputSurfaceFrame` parameter passed to `SkiaOutputDevice::Present`.
Some platforms (Mac, ChromeOS) will use SkiaOutputDeviceBufferQueue to manage back buffers manually and track damage across frames to ensure that the correct area is redrawn. Other implementations like SkiaOutputDeviceDComp on Windows will rely on native swap chain / surface APIs that do damage tracking internally instead of manually managing back buffers (e.g.
IDXGISwapChain1::Present1).
If you seek to implement partial swap support and manage buffers individually, adapting SkiaOutputDeviceBufferQueue to your use case will be your best option.