diff options
author | Sven Gothel <[email protected]> | 2013-04-18 09:56:49 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-04-18 09:56:49 +0200 |
commit | 4d2f4a1b75dc176b2b46de5076b587b70988ac42 (patch) | |
tree | e4f32816881e8d839a157f5945912c1654971360 /src/jogl/classes/jogamp/opengl/windows | |
parent | db24615ebaebcda88ffb7275d3a60e6400226099 (diff) |
Bug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP (Windows Vista does report BITMAP w/ ARB PFD)
On Windows Vista machines, ARB PFD selection reports BITMAP which is attempted to be used.
Excluse updateGraphicsConfigurationARB(..) from BITMAP query, similar to getAvailableGLCapabilitiesARB()
from commit 61a47e07975eb2fd8b1f5f60552935c993a6eef6.
TODO: Re-evaluate commit db24615ebaebcda88ffb7275d3a60e6400226099
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/windows')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java index 62a21922f..1e72e312b 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java @@ -290,8 +290,12 @@ public class WindowsWGLGraphicsConfigurationFactory extends GLGraphicsConfigurat } } try { - if( !((GLCapabilitiesImmutable)config.getChosenCapabilities()).getHardwareAccelerated() - || !updateGraphicsConfigurationARB((WindowsWGLDrawableFactory)factory, config, chooser, hdc, extHDC, pfdIDs) ) { + final GLCapabilitiesImmutable capsChosen = (GLCapabilitiesImmutable) config.getChosenCapabilities(); + boolean done = false; + if( capsChosen.getHardwareAccelerated() && !capsChosen.isBitmap() ) { + done = updateGraphicsConfigurationARB((WindowsWGLDrawableFactory)factory, config, chooser, hdc, extHDC, pfdIDs); + } + if( !done ) { updateGraphicsConfigurationGDI(config, chooser, hdc, extHDC, pfdIDs); } } finally { @@ -321,7 +325,7 @@ public class WindowsWGLGraphicsConfigurationFactory extends GLGraphicsConfigurat final GLCapabilitiesImmutable capsChosen = (GLCapabilitiesImmutable) config.getChosenCapabilities(); final boolean isOpaque = capsChosen.isBackgroundOpaque() && GDI.DwmIsCompositionEnabled(); - final int winattrbits = GLGraphicsConfigurationUtil.getExclusiveWinAttributeBits(capsChosen); + final int winattrbits = GLGraphicsConfigurationUtil.getExclusiveWinAttributeBits(capsChosen) & ~GLGraphicsConfigurationUtil.BITMAP_BIT; // w/o BITMAP final GLProfile glProfile = capsChosen.getGLProfile(); final int pfdIDCount = WindowsWGLGraphicsConfiguration.wglARBPFDIDCount((WindowsWGLContext)sharedResource.getContext(), hdc); |