summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvflinger/buffer_queue.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-03-19 01:27:15 +0100
committerbunnei <bunneidev@gmail.com>2018-03-19 01:56:35 +0100
commitc1c92c30f9951e41a2091770cc5bf1354fba7794 (patch)
tree2304ea66a7dbca1f1848c316976a24203c24a5c6 /src/core/hle/service/nvflinger/buffer_queue.h
parenthle_ipc: Add SleepClientThread to block current thread within HLE routines. (diff)
downloadyuzu-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 '')
-rw-r--r--src/core/hle/service/nvflinger/buffer_queue.h6
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