Add EGL_KHR_get_all_proc_addresses to extension string

We've had the extended behavior since Android 4.3, but the extension
hadn't been ratified by Khronos yet so we couldn't add it to the
extension string.

Bug: 9681677
Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
This commit is contained in:
Jesse Hall 2013-08-06 15:31:22 -07:00
parent 687821c05b
commit 21558daf69
2 changed files with 26 additions and 18 deletions

View File

@ -59,16 +59,24 @@ struct extention_map_t {
};
/*
* This is the list of EGL extensions exposed to applications,
* some of them are mandatory because used by the ANDROID system.
* This is the list of EGL extensions exposed to applications.
*
* Mandatory extensions are required per the CDD and not explicitly
* checked during EGL initialization. the system *assumes* these extensions
* are present. the system may not function properly if some mandatory
* extensions are missing.
* Some of them (gBuiltinExtensionString) are implemented entirely in this EGL
* wrapper and are always available.
*
* NOTE: gExtensionString MUST have a single space as the last character.
* The rest (gExtensionString) depend on support in the EGL driver, and are
* only available if the driver supports them. However, some of these must be
* supported because they are used by the Android system itself; these are
* listd as mandatory below and are required by the CDD. The system *assumes*
* the mandatory extensions are present and may not function properly if some
* are missing.
*
* NOTE: Both strings MUST have a single space as the last character.
*/
extern char const * const gBuiltinExtensionString =
"EGL_KHR_get_all_proc_addresses "
"EGL_ANDROID_presentation_time "
;
extern char const * const gExtensionString =
"EGL_KHR_image " // mandatory
"EGL_KHR_image_base " // mandatory
@ -84,7 +92,6 @@ extern char const * const gExtensionString =
"EGL_NV_system_time "
"EGL_ANDROID_image_native_buffer " // mandatory
"EGL_KHR_wait_sync " // strongly recommended
"EGL_ANDROID_presentation_time "
;
// extensions not exposed to applications but used by the ANDROID system

View File

@ -1,16 +1,16 @@
/*
/*
** Copyright 2007, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
@ -35,6 +35,7 @@ static char const * const sVendorString = "Android";
static char const * const sVersionString = "1.4 Android META-EGL";
static char const * const sClientApiString = "OpenGL_ES";
extern char const * const gBuiltinExtensionString;
extern char const * const gExtensionString;
extern void initEglTraceLevel();
@ -183,7 +184,7 @@ EGLBoolean egl_display_t::initialize(EGLint *major, EGLint *minor) {
mVersionString.setTo(sVersionString);
mClientApiString.setTo(sClientApiString);
// we only add extensions that exist in the implementation
mExtensionString.setTo(gBuiltinExtensionString);
char const* start = gExtensionString;
char const* end;
do {