New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

classic Classic list List threaded Threaded
54 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

olesoft
Hi Wade Walker,

I tried all your examples on windows-32 with jogl-2.0-b280-20110202-windows-i586.
3 of them work fine (AWT, AWTSWTBridge and SwingGLCanvas.

SWT example does not work:

Exception in thread "main" javax.media.opengl.GLException: wglARBPFID2GLCapabilities: Error getting pixel format attributes for pixel format 4 of device context
        at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfiguration.wglARBPFID2GLCapabilities(WindowsWGLGraphicsConfiguration.java:257)
        at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfiguration.create(WindowsWGLGraphicsConfiguration.java:110)
        at com.jogamp.opengl.impl.windows.wgl.WindowsExternalWGLContext.create(WindowsExternalWGLContext.java:87)
        at com.jogamp.opengl.impl.windows.wgl.WindowsWGLDrawableFactory.createExternalGLContextImpl(WindowsWGLDrawableFactory.java:432)
        at com.jogamp.opengl.impl.GLDrawableFactoryImpl.createExternalGLContext(GLDrawableFactoryImpl.java:256)
        at ole.test.OneTriangleSWT.main(OneTriangleSWT.java:45)


Also SwingGLJPanel example does not work:

Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: GL_VERSION is NULL: com.jogamp.opengl.impl.windows.wgl.WindowsBitmapWGLContext [OpenGL -1.-1, options 0x0, null, handle 0x0, com.jogamp.opengl.impl.gl4.GL4bcImpl@1e328e0,
        Drawable: com.jogamp.opengl.impl.windows.wgl.WindowsBitmapWGLDrawable[Realized true,
        Factory   com.jogamp.opengl.impl.windows.wgl.WindowsWGLDrawableFactory@90c06f,
        handle    0xffffffffd301145b,
        Window    ProxySurface[config WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[DefaultGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 20, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, one, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[20 gdi: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]], displayHandle 0x0, surfaceHandle 0xffffffffd301145b, size 624x444]]]
        at com.jogamp.opengl.impl.GLContextImpl.setContextVersion(GLContextImpl.java:672)
        at com.jogamp.opengl.impl.GLContextImpl.setGLFunctionAvailability(GLContextImpl.java:859)
        at com.jogamp.opengl.impl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:301)
        at com.jogamp.opengl.impl.GLContextImpl.makeCurrentLocking(GLContextImpl.java:406)
        at com.jogamp.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:352)
        at com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:347)
        at javax.media.opengl.awt.GLJPanel$SoftwareBackend.doPaintComponentImpl(GLJPanel.java:1083)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:996)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:384)
        at javax.swing.JComponent.paint(JComponent.java:1027)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:564)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5129)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1472)
        at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1403)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
        at javax.swing.JComponent.paint(JComponent.java:1013)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1762)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Thanks

Olesoft
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
Hmm, I ran them on Windows 32 just before the latest set of commits (using a private hack to fix the "GL_VERSION is NULL" bug) but haven't tried with b280 yet. Let me check it and see what's wrong.

Also, are you sure you're running against b280 and not an older version? The "GL_VERSION is NULL" bug is supposed to be fixed in b280.
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
In reply to this post by Matt
Matt wrote
This should not be that difficult, granted you are familiar with WGL API :)
I just got the SWT DLLs to compile successfully on Windows, and ran a JOGL SWT app on top of them to prove that they work  All I need to do now is change the JNI code to fix multisampling and recompile.

