Bug 896

Summary: Use EGL_KHR_create_context allowing EGLContext to create OpenGL Destop Contex and using Debug profiles (for desktop and mobile)
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement CC: sgothel
Priority: ---    
Version: 2.3.2   
Hardware: All   
OS: all   
Type: --- SCM Refs:
35622a7cef4a28ce7e32bf008ef331d9a0d9e3e2 38baef0371fc55405779590d503f6e0de10fa9cc
Workaround: ---
Bug Depends on:    
Bug Blocks: 1203    

Description Sven Gothel 2013-11-06 16:52:41 CET

    
Comment 1 Sven Gothel 2014-12-07 04:04:40 CET
35622a7cef4a28ce7e32bf008ef331d9a0d9e3e2

    - Detect EGL_KHR_create_context capability and utilize if available.
    
    - Implement EGLContext.createContextARBImpl(..),
      allowing native DEBUG context usage, where available.
    
    - EGL implements SharedResourceRunner, i.e. probing profiles
      on dedicated thread using common interface.
    
    - Probe desktop profile/context ability
      in EGLDrawableFactory SharedResourceRunner,
      Where EGLGLnDynamicLibraryBundleInfo covers EGL + desktop GL.
    
    - TODO: Tests w/ capable implementation
Comment 2 Sven Gothel 2015-01-23 15:13:39 CET
38baef0371fc55405779590d503f6e0de10fa9cc
    Refine criteria to allow OpenGL API usage for EGL
    
    It has been experienced w/ Mesa 10.3.2 (EGL 1.4/Gallium)
    that even though initial OpenGL context can be created w/o 'EGL_KHR_create_context',
    switching the API via 'eglBindAPI(EGL_OpenGL_API)' the latter 'eglCreateContext(..)' fails w/ EGL_BAD_ACCESS.
    
    Hence we require both: OpenGL API support _and_  'EGL_KHR_create_context'.
    
    FIXME: Evaluate this issue in more detail!
    
    FIXME: Utilization of eglBindAPI(..) must be re-evaluated in case we mix ES w/ OpenGL, see EGL 1.4 spec.
           This is due to new semantics, i.e. API is bound on a per thread base,
           hence it must be switched before makeCurrent w/ different APIs, see:
              eglWaitClient();
Comment 3 Sven Gothel 2015-08-28 00:57:37 CEST
Further work to achieve this feature is being 
continued in Bug 1203.