mirror of
https://github.com/italicsjenga/vello.git
synced 2025-01-10 12:41:30 +11:00
e73049fe98
Split the blend stack into register and memory segments. Do blending in registers up to that size, then spill to memory if needed. This version may regress performance on Pixel 4, as it uses common memory for the blend stack, rather than keeping that memory read-only in fine rasterization, and using a separate buffer for blend stack. This needs investigation. It's possible we'll want to have single common memory as a config option, as it pools allocations and decreases the probability of failure. Also a flaw in this version: there is no checking of memory overflow. For understanding code history: this commit largely reverts #77, but there were some intervening changes to blending, and this commit also implements the split so some of the stack is in registers. Closes #156 |
||
---|---|---|
.. | ||
gen | ||
.clang-format | ||
annotated.h | ||
backdrop.comp | ||
bbox_clear.comp | ||
binning.comp | ||
bins.h | ||
blend.h | ||
build.ninja | ||
clip_leaf.comp | ||
clip_reduce.comp | ||
coarse.comp | ||
draw_leaf.comp | ||
draw_reduce.comp | ||
draw_scan.comp | ||
drawtag.h | ||
kernel4.comp | ||
mem.h | ||
path_coarse.comp | ||
pathseg.comp | ||
pathseg.h | ||
pathtag.h | ||
pathtag_reduce.comp | ||
pathtag_scan.comp | ||
ptcl.h | ||
scene.h | ||
setup.h | ||
state.h | ||
tile.h | ||
tile_alloc.comp | ||
transform_leaf.comp | ||
transform_reduce.comp | ||
transform_scan.comp |