Matt wrote
But to be honest, I am thinking about switching to JOGL's GLCanvas, as the multisampling is not the only drawback of SWT's canvas... after some recent changes it's external GLContext became incompatible with JOGL GL3 profile, as I mentioned in other thread.
I found out while investigating this that GL3 is not cross-platform yet... apparently the latest version of Mac OS X only supports up to OGL 2.1 (see http://developer.apple.com/graphicsimaging/opengl/capabilities/ for details). So if I can add GL3 context support to SWT, it'll have to be Windows and Linux only for now, unfortunately.
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Matt
Wade Walker wrote
I found out while investigating this that GL3 is not cross-platform yet... apparently the latest version of Mac OS X only supports up to OGL 2.1 (see http://developer.apple.com/graphicsimaging/opengl/capabilities/ for details). So if I can add GL3 context support to SWT, it'll have to be Windows and Linux only for now, unfortunately.
Wow, I didn't know that Mac is that much behind...
Anyway, as I mentioned in this thread, the case with GL3 in SWT canvas on newest JOGL builds is a bit odd, as after removing a few conditions from the JOGL sources it seems to be running just fine. The problem is that it reports its context version as 3.0, when according to newest JOGL builds, 3.1 is required (and other conditions). I must say I don't know if this is just a 'reported version/capabilities' problem, or there is actually something bigger going on deeper...
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
In reply to this post by olesoft
olesoft wrote
I tried all your examples on windows-32 with jogl-2.0-b280-20110202-windows-i586.
3 of them work fine (AWT, AWTSWTBridge and SwingGLCanvas.
...
SWT example does not work:
...
Also SwingGLJPanel example does not work:
...
Hi Olesoft,

I tried these on a WinXP 32-bit machine and got similar problems, though not exactly the same. This is with an ATI Mobility Radeon x300. I'll enter some bug reports :)
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

olesoft
Hi Wade Walker,

Thank you very much. I tried it on another 32-bit windows computer.
And I noticed that it depend from Java version:
for Java 1.6.0_23 it works for 3 examples (AWT, AWT-SWT Bridge, Swing Canvas);
for Java 1.6.0_22 it works for 2 examples (SWT, Swing Panel).

So, I do not unnderstand why it happens, may be some specific code for version?
Also, I am going to try your tutorial on mac today.

Thanks again,

Olesoft
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

gouessej
Administrator
olesoft, my way of using SWT/AWT bridge works on Windows 32 bits, someone else tested with Java 1.6 update 21 as far as I know.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

olesoft
Hi all,

I have tried tutorial on Mac Book Pro (Jogl version is 292).
Only one example works fine (AWT-SWT bridge).
All other examples have a lot of errors.

Thanks,

Olesoft
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
Hi Olesoft,

I'm still working on reporting your Windows 32-bit bugs. There was an error in the debug logging itself, entered at https://jogamp.org/bugzilla/show_bug.cgi?id=468. Now that this one is cleared, I can enter bugs for the rest of them with proper debug logs
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

gouessej
Administrator
We use the build 292 here and we don't reproduce olesoft's bug even on Windows 32 bits. Wade, you have to mention in the bug report that it is not always reproducible (we have never reproduced it).
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

olesoft
Hi All,

I do not want to report bug. I am asking what I am doing wrong?
I have tried to use these simple classes from tutorial and cannot do this.
May be I have bad computers, wrong java SDK, Eclipse, SWT, etc.
But simple example (snippet 209) works fine on jogl-2.0-b3
from November 23. And SWT-AWT Bridge still works on 292.

Thank you,

Olesoft
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
Hi Olesoft,

I don't think you're doing anything wrong. It seems that JOGL 2 has some bugs on older 32-bit Windows systems. I've duplicated bugs similar to yours on two different 32-bit Windows XP platforms in the last couple of days. I ran all five of my tutorials using JOGL 1.1.1a on the same platforms with no trouble, so I know it's not the platforms themselves.

I'm working on getting these bugs entered and tracked, so hopefully we can report some progress to you soon.
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

gouessej
Administrator
What do you mean by "older 32-bit Windows systems"?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
gouessej wrote
What do you mean by "older 32-bit Windows systems"?
It seems to be systems that don't have WGL_ARB_create_context, and that are Open GL 2.x. I'm still debugging to try to find the exact cause of the problems.
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

gouessej
Administrator
Thanks for the info, I'll try to reproduce this problem on my side too.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Sven Gothel
Administrator
In reply to this post by Wade Walker
On Thursday, February 10, 2011 16:24:21 Wade Walker [via jogamp] wrote:
>
> gouessej wrote:
> >
> > What do you mean by "older 32-bit Windows systems"?
> >
>
> It seems to be systems that don't have WGL_ARB_create_context, and that are
> Open GL 2.x. I'm still debugging to try to find the exact cause of the
> problems.

http://jogamp.org/git/?p=jogl.git;a=commit;h=bf75331124d6d0c53b74d5235ec03f5fcbc55cba

Win,GDI,SWT: Fix pfd to caps conversion. Added thorough debug code.

Debug code added for use case: WinXP-32bit, GDI, SWT,
where WGL.wglGetCurrentDC() returns a non null value which is invalid.
Using the value (hdc) on eg GDI.GetObjectType(hdc) return 0 instead of
3 (OBJ_DC) and GDI.GetPixelFormat(hdc) returns 0 with last error 2000.

+++

http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java;h=845460c58fa29cbee6ae9a47b143619363ab9dd5;hb=bf75331124d6d0c53b74d5235ec03f5fcbc55cba#l89

This is the odd call on WinXP 32bit with SWT,
the follow up test on OBJ_DC (3) will fail (it's 0).

  89     long hdc = WGL.wglGetCurrentDC();
  90     if (0 == hdc) {
  91       throw new GLException("Error: attempted to make an external GLDrawable without a drawable current, werr " + GDI.GetLastError());
  92     }
  93     int hdcType = GDI.GetObjectType(hdc);
  94     if( GDI.OBJ_DC != hdcType ) {
  95         // FIXME: Turns out in above use case (WinXP-32bit, GDI, SWT) the returned DC (not 0) is invalid!
  96         throw new GLException("Error: current WGL DC ("+toHexString(hdc)+") is not a DC but: "+hdcType+", werr " + GDI.GetLastError());
  97     }
  98

the hdc is not null .. but invalid, ie the

  99     int pfdID = GDI.GetPixelFormat(hdc);

returns 0.

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
This latest commit fixes the AWT, SwingGLCanvas, SwingGLJPanel, and SWTAWT tutorials on my horrible old Windows XP 32-bit nvidia FX 5200 system :)

There's still a problem with the SWT tutorial -- here's the debug log below. It shows the invalid HDC problem, any idea how I can debug that? I've been looking at it the last couple of days, but can't figure out why an HDC would be invalid.

java.lang.Throwable: main - Info: NativeWindowFactory.<init>
        at javax.media.nativewindow.NativeWindowFactory.<clinit>(NativeWindowFactory.java:119)
        at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1164)
        at javax.media.opengl.GLProfile.access$0(GLProfile.java:1163)
        at javax.media.opengl.GLProfile$1.run(GLProfile.java:117)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:115)
        at name.wadewalker.jogl2tests.onetriangle.OneTriangleSWT.<clinit>(OneTriangleSWT.java:29)
main - NativeWindowFactory.initSingleton(false)
JOGL/Java2D integration disabled
JAWTUtil: Has sun.awt.SunToolkit.awtLock/awtUnlock true
JAWTUtil: Has Java2D true
JAWTUtil: Is headless false
JAWTUtil: AWT Desktop hints 2
GDI.isFirstX11ActionOnProcess: false
NativeWindowFactory.registerFactory() interface javax.media.nativewindow.NativeWindow -> jogamp.nativewindow.NativeWindowFactoryImpl@c743eb
NativeWindowFactory.registerFactory() class java.awt.Component -> jogamp.nativewindow.NativeWindowFactoryImpl@c743eb
NativeWindowFactory firstUIActionOnProcess false
NativeWindowFactory isAWTAvailable true, defaultFactory jogamp.nativewindow.NativeWindowFactoryImpl@c743eb
GLProfile.init firstUIActionOnProcess: false, thread: main
-----------------------------------------------------------------------------------------------------
Platform: Windows XP 5.1 (os), x86 (arch) 2 cores
Platform: littleEndian true, 32Bit true, a-ptr bit-size 32
Platform: Java 1.6.0_23, Java HotSpot(TM) Client VM, Sun Microsystems Inc., http://java.sun.com/, is JavaSE: true
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Package: com.jogamp.common
Extension Name: null
Specification Title: null
Specification Vendor: null
Specification Version: null
Implementation Title: null
Implementation Vendor: null
Implementation Vendor ID: null
Implementation URL: null
Implementation Version: null
Implementation Branch: null
Implementation Commit: null
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Package: javax.media.nativewindow
Extension Name: null
Specification Title: null
Specification Vendor: null
Specification Version: null
Implementation Title: null
Implementation Vendor: null
Implementation Vendor ID: null
Implementation URL: null
Implementation Version: null
Implementation Branch: null
Implementation Commit: null
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Package: javax.media.opengl
Extension Name: null
Specification Title: null
Specification Vendor: null
Specification Version: null
Implementation Title: null
Implementation Vendor: null
Implementation Vendor ID: null
Implementation URL: null
Implementation Version: null
Implementation Branch: null
Implementation Commit: null
-----------------------------------------------------------------------------------------------------
GLDrawableFactory.static - Native OS Factory for: Windows: jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory
GraphicsConfigurationFactory.registerFactory() interface javax.media.nativewindow.AbstractGraphicsDevice -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@118278a
GraphicsConfigurationFactory.registerFactory() class javax.media.nativewindow.windows.WindowsGraphicsDevice -> jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory@1570945
GraphicsConfigurationFactory.registerFactory() class javax.media.nativewindow.awt.AWTGraphicsDevice -> jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory@9fa8f
main-SharedResourceRunner STARTED
main-SharedResourceRunner -> ready
GraphicsConfigurationFactory.registerFactory() class javax.media.nativewindow.egl.EGLGraphicsDevice -> jogamp.opengl.egl.EGLGraphicsConfigurationFactory@6db724
WindowsWGLDrawableFactory.enterThreadCriticalZone() - 0xffffffffffffffff - main
java.lang.Exception: Stack trace
        at java.lang.Thread.dumpStack(Thread.java:1249)
        at jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory.enterThreadCriticalZone(WindowsWGLDrawableFactory.java:140)
        at javax.media.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1296)
        at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1266)
        at javax.media.opengl.GLProfile.access$0(GLProfile.java:1163)
        at javax.media.opengl.GLProfile$1.run(GLProfile.java:117)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:115)
        at name.wadewalker.jogl2tests.onetriangle.OneTriangleSWT.<clinit>(OneTriangleSWT.java:29)
