Package org.lwjgl.opencl
Class CL12GL
- java.lang.Object
-
- org.lwjgl.opencl.CL10GL
-
- org.lwjgl.opencl.CL12GL
-
public class CL12GL extends CL10GL
The OpenCL 1.2 OpenGL interoperability functionality.
-
-
Field Summary
Fields Modifier and Type Field Description static int
CL_GL_OBJECT_TEXTURE_2D_ARRAY
CL_GL_OBJECT_TEXTURE_BUFFER
CL_GL_OBJECT_TEXTURE1D
CL_GL_OBJECT_TEXTURE1D_ARRAYcl_gl_object_type-
Fields inherited from class org.lwjgl.opencl.CL10GL
CL_GL_MIPMAP_LEVEL, CL_GL_OBJECT_BUFFER, CL_GL_OBJECT_RENDERBUFFER, CL_GL_OBJECT_TEXTURE2D, CL_GL_OBJECT_TEXTURE3D, CL_GL_TEXTURE_TARGET, CL_INVALID_GL_OBJECT, CL_INVALID_MIP_LEVEL
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
clCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, int[] errcode_ret)
Array version of:CreateFromGLTexture
static long
clCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, java.nio.IntBuffer errcode_ret)
Creates one of the following: an OpenCL 2D image object from an OpenGL 2D texture object or a single face of an OpenGL cubemap texture object, an OpenCL 2D image array object from an OpenGL 2D texture array object, an OpenCL 1D image object from an OpenGL 1D texture object, an OpenCL 1D image buffer object from an OpenGL texture buffer object, an OpenCL 1D image array object from an OpenGL 1D texture array object, an OpenCL 3D image object from an OpenGL 3D texture object.static long
nclCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, long errcode_ret)
Unsafe version of:CreateFromGLTexture
-
Methods inherited from class org.lwjgl.opencl.CL10GL
clCreateFromGLBuffer, clCreateFromGLBuffer, clCreateFromGLRenderbuffer, clCreateFromGLRenderbuffer, clCreateFromGLTexture2D, clCreateFromGLTexture2D, clCreateFromGLTexture3D, clCreateFromGLTexture3D, clEnqueueAcquireGLObjects, clEnqueueAcquireGLObjects, clEnqueueReleaseGLObjects, clEnqueueReleaseGLObjects, clGetGLObjectInfo, clGetGLObjectInfo, clGetGLTextureInfo, clGetGLTextureInfo, clGetGLTextureInfo, nclCreateFromGLBuffer, nclCreateFromGLRenderbuffer, nclCreateFromGLTexture2D, nclCreateFromGLTexture3D, nclEnqueueAcquireGLObjects, nclEnqueueReleaseGLObjects, nclGetGLObjectInfo, nclGetGLTextureInfo
-
-
-
-
Method Detail
-
nclCreateFromGLTexture
public static long nclCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, long errcode_ret)
Unsafe version of:CreateFromGLTexture
-
clCreateFromGLTexture
public static long clCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, @Nullable java.nio.IntBuffer errcode_ret)
Creates one of the following:- an OpenCL 2D image object from an OpenGL 2D texture object or a single face of an OpenGL cubemap texture object,
- an OpenCL 2D image array object from an OpenGL 2D texture array object,
- an OpenCL 1D image object from an OpenGL 1D texture object,
- an OpenCL 1D image buffer object from an OpenGL texture buffer object,
- an OpenCL 1D image array object from an OpenGL 1D texture array object,
- an OpenCL 3D image object from an OpenGL 3D texture object.
If the state of a GL texture object is modified through the GL API (e.g.
glTexImage2D
,glTexImage3D
or the values of the texture parametersGL_TEXTURE_BASE_LEVEL
orGL_TEXTURE_MAX_LEVEL
are modified) while there exists a corresponding CL image object, subsequent use of the CL image object will result in undefined behavior.The
RetainMemObject
andReleaseMemObject
functions can be used to retain and release the image objects.- Parameters:
context
- a valid OpenCL context created from an OpenGL contextflags
- a bit-field that is used to specify usage information. One of:MEM_READ_ONLY
MEM_WRITE_ONLY
MEM_READ_WRITE
texture_target
- defines the image type oftexture
. No reference to a bound GL texture object is made or implied by this parameter. One of:GL_TEXTURE_1D GL_TEXTURE_1D_ARRAY GL_TEXTURE_BUFFER GL_TEXTURE_2D GL_TEXTURE_2D_ARRAY GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X GL_TEXTURE_CUBE_MAP_POSITIVE_Y GL_TEXTURE_CUBE_MAP_POSITIVE_Z GL_TEXTURE_CUBE_MAP_NEGATIVE_X GL_TEXTURE_CUBE_MAP_NEGATIVE_Y GL_TEXTURE_CUBE_MAP_NEGATIVE_Z GL_TEXTURE_RECTANGLE miplevel
- the mipmap level to be used. Implementations may returnINVALID_OPERATION
formiplevel
values > 0. Iftexture_target
isGL_TEXTURE_BUFFER
,miplevel
must be 0.texture
- the name of a GL 1D, 2D, 3D, 1D array, 2D array, cubemap, rectangle or buffer 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 specifiedmiplevel
of the texture will be used to create the OpenCL image memory 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 the OpenCL image memory object.errcode_ret
- will return an appropriate error code. Iferrcode_ret
isNULL
, no error code is returned.- Returns:
- a valid non-zero OpenCL image object and
errcode_ret
is set toSUCCESS
if the image object is created successfully. Otherwise, it returns aNULL
value with one of the following error values returned inerrcode_ret
:INVALID_CONTEXT
ifcontext
is not a valid context or was not created from a GL context.INVALID_VALUE
if values specified inflags
are not valid or if value specified intexture_target
is not one of the values specified in the description oftexture_target
.INVALID_MIP_LEVEL
ifmiplevel
is less than the value oflevel
base (for OpenGL implementations) or zero (for OpenGL ES implementations); or greater than the value ofq
(for both OpenGL and OpenGL ES).INVALID_MIP_LEVEL
ifmiplevel
is greather than zero and the OpenGL implementation does not support creating from non-zero mipmap levels.INVALID_GL_OBJECT
iftexture
is not a GL texture object whose type matchestexture_target
, if the specifiedmiplevel
of texture is not defined, or if the width or height of the specifiedmiplevel
is zero.INVALID_IMAGE_FORMAT_DESCRIPTOR
if the OpenGL texture internal format does not map to a supported OpenCL image format.INVALID_OPERATION
iftexture
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.
- See Also:
- Reference Page
-
clCreateFromGLTexture
public static long clCreateFromGLTexture(long context, long flags, int texture_target, int miplevel, int texture, @Nullable int[] errcode_ret)
Array version of:CreateFromGLTexture
- See Also:
- Reference Page
-
-