Accuracy Normal: reduce accuracy further for perf improvements in Project Lime

This commit is contained in:
Fernando Sahmkow 2023-04-22 11:59:57 +02:00
parent fca72beb2d
commit 7e76c1642c
4 changed files with 11 additions and 5 deletions

View file

@ -64,19 +64,24 @@ public:
}
void SignalFence(std::function<void()>&& func) {
bool delay_fence = Settings::IsGPULevelHigh();
if constexpr (!can_async_check) {
TryReleasePendingFences<false>();
}
std::function<void()> callback = std::move(func);
const bool should_flush = ShouldFlush();
CommitAsyncFlushes();
TFence new_fence = CreateFence(!should_flush);
if constexpr (can_async_check) {
guard.lock();
}
if (delay_fence) {
uncommitted_operations.emplace_back(std::move(func));
}
pending_operations.emplace_back(std::move(uncommitted_operations));
QueueFence(new_fence);
callback();
if (!delay_fence) {
func();
}
fences.push(std::move(new_fence));
if (should_flush) {
rasterizer.FlushCommands();