< prev index next >

src/java.desktop/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java

Print this page

        

*** 27,37 **** 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; --- 27,36 ----
*** 41,73 **** 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 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 */ - 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))); } protected boolean isAccelerationEnabled() { return accelerationEnabled; } --- 40,63 ---- 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 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 GraphicsConfig supports the FBO extension */ WGLGraphicsConfig gc = (WGLGraphicsConfig)vImg.getGraphicsConfig(); ! accelerationEnabled = gc.isCapPresent(CAPS_EXT_FBOBJECT); } protected boolean isAccelerationEnabled() { return accelerationEnabled; }
*** 109,122 **** 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 if (type == OGLSurfaceData.UNDEFINED) { ! type = gc.isCapPresent(CAPS_EXT_FBOBJECT) ? ! OGLSurfaceData.FBOBJECT : OGLSurfaceData.PBUFFER; } if (createVSynced) { sData = WGLSurfaceData.createData(peer, vImg, type); } else { sData = WGLSurfaceData.createData(gc, --- 99,111 ---- 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 FBOBJECT if (type == OGLSurfaceData.UNDEFINED) { ! type = OGLSurfaceData.FBOBJECT; } if (createVSynced) { sData = WGLSurfaceData.createData(peer, vImg, type); } else { sData = WGLSurfaceData.createData(gc,
< prev index next >