< prev index next >
src/java.desktop/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java
Print this page
@@ -27,11 +27,10 @@
import java.awt.BufferCapabilities;
import static java.awt.BufferCapabilities.FlipContents.*;
import java.awt.Component;
import java.awt.GraphicsConfiguration;
-import java.awt.Transparency;
import java.awt.image.ColorModel;
import sun.awt.AWTAccessor;
import sun.awt.AWTAccessor.ComponentAccessor;
import sun.awt.image.SunVolatileImage;
@@ -41,33 +40,24 @@
import static sun.java2d.opengl.OGLContext.OGLContextCaps.*;
import static sun.java2d.pipe.hw.AccelSurface.*;
import sun.java2d.pipe.hw.ExtendedBufferCapabilities;
import static sun.java2d.pipe.hw.ExtendedBufferCapabilities.VSyncType.*;
-public class WGLVolatileSurfaceManager
- extends VolatileSurfaceManager
-{
- private boolean accelerationEnabled;
+public class WGLVolatileSurfaceManager extends VolatileSurfaceManager {
+
+ private final boolean accelerationEnabled;
public WGLVolatileSurfaceManager(SunVolatileImage vImg, Object context) {
super(vImg, context);
/*
* We will attempt to accelerate this image only under the
* following conditions:
- * - the image is opaque OR
- * - the image is translucent AND
- * - the GraphicsConfig supports the FBO extension OR
- * - the GraphicsConfig has a stored alpha channel
+ * - the GraphicsConfig supports the FBO extension
*/
- int transparency = vImg.getTransparency();
WGLGraphicsConfig gc = (WGLGraphicsConfig)vImg.getGraphicsConfig();
- accelerationEnabled =
- (transparency == Transparency.OPAQUE) ||
- ((transparency == Transparency.TRANSLUCENT) &&
- (gc.isCapPresent(CAPS_EXT_FBOBJECT) ||
- gc.isCapPresent(CAPS_STORED_ALPHA)));
+ accelerationEnabled = gc.isCapPresent(CAPS_EXT_FBOBJECT);
}
protected boolean isAccelerationEnabled() {
return accelerationEnabled;
}
@@ -109,14 +99,13 @@
WGLGraphicsConfig gc =
(WGLGraphicsConfig)vImg.getGraphicsConfig();
ColorModel cm = gc.getColorModel(vImg.getTransparency());
int type = vImg.getForcedAccelSurfaceType();
// if acceleration type is forced (type != UNDEFINED) then
- // use the forced type, otherwise choose one based on caps
+ // use the forced type, otherwise choose FBOBJECT
if (type == OGLSurfaceData.UNDEFINED) {
- type = gc.isCapPresent(CAPS_EXT_FBOBJECT) ?
- OGLSurfaceData.FBOBJECT : OGLSurfaceData.PBUFFER;
+ type = OGLSurfaceData.FBOBJECT;
}
if (createVSynced) {
sData = WGLSurfaceData.createData(peer, vImg, type);
} else {
sData = WGLSurfaceData.createData(gc,
< prev index next >