java.lang.Throwable: Info: GLProfile.initProfilesForDevice: WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], isSet false
        at javax.media.opengl.GLProfile.initProfilesForDeviceImpl(GLProfile.java:1308)
        at javax.media.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1298)
        at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1266)
        at javax.media.opengl.GLProfile.access$0(GLProfile.java:1163)
        at javax.media.opengl.GLProfile$1.run(GLProfile.java:117)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:115)
        at name.wadewalker.jogl2tests.onetriangle.OneTriangleSWT.<clinit>(OneTriangleSWT.java:29)
GLProfile.init map decon, desktopCtxUndef true, eglCtxUndef true
GLProfile.init map GLProfile[GL4bc/GL4bc] on devide decon
GLProfile.init map default GLProfile[GL4bc/GL4bc] on device decon
GLProfile.init map GLProfile[GL3bc/GL3bc] on devide decon
GLProfile.init map GLProfile[GL2/GL2] on devide decon
GLProfile.init map GLProfile[GL2GL3/GL2] on devide decon
GLProfile.init map GLProfile[GL4/GL4] on devide decon
GLProfile.init map GLProfile[GL3/GL3] on devide decon
GLProfile.init map GLProfile[GL2ES2/GL2] on devide decon
GLProfile.init map *** no mapping for GLES2 on device decon
GLProfile.init map GLProfile[GL2ES1/GL2] on devide decon
GLProfile.init map *** no mapping for GLES1 on device decon
getOrCreateShared() decon: trying
main doAndWait START init: decon, release: null
main initializeAndWait set command init: decon, release: null
main-SharedResourceRunner woke up for device connection init: decon, release: null
main-SharedResourceRunner create Shared for: decon
RegisteredClassFactory getSharedClass (0) initialized: RegisteredClass[handle 0x400000, _dummyWindow_clazz0]
updateGraphicsConfiguration(using target): hdc 0xfffffffff20104d7
!!! user chosen caps GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
updateGraphicsConfigurationARB: SharedContext is null: WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0xfffffffff20104d7) = 7, idx 6 (LastError: 0)
chooseCapabilities: Using recommendedIndex: idx 6
!!! chosen pfdID (GDI): native recommended 7, caps GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
!!! setPixelFormat (GDI): hdc 0xfffffffff20104d7, 0 -> 7
*** setCapsPFD: GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
!!! WindowsDummyWGLDrawable: WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 7, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]]
java.lang.Exception: Info: setGL (OpenGL null): main-SharedResourceRunner, <null> -> GL4bcImpl, jogamp.opengl.gl4.GL4bcImpl@c06258
        at jogamp.opengl.GLContextImpl.setGL(GLContextImpl.java:177)
        at jogamp.opengl.GLContextImpl.setGLFunctionAvailability(GLContextImpl.java:814)
        at jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:301)
        at jogamp.opengl.GLContextImpl.makeCurrentLocking(GLContextImpl.java:406)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:352)
        at jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory$SharedResourceImplementation.createSharedResource(WindowsWGLDrawableFactory.java:236)
        at jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:206)
        at java.lang.Thread.run(Thread.java:662)
