1Name
2
3    ANGLE_direct_composition
4
5Name Strings
6
7    EGL_ANGLE_direct_composition
8
9Contributors
10
11    John Bauman
12
13Contacts
14
15    John Bauman (jbauman 'at' google.com)
16
17Status
18
19    Draft
20
21Version
22
23    Version 2, Dec 14, 2015
24
25Number
26
27    EGL Extension #??
28
29Dependencies
30
31    This extension is written against the wording of the EGL 1.5 Specification.
32
33Overview
34
35    This extension allows specifying that the contents of a window surface be
36    posted to the screen using the DirectComposition API.
37
38New Types
39
40    None
41
42New Procedures and Functions
43
44    None
45
46New Tokens
47
48    Accepted by the <attribute> parameter of eglQuerySurface and by the
49    <attrib_list> parameter of eglCreateWindowSurface and
50    eglCreatePlatformWindowSurface
51
52    EGL_DIRECT_COMPOSITION_ANGLE                         0x33A5
53
54Changes to Chapter 3 of the EGL 1.5 Specification (EGL Functions and Errors)
55
56    Modify the fourth paragraph of Section 3.5.1, page 32
57    (Creating On-Screen rendering Surfaces)
58
59    "<attrib_list> specifies a list of attributes for the window. The list has
60    the same structure as described for eglChooseConfig. Attributes that can
61    be specified in <attrib_list> include EGL_DIRECT_COMPOSITION_ANGLE,
62    EGL_GL_COLORSPACE, EGL_RENDER_BUFFER, EGL_VG_COLORSPACE, and
63    EGL_VG_ALPHA_FORMAT."
64
65    Add the following between paragraphs 6 and 7 of Section 3.5.1, page 32
66    (Creating On-Screen Rendering Surfaces)
67
68    "EGL_DIRECT_COMPOSITION_ANGLE specifies whether the surface will be posted
69    to the window using DirectComposition. The default is EGL_FALSE. If
70    EGL_TRUE is specified, <native_window> must be owned by the current
71    process, and contents drawn by native APIs or EGLSurfaces with
72    EGL_DIRECT_COMPOSITION_ANGLE as EGL_FALSE will appear underneath the
73    contents of this surface."
74
75
76    Add the following entry to Table 3.5, page 44 (Queryable surface
77    attributes and types)
78
79    Attribute                    Type    Description
80    ---------------------------- ------- --------------------------------------
81    EGL_DIRECT_COMPOSITION_ANGLE boolean Surface will be posted to the window
82                                         using DirectComposition
83
84Issues
85    1. Should a surface attrib or config be used to specify that
86    DirectComposition is needed.
87
88    PROPOSED: A surface attrib would work and avoids creating
89    otherwise-duplicate configs.
90
91Revision History
92
93    Version 2, 2015/12/14
94      - Use attrib instead of config.
95
96    Version 1, 2015/12/10
97      - Initial draft.
98