Class GLXAMDGPUAssociation

java.lang.Object
org.lwjgl.opengl.GLXAMDGPUAssociation

public class GLXAMDGPUAssociation extends Object
Native bindings to the GLX_AMD_gpu_association extension.

There currently is no way for applications to efficiently use GPU resources in systems that contain more than one GPU. Vendors have provided methods that attempt to split the workload for an application among the available GPU resources. This has proven to be very inefficient because most applications were never written with these sorts of optimizations in mind.

This extension provides a mechanism for applications to explicitly use the GPU resources on a given system individually. By providing this functionality, a driver allows applications to make appropriate decisions regarding where and when to distribute rendering tasks.

Requires OpenGL 1.5, GLX 1.3, EXT_framebuffer_object and GLX_ARB_get_proc_address.

  • Field Details

  • Method Details

    • glXBlitContextFramebufferAMD

      public static void glXBlitContextFramebufferAMD(long dstCtx, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter)
    • glXCreateAssociatedContextAMD

      public static long glXCreateAssociatedContextAMD(int id, long share_list)
      Creates an associated context.
    • nglXCreateAssociatedContextAttribsAMD

      public static long nglXCreateAssociatedContextAttribsAMD(int id, long share_context, long attribList)
    • glXCreateAssociatedContextAttribsAMD

      public static long glXCreateAssociatedContextAttribsAMD(int id, long share_context, IntBuffer attribList)
      Creates an associated context and requests a specific GL version.
    • glXDeleteAssociatedContextAMD

      public static boolean glXDeleteAssociatedContextAMD(long ctx)
      Deletes an associated context.
      Parameters:
      ctx - the GLXContext
    • glXGetContextGPUIDAMD

      public static int glXGetContextGPUIDAMD(long ctx)
      Determines which GPU a context is attached to.
      Parameters:
      ctx - the GLXContext
    • glXGetCurrentAssociatedContextAMD

      public static long glXGetCurrentAssociatedContextAMD()
      Queries the crrent associated context.
    • glXGetGPUIDsAMD

      public static int glXGetGPUIDsAMD(int maxCount, int ids)
      Queries the IDs for available GPUs.
    • nglXGetGPUInfoAMD

      public static int nglXGetGPUInfoAMD(int id, int property, int dataType, int size, long data)
      Unsafe version of: GetGPUInfoAMD
    • glXGetGPUInfoAMD

      public static int glXGetGPUInfoAMD(int id, int property, int dataType, ByteBuffer data)
      Queries GPU properties.
      Parameters:
      property - one of:
      GPU_VENDOR_AMDGPU_RENDERER_STRING_AMDGPU_OPENGL_VERSION_STRING_AMDGPU_FASTEST_TARGET_GPUS_AMD
      GPU_RAM_AMDGPU_CLOCK_AMDGPU_NUM_PIPES_AMDGPU_NUM_SIMD_AMD
      GPU_NUM_RB_AMDGPU_NUM_SPI_AMD
    • glXMakeAssociatedContextCurrentAMD

      public static boolean glXMakeAssociatedContextCurrentAMD(long ctx)
      Makes an associated context current in the current thread.
      Parameters:
      ctx - the GLXContext
    • glXCreateAssociatedContextAttribsAMD

      public static long glXCreateAssociatedContextAttribsAMD(int id, long share_context, int[] attribList)