Top Description Fields Constructors Methods
org.lwjgl.opencl

public Class CL10GL

extends Object
Class Inheritance
Known Direct Subclasses
org.lwjgl.opencl.CL12GL
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

The OpenCL 1.0 OpenGL interoperability functionality.

OpenCL memory objects may be created from OpenGL objects if and only if the OpenCL context has been created from an OpenGL share group object or context. OpenGL share groups and contexts are created using platform specific APIs such as EGL, CGL, WGL, and GLX. On macOS, an OpenCL context may be created from an OpenGL share group object using the OpenCL platform extension cl_apple_gl_sharing. On other platforms including Microsoft Windows, Linux/Unix and others, an OpenCL context may be created from an OpenGL context using the Khronos platform extension cl_khr_gl_sharing.

Any supported OpenGL object defined within the GL share group object, or the share group associated with the GL context from which the CL context is created, may be shared, with the exception of the default OpenGL objects (i.e. objects named zero), which may not be shared.

Lifetime of Shared Objects

An OpenCL memory object created from an OpenGL object (hereinafter refered to as a “shared CL/GL object”) remains valid as long as the corresponding GL object has not been deleted. If the GL object is deleted through the GL API (e.g. glDeleteBuffers, glDeleteTextures, or glDeleteRenderbuffers), subsequent use of the CL buffer or image object will result in undefined behavior, including but not limited to possible CL errors and data corruption, but may not result in program termination.

The CL context and corresponding command-queues are dependent on the existence of the GL share group object, or the share group associated with the GL context from which the CL context is created. If the GL share group object or all GL contexts in the share group are destroyed, any use of the CL context or command-queue(s) will result in undefined behavior, which may include program termination. Applications should destroy the CL command-queue(s) and CL context before destroying the corresponding GL share group or contexts.

Synchronizing OpenCL and OpenGL Access to Shared Objects

The application is responsible for maintaining the proper order of operations if the CL and GL contexts are in separate threads.