main-SharedResourceRunner: !!! Initializing WGL extension address table: Windows_decon_0
main-SharedResourceRunner: !!! GLContext WGL ProcAddressTable mapping key(Windows_decon_0) -> 14990140
main-SharedResourceRunner: !!! Context FQN: Windows_decon_0-0x2202
main-SharedResourceRunner: !!! GLContext GL ProcAddressTable mapping key(Windows_decon_0-0x2202) -> 21450309
ExtensionAvailabilityCache: Flush availability OpenGL 2.1 (compatibility profile, any, old) - 2.1.2
main-SharedResourceRunner:ExtensionAvailabilityCache: Pre-caching init jogamp.opengl.gl4.GL4bcImpl@c06258, OpenGL 2.1 (compatibility profile, any, old) - 2.1.2
main-SharedResourceRunner:ExtensionAvailabilityCache: Pre-caching extension availability OpenGL 2.1 (compatibility profile, any, old) - 2.1.2, use glGetString
main-SharedResourceRunner:ExtensionAvailabilityCache: ALL EXTENSIONS: 124
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_2_1 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_2_0 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_5 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_4 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_3 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_2 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_1 to known extensions
main-SharedResourceRunner:ExtensionAvailabilityCache: Added GL_VERSION_1_0 to known extensions
main-SharedResourceRunner: !!! GLContext GL ExtensionAvailabilityCache mapping key(Windows_decon_0-0x2202) -> 14098944
main-SharedResourceRunner: createContextImpl: NOT OK (ARB, initial) - extension not available - share 0
WindowsWGLContext.createContext failed, fall back to !ARB context 0.0 (old) - @creation
main-SharedResourceRunner: createImpl: OK (old) share 0
main-SharedResourceRunner: !!! Create GL context OK: 0x10000 for jogamp.opengl.windows.wgl.WindowsWGLContext
!!! SharedDevice:  WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]
!!! SharedScreen:  DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0]
!!! SharedContext: jogamp.opengl.windows.wgl.WindowsWGLContext [OpenGL 2.1, options 0x22, 2.1 (compatibility profile, any, old) - 2.1.2, handle 0x10000, jogamp.opengl.gl4.GL4bcImpl@c06258,
        Drawable: jogamp.opengl.windows.wgl.WindowsDummyWGLDrawable[Realized true,
        Factory   jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory@1f9338f,
        handle    0x0,
        Window    ProxySurface[config WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 7, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]], displayHandle 0x0, surfaceHandle 0x0, size 64x64]]]
!!! pbuffer avail: true
!!! readDrawable:  true
main-SharedResourceRunner -> ready
main initializeAndWait END init: decon, release: null
java.lang.Throwable: getOrCreateSharedl() decon: done
        at jogamp.opengl.SharedResourceRunner.getOrCreateShared(SharedResourceRunner.java:103)
        at jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory.getOrCreateSharedContextImpl(WindowsWGLDrawableFactory.java:318)
        at javax.media.opengl.GLDrawableFactory.getOrCreateSharedContext(GLDrawableFactory.java:282)
        at javax.media.opengl.GLDrawableFactory.getIsSharedContextAvailable(GLDrawableFactory.java:269)
        at javax.media.opengl.GLProfile.initProfilesForDeviceImpl(GLProfile.java:1325)
        at javax.media.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1298)
        at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1266)
        at javax.media.opengl.GLProfile.access$0(GLProfile.java:1163)
        at javax.media.opengl.GLProfile$1.run(GLProfile.java:117)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:115)
        at name.wadewalker.jogl2tests.onetriangle.OneTriangleSWT.<clinit>(OneTriangleSWT.java:29)
