mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-26 03:13:32 +00:00
NV: Signal all display's vsync event 60 times per second.
This commit is contained in:
parent
67222ea3a6
commit
1b907ea655
2 changed files with 32 additions and 1 deletions
|
|
@ -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> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue