所有权添加完成

This commit is contained in:
2026-08-13 06:20:13 +08:00
parent 3e9b924776
commit a517804d27
51 changed files with 1961 additions and 1108 deletions
@@ -74,10 +74,10 @@ using Threading_Test_Triple_State = Triple_State_Strategy<Threading_Test_State_B
struct Threading_Test_Scene_Renderable : Renderable_Base {
Threading_Test_Scene_Renderable(Scene_Base& scene, std::atomic<int>& render_count, std::atomic<std::uint64_t>& maximum_sequence)
: Renderable_Base(scene, {.cache_enabled = false}), render_count(&render_count), maximum_sequence(&maximum_sequence) {}
void prepare(const Scene_Render_Context& context) override {
void prepare(const Prepare_Render_Context& context) override {
render_count->fetch_add(1, std::memory_order_relaxed);
std::uint64_t maximum = maximum_sequence->load(std::memory_order_acquire);
while (maximum < context.render_sequence && !maximum_sequence->compare_exchange_weak(maximum, context.render_sequence, std::memory_order_acq_rel)) {}
while (maximum < context.frame.render_sequence && !maximum_sequence->compare_exchange_weak(maximum, context.frame.render_sequence, std::memory_order_acq_rel)) {}
}
std::atomic<int>* render_count;
std::atomic<std::uint64_t>* maximum_sequence;
@@ -85,8 +85,8 @@ struct Threading_Test_Scene_Renderable : Renderable_Base {
struct Threading_Test_Render_Graph_Renderable : Renderable_Base {
Threading_Test_Render_Graph_Renderable(Scene_Base& scene, std::atomic<int>& executed) : Renderable_Base(scene, {.cache_enabled = false}), executed(&executed) {}
void build_prepare_graph(Renderable_Graph_Builder& graph) override {
graph.emplace("prepare", "Prepare", Render_Node_Kind::prepare,
[this](const Scene_Render_Context&) {
graph.emplace("prepare", "Prepare",
[this](const Prepare_Render_Context&) {
executed->fetch_add(1, std::memory_order_relaxed);
});
}