xref: /aosp_15_r20/external/angle/extensions/EGL_ANGLE_prepare_swap_buffers.txt (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1Name
2
3    ANGLE_prepare_swap_buffers
4
5Name Strings
6
7    EGL_ANGLE_prepare_swap_buffers
8
9Contributors
10
11    Jamie Madill
12    Shahbaz Youssefi
13    Lingfeng Yang
14
15Contacts
16
17    Jamie Madill, Google Inc. (jmadill 'at' google.com)
18    Shahbaz Youssefi, Google Inc. (syoussefi 'at' google.com)
19    Lingfeng Yang, Google Inc. (lfy 'at' google.com)
20
21Status
22
23    Draft
24
25Version
26
27    Version 1, January 10, 2022
28
29Number
30
31    EGL Extension #??
32
33Dependencies
34
35    This extension is written against the wording of the EGL 1.5
36    Specification.
37
38Overview
39
40    The EGL implementation often relies on a swapchain to present backbuffer
41    rendering results. Images are dequeued from the swapchain, then written in
42    the course of rendering, and then queued back to the swapchain for
43    presentation.  It can be advantageous to provide a hint API that performs
44    the dequeue operation and other operations necessary to prepare the
45    swapchain image for rendering, without also queueing it for present,
46    especially if there is going to be a long or variable wait associated with
47    the dequeue.  This extension provides that api, eglPrepareSwapBuffers.
48
49New Types
50
51    None.
52
53New Procedures and Functions
54
55    EGLBoolean eglPrepareSwapBuffersANGLE(
56        EGLDisplay dpy,
57        EGLSurface surface);
58
59New Tokens
60
61    None
62
63Additions to the EGL 1.5 Specification
64
65    Add the following to section 3.10.1 "Posting to a Window":
66
67    An application can encourage the EGL implementation to dequeue and
68    otherwise prepare a swapchain image earlier before presenting via calling
69
70        EGLBoolean eglPrepareSwapBuffersANGLE(
71            EGLDisplay dpy,
72            EGLSurface surface);
73
74    The behaviour of eglPrepareSwapBuffers can be a no-op. It is not necessary
75    to call eglSwapBuffers after calling. Conversely, it's also not necessary
76    to call eglPrepareSwapBuffersANGLE for eglSwapBuffers to work.
77
78Issues
79
80    None yet.
81
82Revision History
83
84    Rev.    Date         Author     Changes
85    ----  -------------  ---------  ----------------------------------------
86      1   Jan 10, 2022   lfy        Initial version
87