core: Port all current usages of Event to Readable/WritableEvent

This commit is contained in:
Zach Hilman
2018-11-26 18:34:07 -05:00
parent a56fc84e7a
commit ff610103b5
29 changed files with 287 additions and 164 deletions

View File

@ -13,6 +13,9 @@
#include "core/core.h"
#include "core/core_timing.h"
#include "core/core_timing_util.h"
#include "core/hle/kernel/kernel.h"
#include "core/hle/kernel/readable_event.h"
#include "core/hle/kernel/writable_event.h"
#include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
#include "core/hle/service/nvdrv/nvdrv.h"
#include "core/hle/service/nvflinger/buffer_queue.h"
@ -83,9 +86,10 @@ u32 NVFlinger::GetBufferQueueId(u64 display_id, u64 layer_id) {
return layer.buffer_queue->GetId();
}
Kernel::SharedPtr<Kernel::Event> NVFlinger::GetVsyncEvent(u64 display_id) {
const auto& display = GetDisplay(display_id);
return display.vsync_event;
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;
}
std::shared_ptr<BufferQueue> NVFlinger::GetBufferQueue(u32 id) const {
@ -164,7 +168,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::Event::Create(kernel, Kernel::ResetType::Pulse, "Display VSync Event");
vsync_event = Kernel::WritableEvent::CreateRegisteredEventPair(
kernel, Kernel::ResetType::Pulse, fmt::format("Display VSync Event {}", id));
}
Display::~Display() = default;