summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/vi/vi.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-01-09 01:12:28 +0100
committerbunnei <bunneidev@gmail.com>2018-01-11 05:28:22 +0100
commit404149e4751b986b4a9bf895434862236d162fd8 (patch)
treebed2b206c777c90dda9d3b2b3665360fb39bd170 /src/core/hle/service/vi/vi.h
parentNV: Give each display its own vsync event. (diff)
downloadyuzu-404149e4751b986b4a9bf895434862236d162fd8.tar
yuzu-404149e4751b986b4a9bf895434862236d162fd8.tar.gz
yuzu-404149e4751b986b4a9bf895434862236d162fd8.tar.bz2
yuzu-404149e4751b986b4a9bf895434862236d162fd8.tar.lz
yuzu-404149e4751b986b4a9bf895434862236d162fd8.tar.xz
yuzu-404149e4751b986b4a9bf895434862236d162fd8.tar.zst
yuzu-404149e4751b986b4a9bf895434862236d162fd8.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/vi/vi.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/hle/service/vi/vi.h b/src/core/hle/service/vi/vi.h
index 029bd6831..1bd8f7472 100644
--- a/src/core/hle/service/vi/vi.h
+++ b/src/core/hle/service/vi/vi.h
@@ -80,7 +80,7 @@ struct Display {
class NVFlinger {
public:
NVFlinger();
- ~NVFlinger() = default;
+ ~NVFlinger();
/// Opens the specified display and returns the id.
u64 OpenDisplay(const std::string& name);
@@ -97,6 +97,10 @@ public:
/// Obtains a buffer queue identified by the id.
std::shared_ptr<BufferQueue> GetBufferQueue(u32 id) const;
+ /// Performs a composition request to the emulated nvidia GPU and triggers the vsync events when
+ /// finished.
+ void Compose();
+
private:
/// Returns the display identified by the specified id.
Display& GetDisplay(u64 display_id);
@@ -112,6 +116,9 @@ private:
/// Id to use for the next buffer queue that is created, this counter is shared among all
/// layers.
u32 next_buffer_queue_id = 1;
+
+ /// CoreTiming event that handles screen composition.
+ int composition_event;
};
class IApplicationDisplayService final : public ServiceFramework<IApplicationDisplayService> {