diff options
author | bunnei <bunneidev@gmail.com> | 2018-03-19 01:27:15 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-03-19 01:56:35 +0100 |
commit | c1c92c30f9951e41a2091770cc5bf1354fba7794 (patch) | |
tree | 2304ea66a7dbca1f1848c316976a24203c24a5c6 /src/core/hle/service/nvflinger/buffer_queue.h | |
parent | hle_ipc: Add SleepClientThread to block current thread within HLE routines. (diff) | |
download | yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar.gz yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar.bz2 yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar.lz yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar.xz yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.tar.zst yuzu-c1c92c30f9951e41a2091770cc5bf1354fba7794.zip |
Diffstat (limited to 'src/core/hle/service/nvflinger/buffer_queue.h')
-rw-r--r-- | src/core/hle/service/nvflinger/buffer_queue.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/nvflinger/buffer_queue.h b/src/core/hle/service/nvflinger/buffer_queue.h index ef9732769..686eadca7 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.h +++ b/src/core/hle/service/nvflinger/buffer_queue.h @@ -69,12 +69,13 @@ public: }; void SetPreallocatedBuffer(u32 slot, IGBPBuffer& buffer); - u32 DequeueBuffer(u32 pixel_format, u32 width, u32 height); + boost::optional<u32> DequeueBuffer(u32 width, u32 height); const IGBPBuffer& RequestBuffer(u32 slot) const; void QueueBuffer(u32 slot, BufferTransformFlags transform); boost::optional<const Buffer&> AcquireBuffer(); void ReleaseBuffer(u32 slot); u32 Query(QueryType type); + void SetBufferWaitEvent(Kernel::SharedPtr<Kernel::Event>&& wait_event); u32 GetId() const { return id; @@ -90,6 +91,9 @@ private: std::vector<Buffer> queue; Kernel::SharedPtr<Kernel::Event> native_handle; + + /// Used to signal waiting thread when no buffers are available + Kernel::SharedPtr<Kernel::Event> buffer_wait_event; }; } // namespace NVFlinger |