// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include namespace VideoCore { class ShaderNotify { public: [[nodiscard]] int ShadersBuilding() noexcept; void MarkShaderComplete() noexcept { ++num_complete; } void MarkShaderBuilding() noexcept { ++num_building; } private: std::atomic_int num_building{}; std::atomic_int num_complete{}; int report_base{}; bool completed{}; int num_when_completed{}; std::chrono::steady_clock::time_point complete_time; }; } // namespace VideoCore