diff options
author | Sven Gothel <sgothel@jausoft.com> | 2011-08-07 07:56:09 +0200 |
---|---|---|
committer | Sven Gothel <sgothel@jausoft.com> | 2011-08-07 07:56:09 +0200 |
commit | 068e931dde12f7aae8687f54081c128f2a12fc50 (patch) | |
tree | 076cab8a4ef37a3c444f775de91091e74841bc38 /src/jogl | |
parent | 6dafa27a84006502467b609efcf9aa35df2a769d (diff) |
EGLDrawable.setRealized(true) - no update gfx-config if we already have proper EGL type.
Diffstat (limited to 'src/jogl')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/egl/EGLContext.java | 2 | ||||
-rw-r--r-- | src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java | 19 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLContext.java b/src/jogl/classes/jogamp/opengl/egl/EGLContext.java index 07cf512f8..49b3556c0 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLContext.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLContext.java @@ -172,7 +172,7 @@ public abstract class EGLContext extends GLContextImpl { contextHandle = EGL.eglCreateContext(eglDisplay, eglConfig, shareWith, contextAttrs, 0); if (contextHandle == 0) { throw new GLException("Error creating OpenGL context: eglDisplay "+toHexString(eglDisplay)+ - ", eglConfig "+toHexString(eglConfig)+", "+glProfile+", error "+toHexString(EGL.eglGetError())); + ", eglConfig "+config+", "+glProfile+", shareWith "+toHexString(shareWith)+", error "+toHexString(EGL.eglGetError())); } GLContextShareSet.contextCreated(this); if (DEBUG) { diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java index 3cc273966..4ab311479 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java @@ -103,7 +103,7 @@ public abstract class EGLDrawable extends GLDrawableImpl { AbstractGraphicsDevice aDevice = aConfig.getScreen().getDevice(); if(aDevice instanceof EGLGraphicsDevice) { if(DEBUG) { - System.err.println("EGLDrawable.setRealized: using existing EGL config - START"); + System.err.println("EGLDrawable.setRealized(true): using existing EGL config - START"); } // just fetch the data .. trust but verify .. eglDisplay = aDevice.getHandle(); @@ -128,19 +128,15 @@ public abstract class EGLDrawable extends GLDrawableImpl { // EGLSurface is ours .. ownEGLSurface=true; - eglConfig.updateGraphicsConfiguration(); - + // redundant, already a proper chosen EGLCapabilities eglConfig.updateGraphicsConfiguration(); recreateSurface(); } } else { throw new GLException("EGLGraphicsDevice hold by non EGLGraphicsConfiguration: "+aConfig); } - if(DEBUG) { - System.err.println("EGLDrawable.setRealized: using existing EGL config - END: "+this); - } } else { if(DEBUG) { - System.err.println("EGLDrawable.setRealized: creating new EGL config - START"); + System.err.println("EGLDrawable.setRealized(true): creating new EGL config - START"); } // create a new EGL config .. ownEGLDisplay=true; @@ -182,11 +178,14 @@ public abstract class EGLDrawable extends GLDrawableImpl { System.err.println("Chosen eglConfig: "+eglConfig); } recreateSurface(); - if(DEBUG) { - System.err.println("EGLDrawable.setRealized: creating new EGL config - END: "+this); - } + } + if(DEBUG) { + System.err.println("EGLDrawable.setRealized(true): END: ownDisplay "+ownEGLDisplay+", ownSurface "+ownEGLSurface+" - "+this); } } else if (ownEGLSurface && eglSurface != EGL.EGL_NO_SURFACE) { + if(DEBUG) { + System.err.println("EGLDrawable.setRealized(false): ownDisplay "+ownEGLDisplay+", ownSurface "+ownEGLSurface); + } // Destroy the window surface if (!EGL.eglDestroySurface(eglDisplay, eglSurface)) { throw new GLException("Error destroying window surface (eglDestroySurface)"); |