Class APPLEGLSharing

java.lang.Object
org.lwjgl.opencl.APPLEGLSharing

public class APPLEGLSharing extends Object
Native bindings to the APPLE_gl_sharing extension.
  • Field Details

    • CL_INVALID_GL_CONTEXT_APPLE

      public static final int CL_INVALID_GL_CONTEXT_APPLE
      Error code returned by GetGLContextInfoAPPLE if an invalid platform_gl_ctx is provided.
      See Also:
    • CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE

      public static final int CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE
      This enumerated value can be specified as part of the properties argument passed to CreateContext to allow OpenCL compliant devices in an existing CGL share group to be used as the devices in the newly created CL context. GL objects that were allocated in the specified CGL share group can now be shared between CL and GL.
      See Also:
    • CL_CGL_DEVICES_FOR_SUPPORTED_VIRTUAL_SCREENS_APPLE

      public static final int CL_CGL_DEVICES_FOR_SUPPORTED_VIRTUAL_SCREENS_APPLE
      Accepted as the param_name argument of GetGLContextInfoAPPLE. Returns an array of cl_device_ids for the CL device(s) corresponding to the virtual screen(s) for the specified CGL context.
      See Also:
    • CL_CGL_DEVICE_FOR_CURRENT_VIRTUAL_SCREEN_APPLE

      public static final int CL_CGL_DEVICE_FOR_CURRENT_VIRTUAL_SCREEN_APPLE
      Accepted as the param_name argument of GetGLContextInfoAPPLE. Returns a cl_device_id for the CL device associated with the virtual screen for the specified CGL context.
      See Also:
  • Method Details

    • nclGetGLContextInfoAPPLE

      public static int nclGetGLContextInfoAPPLE(long context, long platform_gl_ctx, int param_name, long param_value_size, long param_value, long param_value_size_ret)
      Unsafe version of: GetGLContextInfoAPPLE
      Parameters:
      param_value_size - the size in bytes of memory pointed to by param_value. This size must be ≥ size of return type. If param_value is NULL, it is ignored.
    • clGetGLContextInfoAPPLE

      public static int clGetGLContextInfoAPPLE(long context, long platform_gl_ctx, int param_name, @Nullable ByteBuffer param_value, @Nullable PointerBuffer param_value_size_ret)
      Provides a query mechanism to retrieve OpenGL context specific information from an OpenCL context to help identify device specific mappings and usage.

      For example, one possible usage would be to allow the client to map a CGL virtual screen index to an appropriate CL device id to insure that the rendering device and the compute device are the same, thus guaranteeing any shared OpenGL memory that is attached o a CL memory object remains resident on the active device.

      Parameters:
      context - the context being queried
      platform_gl_ctx - the OpenGL context handle
      param_name - a constant that specifies the GL context information to query. One of:
      CGL_DEVICES_FOR_SUPPORTED_VIRTUAL_SCREENS_APPLE
      CGL_DEVICE_FOR_CURRENT_VIRTUAL_SCREEN_APPLE
      param_value - a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.
      param_value_size_ret - the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
    • clGetGLContextInfoAPPLE

      public static int clGetGLContextInfoAPPLE(long context, long platform_gl_ctx, int param_name, @Nullable PointerBuffer param_value, @Nullable PointerBuffer param_value_size_ret)
      Provides a query mechanism to retrieve OpenGL context specific information from an OpenCL context to help identify device specific mappings and usage.

      For example, one possible usage would be to allow the client to map a CGL virtual screen index to an appropriate CL device id to insure that the rendering device and the compute device are the same, thus guaranteeing any shared OpenGL memory that is attached o a CL memory object remains resident on the active device.

      Parameters:
      context - the context being queried
      platform_gl_ctx - the OpenGL context handle
      param_name - a constant that specifies the GL context information to query. One of:
      CGL_DEVICES_FOR_SUPPORTED_VIRTUAL_SCREENS_APPLE
      CGL_DEVICE_FOR_CURRENT_VIRTUAL_SCREEN_APPLE
      param_value - a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.
      param_value_size_ret - the actual size in bytes of data being queried by param_value. If NULL, it is ignored.