Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(core/shmif/lua) adjust CLOCKREQ behaviour
This makes a number of changes to how CLOCKREQ behaves across the stack. First it is no longer forwarded to the Lua layer at all, the handling of a custom timer callback is all managed internally and only one active is ever permitted. Then it adds two additional clock feedback modes, one on a dominant VBLANK and one on rendertarget presentation feedback. Both of these need some work that would push into the platform for conveying multiscreen feedback as well as presentation attached to a non-mapped rendertarget (e.g. for recording/sharing/offscreen effects). The presentation feedback is there to measure latency in a normal naive loop: source: 1. create frame 2. submit, wait for ACK 3. wait for STEPFRAME (~= frame callback) sink: 1. gather updates from sources, signal the transfer as STEPFRAME and semaphore. 2. compose into sink-output, increment MSC, forward compse as STEPFRAME. 3. signal VBLANK, forward VBLANK as STEPFRAME. This is adjusted in order to eventually drive X11-PRESENT and Wayland presentation feedback extensions better than can currently be done. The full story is still missing actual fences for mailbox and composition that isn't "sniped" by asynch-submit infinite jobs.
- Loading branch information
Showing
11 changed files
with
200 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.