Skip to main content

SHM pools

Two pool types share the same acquire API:
Row stride is 256-byte aligned. Use acquired.stride_pixels when wrapping pixels. resizeWithScale requires all buffers to be free.

DamageTracker

Accumulates dirty rectangles for partial redraws. Overflow falls back to full-surface damage.
Pass rects to otter-render quad_renderer and wl_surface.damageBuffer.

Renderer helper

createRenderer ties pool acquire, UiState.rasterize, and commit into one path for simple apps. Most apps still manage pools explicitly for custom damage.