mirror of
https://github.com/italicsjenga/vello.git
synced 2025-01-08 20:01:30 +11:00
27e6fdd267
Just load the atomic bump counter directly instead of piping it through a shared variable, when workgroupUniformLoad is not available. The value is in fact dynamically uniform, but that depends on the stage not setting its own failure flag, a fairly subtle invariant. I think there was a write-after-read hazard for the reuse of sh_part_count[0]. However, doing the experiment of just changing that doesn't fix the problem on mac. It's possible there's a shader compilation problem (possibly the same one as provoking the storageBarrier workaround in tile_alloc), or also possibly a logic error I'm not understanding. In any case, this change does appear to fix the hangs on mac. Fixes #267 |
||
---|---|---|
.. | ||
shared | ||
backdrop.wgsl | ||
backdrop_dyn.wgsl | ||
bbox_clear.wgsl | ||
binning.wgsl | ||
clip_leaf.wgsl | ||
clip_reduce.wgsl | ||
coarse.wgsl | ||
draw_leaf.wgsl | ||
draw_reduce.wgsl | ||
fine.wgsl | ||
path_coarse.wgsl | ||
path_coarse_full.wgsl | ||
pathseg.wgsl | ||
pathtag_reduce.wgsl | ||
pathtag_reduce2.wgsl | ||
pathtag_scan.wgsl | ||
pathtag_scan1.wgsl | ||
tile_alloc.wgsl | ||
UNLICENSE |