GLProfile.initProfilesForDevice: WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]: desktop Shared Ctx true
GLProfile.init map decon, desktopCtxUndef false, eglCtxUndef false
GLProfile.init map *** no mapping for GL4bc on device decon
GLProfile.init map *** no mapping for GL3bc on device decon
GLProfile.init map GLProfile[GL2/GL2] on devide decon
GLProfile.init map default GLProfile[GL2/GL2] on device decon
GLProfile.init map GLProfile[GL2GL3/GL2] on devide decon
GLProfile.init map *** no mapping for GL4 on device decon
GLProfile.init map *** no mapping for GL3 on device decon
GLProfile.init map GLProfile[GL2ES2/GL2] on devide decon
GLProfile.init map *** no mapping for GLES2 on device decon
GLProfile.init map GLProfile[GL2ES1/GL2] on devide decon
GLProfile.init map *** no mapping for GLES1 on device decon
main: !!! createContextARB: SET mappedVersionsAvailableSet Windows_decon_0
GLProfile.initProfilesForDevice: decon: added profile(s): desktop true, egl false
GLProfile.initProfilesForDevice: decon: GLAvailability[Native[GL4bc false, GL4 false, GL3bc false, GL3 false, GL2 true[1.5 (compatibility profile, any, old)], GL2ES1 true, GLES1 false, GL2ES2 true, GLES2 false], Profiles[GLProfile[GL2ES2/GL2], GLProfile[GL2ES1/GL2], GLProfile[GL2/GL2], GLProfile[GL2/GL2], GLProfile[GL2GL3/GL2], , default GLProfile[GL2/GL2]]]
GLProfile.dumpGLInfo: jogamp.opengl.windows.wgl.WindowsWGLContext [OpenGL 2.1, options 0x22, 2.1 (compatibility profile, any, old) - 2.1.2, handle 0x10000, jogamp.opengl.gl4.GL4bcImpl@c06258,
        Drawable: jogamp.opengl.windows.wgl.WindowsDummyWGLDrawable[Realized true,
        Factory   jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory@1f9338f,
        handle    0x0,
        Window    ProxySurface[config WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 7, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]], displayHandle 0x0, surfaceHandle 0x0, size 64x64]]]
ExtensionAvailabilityCache: getGLExtensions() called
-----------------------------------------------------------------------------------------------------
WindowsGraphicsDevice[type Windows, connection decon]: GLAvailability[Native[GL4bc false, GL4 false, GL3bc false, GL3 false, GL2 true[1.5 (compatibility profile, any, old)], GL2ES1 true, GLES1 false, GL2ES2 true, GLES2 false], Profiles[GLProfile[GL2ES2/GL2], GLProfile[GL2ES1/GL2], GLProfile[GL2/GL2], GLProfile[GL2/GL2], GLProfile[GL2GL3/GL2], , default GLProfile[GL2/GL2]]]
Swap Interval -1
GL Profile    GLProfile[GL2/GL2]
CTX VERSION   2.1 (compatibility profile, any, old) - 2.1.2
GL            jogamp.opengl.gl4.GL4bcImpl@c06258
GL_VENDOR     NVIDIA Corporation
GL_VERSION    2.1.2
GL_EXTENSIONS
              GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_gpu_program_parameters GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_paletted_texture GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_shared_texture_palette GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_framebuffer_multisample_coverage GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
GLX_EXTENSIONS
              WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format WGL_ARB_render_texture WGL_EXT_extensions_string WGL_EXT_swap_control WGL_NV_float_buffer WGL_NV_render_depth_texture WGL_NV_render_texture_rectangle
