• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ANGLE_flexible_surface_compatibility
4
5Name Strings
6
7    EGL_ANGLE_flexible_surface_compatibility
8
9Contributors
10
11    John Bauman   (jbauman 'at' google.com)
12    Shannon Woods (shannonwoods 'at' google.com)
13
14Contact
15
16    John Bauman   (jbauman 'at' google.com)
17
18Status
19
20    Draft
21
22Version
23
24    Version 3, Dec 15, 2015
25
26Number
27
28    EGL Extension #XXX
29
30Extension Type
31
32    EGL display extension
33
34Dependencies
35
36    This extension is written against the language of EGL 1.5.
37
38Overview
39
40    Some EGL implementations may allow any surface to be made current with any
41    context from the same display, without restrictions due to bit depth.
42
43IP Status
44
45    No known claims.
46
47New Types
48
49    None.
50
51New Procedures and Functions
52
53    None.
54
55New Tokens
56
57    Accepted by the <attribute> parameter of eglQuerySurface and by the
58    <attrib_list> parameter of eglCreateWindowSurface,
59    eglCreatePlatformWindowSurface, eglCreatePbufferSurface, and
60    eglCreatePbufferFromClientBuffer:
61
62    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE  0x33A6
63
64Changes to Chapter 2 of the EGL 1.5 Specification (EGL Operation)
65
66    Replace the first paragraph of the first bulleted list item in section
67    2.2, page 4
68    (Rendering Contexts and Drawing Surfaces)
69
70    "They support the same type of color buffer (RGB or luminance), or the
71    surface has the EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE
72    attribute set to EGL_TRUE."
73
74    Replace the first paragraph of the second bulleted list item in section
75    2.2, page 4
76    (Rendering Contexts and Drawing Surfaces)
77
78    "They have color buffers and ancillary buffers of the same depth, or the
79    surface has the EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE
80    attribute set to EGL_TRUE."
81
82Changes to Chapter 3 of the EGL 1.5 Specification (EGL Functions and Errors)
83
84    Modify the fourth paragraph of Section 3.5.1, page 32
85    (Creating On-Screen rendering Surfaces)
86
87    "<attrib_list> specifies a list of attributes for the window. The list has
88    the same structure as described for eglChooseConfig. Attributes that can
89    be specified in <attrib_list> include
90    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE, EGL_GL_COLORSPACE,
91    EGL_RENDER_BUFFER, EGL_VG_COLORSPACE, and EGL_VG_ALPHA_FORMAT."
92
93    Add the following between paragraphs 6 and 7 of Section 3.5.1, page 32
94    (Creating On-Screen Rendering Surfaces)
95
96    "EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE specifies whether the
97    surface can be made current with a context with a config of different bit
98    depth. Its values can be EGL_TRUE, in which case that is supported, or
99    EGL_FALSE, in which case that is not supported."
100
101    Modify the fourth paragraph of Section 3.5.2, page 35
102    (Creating Off-Screen Rendering Surfaces)
103
104    "<attrib_list> specifies a list of attributes for the pbuffer. The list
105    has the same structure as described for eglChooseConfig. Attributes that
106    can be specified in <attrib_list> include EGL_WIDTH, EGL_HEIGHT,
107    EGL_LARGEST_PBUFFER, EGL_TEXTURE_FORMAT, EGL_TEXTURE_TARGET,
108    EGL_MIPMAP_TEXTURE, EGL_GL_COLORSPACE, EGL_VG_COLORSPACE,
109    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE, and
110    EGL_VG_ALPHA_FORMAT."
111
112    Modify paragraph twelve of Section 3.5.2, page 36
113
114    "EGL_GL_COLORSPACE, EGL_VG_COLORSPACE,
115    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE, and
116    EGL_VG_ALPHA_FORMAT have the same meaning and default values as when used
117    with eglCreatePlatformWindowSurface."
118
119    Modify the fifth paragraph of Section 3.5.3, page 37
120    (Binding Off-Screen Rendering Surfaces To Client Buffers)
121
122    "<attrib_list> specifies a list of attributes for the pbuffer. The list
123    has the same structure as described for eglChooseConfig. Attributes that
124    can be specified in <attrib_list> include EGL_TEXTURE_FORMAT,
125    EGL_TEXTURE_TARGET, EGL_- MIPMAP_TEXTURE, and
126    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE. The meaning of these
127    attributes is as described above for eglCreatePbufferSurface. The
128    EGL_VG_COLORSPACE and EGL_VG_ALPHA_FORMAT attributes of the surface are
129    determined by the VGImageFormat of buffer."
130
131    Add the following entry to Table 3.5, page 44 (Queryable surface
132    attributes and types)
133
134    Attribute                                          Type    Description
135    -------------------------------------------------- ------- ------------------------
136    EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE boolean Surface can be made
137                                                               current with contexts
138                                                               of a different bit depth
139
140Issues
141
142    None
143
144Revision History
145
146    Version 3, Dec 15, 2015 (John Bauman)
147        - Modify EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE value.
148
149    Version 2, Dec 1, 2015 (John Bauman)
150        - Add EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE to specify
151          new behavior.
152
153    Version 1, Nov 24, 2015 (John Bauman)
154        - Initial Draft
155