weston/shared
Alexandros Frantzis df0e4b965f gl-renderer: Emit GPU rendering begin and end timeline timepoints
Use EGL fence sync objects to emit timepoints for the beginning and the
end of rendering on the GPU. The timepoints are emitted asynchronously
using the sync file fds associated with the fence sync objects. The sync
file fds are acquired using the facilities provided by the
EGL_ANDROID_native_fence_sync extension.

The asynchronous timepoint submissions are stored in a list in
gl_output_state until they are executed, and any pending submissions
that remain at output destruction time are cleaned up.

If timelining is inactive or the required EGL extensions are not
present, then GPU timepoint processing and emission are skipped.

Note that the GPU timestamps returned by sync files are in the
CLOCK_MONOTONIC clock domain, and are thus compatible with the
timeline timestamps (which also are in the CLOCK_MONOTONIC domain).

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2017-09-29 10:20:54 +03:00
..
cairo-util.c Moved helper macro to a discrete include file. 2015-06-15 17:11:45 -07:00
cairo-util.h share/cairo-util: Use wl_pointer_button_state enum directly 2016-09-24 11:52:56 +02:00
config-parser.c config-parser: Export weston_config_next_section 2017-02-21 12:55:15 -08:00
config-parser.h include stdint.h for int32_t/uint32_t 2016-07-26 16:26:08 -07:00
file-util.c shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
file-util.h shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
frame.c share/cairo-util: Use wl_pointer_button_state enum directly 2016-09-24 11:52:56 +02:00
helpers.h shared/helpers.h: fix a typo in a comment 2017-01-03 11:59:08 +00:00
image-loader.c shared/image: Silence maybe-uninitialized warning 2016-08-15 16:31:00 +02:00
image-loader.h shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
matrix.c shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
matrix.h shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
option-parser.c weston: Add support for "--foo bar" style options 2017-05-23 11:19:27 +02:00
os-compatibility.c os: Check for EINTR on ftruncate() 2017-03-24 21:02:30 +01:00
os-compatibility.h log: Open log file CLOEXEC so child processes don't get the fd 2015-07-16 19:28:36 -07:00
platform.h shared/platform.h: introduce weston_platform_destroy_egl_surface() 2016-11-21 16:07:05 +00:00
string-helpers.h string-helpers.h: Fix usage on musl libc 2016-09-24 11:55:58 +02:00
timespec-util.h timespec: Add timespec subtraction helpers 2017-03-13 14:20:06 +02:00
weston-egl-ext.h gl-renderer: Emit GPU rendering begin and end timeline timepoints 2017-09-29 10:20:54 +03:00
xalloc.c include stdint.h for int32_t/uint32_t 2016-07-26 16:26:08 -07:00
xalloc.h include stdint.h for int32_t/uint32_t 2016-07-26 16:26:08 -07:00
zalloc.h shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00