doc: Clean up render timing docs.

This commit is contained in:
Ryan Pavlik 2021-04-09 18:20:49 -05:00
parent c906151fb1
commit c591fe770e

View file

@ -5,7 +5,6 @@ Copyright 2021, Collabora, Ltd. and the Monado contributors
SPDX-License-Identifier: BSL-1.0
-->
A "brief" overview of the various time-points that a frame goes through, from
when the application gets go ahead to render the frame to when pixels are turned
into photons. This only a single frame, where all of the timings are hit and the
@ -28,25 +27,22 @@ scanout starting to the vblank period (like for the Index).
* During the vblank period the display lights up turning the pixels into
photons. We refer to this time as **display**, same as in OpenXR.
The names for timepoints are chosen to align with the naming in
[`VK_GOOGLE_display_timing`][], reading that extension can provide further
information.
## Main compositor perspective
* @ref xrt_comp_wait_frame - It is within this function that the frame timing is
predicted, see @ref u_frame_timing_predict. The compositor will then wait to
**waku_up** time and then return from this function.
* @ref xrt_comp_begin_frame - The app or IPC server calls this function when it
is done with CPU work and ready to do GPU work.
* @ref xrt_comp_discard_frame - The frame is discarded.
* @ref xrt_comp_layer_begin - Called during transfers of layers.
* @ref xrt_comp_layer_stereo_projection - This and other layer functions are
called to list the layers the compositor should render.
* @ref xrt_comp_layer_commit - The compositor starts to render the frame,
trying to hit the **present** time.
* @ref xrt_comp_wait_frame - It is within this function that the frame timing is
predicted, see @ref u_rt_predict. The compositor will then wait to
**wake_up** time and then return from this function.
* @ref xrt_comp_begin_frame - The app or IPC server calls this function when it
is done with CPU work and ready to do GPU work.
* @ref xrt_comp_discard_frame - The frame is discarded.
* @ref xrt_comp_layer_begin - Called during transfers of layers.
* @ref xrt_comp_layer_stereo_projection - This and other layer functions are
called to list the layers the compositor should render.
* @ref xrt_comp_layer_commit - The compositor starts to render the frame,
trying to hit the **present** time.
[`VK_GOOGLE_display_timing`]: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GOOGLE_display_timing.html