If a GL context is bound to a thread other than the one in which EnqueueReleaseGLObjects is called, changes to any of the objects in mem_objects may not be visible to that context without additional steps being taken by the application. For an OpenGL 3.1 (or later) context, the requirements are described in Appendix D ("Shared Objects and Multiple Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, the requirements are implementation dependent.

Attempting to access the data store of an OpenGL object after it has been acquired by OpenCL and before it has been released will result in undefined behavior. Similarly, attempting to access a shared CL/GL object from OpenCL before it has been acquired by the OpenCL command queue, or after it has been released, will result in undefined behavior.

Field Summary

Modifier and TypeField and Description
public static final int
CL_GL_MIPMAP_LEVEL

cl_gl_texture_info

public static final int
CL_GL_OBJECT_BUFFER

cl_gl_object_type

public static final int
CL_GL_OBJECT_RENDERBUFFER

cl_gl_object_type

public static final int
CL_GL_OBJECT_TEXTURE2D

cl_gl_object_type

public static final int
CL_GL_OBJECT_TEXTURE3D

cl_gl_object_type

public static final int
CL_GL_TEXTURE_TARGET

cl_gl_texture_info

public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static long

Returns:

a valid non-zero OpenCL buffer object and errcode_ret is set to SUCCESS if the buffer object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
  • INVALID_CONTEXT if context is not a valid context or was not created from a GL context.
  • INVALID_VALUE if values specified in flags are not valid.
  • INVALID_GL_OBJECT if bufobj is not a GL buffer object or is a GL buffer object but does not have an existing data store or the size of the buffer is 0.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clCreateFromGLBuffer
(long
a valid OpenCL context created from an OpenGL context
context
,
long
a bit-field that is used to specify usage information. One of:
MEM_READ_ONLYMEM_WRITE_ONLYMEM_READ_WRITE
flags
,
int
the name of a GL buffer object. The data store of the GL buffer object must have have been previously created by calling glBufferData, although its contents need not be initialized. The size of the data store will be used to determine the size of the CL buffer object.
bufobj
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Creates an OpenCL buffer object from an OpenGL buffer object.

public static long
clCreateFromGLBuffer(long context, long flags, int bufobj, int[] errcode_ret)

Array version of: CreateFromGLBuffer

public static long

Returns:

a valid non-zero OpenCL image object and errcode_ret is set to SUCCESS if the image object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
  • INVALID_CONTEXT if context is not a valid context or was not created from a GL context.
  • INVALID_VALUE if values specified in flags are not valid.
  • INVALID_GL_OBJECT if renderbuffer is not a GL renderbuffer object or if the width or height of renderbuffer is zero.
  • INVALID_IMAGE_FORMAT_DESCRIPTOR if the OpenGL renderbuffer internal format does not map to a supported OpenCL image format.
  • INVALID_OPERATION if renderbuffer is a multi-sample GL renderbuffer object.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clCreateFromGLRenderbuffer
(long
a valid OpenCL context created from an OpenGL context
context
,
long
a bit-field that is used to specify usage information. One of:
MEM_READ_ONLYMEM_WRITE_ONLYMEM_READ_WRITE
flags
,
int
the name of a GL renderbuffer object. The renderbuffer storage must be specified before the image object can be created. The renderbuffer format and dimensions defined by OpenGL will be used to create the 2D image object. Only GL renderbuffers with internal formats that maps to appropriate OpenCL image channel order and data type can be used to create the 2D image object.
renderbuffer
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Creates an OpenCL 2D image object from an OpenGL renderbuffer object.

public static long
clCreateFromGLRenderbuffer(long context, long flags, int renderbuffer, int[] errcode_ret)

Array version of: CreateFromGLRenderbuffer

public static long

Returns:

a valid non-zero OpenCL image object and errcode_ret is set to SUCCESS if the image object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
  • INVALID_CONTEXT if context is not a valid context or was not created from a GL context.
  • INVALID_VALUE if values specified in flags are not valid or if value specified in texture_target is not one of the values specified in the description of texture_target.
  • INVALID_MIP_LEVEL if miplevel is less than the value of levelbase (for OpenGL implementations) or zero (for OpenGL ES implementations); or greater than the value of q (for both OpenGL and OpenGL ES).
  • INVALID_MIP_LEVEL if miplevel is greather than zero and the OpenGL implementation does not support creating from non-zero mipmap levels.
  • INVALID_GL_OBJECT if texture is not a GL texture object whose type matches texture_target, if the specified miplevel of texture is not defined, or if the width or height of the specified miplevel is zero.
  • INVALID_IMAGE_FORMAT_DESCRIPTOR if the OpenGL texture internal format does not map to a supported OpenCL image format.
  • INVALID_OPERATION if texture is a GL texture object created with a border width value greater than zero.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clCreateFromGLTexture2D
(long
a valid OpenCL context created from an OpenGL context
context
,
long
a bit-field that is used to specify usage information. One of:
MEM_READ_ONLYMEM_WRITE_ONLYMEM_READ_WRITE
flags
,
int
defines the image type of texture. No reference to a bound GL texture object is made or implied by this parameter. One of:
GL_TEXTURE_2DGL_TEXTURE_CUBE_MAP_POSITIVE_X
GL_TEXTURE_CUBE_MAP_POSITIVE_YGL_TEXTURE_CUBE_MAP_POSITIVE_Z
GL_TEXTURE_CUBE_MAP_NEGATIVE_XGL_TEXTURE_CUBE_MAP_NEGATIVE_Y
GL_TEXTURE_CUBE_MAP_NEGATIVE_ZGL_TEXTURE_RECTANGLE
texture_target
,
int
the mipmap level to be used. Implementations may return INVALID_OPERATION for miplevel values > 0.
miplevel
,
int
the name of a GL 2D, cubemap or rectangle texture object. The texture object must be a complete texture as per OpenGL rules on texture completeness. The texture format and dimensions defined by OpenGL for the specified miplevel of the texture will be used to create the 2D image object. Only GL texture objects with an internal format that maps to appropriate OpenCL image channel order and data type may be used to create a 2D image object.
texture
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Creates an OpenCL 2D image object from an OpenGL 2D texture object, or a single face of an OpenGL cubemap texture object.

public static long
clCreateFromGLTexture2D(long context, long flags, int texture_target, int miplevel, int texture, int[] errcode_ret)

Array version of: CreateFromGLTexture2D

public static long

Returns:

a valid non-zero image object and errcode_ret is set to SUCCESS if the image object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
  • INVALID_CONTEXT if context is not a valid context or was not created from a GL context.
  • INVALID_VALUE if values specified in flags are not valid or if value specified in texture_target is not one of the values specified in the description of texture_target.
  • INVALID_MIP_LEVEL if miplevel is less than the value of levelbase (for OpenGL implementations) or zero (for OpenGL ES implementations); or greater than the value of q (for both OpenGL and OpenGL ES).
  • INVALID_MIP_LEVEL if miplevel is greather than zero and the OpenGL implementation does not support creating from non-zero mipmap levels.
  • INVALID_GL_OBJECT if texture is not a GL texture object whose type matches texture_target, if the specified miplevel of texture is not defined, or if the width or height of the specified miplevel is zero.
  • INVALID_IMAGE_FORMAT_DESCRIPTOR if the OpenGL texture internal format does not map to a supported OpenCL image format.
  • INVALID_OPERATION if texture is a GL texture object created with a border width value greater than zero.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clCreateFromGLTexture3D
(long
a valid OpenCL context created from an OpenGL context
context
,
long
a bit-field that is used to specify usage information. One of:
MEM_READ_ONLYMEM_WRITE_ONLYMEM_READ_WRITE
flags
,
int
defines the image type of texture. No reference to a bound GL texture object is made or implied by this parameter. Must be:
GL_TEXTURE_3D
texture_target
,
int
the mipmap level to be used
miplevel
,
int
the name of a GL 3D texture object. The texture object must be a complete texture as per OpenGL rules on texture completeness. The texture format and dimensions defined by OpenGL for the specified miplevel of the texture will be used to create the 3D image object. Only GL texture objects with an internal format that maps to appropriate OpenCL image channel order and data type can be used to create the 3D image object.
texture
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Creates an OpenCL 3D image object from an OpenGL 3D texture object.

public static long
clCreateFromGLTexture3D(long context, long flags, int texture_target, int miplevel, int texture, int[] errcode_ret)

Array version of: CreateFromGLTexture3D

public static int

Returns:

SUCCESS if the function is executed successfully. If num_objects is 0 and mem_objects is NULL the function does nothing and returns SUCCESS. Otherwise, it returns one of the following errors:
  • INVALID_VALUE if num_objects is zero and mem_objects is not a NULL value or if num_objects > 0 and mem_objects is NULL.
  • INVALID_MEM_OBJECT if memory objects in mem_objects are not valid OpenCL memory objects.
  • INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.
  • INVALID_CONTEXT if context associated with command_queue was not created from an OpenGL context.
  • INVALID_GL_OBJECT if memory objects in mem_objects have not been created from a GL object(s).
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list > 0, or event_wait_list is not NULL and num_events_in_wait_list is 0, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueAcquireGLObjects
(long
a valid command-queue. All devices used to create the OpenCL context associated with command_queue must support acquiring shared CL/GL objects. This constraint is enforced at context creation time.
command_queue
,
PointerBuffer
a pointer to a list of CL memory objects that correspond to GL objects
mem_objects
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Acquire OpenCL memory objects that have been created from OpenGL objects.

public static int

Returns:

SUCCESS if the function is executed successfully. If num_objects is 0 and mem_objects is NULL the function does nothing and returns SUCCESS. Otherwise, it returns one of the following errors:
  • INVALID_VALUE if num_objects is zero and mem_objects is not a NULL value or if num_objects > 0 and mem_objects is NULL.
  • INVALID_MEM_OBJECT if memory objects in mem_objects are not valid OpenCL memory objects.
  • INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.
  • INVALID_CONTEXT if context associated with command_queue was not created from an OpenGL context.
  • INVALID_GL_OBJECT if memory objects in mem_objects have not been created from a GL object(s).
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list > 0, or event_wait_list is not NULL and num_events_in_wait_list is 0, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueAcquireGLObjects
(long
a valid command-queue. All devices used to create the OpenCL context associated with command_queue must support acquiring shared CL/GL objects. This constraint is enforced at context creation time.
command_queue
,
long mem_object, PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Acquire OpenCL memory objects that have been created from OpenGL objects.

public static int

Returns:

SUCCESS if the function is executed successfully. If num_objects is 0 and mem_objects is NULL the function does nothing and returns SUCCESS. Otherwise, it returns one of the following errors:
  • INVALID_VALUE if num_objects is zero and mem_objects is not a NULL value or if num_objects > 0 and mem_objects is NULL.
  • INVALID_MEM_OBJECT if memory objects in mem_objects are not valid OpenCL memory objects.
  • INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.
  • INVALID_CONTEXT if context associated with command_queue was not created from an OpenGL context.
  • INVALID_GL_OBJECT if memory objects in mem_objects have not been created from a GL object(s).
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list > 0, or event_wait_list is not NULL and num_events_in_wait_list is 0, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueReleaseGLObjects
(long
a valid command-queue
command_queue
,
PointerBuffer
a pointer to a list of CL memory objects that correpond to GL objects
mem_objects
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Releases OpenCL memory objects that have been created from OpenGL objects.

public static int

Returns:

SUCCESS if the function is executed successfully. If num_objects is 0 and mem_objects is NULL the function does nothing and returns SUCCESS. Otherwise, it returns one of the following errors:
  • INVALID_VALUE if num_objects is zero and mem_objects is not a NULL value or if num_objects > 0 and mem_objects is NULL.
  • INVALID_MEM_OBJECT if memory objects in mem_objects are not valid OpenCL memory objects.
  • INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.
  • INVALID_CONTEXT if context associated with command_queue was not created from an OpenGL context.
  • INVALID_GL_OBJECT if memory objects in mem_objects have not been created from a GL object(s).
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list > 0, or event_wait_list is not NULL and num_events_in_wait_list is 0, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueReleaseGLObjects
(long
a valid command-queue
command_queue
,
long mem_object, PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Releases OpenCL memory objects that have been created from OpenGL objects.

public static int

Returns:

SUCCESS if the call was executed successfully. Otherwise, it returns one of the following errors:
  • INVALID_MEM_OBJECT if memobj is not a valid OpenCL memory object.
  • INVALID_GL_OBJECT if there is no GL object associated with memobj.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetGLObjectInfo
(long
the memory object being queried
memobj
,
IntBuffer gl_object_type, IntBuffer
the GL object name used to create memobj. If gl_object_name is NULL, it is ignored.
gl_object_name
)

Queries the OpenGL object used to create the OpenCL memory object and information about the object type i.e. whether it is a texture, renderbuffer or buffer object.

public static int
clGetGLObjectInfo(long memobj, int[] gl_object_type, int[] gl_object_name)

Array version of: GetGLObjectInfo

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
  • INVALID_MEM_OBJECT if memobj is not a valid OpenCL memory object.
  • INVALID_GL_OBJECT if there is no GL texture object associated with memobj.
  • INVALID_VALUE if param_name is not valid, or if size in bytes specified by param_value_size is < size of return type and param_value is not NULL, or if param_value and param_value_size_ret are NULL.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetGLTextureInfo
(long memobj, int
specifies what additional information about the GL texture object associated with memobj to query. One of:
GL_TEXTURE_TARGETGL_MIPMAP_LEVELGL_NUM_SAMPLES
param_name
,
ByteBuffer
a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.
param_value
,
PointerBuffer
the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
param_value_size_ret
)

Returns additional information about the GL texture object associated with memobj.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
  • INVALID_MEM_OBJECT if memobj is not a valid OpenCL memory object.
  • INVALID_GL_OBJECT if there is no GL texture object associated with memobj.
  • INVALID_VALUE if param_name is not valid, or if size in bytes specified by param_value_size is < size of return type and param_value is not NULL, or if param_value and param_value_size_ret are NULL.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetGLTextureInfo
(long memobj, int
specifies what additional information about the GL texture object associated with memobj to query. One of:
GL_TEXTURE_TARGETGL_MIPMAP_LEVELGL_NUM_SAMPLES
param_name
,
IntBuffer
a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.
param_value
,
PointerBuffer
the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
param_value_size_ret
)

Returns additional information about the GL texture object associated with memobj.

public static int
clGetGLTextureInfo(long memobj, int param_name, int[] param_value, PointerBuffer param_value_size_ret)

Array version of: GetGLTextureInfo

public static long
nclCreateFromGLBuffer(long context, long flags, int bufobj, long errcode_ret)

Unsafe version of: CreateFromGLBuffer

public static long
nclCreateFromGLRenderbuffer(long context, long flags, int renderbuffer, long errcode_ret)

Unsafe version of: CreateFromGLRenderbuffer

public static long
nclCreateFromGLTexture2D(long context, long flags, int texture_target, int miplevel, int texture, long errcode_ret)

Unsafe version of: CreateFromGLTexture2D

public static long
nclCreateFromGLTexture3D(long context, long flags, int texture_target, int miplevel, int texture, long errcode_ret)

Unsafe version of: CreateFromGLTexture3D

public static int
nclEnqueueAcquireGLObjects(long command_queue, int
the number of memory objects to be acquired in mem_objects
num_objects
,
long mem_objects, int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueAcquireGLObjects

public static int
nclEnqueueReleaseGLObjects(long command_queue, int
the number of memory objects to be released in mem_objects
num_objects
,
long mem_objects, int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueReleaseGLObjects

public static int
nclGetGLObjectInfo(long memobj, long gl_object_type, long gl_object_name)

Unsafe version of: GetGLObjectInfo

public static int
nclGetGLTextureInfo(long memobj, int param_name, long
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.
param_value_size
,
long param_value, long param_value_size_ret)

Unsafe version of: GetGLTextureInfo

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait