GLContextImpl.createImpl(..): Fix NoARBCreateContext and '!ARB GL >= 3.1' issues: ================================================================================= GLContextImpl.createImpl(..) implementation of X11GLXContext and WindowsWGLContext wrongly handles the case of NoARBCreateContext. Here the !ARB created context shall allow GL >= 3.1, since ARB context creation is disabled and 'no mix' can occur. The latter was already intended due to failure criteris 'createContextARBTried' in: if( glCaps.getGLProfile().isGL3() && createContextARBTried ) { failure("createImpl ctx !ARB but ARB is used, profile > GL2 requested"); } Further, WindowsWGLContext treats glCaps.isBitmap() within the 'createContextARBTried=true' case, but it shall never tried using the ARB context creation method. This even lead to the issue of creating a 1.1 context, but having the ProcAddressTable being still on the GL > 2 cached table. This is due to 'setGLFunctionAvailability(..)'. Make 'setGLFunctionAvailability(..)' functional ================================================= We shall ensure, that states gathered via 'setGLFunctionAvailability(..)' are reset in case the function fails.
Even though Bug 1105's root cause is a swing issue, subsequently chosen Windows bitmap and !ARB context creation causes the '!ARB GL >= 3.1' failure.
*** Bug 1105 has been marked as a duplicate of this bug. ***
Make 'setGLFunctionAvailability(..)' functional ================================================= Change to "Ensure 'setGLFunctionAvailability(..)' is functional", i.e. that caller either throws an exception or issues a state reset.
e0ed09f8e2df570a9542f606a133c8fde074cbfe This fix solves the described issues below. Test cases added for onscreen and offscreen drawables, the latter includes Window's bitmap special case.
900f1f2a877aacfa750388419f05c0c13d6c5f26 Fix unit tests: Use same definition as in GLProfile for 'disableOpenGLARBContext', i.e. exclude OSX