Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commit75ccb8babd

README.md

proc_raster_apron

Refreshes one tile's apron ring of one layer from the neighbour tile that owns those cells, one dispatch per (destination tile, neighbour direction).

proc.raster's Raster:exchangeAprons(name, work?) drives it, over every neighbour pair a work set touches. Any iterative raster kernel op whose per-cell result depends on a previous step's neighbourhood needs its written layer's apron refreshed this way between steps, or a later step reads a neighbour's stale interior instead of what that neighbour actually computed.

params describes the block in stored-cell coordinates: lane 0 holds (stride, block width, block height, 0) and lane 1 holds (destination x0, z0, source x0, z0). It reads the block from the neighbour's src and writes it into this tile's dst, one thread per cell of the block in 8x8 workgroups. The same shader moves an edge band and a corner square.