summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvflinger/nvflinger.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-27 15:18:29 +0100
committerZach Hilman <zachhilman@gmail.com>2018-11-29 14:48:40 +0100
commita342bcc9b130e9bd78720e09e04c92dcac8840d0 (patch)
treedf1d16c2a71b121fc449b53fc931c6fac8ccf82a /src/core/hle/service/nvflinger/nvflinger.cpp
parentcore: Port all current usages of Event to Readable/WritableEvent (diff)
downloadyuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar.gz
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar.bz2
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar.lz
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar.xz
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.tar.zst
yuzu-a342bcc9b130e9bd78720e09e04c92dcac8840d0.zip
Diffstat (limited to 'src/core/hle/service/nvflinger/nvflinger.cpp')
-rw-r--r--src/core/hle/service/nvflinger/nvflinger.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp
index 2a329cb8e..05af2d593 100644
--- a/src/core/hle/service/nvflinger/nvflinger.cpp
+++ b/src/core/hle/service/nvflinger/nvflinger.cpp
@@ -87,9 +87,7 @@ u32 NVFlinger::GetBufferQueueId(u64 display_id, u64 layer_id) {
}
Kernel::SharedPtr<Kernel::ReadableEvent> NVFlinger::GetVsyncEvent(u64 display_id) {
- const auto& event{Core::System::GetInstance().Kernel().FindNamedEvent(
- fmt::format("Display VSync Event {}", display_id))};
- return event->second;
+ return GetDisplay(display_id).vsync_event.readable;
}
std::shared_ptr<BufferQueue> NVFlinger::GetBufferQueue(u32 id) const {
@@ -121,7 +119,7 @@ Layer& NVFlinger::GetLayer(u64 display_id, u64 layer_id) {
void NVFlinger::Compose() {
for (auto& display : displays) {
// Trigger vsync for this display at the end of drawing
- SCOPE_EXIT({ display.vsync_event->Signal(); });
+ SCOPE_EXIT({ display.vsync_event.writable->Signal(); });
// Don't do anything for displays without layers.
if (display.layers.empty())
@@ -168,8 +166,8 @@ Layer::~Layer() = default;
Display::Display(u64 id, std::string name) : id(id), name(std::move(name)) {
auto& kernel = Core::System::GetInstance().Kernel();
- vsync_event = Kernel::WritableEvent::CreateRegisteredEventPair(
- kernel, Kernel::ResetType::Pulse, fmt::format("Display VSync Event {}", id));
+ vsync_event = Kernel::WritableEvent::CreateEventPair(kernel, Kernel::ResetType::Pulse,
+ fmt::format("Display VSync Event {}", id));
}
Display::~Display() = default;