summaryrefslogtreecommitdiff
path: root/src/modules/snow/snow.c
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2022-04-15 11:26:24 -0700
committerVito Caputo <vcaputo@pengaru.com>2022-04-15 11:26:24 -0700
commit4e52861bb580ac41eaf8df2dd4c99029c3706cf3 (patch)
tree1e65261f7e0fbf4c51d03dc1d4ae1e84d61ecfdb /src/modules/snow/snow.c
parent292e7e85d7e0a02fb19a3ec6f8245627c41c8f62 (diff)
til_threads: propagate threaded til_fb_fragment.zeroed
Currently when a threaded renderer performed til_fb_fragment_zero() in render_fragment() vs. prepare_frame(), the til_fb_fragment.zeroed maintenance would stay isolated to the ephemeral fragment generated by the fragmenter. With this commit, when all ephemeral fragments rendered in a threaded fashion for a given frame returned a set .zeroed member, the outer frame's .zeroed member gets set. This should enable proper threaded zeroing of the frame in render_fragment(). Note that since it's careful to actually count the number of zeroed ephemeral subfragments and only propagates when that count matches the number of subfragments rendered in the entire frame, it's also supported to use til_fb_fragment_zero() conditionally on just some fragments while not zeroing others and the entire frame will not get its .zeroed member set. Imagine a renderer which randomly zeroes out some fragments, while drawing into others, this will be honored as a non-zeroed frame on the whole.
Diffstat (limited to 'src/modules/snow/snow.c')
0 files changed, 0 insertions, 0 deletions
© All Rights Reserved