From db24615ebaebcda88ffb7275d3a60e6400226099 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Thu, 18 Apr 2013 08:39:57 +0200 Subject: Bug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha only On Windows Vista machines, using alpha, i.e. RGB8888 failed to SetPixelFormat(..), hence only allow RGB888. --- .../classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java | 3 ++- .../jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/jogl/classes/jogamp/opengl/windows') diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java index a7f62fccf..3c326e93e 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java @@ -91,7 +91,8 @@ public class WindowsBitmapWGLDrawable extends WindowsWGLDrawable { final GLCapabilitiesImmutable capsChosen; { final GLCapabilitiesImmutable capsChosen0 = (GLCapabilitiesImmutable)config.getChosenCapabilities(); - capsChosen = GLGraphicsConfigurationUtil.clipRGBAGLCapabilities(capsChosen0, false /* allowRGB555 */); + // RGB555 and also alpha channel is experienced to fail on some Windows machines + capsChosen = GLGraphicsConfigurationUtil.clipRGBAGLCapabilities(capsChosen0, false /* allowRGB555 */, false /* allowAlpha */); if( capsChosen0 != capsChosen ) { config.setChosenCapabilities(capsChosen); if(DEBUG) { diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java index 3b71c4462..017f8c40b 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java @@ -610,7 +610,7 @@ public class WindowsWGLGraphicsConfiguration extends MutableGraphicsConfiguratio if( GLGraphicsConfigurationUtil.BITMAP_BIT == drawableTypeBits ) { // BITMAP exclusive PFD SafeGuard: Only accept BITMAP compatible color formats! final int pfdColorBits = pfd.getCColorBits(); - if ( pfdColorBits != 24 || pfd.getCRedBits() < pfd.getCAlphaBits() ) { // Allowed: RGB888 && alpha <= red + if ( pfdColorBits != 24 || 0 < pfd.getCAlphaBits() ) { // Allowed: RGB888 && !alpha if(DEBUG) { System.err.println("Drop [color bits excl BITMAP]: " + WGLGLCapabilities.PFD2String(pfd, pfdID)); } -- cgit v1.2.3