Package org.lwjgl.egl

Class EGLCapabilities


  • public class EGLCapabilities
    extends java.lang.Object
    Defines the capabilities of an EGLDisplay or the EGL client library.
    • Field Detail

      • eglChooseConfig

      • eglCopyBuffers

        public final long eglCopyBuffers
      • eglCreateContext

      • eglCreatePbufferSurface

        public final long eglCreatePbufferSurface
      • eglCreatePixmapSurface

      • eglCreateWindowSurface

        public final long eglCreateWindowSurface
      • eglDestroyContext

      • eglDestroySurface

        public final long eglDestroySurface
      • eglGetConfigAttrib

      • eglGetConfigs

        public final long eglGetConfigs
      • eglGetCurrentDisplay

      • eglGetCurrentSurface

        public final long eglGetCurrentSurface
      • eglGetDisplay

      • eglGetError

        public final long eglGetError
      • eglGetProcAddress

      • eglInitialize

        public final long eglInitialize
      • eglMakeCurrent

      • eglQueryContext

        public final long eglQueryContext
      • eglQueryString

      • eglQuerySurface

        public final long eglQuerySurface
      • eglSwapBuffers

      • eglTerminate

        public final long eglTerminate
      • eglWaitGL

      • eglWaitNative

        public final long eglWaitNative
      • eglBindTexImage

      • eglReleaseTexImage

        public final long eglReleaseTexImage
      • eglSurfaceAttrib

      • eglSwapInterval

        public final long eglSwapInterval
      • eglBindAPI

      • eglQueryAPI

        public final long eglQueryAPI
      • eglCreatePbufferFromClientBuffer

      • eglReleaseThread

        public final long eglReleaseThread
      • eglWaitClient

      • eglGetCurrentContext

        public final long eglGetCurrentContext
      • eglCreateSync

      • eglDestroySync

        public final long eglDestroySync
      • eglClientWaitSync

      • eglGetSyncAttrib

        public final long eglGetSyncAttrib
      • eglCreateImage

      • eglDestroyImage

        public final long eglDestroyImage
      • eglGetPlatformDisplay

      • eglCreatePlatformWindowSurface

        public final long eglCreatePlatformWindowSurface
      • eglCreatePlatformPixmapSurface

      • eglWaitSync

        public final long eglWaitSync
      • eglSetBlobCacheFuncsANDROID

      • eglCreateNativeClientBufferANDROID

        public final long eglCreateNativeClientBufferANDROID
      • eglDupNativeFenceFDANDROID

      • eglPresentationTimeANDROID

        public final long eglPresentationTimeANDROID
      • eglQuerySurfacePointerANGLE

      • eglClientSignalSyncEXT

        public final long eglClientSignalSyncEXT
      • eglCompositorSetContextListEXT

      • eglCompositorSetContextAttributesEXT

        public final long eglCompositorSetContextAttributesEXT
      • eglCompositorSetWindowListEXT

      • eglCompositorSetWindowAttributesEXT

        public final long eglCompositorSetWindowAttributesEXT
      • eglCompositorBindTexWindowEXT

      • eglCompositorSetSizeEXT

        public final long eglCompositorSetSizeEXT
      • eglCompositorSwapPolicyEXT

      • eglQueryDevicesEXT

        public final long eglQueryDevicesEXT
      • eglQueryDeviceAttribEXT

      • eglQueryDeviceStringEXT

        public final long eglQueryDeviceStringEXT
      • eglQueryDisplayAttribEXT

      • eglQueryDmaBufFormatsEXT

        public final long eglQueryDmaBufFormatsEXT
      • eglQueryDmaBufModifiersEXT

      • eglGetOutputLayersEXT

        public final long eglGetOutputLayersEXT
      • eglGetOutputPortsEXT

      • eglOutputLayerAttribEXT

        public final long eglOutputLayerAttribEXT
      • eglQueryOutputLayerAttribEXT

      • eglQueryOutputLayerStringEXT

        public final long eglQueryOutputLayerStringEXT
      • eglOutputPortAttribEXT

      • eglQueryOutputPortAttribEXT

        public final long eglQueryOutputPortAttribEXT
      • eglQueryOutputPortStringEXT

      • eglGetPlatformDisplayEXT

        public final long eglGetPlatformDisplayEXT
      • eglCreatePlatformWindowSurfaceEXT

      • eglCreatePlatformPixmapSurfaceEXT

        public final long eglCreatePlatformPixmapSurfaceEXT
      • eglStreamConsumerOutputEXT

      • eglSwapBuffersWithDamageEXT

        public final long eglSwapBuffersWithDamageEXT
      • eglUnsignalSyncEXT

      • eglCreatePixmapSurfaceHI

        public final long eglCreatePixmapSurfaceHI
      • eglCreateSync64KHR

      • eglDebugMessageControlKHR

        public final long eglDebugMessageControlKHR
      • eglQueryDebugKHR

      • eglLabelObjectKHR

        public final long eglLabelObjectKHR
      • eglQueryDisplayAttribKHR

      • eglCreateImageKHR

        public final long eglCreateImageKHR
      • eglDestroyImageKHR

      • eglLockSurfaceKHR

        public final long eglLockSurfaceKHR
      • eglUnlockSurfaceKHR

      • eglQuerySurface64KHR

        public final long eglQuerySurface64KHR
      • eglSetDamageRegionKHR

      • eglCreateSyncKHR

        public final long eglCreateSyncKHR
      • eglDestroySyncKHR

      • eglClientWaitSyncKHR

        public final long eglClientWaitSyncKHR
      • eglSignalSyncKHR

      • eglGetSyncAttribKHR

        public final long eglGetSyncAttribKHR
      • eglCreateStreamKHR

      • eglDestroyStreamKHR

        public final long eglDestroyStreamKHR
      • eglStreamAttribKHR

      • eglQueryStreamKHR

        public final long eglQueryStreamKHR
      • eglQueryStreamu64KHR

      • eglCreateStreamAttribKHR

        public final long eglCreateStreamAttribKHR
      • eglSetStreamAttribKHR

      • eglQueryStreamAttribKHR

        public final long eglQueryStreamAttribKHR
      • eglStreamConsumerAcquireAttribKHR

      • eglStreamConsumerReleaseAttribKHR

        public final long eglStreamConsumerReleaseAttribKHR
      • eglStreamConsumerGLTextureExternalKHR

      • eglStreamConsumerAcquireKHR

        public final long eglStreamConsumerAcquireKHR
      • eglStreamConsumerReleaseKHR

      • eglGetStreamFileDescriptorKHR

        public final long eglGetStreamFileDescriptorKHR
      • eglCreateStreamFromFileDescriptorKHR

      • eglQueryStreamTimeKHR

        public final long eglQueryStreamTimeKHR
      • eglCreateStreamProducerSurfaceKHR

      • eglSwapBuffersWithDamageKHR

        public final long eglSwapBuffersWithDamageKHR
      • eglWaitSyncKHR

      • eglCreateDRMImageMESA

        public final long eglCreateDRMImageMESA
      • eglExportDRMImageMESA

      • eglExportDMABUFImageQueryMESA

        public final long eglExportDMABUFImageQueryMESA
      • eglExportDMABUFImageMESA

      • eglSwapBuffersRegion2NOK

        public final long eglSwapBuffersRegion2NOK
      • eglQueryNativeDisplayNV

      • eglQueryNativeWindowNV

        public final long eglQueryNativeWindowNV
      • eglQueryNativePixmapNV

      • eglPostSubBufferNV

        public final long eglPostSubBufferNV
      • eglStreamConsumerGLTextureExternalAttribsNV

      • eglStreamFlush

        public final long eglStreamFlush
      • eglQueryDisplayAttribNV

      • eglSetStreamMetadataNV

        public final long eglSetStreamMetadataNV
      • eglQueryStreamMetadataNV

      • eglResetStreamNV

        public final long eglResetStreamNV
      • eglCreateStreamSyncNV

      • eglCreateFenceSyncNV

        public final long eglCreateFenceSyncNV
      • eglDestroySyncNV

      • eglFenceNV

        public final long eglFenceNV
      • eglClientWaitSyncNV

      • eglSignalSyncNV

        public final long eglSignalSyncNV
      • eglGetSyncAttribNV

      • eglGetSystemTimeFrequencyNV

        public final long eglGetSystemTimeFrequencyNV
      • eglGetSystemTimeNV

      • EGL10

        public final boolean EGL10
        When true, EGL10 is supported.
      • EGL11

        When true, EGL11 is supported.
      • EGL12

        When true, EGL12 is supported.
      • EGL13

        When true, EGL13 is supported.
      • EGL14

        When true, EGL14 is supported.
      • EGL15

        When true, EGL15 is supported.
      • EGL_EXT_client_extensions

        When true, the EXT_client_extensions extension is supported.

        This extension introduces the concept of *extension type*, requires that each EGL extension belong to exactly one type, and defines two types: display and client. It also provides a method to query, without initializing a display, the set of supported client extensions.

        A display extension adds functionality to an individual EGLDisplay. This type of extension has always existed but, until EGL_EXT_client_extensions, lacked an identifying name.

        A client extension adds functionality that is independent of any display. In other words, it adds functionality to the EGL client library itself. This is a new type of extension defined by EGL_EXT_client_extensions. EGL_EXT_client_extensions is itself a client extension.

        We suggest that each future extension clearly state its type by including the following toplevel section in its extension specification, preceding the Dependencies section. For client extensions, this suggestion is a requirement.

        
                 Extension Type
         
                     <Either "EGL display extension" or "EGL client extension" or
                      a future extension type.>

        By cleanly separating display extensions from client extensions, EGL_EXT_client_extensions solves a bootstrap problem for future EGL extensions that will modify display initialization. To query for such extensions without EGL_EXT_client_extensions, an EGL client would need to initialize a throw-away EGLDisplay solely to query its extension string. Initialization of the throw-away display may have undesired side-effects (discussed in the issues section below) for EGL clients that wish to use the new methods of display initialization.

      • EGL_KHR_cl_event2

        When true, KHRCLEvent2 is supported.
      • EGL_KHR_client_get_all_proc_addresses

        When true, the KHR_client_get_all_proc_addresses extension is supported.

        eglGetProcAddress is currently defined to not support the querying of non-extension EGL or client API functions. Non-extension functions are expected to be exposed as library symbols that can be resolved statically at link time, or dynamically at run time using OS-specific runtime linking mechanisms.

        With the addition of OpenGL and OpenGL ES 3 support to EGL, the definition of a non-extension function becomes less clear. It is common for one OpenGL library to implement many versions of OpenGL. The suggested library name for OpenGL ES 3 is the same as that of OpenGL ES 2. If OpenGL ES 3 applications linked statically to OpenGL ES 3 functions are run on a system with only OpenGL ES 2 support, they may fail to load. Similar problems would be encountered by an application linking statically to various OpenGL functions.

        To avoid requiring applications to fall back to OS-specific dynamic linking mechanisms, this extension drops the requirement that eglGetProcAddress return only non-extension functions. If the extension string is present, applications can query all EGL and client API functions using eglGetProcAddress.

        To allow users to query this extension before initializing a display, and to also allow vendors to ship this extension without EGL_EXT_client_extensions, two names are assigned to this extension: one a display extension and the other a client extension. Identical functionality is exposed by each name, but users query each name using different methods. Users query EGL_KHR_get_all_proc_addresses in the usual way; that is, by calling eglQueryString(dpy, EGL_EXTENSIONS) on an initialized display. To query EGL_KHR_client_get_all_proc_addresses, users must use a different method which is described below in the section concerning EGL_EXT_client_extensions.

        Requires EGL 1.2.

      • EGL_KHR_debug

        When true, KHRDebug is supported.
      • EGL_KHR_get_all_proc_addresses

        When true, the KHR_get_all_proc_addresses extension is supported.

        eglGetProcAddress is currently defined to not support the querying of non-extension EGL or client API functions. Non-extension functions are expected to be exposed as library symbols that can be resolved statically at link time, or dynamically at run time using OS-specific runtime linking mechanisms.

        With the addition of OpenGL and OpenGL ES 3 support to EGL, the definition of a non-extension function becomes less clear. It is common for one OpenGL library to implement many versions of OpenGL. The suggested library name for OpenGL ES 3 is the same as that of OpenGL ES 2. If OpenGL ES 3 applications linked statically to OpenGL ES 3 functions are run on a system with only OpenGL ES 2 support, they may fail to load. Similar problems would be encountered by an application linking statically to various OpenGL functions.

        To avoid requiring applications to fall back to OS-specific dynamic linking mechanisms, this extension drops the requirement that eglGetProcAddress return only non-extension functions. If the extension string is present, applications can query all EGL and client API functions using eglGetProcAddress.

        To allow users to query this extension before initializing a display, and to also allow vendors to ship this extension without EGL_EXT_client_extensions, two names are assigned to this extension: one a display extension and the other a client extension. Identical functionality is exposed by each name, but users query each name using different methods. Users query EGL_KHR_get_all_proc_addresses in the usual way; that is, by calling eglQueryString(dpy, EGL_EXTENSIONS) on an initialized display. To query EGL_KHR_client_get_all_proc_addresses, users must use a different method which is described below in the section concerning EGL_EXT_client_extensions.

        Requires EGL 1.2.

      • EGL_KHR_image

        When true, KHRImage is supported.
      • EGL_KHR_stream

        When true, KHRStream is supported.
      • EGL_KHR_stream_producer_aldatalocator

        When true, the KHR_stream_producer_aldatalocator extension is supported.

        This extension (in conjunction with the OpenMAX_AL_EGLStream_DataLocator extension to OpenMAX AL) allows an OpenMAX AL MediaPlayer object to be connected as the producer of an EGLStream.

        After the EGLStream is created and connected to a consumer, the OpenMAX AL MediaPlayer object is created by calling <pEngine>'s CreateMediaPlayer() method. The <pImageVideoSnk> argument points to an XADataLocator_EGLStream containing the EGLStreamKHR handle of the stream. The CreateMediaPlayer() method creates a MediaPlayer object and connects it as the producer of the EGLStream. (Note that the pFormat member of the XADataSink structure is ignored in this case and may be NULL.)

        Once connected the MediaPlayer inserts image frames into the EGLStream.

        Requires EGL 1.2 and KHR_stream. Requires OpenMAX AL 1.1 and OpenMAX_AL_EGLStream_DataLocator.

      • EGL_KHR_surfaceless_context

        When true, the KHR_surfaceless_context extension is supported.

        These extensions allows an application to make a context current by passing EGL_NO_SURFACE for the write and read surface in the call to eglMakeCurrent. The motivation is that applications that only want to render to client API targets (such as OpenGL framebuffer objects) should not need to create a throw-away EGL surface just to get a current context.

        The state of an OpenGL ES context with no default framebuffer provided by EGL is the same as a context with an incomplete framebuffer object bound.

      • EGL_KHR_wait_sync

        When true, KHRWaitSync is supported.
      • EGL_NV_cuda_event

        When true, NVCUDAEvent is supported.
      • EGL_NV_post_convert_rounding

        When true, the NV_post_convert_rounding extension is supported.

        This extension defines the conversions for posting operations when the destination's number of components or component sizes do not match the color buffer. This extension supports posting a 24 bit (888) color buffer to a 16 bit (565) destination buffer, posting a 16 bit (565) color buffer to a 24 bit (888) destination buffer, and posting a component that is present in the source buffer, but not present in the destination buffer.

      • EGL_NV_stream_cross_display, EGL_NV_stream_cross_object, EGL_NV_stream_cross_partition, EGL_NV_stream_cross_process, EGL_NV_stream_cross_system

      • EGL_NV_sync

        When true, NVSync is supported.