diff options
author | Markus Wick <markus@selfnet.de> | 2019-12-30 13:03:20 +0100 |
---|---|---|
committer | Markus Wick <markus@selfnet.de> | 2019-12-30 13:04:53 +0100 |
commit | cb9dd01ffd3f54f5592330e3a37e2b26975bf209 (patch) | |
tree | dc41e5bea7e4844fceebbbb2d7481eb026bfcfd9 /src/video_core/gpu.h | |
parent | f846e3d6d0e973485a53bb87b913059060dcfdbc (diff) |
video_core: Block in WaitFence.
This function is called rarely and blocks quite often for a long time.
So don't waste power and let the CPU sleep.
This might also increase the performance as the other cores might be allowed to clock higher.
Diffstat (limited to 'src/video_core/gpu.h')
-rw-r--r-- | src/video_core/gpu.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index ecc338ae9..b648317bb 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -6,6 +6,7 @@ #include <array> #include <atomic> +#include <condition_variable> #include <list> #include <memory> #include <mutex> @@ -181,7 +182,7 @@ public: virtual void WaitIdle() const = 0; /// Allows the CPU/NvFlinger to wait on the GPU before presenting a frame. - void WaitFence(u32 syncpoint_id, u32 value) const; + void WaitFence(u32 syncpoint_id, u32 value); void IncrementSyncPoint(u32 syncpoint_id); @@ -312,6 +313,8 @@ private: std::mutex sync_mutex; + std::condition_variable sync_cv; + const bool is_async; }; |