Skip to content

Commit

Permalink
Remove some obsolete RenderGraph lambdas.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hans-Kristian Arntzen committed Oct 14, 2020
1 parent 97b63d3 commit 910fd74
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 45 deletions.
37 changes: 13 additions & 24 deletions renderer/lights/clusterer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2164,12 +2164,9 @@ void LightClusterer::add_render_passes_bindless(RenderGraph &graph)
pass.add_transfer_output("cluster-transforms", att);
}

if (enable_clustering)
{
pass.set_build_render_pass([&](Vulkan::CommandBuffer &cmd) {
build_cluster_bindless_cpu(cmd);
});
}
pass.set_build_render_pass([&](Vulkan::CommandBuffer &cmd) {
build_cluster_bindless_cpu(cmd);
});
}
else
{
Expand Down Expand Up @@ -2204,12 +2201,9 @@ void LightClusterer::add_render_passes_bindless(RenderGraph &graph)
pass.add_storage_output("cluster-transformed-spot", att);
}

if (enable_clustering)
{
pass.set_build_render_pass([&](Vulkan::CommandBuffer &cmd) {
build_cluster_bindless_gpu(cmd);
});
}
pass.set_build_render_pass([&](Vulkan::CommandBuffer &cmd) {
build_cluster_bindless_gpu(cmd);
});
}
}

Expand Down Expand Up @@ -2239,10 +2233,6 @@ void LightClusterer::add_render_passes_legacy(RenderGraph &graph)
pass.set_build_render_pass([this](Vulkan::CommandBuffer &cmd) {
build_cluster_cpu(cmd, *legacy.target);
});

pass.set_need_render_pass([this]() {
return enable_clustering;
});
}
else
{
Expand All @@ -2268,19 +2258,18 @@ void LightClusterer::add_render_passes_legacy(RenderGraph &graph)
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_ACCESS_SHADER_READ_BIT);
build_cluster(cmd, *legacy.target, legacy.pre_cull_target);
});

pass.set_need_render_pass([this]() {
return enable_clustering;
});
}
}

void LightClusterer::add_render_passes(RenderGraph &graph)
{
if (enable_bindless)
add_render_passes_bindless(graph);
else
add_render_passes_legacy(graph);
if (enable_clustering)
{
if (enable_bindless)
add_render_passes_bindless(graph);
else
add_render_passes_legacy(graph);
}
}

void LightClusterer::set_base_renderer(const RendererSuite *suite)
Expand Down
2 changes: 2 additions & 0 deletions renderer/mesh_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1273,6 +1273,7 @@ void TexturePlane::add_render_pass(RenderGraph &graph, Type type)
return true;
});

#if 0
lighting.set_need_render_pass([this]() -> bool {
// No point in rendering reflection/refraction if we cannot even see it :)
vec3 c0 = position + dpdx + dpdy;
Expand All @@ -1285,6 +1286,7 @@ void TexturePlane::add_render_pass(RenderGraph &graph, Type type)
float plane_test = dot(base_context->get_render_parameters().camera_position - position, normal);
return plane_test > 0.0f;
});
#endif

lighting.set_build_render_pass([this, type](Vulkan::CommandBuffer &cmd) {
if (type == Reflection)
Expand Down
20 changes: 2 additions & 18 deletions renderer/render_graph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -540,8 +540,6 @@ class RenderPass
{
if (render_pass_handle)
return render_pass_handle->need_render_pass();
else if (need_render_pass_cb)
return need_render_pass_cb();
else
return true;
}
Expand All @@ -551,15 +549,15 @@ class RenderPass
if (render_pass_handle)
return !render_pass_handle->render_pass_is_separate_layered();
else
return build_render_pass_cb && !build_render_pass_separate_layered_cb;
return true;
}

bool may_not_need_render_pass() const
{
if (render_pass_handle)
return render_pass_handle->render_pass_is_conditional();
else
return bool(need_render_pass_cb);
return false;
}

bool get_clear_color(unsigned index_, VkClearColorValue *value = nullptr) const
Expand Down Expand Up @@ -600,8 +598,6 @@ class RenderPass
else
render_pass_handle->build_render_pass(cmd);
}
else if (build_render_pass_separate_layered_cb)
build_render_pass_separate_layered_cb(layer, cmd);
else if (build_render_pass_cb)
build_render_pass_cb(cmd);
}
Expand All @@ -611,21 +607,11 @@ class RenderPass
render_pass_handle = std::move(handle);
}

void set_need_render_pass(std::function<bool ()> func)
{
need_render_pass_cb = std::move(func);
}

void set_build_render_pass(std::function<void (Vulkan::CommandBuffer &)> func)
{
build_render_pass_cb = std::move(func);
}

void set_build_render_pass_separate_layered(std::function<void (unsigned, Vulkan::CommandBuffer &)> func)
{
build_render_pass_separate_layered_cb = std::move(func);
}

void set_get_clear_depth_stencil(std::function<bool (VkClearDepthStencilValue *)> func)
{
get_clear_depth_stencil_cb = std::move(func);
Expand Down Expand Up @@ -654,8 +640,6 @@ class RenderPass

RenderPassInterfaceHandle render_pass_handle;
std::function<void (Vulkan::CommandBuffer &)> build_render_pass_cb;
std::function<void (unsigned, Vulkan::CommandBuffer &)> build_render_pass_separate_layered_cb;
std::function<bool ()> need_render_pass_cb;
std::function<bool (VkClearDepthStencilValue *)> get_clear_depth_stencil_cb;
std::function<bool (unsigned, VkClearColorValue *)> get_clear_color_cb;

Expand Down
3 changes: 0 additions & 3 deletions tools/aa_bench.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,6 @@ void AABenchApplication::on_swapchain_changed(const SwapchainParameterEvent &swa
auto &pass = graph.add_pass("main", RENDER_GRAPH_QUEUE_GRAPHICS_BIT);
pass.add_color_output("HDR-main", main_output);
pass.set_depth_stencil_output("depth-main", main_depth);
pass.set_need_render_pass([this]() {
return need_main_pass;
});
pass.set_build_render_pass([&](Vulkan::CommandBuffer &cmd) {
cmd.set_texture(0, 0, images[(input_index++) & 1]->get_image()->get_view(), Vulkan::StockSampler::LinearClamp);
Vulkan::CommandBufferUtil::draw_fullscreen_quad(cmd, "builtin://shaders/quad.vert",
Expand Down

0 comments on commit 910fd74

Please sign in to comment.