-----------------------------------------------------------------------------------------------------
GLCaps[1 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[1 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[2 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[2 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[3 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[3 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[4 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[4 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[5 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[5 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[6 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[6 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[7 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[7 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[8 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[8 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[9 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[9 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[10 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[10 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[11 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[11 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[12 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[12 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[13 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[13 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[14 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[14 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[15 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[15 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[16 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[16 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[17 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[17 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[18 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[18 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[19 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[19 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[20 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[20 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[21 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[21 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[22 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[22 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[23 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[23 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[24 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[24 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[25 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[25 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[26 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[26 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[27 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[27 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[28 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[28 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[29 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[29 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[30 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[30 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[31 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[31 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[32 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[32 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[33 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[33 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[34 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[34 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[35 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[35 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[36 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[36 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[37 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[37 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[38 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[38 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[39 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[39 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[40 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[40 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[41 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[41 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[42 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[42 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[43 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[43 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[44 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[44 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[45 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[45 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[46 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[46 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[47 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[47 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[48 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[48 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[49 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[49 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[50 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[50 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[51 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[51 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[52 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[52 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[53 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[53 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[54 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[54 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[55 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[55 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[56 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[56 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[57 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[57 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[58 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[58 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[59 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[59 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[60 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[60 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[61 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[61 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[62 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[62 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[63 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[63 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[64 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[64 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[65 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[65 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[66 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2]]
GLCaps[66 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[67 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[67 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[68 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[68 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[69 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 32/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[70 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 16/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[71 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[71 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[72 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[72 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[73 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 32/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[74 arb: on-scr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[75 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[75 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[76 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[76 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[77 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[78 arb: on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono  , sw, GLProfile[GL2/GL2]]
GLCaps[79 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[80 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[81 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[82 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[83 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[84 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[85 arb: offscr, rgba 5/5/5/0, opaque, accum-rgba 11/11/10/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[86 arb: offscr, rgba 5/5/5/0, opaque, accum-rgba 11/11/10/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[87 arb: offscr, rgba 5/5/5/8, opaque, accum-rgba 8/8/8/8, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[88 arb: offscr, rgba 5/5/5/8, opaque, accum-rgba 8/8/8/8, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[89 arb: offscr, rgba 5/5/5/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[90 arb: offscr, rgba 5/5/5/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[91 arb: offscr, rgba 3/3/2/0, opaque, accum-rgba 11/11/10/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[92 arb: offscr, rgba 3/3/2/0, opaque, accum-rgba 11/11/10/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[93 arb: offscr, rgba 3/3/2/8, opaque, accum-rgba 8/8/8/8, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[94 arb: offscr, rgba 3/3/2/8, opaque, accum-rgba 8/8/8/8, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[95 arb: offscr, rgba 3/3/2/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[96 arb: offscr, rgba 3/3/2/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[97 arb: offscr, rgba 1/1/1/0, opaque, accum-rgba 5/6/5/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[98 arb: offscr, rgba 1/1/1/0, opaque, accum-rgba 5/6/5/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[99 arb: offscr, rgba 1/1/1/8, opaque, accum-rgba 4/4/4/4, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[100 arb: offscr, rgba 1/1/1/8, opaque, accum-rgba 4/4/4/4, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[101 arb: offscr, rgba 1/1/1/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 32/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[102 arb: offscr, rgba 1/1/1/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, one, mono  , sw, GLProfile[GL2/GL2], pixmap]
GLCaps[103 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[104 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[105 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[106 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[107 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[108 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[109 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[110 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[111 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[112 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[113 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[114 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[115 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[116 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[117 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[118 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[119 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[120 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[121 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[122 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[123 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[124 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[125 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[126 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[127 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[128 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[129 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[130 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[131 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[132 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[133 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[134 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[135 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[136 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[137 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[138 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[139 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[140 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[141 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[142 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[143 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[144 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[145 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[146 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[147 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[148 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[149 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[150 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[151 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[152 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[153 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[154 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[155 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[156 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[157 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[158 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[159 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[160 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[161 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[162 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[163 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[164 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[165 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[166 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[167 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[168 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[169 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[170 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[171 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[172 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[173 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[174 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[175 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[176 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[177 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[178 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[179 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[180 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[181 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[182 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[183 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[184 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[185 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[186 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[187 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[188 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[189 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[190 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[191 arb: offscr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[192 arb: offscr, rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[193 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[194 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[195 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[196 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[197 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[198 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[199 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[200 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[201 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[202 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[203 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[204 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[205 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[206 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[207 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[208 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[209 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[210 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[211 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[212 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[213 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[214 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[215 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[216 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/2, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[217 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[218 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[219 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[220 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[221 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[222 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[223 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[224 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[225 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[226 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[227 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[228 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/4, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[229 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[230 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[231 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[232 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[233 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[234 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[235 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[236 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[237 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[238 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[239 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[240 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/8, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[241 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[242 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[243 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[244 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[245 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[246 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[247 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[248 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[249 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 16/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[250 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[251 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/8/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[252 arb: offscr, rgba 5/6/5/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 0/0/16, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[253 arb: offscr, rgba 0/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[254 arb: offscr, rgba 0/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[255 arb: offscr, rgba 0/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[256 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[257 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[258 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[259 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[260 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[261 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[262 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[263 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[264 arb: offscr, rgba 32/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[265 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[266 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[267 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[268 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[269 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[270 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[271 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[272 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[273 arb: offscr, rgba 16/16/16/16, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[274 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[275 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[276 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, one, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[277 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[278 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[279 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[280 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[281 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
GLCaps[282 arb: offscr, rgba 32/32/32/32, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono  , hw, GLProfile[GL2/GL2], pbuffer [r2t 0, r2tr 0, float 1]]
WindowsWGLDrawableFactory.leaveThreadCriticalZone() - 0xffffffffffffffff - main
GLProfile.init isAWTAvailable       true
GLProfile.init has desktopFactory   true
GLProfile.init hasDesktopGL         true
GLProfile.init hasGL234Impl         true
GLProfile.init has eglFactory       true
GLProfile.init hasGLES1Impl         false
GLProfile.init hasGLES2Impl         false
GLProfile.init defaultDesktopDevice WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]
GLProfile.init defaultEGLDevice     EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x0]
GLProfile.init defaultDevice        WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]
WindowsExternalWGLContext 0: werr: 0
Exception in thread "main" javax.media.opengl.GLException: Error: current WGL DC (0x7b01194d) is not a DC but: 0, werr 0
        at jogamp.opengl.windows.wgl.WindowsExternalWGLContext.create(WindowsExternalWGLContext.java:96)
        at jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory.createExternalGLContextImpl(WindowsWGLDrawableFactory.java:432)
        at jogamp.opengl.GLDrawableFactoryImpl.createExternalGLContext(GLDrawableFactoryImpl.java:245)
        at name.wadewalker.jogl2tests.onetriangle.OneTriangleSWT.main(OneTriangleSWT.java:49)
main-SharedResourceRunner release START
!!! Shutdown Shared:
!!!   Device  : WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0]
!!!   Screen  : DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0]
!!!   Drawable: jogamp.opengl.windows.wgl.WindowsDummyWGLDrawable[Realized true,
        Factory   jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory@1f9338f,
        handle    0x0,
        Window    ProxySurface[config WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 7, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]], displayHandle 0x0, surfaceHandle 0x0, size 64x64]]
!!!   CTX     : jogamp.opengl.windows.wgl.WindowsWGLContext [OpenGL 2.1, options 0x22, 2.1 (compatibility profile, any, old) - 2.1.2, handle 0x10000, jogamp.opengl.gl4.GL4bcImpl@c06258,
        Drawable: jogamp.opengl.windows.wgl.WindowsDummyWGLDrawable[Realized true,
        Factory   jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory@1f9338f,
        handle    0x0,
        Window    ProxySurface[config WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 7, ARB-Choosen false,
        requested GLCaps[on-scr, rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]],
        chosen    GLCaps[7 gdi: on-scr, rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms: 24/0/0, dbl, mono  , hw, GLProfile[GL2/GL2]]], displayHandle 0x0, surfaceHandle 0x0, size 64x64]]]
RegisteredClassFactory releaseSharedClass (0) released: RegisteredClass[handle 0x400000, _dummyWindow_clazz0]
main-SharedResourceRunner release END
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Sven Gothel
Administrator
In reply to this post by Wade Walker
On Friday, February 11, 2011 11:02:37 Sven Gothel wrote:

> http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java;h=845460c58fa29cbee6ae9a47b143619363ab9dd5;hb=bf75331124d6d0c53b74d5235ec03f5fcbc55cba#l89
>
> This is the odd call on WinXP 32bit with SWT,
> the follow up test on OBJ_DC (3) will fail (it's 0).
>
>   89     long hdc = WGL.wglGetCurrentDC();
>   90     if (0 == hdc) {
>   91       throw new GLException("Error: attempted to make an external GLDrawable without a drawable current, werr " + GDI.GetLastError());
>   92     }
>   93     int hdcType = GDI.GetObjectType(hdc);
>   94     if( GDI.OBJ_DC != hdcType ) {
>   95         // FIXME: Turns out in above use case (WinXP-32bit, GDI, SWT) the returned DC (not 0) is invalid!

Fixed more ARB PFD/Caps selection:
  http://jogamp.org/git/?p=jogl.git;a=commit;h=bff7e97c2f22673bb0457765696fb867d3e4f69d

+++

Not working:
----------------

besides

  - winxp_32bit-java6u23_32bit-swt-gdi         (virtual box 4.0.2 linux host)

  - winxp_32bit-java6u23_32bit-swt-chromium2.1 (virtual box 4.0.2 linux host)

(winxp_32bit: winxp 32bit service pack 3 with all updates as of 2011-02-11)


Working:
-----------

  - win7_64bit-java6u23_64bit-swt-gdi         (virtual box 4.0.2 linux host)
  - win7_64bit-java6u23_32bit-swt-gdi         (virtual box 4.0.2 linux host)
  - win7_64bit-java6u23_64bit-swt-chromium2.1 (virtual box 4.0.2 linux host)
  - win7_64bit-java6u23_32bit-swt-chromium2.1 (virtual box 4.0.2 linux host)

  - win7_64bit-java6u23_64bit-swt-amd  (native)
  - win7_64bit-java6u23_32bit-swt-amd  (native)
  - win7_64bit-java6u23_64bit-swt-nv   (native)
  - win7_64bit-java6u23_32bit-swt-nv   (native)


A similar bug report about WinXP's 'wglGetCurrentDC()' is available here:

http://compgroups.net/comp.graphics.api.opengl/Strange-behaviour-with-wglUseFontBitmaps


~Sven
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Wade Walker
Administrator
Sven Gothel wrote
On Friday, February 11, 2011 11:02:37 Sven Gothel wrote:
>   89     long hdc = WGL.wglGetCurrentDC();
>   90     if (0 == hdc) {
>   91       throw new GLException("Error: attempted to make an external GLDrawable without a drawable current, werr " + GDI.GetLastError());
>   92     }
>   93     int hdcType = GDI.GetObjectType(hdc);
>   94     if( GDI.OBJ_DC != hdcType ) {
>   95         // FIXME: Turns out in above use case (WinXP-32bit, GDI, SWT) the returned DC (not 0) is invalid!
I know why this fails now  If you wrap the external context creation like this, my SWT tutorial works:

int hDC = OS.GetDC( glcanvas.handle );
final GLContext glcontext = GLDrawableFactory.getFactory( glprofile ).createExternalGLContext();
OS.ReleaseDC(glcanvas.handle, hDC);

The reason is because SWT doesn't leave a current DC. In the GLCanvas() constructor and in GLCanvas.makeCurrent(), they create a temp DC like this and release it immediately after use.

So when you call WGL.wglGetCurrentDC() it returns a DC handle, but it's invalid because SWT released it

Looking at the JOGL 1.1.1.a code for GLDrawableFactory.createExternalGLContext(), you can see that they didn't use a DC anywhere inside, so they didn't have this problem.

I guess the solution is to remove the need for a DC inside the new JOGL 2 createExternalGLContext(). I'm not sure of the best way to do that -- I'd probably end up butchering your code

MS probably changed the behavior of DC release in 64-bit versions of Windows, so you can sometimes access a DC after release without crashing. But it's probably not good to count on this.
Reply | Threaded
Open this post in threaded view
|

Re: New tutorial on AWT/SWT/Swing/GLJPanel/GLCanvas

Sven Gothel
Administrator
On Friday, February 11, 2011 23:47:03 Wade Walker [via jogamp] wrote:

>
> Sven Gothel wrote:
> >
> > On Friday, February 11, 2011 11:02:37 Sven Gothel wrote:
> >>   89     long hdc = WGL.wglGetCurrentDC();
> >>   90     if (0 == hdc) {
> >>   91       throw new GLException("Error: attempted to make an external
> >> GLDrawable without a drawable current, werr " + GDI.GetLastError());
> >>   92     }
> >>   93     int hdcType = GDI.GetObjectType(hdc);
> >>   94     if( GDI.OBJ_DC != hdcType ) {
> >>   95         // FIXME: Turns out in above use case (WinXP-32bit, GDI,
> >> SWT) the returned DC (not 0) is invalid!
> >
>
> I know why this fails now  If you wrap the external context creation like
> this, my SWT tutorial works:
>
> int hDC = OS.GetDC( glcanvas.handle );
> final GLContext glcontext = GLDrawableFactory.getFactory( glprofile
> ).createExternalGLContext();
> OS.ReleaseDC(glcanvas.handle, hDC);
>
> The reason is because SWT doesn't leave a current DC. In the GLCanvas()
> constructor and in GLCanvas.makeCurrent(), they create a temp DC like this
> and release it immediately after use.
>
> So when you call WGL.wglGetCurrentDC() it returns a DC handle, but it's
> invalid because SWT released it

I see your point ..

yup, the SWT GLCanvas.setCurrent() source code reads:

+++

public  void setCurrent()
{
        checkWidget ();
        if (WGL.wglGetCurrentContext () == context) return;
        int /*long*/ hDC = OS.GetDC (handle);
        WGL.wglMakeCurrent (hDC, context);
        OS.ReleaseDC (handle, hDC);
}

+++

Hence it 'breaks' the contract of
providing a current _and_ usable HDC via wglGetCurrentDC().

We could hack our way through it via:

- The GDI function 'HWND WindowFromDC(HDC)' is only available >= Windows 2000,
  I will give that a try.

- ignoring the GLCapabilities / configuration, this would 'allow' us to not rely on HDC.

- pass a window handle 'hint' as an optional factory argument
  allowing not to rely on the current DC

both are pretty ugly IMHO.


>
> Looking at the JOGL 1.1.1.a code for
> GLDrawableFactory.createExternalGLContext(), you can see that they didn't
> use a DC anywhere inside, so they didn't have this problem.
>
> I guess the solution is to remove the need for a DC inside the new JOGL 2
> createExternalGLContext(). I'm not sure of the best way to do that -- I'd
> probably end up butchering your code

The SWT solution here is to provide a prober binding IMHO,
since it's implementation breaks the above 'contract'.

You test code gives hope to a very simple solution.

GLCanvas.handle is a HWND, since you derive the DC from it ?

Composite is GLCanvas's parent.
Is Composite's handle the HWND as well ? I assume.

We could simply hook a NativeSurface/Window to Composite
and handle _all_ GL stuff by JOGL here.

1) Short cut:
-------------
The common code pieces (already exist) are in
WindowsDummyWGLDrawable and ProxySurface.

Extracting the 'surface/DC' update part (lock-/unlockSurface)
to a win32 specialisation of ProxySurface or impl. of NativeSurface
(as done in NEWT's WindowsWindow) would allow proper JOGL usage.

Sure, this would assume that SWT would not interfere with the eg Composite
resource, which is 'unsure'.

This leads us to the 2nd solution:

2a) NEWT Native Parenting
-------------------------

We could also just use the NEWT model here, utilizing
Composite's HWND (or X11 window id, ..) exposed as Composite.handle
(is this true?).

Then the normal (NEWT) workflow would be possible within SWT,
as exercised for NewtCanvasAWT.

The implementation 'key' is to have:
  'NativeWindow NewtFactoryAWT.getNativeWindow(java.awt.Component awtComp, CapabilitiesImmutable capsRequested)'
for SWT, ie
  'NativeWindow NewtFactorySWT.getNativeWindow(Composition swtComp, CapabilitiesImmutable capsRequested)'

This would simply use Composition.handle and query the pixel format here (X11) or later (Win32/OSX).
Code reusage at it's best - all pure Java code :)

The resulting NewtCanvasSWT would just bind SWT events to NEWT for lifecycle events etc, thats all.

I guess with a little SWT help, we could do that.

2b) Creating a JOGL GLCanvas for SWT, as done with AWT

This is IMHO a bad solution, since it forces does not allow the user to use SWT
window system agnostic, (2a) would allow you to drop your NEWT / JOGL code to SWT, AWT and core NEWT.

This path also makes assumptions in SWT behavior and available 'hooks' in regards to the
configuration / initialization, as we do this with AWT.

For example the AWT GLCanvas is broken by design, using non public AWT API,
where the NewtCanvasAWT is a proper design using only the JAWT public API.

However .. somebody might like to implement this.

>
> MS probably changed the behavior of DC release in 64-bit versions of
> Windows, so you can sometimes access a DC after release without crashing.
> But it's probably not good to count on this.
>
> _______________________________________________
> If you reply to this email, your message will be added to the discussion below:
> http://jogamp.762907.n3.nabble.com/New-tutorial-on-AWT-SWT-Swing-GLJPanel-GLCanvas-tp2363921p2477248.html
> To start a new topic under jogl, email [hidden email]
> To unsubscribe from jogl, visit
health & wealth
mailto:
[hidden email] ; http://jausoft.com
land : +49 (471) 4707742 ; cell: +49 (151) 28145941
Timezone CET: PST+9, EST+6, UTC+1
123