Top Inners Fields Constructors Methods
jogamp.opengl.egl

public Class EGLDrawableFactory

extends GLDrawableFactoryImpl
Class Inheritance
Imports
java.nio.IntBuffer, java.util.ArrayList, .Iterator, .List, .Map, .Set, com.jogamp.nativewindow.AbstractGraphicsConfiguration, .AbstractGraphicsDevice, .AbstractGraphicsScreen, .DefaultGraphicsScreen, .MutableSurface, .NativeSurface, .NativeWindowFactory, .ProxySurface, .UpstreamSurfaceHook, .VisualIDHolder, .GenericUpstreamSurfacelessHook, com.jogamp.opengl.GL, .GLCapabilities, .GLCapabilitiesChooser, .GLCapabilitiesImmutable, .GLContext, .GLDrawable, .GLDrawableFactory, .GLException, .GLProfile, .GLRendererQuirks, jogamp.common.os.PlatformPropsImpl, jogamp.opengl.Debug, .GLContextImpl, .GLContextImpl.MappedGLVersion, .GLDrawableFactoryImpl, .GLDrawableImpl, .GLDynamicLookupHelper, .GLGraphicsConfigurationUtil, .SharedResourceRunner, com.jogamp.common.ExceptionUtils, com.jogamp.common.nio.Buffers, .PointerBuffer, com.jogamp.common.os.DynamicLookupHelper, .Platform, com.jogamp.common.util.ReflectionUtil, .VersionNumber, com.jogamp.nativewindow.egl.EGLGraphicsDevice, com.jogamp.opengl.egl.EGL

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
private static class
pack-priv static class
pack-priv class

Field Summary

Modifier and TypeField and Description
protected static final boolean
private static final boolean
private static String
private static EGLGraphicsDevice
private static EGLDrawableFactory.EGLFeatures
private static EGLDrawableFactory.SharedResource
private static boolean
private static GLDynamicLookupHelper
private static GLDynamicLookupHelper
private static GLDynamicLookupHelper
pack-priv static final String
private static boolean
private static boolean
private EGLDrawableFactory.SharedResourceImplementation
private SharedResourceRunner

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
canCreateExternalGLDrawable(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
)

Implements abstract com.jogamp.opengl.GLDrawableFactory.canCreateExternalGLDrawable.

