102f4aeb0Sopenharmony_ciName 202f4aeb0Sopenharmony_ci 302f4aeb0Sopenharmony_ci ANDROID_framebuffer_target 402f4aeb0Sopenharmony_ci 502f4aeb0Sopenharmony_ciName Strings 602f4aeb0Sopenharmony_ci 702f4aeb0Sopenharmony_ci EGL_ANDROID_framebuffer_target 802f4aeb0Sopenharmony_ci 902f4aeb0Sopenharmony_ciContributors 1002f4aeb0Sopenharmony_ci 1102f4aeb0Sopenharmony_ci Jamie Gennis 1202f4aeb0Sopenharmony_ci 1302f4aeb0Sopenharmony_ciContact 1402f4aeb0Sopenharmony_ci 1502f4aeb0Sopenharmony_ci Jamie Gennis, Google Inc. (jgennis 'at' google.com) 1602f4aeb0Sopenharmony_ci 1702f4aeb0Sopenharmony_ciStatus 1802f4aeb0Sopenharmony_ci 1902f4aeb0Sopenharmony_ci Complete 2002f4aeb0Sopenharmony_ci 2102f4aeb0Sopenharmony_ciVersion 2202f4aeb0Sopenharmony_ci 2302f4aeb0Sopenharmony_ci Version 1, September 20, 2012 2402f4aeb0Sopenharmony_ci 2502f4aeb0Sopenharmony_ciNumber 2602f4aeb0Sopenharmony_ci 2702f4aeb0Sopenharmony_ci EGL Extension #47 2802f4aeb0Sopenharmony_ci 2902f4aeb0Sopenharmony_ciDependencies 3002f4aeb0Sopenharmony_ci 3102f4aeb0Sopenharmony_ci Requires EGL 1.0 3202f4aeb0Sopenharmony_ci 3302f4aeb0Sopenharmony_ci This extension is written against the wording of the EGL 1.4 Specification 3402f4aeb0Sopenharmony_ci 3502f4aeb0Sopenharmony_ciOverview 3602f4aeb0Sopenharmony_ci 3702f4aeb0Sopenharmony_ci Android supports a number of different ANativeWindow implementations that 3802f4aeb0Sopenharmony_ci can be used to create an EGLSurface. One implementation, which is used to 3902f4aeb0Sopenharmony_ci send the result of performing window composition to a display, may have 4002f4aeb0Sopenharmony_ci some device-specific restrictions. Because of this, some EGLConfigs may 4102f4aeb0Sopenharmony_ci be incompatible with these ANativeWindows. This extension introduces a 4202f4aeb0Sopenharmony_ci new boolean EGLConfig attribute that indicates whether the EGLConfig 4302f4aeb0Sopenharmony_ci supports rendering to an ANativeWindow for which the buffers are passed to 4402f4aeb0Sopenharmony_ci the HWComposer HAL as a framebuffer target layer. 4502f4aeb0Sopenharmony_ci 4602f4aeb0Sopenharmony_ciNew Types 4702f4aeb0Sopenharmony_ci 4802f4aeb0Sopenharmony_ci None. 4902f4aeb0Sopenharmony_ci 5002f4aeb0Sopenharmony_ciNew Procedures and Functions 5102f4aeb0Sopenharmony_ci 5202f4aeb0Sopenharmony_ci None. 5302f4aeb0Sopenharmony_ci 5402f4aeb0Sopenharmony_ciNew Tokens 5502f4aeb0Sopenharmony_ci 5602f4aeb0Sopenharmony_ci Accepted by the <attribute> parameter of eglGetConfigAttrib and 5702f4aeb0Sopenharmony_ci the <attrib_list> parameter of eglChooseConfig: 5802f4aeb0Sopenharmony_ci 5902f4aeb0Sopenharmony_ci EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 6002f4aeb0Sopenharmony_ci 6102f4aeb0Sopenharmony_ciChanges to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) 6202f4aeb0Sopenharmony_ci 6302f4aeb0Sopenharmony_ci Section 3.4, Configuration Management, add a row to Table 3.1. 6402f4aeb0Sopenharmony_ci 6502f4aeb0Sopenharmony_ci Attribute Type Notes 6602f4aeb0Sopenharmony_ci ------------------------------ ------- --------------------------- 6702f4aeb0Sopenharmony_ci EGL_FRAMEBUFFER_TARGET_ANDROID boolean whether use as a HWComposer 6802f4aeb0Sopenharmony_ci framebuffer target layer is 6902f4aeb0Sopenharmony_ci supported 7002f4aeb0Sopenharmony_ci 7102f4aeb0Sopenharmony_ci Section 3.4, Configuration Management, add a row to Table 3.4. 7202f4aeb0Sopenharmony_ci 7302f4aeb0Sopenharmony_ci Attribute Default Selection Sort Sort 7402f4aeb0Sopenharmony_ci Criteria Order Priority 7502f4aeb0Sopenharmony_ci ------------------------------ ------------- --------- ----- -------- 7602f4aeb0Sopenharmony_ci EGL_FRAMEBUFFER_TARGET_ANDROID EGL_DONT_CARE Exact None 7702f4aeb0Sopenharmony_ci 7802f4aeb0Sopenharmony_ci Section 3.4, Configuration Management, add a paragraph at the end of the 7902f4aeb0Sopenharmony_ci subsection titled Other EGLConfig Attribute Descriptions. 8002f4aeb0Sopenharmony_ci 8102f4aeb0Sopenharmony_ci EGL_FRAMEBUFFER_TARGET_ANDROID is a boolean indicating whether the 8202f4aeb0Sopenharmony_ci config may be used to create an EGLSurface from an ANativeWindow for 8302f4aeb0Sopenharmony_ci which the buffers are to be passed to HWComposer as a framebuffer 8402f4aeb0Sopenharmony_ci target layer. 8502f4aeb0Sopenharmony_ci 8602f4aeb0Sopenharmony_ci Section 3.4.1, Querying Configurations, change the last paragraph as follow 8702f4aeb0Sopenharmony_ci 8802f4aeb0Sopenharmony_ci EGLConfigs are not sorted with respect to the parameters 8902f4aeb0Sopenharmony_ci EGL_BIND_TO_TEXTURE_RGB, EGL_BIND_TO_TEXTURE_RGBA, EGL_CONFORMANT, 9002f4aeb0Sopenharmony_ci EGL_LEVEL, EGL_NATIVE_RENDERABLE, EGL_MAX_SWAP_INTERVAL, 9102f4aeb0Sopenharmony_ci EGL_MIN_SWAP_INTERVAL, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE, 9202f4aeb0Sopenharmony_ci EGL_TRANSPARENT_TYPE, EGL_TRANSPARENT_RED_VALUE, 9302f4aeb0Sopenharmony_ci EGL_TRANSPARENT_GREEN_VALUE, EGL_TRANSPARENT_BLUE_VALUE, and 9402f4aeb0Sopenharmony_ci EGL_RECORDABLE_ANDROID. 9502f4aeb0Sopenharmony_ci 9602f4aeb0Sopenharmony_ciIssues 9702f4aeb0Sopenharmony_ci 9802f4aeb0Sopenharmony_ci 9902f4aeb0Sopenharmony_ciRevision History 10002f4aeb0Sopenharmony_ci 10102f4aeb0Sopenharmony_ci#1 (Jamie Gennis, September 20, 2012) 10202f4aeb0Sopenharmony_ci - Initial draft. 103