workaround a bug in the SGX driver that would prevent eglGetConfig to work properly
This commit is contained in:
@@ -133,11 +133,11 @@ static int initGraphics()
|
||||
EGLint w, h;
|
||||
EGLDisplay dpy;
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, &majorVersion, &minorVersion);
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
status_t err = EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, configAttribs, window, &config);
|
||||
if (err) {
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
#include <hardware/gralloc.h>
|
||||
#include <hardware/hardware.h>
|
||||
|
||||
#include <ui/FramebufferNativeWindow.h>
|
||||
#include <ui/EGLUtils.h>
|
||||
|
||||
#define EGL_EGLEXT_PROTOTYPES
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
|
||||
@@ -32,8 +35,6 @@
|
||||
#include <GLES/gl.h>
|
||||
#include <GLES/glext.h>
|
||||
|
||||
extern "C" EGLNativeWindowType android_createDisplaySurface(void);
|
||||
|
||||
using namespace android;
|
||||
|
||||
EGLDisplay eglDisplay;
|
||||
@@ -268,6 +269,8 @@ int init_gl_surface(void)
|
||||
EGL_NONE
|
||||
};
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
printf("init_gl_surface\n");
|
||||
if ( (eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY)) == EGL_NO_DISPLAY )
|
||||
{
|
||||
@@ -281,14 +284,15 @@ int init_gl_surface(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( eglChooseConfig(eglDisplay, attrib, &myConfig, 1, &numConfigs) != EGL_TRUE )
|
||||
if ( EGLUtils::selectConfigForNativeWindow(eglDisplay, attrib, window, &myConfig) != 0)
|
||||
{
|
||||
printf("eglChooseConfig failed\n");
|
||||
printf("EGLUtils::selectConfigForNativeWindow failed\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if ( (eglSurface = eglCreateWindowSurface(eglDisplay, myConfig,
|
||||
android_createDisplaySurface(), 0)) == EGL_NO_SURFACE )
|
||||
window, 0)) == EGL_NO_SURFACE )
|
||||
{
|
||||
printf("eglCreateWindowSurface failed\n");
|
||||
return 0;
|
||||
|
||||
@@ -45,11 +45,11 @@ int main(int argc, char** argv)
|
||||
EGLint w, h;
|
||||
EGLDisplay dpy;
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, &majorVersion, &minorVersion);
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
status_t err = EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, configAttribs, window, &config);
|
||||
if (err) {
|
||||
|
||||
@@ -37,10 +37,14 @@ int main(int argc, char** argv)
|
||||
|
||||
EGLDisplay dpy;
|
||||
|
||||
EGLNativeWindowType window = 0;
|
||||
if (!usePbuffer) {
|
||||
window = android_createDisplaySurface();
|
||||
}
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, &majorVersion, &minorVersion);
|
||||
if (!usePbuffer) {
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
surface = eglCreateWindowSurface(dpy, config, window, NULL);
|
||||
EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, s_configAttribs, window, &config);
|
||||
|
||||
@@ -46,11 +46,11 @@ int main(int argc, char** argv)
|
||||
EGLint w, h;
|
||||
EGLDisplay dpy;
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, &majorVersion, &minorVersion);
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
status_t err = EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, configAttribs, window, &config);
|
||||
if (err) {
|
||||
|
||||
@@ -44,12 +44,13 @@ int main(int argc, char** argv)
|
||||
EGLint w, h;
|
||||
EGLDisplay dpy;
|
||||
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, 0 ,0) ;//&majorVersion, &minorVersion);
|
||||
eglGetConfigs(dpy, NULL, 0, &numConfigs);
|
||||
printf("# configs = %d\n", numConfigs);
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
status_t err = EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, configAttribs, window, &config);
|
||||
|
||||
@@ -42,11 +42,11 @@ int main(int argc, char** argv)
|
||||
EGLint w, h;
|
||||
EGLDisplay dpy;
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||
eglInitialize(dpy, &majorVersion, &minorVersion);
|
||||
|
||||
EGLNativeWindowType window = android_createDisplaySurface();
|
||||
|
||||
status_t err = EGLUtils::selectConfigForNativeWindow(
|
||||
dpy, configAttribs, window, &config);
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user