Returns true if it is possible to create an external GLDrawable object via createExternalGLDrawable.
public boolean
canCreateGLPbuffer(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
,
final GLProfile
GLProfile to check for FBO capabilities
glp
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.canCreateGLPbuffer.

Returns true if it is possible to create an pbuffer surface.
public final EGLSurface
createDummySurfaceImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
GLCapabilitiesImmutable chosenCaps, final GLCapabilitiesImmutable requestedCaps, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final int
the initial width as returned by NativeSurface#getSurfaceWidth(), not the actual dummy surface width. The latter is platform specific and small
width
,
final int
the initial height as returned by NativeSurface#getSurfaceHeight(), not the actual dummy surface height, The latter is platform specific and small
height
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createDummySurfaceImpl.

A dummy surface is not visible on screen and may be on- or offscreen.
protected GLContext
protected GLDrawable
protected final EGLSurface
createMutableSurfaceImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new independent device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
final GLCapabilitiesImmutable capsChosen, final GLCapabilitiesImmutable capsRequested, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final UpstreamSurfaceHook
surface size information and optional control of the surface's lifecycle
upstreamHook
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createMutableSurfaceImpl.

Creates a mutable ProxySurface w/o defined surface handle.
protected GLDrawableImpl
createOffscreenDrawableImpl(final NativeSurface target)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createOffscreenDrawableImpl.

Creates a platform dependent unrealized offscreen pbuffer/pixmap GLDrawable instance
protected GLDrawableImpl
protected static MutableSurface

Returns:

the passed MutableSurface which now has the EGL pbuffer surface set as it's handle
createPBufferSurfaceImpl
(final MutableSurface
MutableSurface which dimensions and config are being used to create the pbuffer surface. It will also hold the resulting pbuffer surface handle.
ms
,
final boolean useTexture)

protected static long
createPBufferSurfaceImpl(final EGLGraphicsConfiguration config, final int width, final int height, final boolean useTexture)

protected EGLSurface
createProxySurfaceImpl(final AbstractGraphicsDevice deviceReq, final int screenIdx, final long windowHandle, final GLCapabilitiesImmutable capsRequested, final GLCapabilitiesChooser chooser, final UpstreamSurfaceHook
TODO
upstream
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createProxySurfaceImpl.

Creates a ProxySurface with a set surface handle.
public final EGLSurface
createSurfacelessImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
GLCapabilitiesImmutable chosenCaps, final GLCapabilitiesImmutable requestedCaps, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final int
the initial width as returned by NativeSurface#getSurfaceWidth(), not the actual dummy surface width. The latter is platform specific and small
width
,
final int
the initial height as returned by NativeSurface#getSurfaceHeight(), not the actual dummy surface height, The latter is platform specific and small
height
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createSurfacelessImpl.

A surfaceless ProxySurface is a non-existing surface and will not be used as a render target.
pack-priv static void
dumpEGLInfo(final String prefix, final long eglDisplay)

private void
private final EGLGraphicsConfiguration
evalConfig(final boolean[] ownDevice, final AbstractGraphicsDevice deviceReq, final boolean createNewDevice, final GLCapabilitiesImmutable capsChosen, final GLCapabilitiesImmutable capsRequested, final GLCapabilitiesChooser chooser)

protected List<GLCapabilitiesImmutable>
private static List<GLCapabilitiesImmutable>
public final AbstractGraphicsDevice
public final GLDynamicLookupHelper
getGLDynamicLookupHelper(final int
the major OpenGL profile version
majorVersion
,
final int
the context profile options
contextOptions
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.getGLDynamicLookupHelper.

Returns the GLDynamicLookupHelper if installed, otherwise null.
public final boolean
getIsDeviceCompatible(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
)

Implements abstract com.jogamp.opengl.GLDrawableFactory.getIsDeviceCompatible.

protected final EGLDrawableFactory.SharedResource
protected final Thread
getSharedResourceThread()

Implements abstract com.jogamp.opengl.GLDrawableFactory.getSharedResourceThread.

Validate and start the shared resource runner thread if necessary and if the implementation uses it.
public final boolean
public final boolean
hasMajorMinorCreateContextARB()

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.hasMajorMinorCreateContextARB.

Method returns true if underlying ARB context creation supports major and minor version number.
public final boolean
hasOpenGLDesktopSupport()

Implements abstract com.jogamp.opengl.GLDrawableFactory.hasOpenGLDesktopSupport.

Method returns true if underlying implementation may support native desktop OpenGL, otherwise false.
public final boolean
hasOpenGLESSupport()

Implements abstract com.jogamp.opengl.GLDrawableFactory.hasOpenGLESSupport.

Method returns true if underlying implementation may support native embedded OpenGL ES, otherwise false.
private static final boolean
private static final boolean
public final boolean
protected final boolean
isComplete()

Implements abstract com.jogamp.opengl.GLDrawableFactory.isComplete.

Returns true if this factory is complete, i.e. ready to be used.
protected final void
Inherited from jogamp.opengl.GLDrawableFactoryImpl:
canCreateFBOcreateDummyAutoDrawablecreateDummyDrawablecreateDummySurfacecreateExternalGLContextcreateExternalGLDrawablecreateFBODrawableImplcreateGLDrawablecreateOffscreenAutoDrawablecreateOffscreenDrawablecreateProxySurfacecreateSharedResourceImplgetFactoryImplgetGammaRampgetGammaRampLengthgetOrCreateSharedContextgetOrCreateSharedDevicegetOrCreateSharedResourcegetRendererQuirksprobeSurfacelessCtxresetAllDisplayGammaresetAllDisplayGammaNoSyncresetDisplayGammaresetGammaRampresetGammaRampsetDisplayGammasetGammaRampsetNoSurfacelessCtxQuirk