add a way to access the version string of the h/w implementation of EGL

we use a hidden egl extension. the version string is printed
in SF's dumpsys log.

Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
This commit is contained in:
Mathias Agopian 2011-11-29 17:55:46 -08:00
parent 3c03f63b65
commit bc2d79ed7a
3 changed files with 19 additions and 2 deletions

View File

@ -49,6 +49,8 @@ using namespace android;
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#define EGL_VERSION_HW_ANDROID 0x3143
struct extention_map_t { struct extention_map_t {
const char* name; const char* name;
__eglMustCastToProperFunctionPointerType address; __eglMustCastToProperFunctionPointerType address;
@ -972,6 +974,12 @@ const char* eglQueryString(EGLDisplay dpy, EGLint name)
return dp->getExtensionString(); return dp->getExtensionString();
case EGL_CLIENT_APIS: case EGL_CLIENT_APIS:
return dp->getClientApiString(); return dp->getClientApiString();
case EGL_VERSION_HW_ANDROID: {
if (gEGLImpl[IMPL_HARDWARE].dso) {
return dp->disp[IMPL_HARDWARE].queryString.version;
}
return dp->disp[IMPL_SOFTWARE].queryString.version;
}
} }
return setError(EGL_BAD_PARAMETER, (const char *)0); return setError(EGL_BAD_PARAMETER, (const char *)0);
} }

View File

@ -9,4 +9,5 @@ for use by Android extensions.
0x3140 EGL_ANDROID_image_native_buffer 0x3140 EGL_ANDROID_image_native_buffer
0x3141 (unused) 0x3141 (unused)
0x3142 EGL_ANDROID_recordable 0x3142 EGL_ANDROID_recordable
0x3143 - 0x314F (unused) 0x3143 EGL_VERSION_HW_ANDROID (internal use)
0x3144 - 0x314F (unused)

View File

@ -65,6 +65,8 @@
#define AID_GRAPHICS 1003 #define AID_GRAPHICS 1003
#endif #endif
#define EGL_VERSION_HW_ANDROID 0x3143
#define DISPLAY_COUNT 1 #define DISPLAY_COUNT 1
namespace android { namespace android {
@ -1548,6 +1550,12 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args)
extensions.getRenderer(), extensions.getRenderer(),
extensions.getVersion()); extensions.getVersion());
result.append(buffer); result.append(buffer);
snprintf(buffer, SIZE, "EGL : %s\n",
eglQueryString(graphicPlane(0).getEGLDisplay(),
EGL_VERSION_HW_ANDROID));
result.append(buffer);
snprintf(buffer, SIZE, "EXTS: %s\n", extensions.getExtension()); snprintf(buffer, SIZE, "EXTS: %s\n", extensions.getExtension());
result.append(buffer); result.append(buffer);