Package org.lwjgl.egl

Class EXTPlatformBase

java.lang.Object
org.lwjgl.egl.EXTPlatformBase

public class EXTPlatformBase extends Object
Native bindings to the EXT_platform_base extension.

This extension defines functionality and behavior for EGL implementations that support multiple platforms at runtime. For example, on Linux an EGL implementation could support X11, Wayland, GBM (Generic Buffer Manager), Surface Flinger, and perhaps other platforms.

In particular, this extension defines the following:

  1. A mechanism by which an EGL client can detect which platforms the EGL implementation supports.
  2. New functions that enable an EGL client to specify to which platform a native resource belongs when creating an EGL resource from that native resource. For example, this extension enables an EGL client to specify, when creating an EGLSurface from a native window, that the window belongs to X11.
  3. That an EGL client is not restricted to interacting with a single platform per process. A client process can create and manage EGL resources from multiple platforms.

The generic term 'platform' is used throughout this extension specification rather than 'window system' because not all EGL platforms are window systems. In particular, those platforms that allow headless rendering without a display server, such as GBM, are not window systems.

This extension does not specify behavior specific to any platform, nor does it specify the set of platforms that an EGL implementation may support. Platform-specific details lie outside this extension's scope and are instead described by extensions layered atop this one.

Requires EGL 1.4 and EXT_platform_base to query its existence without a display.

  • Method Details

    • neglGetPlatformDisplayEXT

      public static long neglGetPlatformDisplayEXT(int platform, long native_display, long attrib_list)
    • eglGetPlatformDisplayEXT

      public static long eglGetPlatformDisplayEXT(int platform, long native_display, @Nullable IntBuffer attrib_list)
    • neglCreatePlatformWindowSurfaceEXT

      public static long neglCreatePlatformWindowSurfaceEXT(long dpy, long config, long native_window, long attrib_list)
    • eglCreatePlatformWindowSurfaceEXT

      public static long eglCreatePlatformWindowSurfaceEXT(long dpy, long config, long native_window, @Nullable IntBuffer attrib_list)
    • neglCreatePlatformPixmapSurfaceEXT

      public static long neglCreatePlatformPixmapSurfaceEXT(long dpy, long config, long native_pixmap, long attrib_list)
    • eglCreatePlatformPixmapSurfaceEXT

      public static long eglCreatePlatformPixmapSurfaceEXT(long dpy, long config, long native_pixmap, @Nullable IntBuffer attrib_list)
    • eglGetPlatformDisplayEXT

      public static long eglGetPlatformDisplayEXT(int platform, long native_display, @Nullable int[] attrib_list)
      Array version of: GetPlatformDisplayEXT
    • eglCreatePlatformWindowSurfaceEXT

      public static long eglCreatePlatformWindowSurfaceEXT(long dpy, long config, long native_window, @Nullable int[] attrib_list)
    • eglCreatePlatformPixmapSurfaceEXT

      public static long eglCreatePlatformPixmapSurfaceEXT(long dpy, long config, long native_pixmap, @Nullable int[] attrib_list)