hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
This commit is contained in:
parent
eba3bb9d21
commit
2e8d6fe9a0
35 changed files with 219 additions and 204 deletions
|
@ -33,12 +33,12 @@ const Layer& Display::GetLayer(std::size_t index) const {
|
|||
return *layers.at(index);
|
||||
}
|
||||
|
||||
std::shared_ptr<Kernel::KReadableEvent> Display::GetVSyncEvent() const {
|
||||
Kernel::KReadableEvent& Display::GetVSyncEvent() {
|
||||
return vsync_event.GetReadableEvent();
|
||||
}
|
||||
|
||||
void Display::SignalVSyncEvent() {
|
||||
vsync_event.GetWritableEvent()->Signal();
|
||||
vsync_event.GetWritableEvent().Signal();
|
||||
}
|
||||
|
||||
void Display::CreateLayer(u64 layer_id, NVFlinger::BufferQueue& buffer_queue) {
|
||||
|
|
|
@ -59,7 +59,7 @@ public:
|
|||
const Layer& GetLayer(std::size_t index) const;
|
||||
|
||||
/// Gets the readable vsync event.
|
||||
std::shared_ptr<Kernel::KReadableEvent> GetVSyncEvent() const;
|
||||
Kernel::KReadableEvent& GetVSyncEvent();
|
||||
|
||||
/// Signals the internal vsync event.
|
||||
void SignalVSyncEvent();
|
||||
|
|
|
@ -669,12 +669,10 @@ private:
|
|||
|
||||
LOG_WARNING(Service_VI, "(STUBBED) called id={}, unknown={:08X}", id, unknown);
|
||||
|
||||
const auto& buffer_queue = *nv_flinger.FindBufferQueue(id);
|
||||
|
||||
// TODO(Subv): Find out what this actually is.
|
||||
IPC::ResponseBuilder rb{ctx, 2, 1};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushCopyObjects(buffer_queue.GetBufferWaitEvent().get());
|
||||
rb.PushCopyObjects(nv_flinger.FindBufferQueue(id)->GetBufferWaitEvent());
|
||||
}
|
||||
|
||||
NVFlinger::NVFlinger& nv_flinger;
|
||||
|
@ -1209,7 +1207,7 @@ private:
|
|||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 1};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushCopyObjects(vsync_event.get());
|
||||
rb.PushCopyObjects(vsync_event);
|
||||
}
|
||||
|
||||
void ConvertScalingMode(Kernel::HLERequestContext& ctx) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue