所有权添加完成
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
#include "renderive/scene/Scene.hpp"
|
||||
struct Renderable_Base_Test_Renderable : Renderable_Base {
|
||||
Renderable_Base_Test_Renderable(Scene_Base& scene, bool cache_enabled) : Renderable_Base(scene, {.cache_enabled = cache_enabled}) {}
|
||||
void prepare(const Scene_Render_Context&) override {
|
||||
void prepare(const Prepare_Render_Context&) override {
|
||||
++render_count;
|
||||
}
|
||||
int render_count{};
|
||||
@@ -47,7 +47,7 @@ TEST(renderable_base_test, changes_configuration_through_scene) {
|
||||
scene.attach_renderable(renderable);
|
||||
scene.render();
|
||||
scene.wait_for_render();
|
||||
scene.set_renderable_configuration(*renderable, {.cache_enabled = true});
|
||||
scene.set_renderable_configuration(renderable, {.cache_enabled = true});
|
||||
scene.render();
|
||||
scene.wait_for_render();
|
||||
EXPECT_TRUE(renderable->configuration().cache_enabled);
|
||||
@@ -55,7 +55,7 @@ TEST(renderable_base_test, changes_configuration_through_scene) {
|
||||
}
|
||||
struct Renderable_Base_Cache_Invalidation_Test_Renderable : Renderable_Base {
|
||||
explicit Renderable_Base_Cache_Invalidation_Test_Renderable(Scene_Base& scene) : Renderable_Base(scene, {.cache_enabled = true}) {}
|
||||
void prepare(const Scene_Render_Context&) override {
|
||||
void prepare(const Prepare_Render_Context&) override {
|
||||
const int count = render_count.fetch_add(1, std::memory_order_acq_rel) + 1;
|
||||
if (count != 1) {
|
||||
return;
|
||||
@@ -111,8 +111,8 @@ struct Renderable_Base_Render_Graph_Rebuild_Test_Renderable : Renderable_Base {
|
||||
return release_build;
|
||||
});
|
||||
}
|
||||
graph.emplace("prepare", "graph_rebuild_test", Render_Node_Kind::prepare,
|
||||
[](const Scene_Render_Context&) {});
|
||||
graph.emplace("prepare", "graph_rebuild_test",
|
||||
[](const Prepare_Render_Context&) {});
|
||||
}
|
||||
void wait_build_started() {
|
||||
std::unique_lock lock(mutex);
|
||||
@@ -183,7 +183,7 @@ TEST(renderable_base_test, configuration_snapshot_is_safe_during_scene_updates)
|
||||
std::atomic<bool> running{true};
|
||||
std::thread writer([&] {
|
||||
for (int index = 0; index < 1000; ++index) {
|
||||
scene.set_renderable_configuration(*renderable, {.cache_enabled = index % 2 != 0});
|
||||
scene.set_renderable_configuration(renderable, {.cache_enabled = index % 2 != 0});
|
||||
}
|
||||
running.store(false, std::memory_order_release);
|
||||
});
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
#include "renderive/scene/Scene.hpp"
|
||||
struct Renderable_Concept_Test : Renderable_Base {
|
||||
explicit Renderable_Concept_Test(Scene_Base& scene) : Renderable_Base(scene) {}
|
||||
void prepare(const Scene_Render_Context&) override {}
|
||||
void prepare(const Prepare_Render_Context&) override {}
|
||||
};
|
||||
static_assert(Renderable<Renderable_Concept_Test>);
|
||||
static_assert(!std::same_as<Renderable_Base::Layer_Node, Renderable_Base::Dependency_Node>);
|
||||
TEST(renderable_concept_test, exposes_scene_and_configuration_state) {
|
||||
Scene2D_Context<> scene;
|
||||
Renderable_Concept_Test renderable(scene);
|
||||
|
||||
Reference in New Issue
Block a user