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