Class GLXAMDGPUAssociation

  • public class GLXAMDGPUAssociation
    extends java.lang.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.

    • Method Detail

      • 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,
                                                                java.nio.IntBuffer attribList)
        Creates an associated context and requests a specific GL version.
      • glXDeleteAssociatedContextAMD

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

        public static int glXGetContextGPUIDAMD​(long ctx)
        Determines which GPU a context is attached to.
        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
      • glXMakeAssociatedContextCurrentAMD

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

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