summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-09-25 19:43:23 -0400
committerGravatar FernandoS272019-10-04 19:59:48 -0400
commit5b5e60ffeca1a718cd980e74f0528d6ab91788cf (patch)
tree56073a1d11122b8253a69f8e908f6f44687cc3d3 /src/video_core/gpu_thread.h
parentNvdrv: Correct Async regression and avoid signaling empty buffer vsyncs (diff)
downloadyuzu-5b5e60ffeca1a718cd980e74f0528d6ab91788cf.tar.gz
yuzu-5b5e60ffeca1a718cd980e74f0528d6ab91788cf.tar.xz
yuzu-5b5e60ffeca1a718cd980e74f0528d6ab91788cf.zip
GPU_Async: Correct fences, display events and more.
This commit uses guest fences on vSync event instead of an articial fake fence we had. It also corrects to keep signaling display events while loading the game as the OS is suppose to send buffers to vSync during that time.
Diffstat (limited to 'src/video_core/gpu_thread.h')
-rw-r--r--src/video_core/gpu_thread.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h
index 3ae0ec9f3..108f456bd 100644
--- a/src/video_core/gpu_thread.h
+++ b/src/video_core/gpu_thread.h
@@ -21,9 +21,6 @@ class DmaPusher;
21 21
22namespace Core { 22namespace Core {
23class System; 23class System;
24namespace Timing {
25struct EventType;
26} // namespace Timing
27} // namespace Core 24} // namespace Core
28 25
29namespace VideoCommon::GPUThread { 26namespace VideoCommon::GPUThread {
@@ -89,8 +86,6 @@ struct CommandDataContainer {
89struct SynchState final { 86struct SynchState final {
90 std::atomic_bool is_running{true}; 87 std::atomic_bool is_running{true};
91 88
92 void WaitForSynchronization(u64 fence);
93
94 using CommandQueue = Common::SPSCQueue<CommandDataContainer>; 89 using CommandQueue = Common::SPSCQueue<CommandDataContainer>;
95 CommandQueue queue; 90 CommandQueue queue;
96 u64 last_fence{}; 91 u64 last_fence{};
@@ -128,7 +123,6 @@ private:
128private: 123private:
129 SynchState state; 124 SynchState state;
130 Core::System& system; 125 Core::System& system;
131 Core::Timing::EventType* synchronization_event{};
132 std::thread thread; 126 std::thread thread;
133 std::thread::id thread_id; 127 std::thread::id thread_id;
134}; 128};