Add a setting to control the maximum number of accumulated GPU cmds

This helps to keep the GPU fed when processing large command buffers which don't have any syncpoints to force a flush inbetween.
This commit is contained in:
Billy Laws
2022-12-24 20:59:10 +00:00
parent 77214a98dd
commit c67f27e914
7 changed files with 17 additions and 0 deletions

View File

@ -367,6 +367,9 @@ namespace skyline::gpu::interconnect {
slot->nodes.emplace_back(std::in_place_type_t<node::NextSubpassFunctionNode>(), std::forward<decltype(function)>(function));
else
slot->nodes.emplace_back(std::in_place_type_t<node::SubpassFunctionNode>(), std::forward<decltype(function)>(function));
if (slot->nodes.size() > *state.settings->executorFlushThreshold && !gotoNext)
Submit();
}
void CommandExecutor::AddOutsideRpCommand(std::function<void(vk::raii::CommandBuffer &, const std::shared_ptr<FenceCycle> &, GPU &)> &&function) {