Package org.lwjgl.opencl
Class CLImageDesc
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.opencl.CLImageDesc
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class CLImageDesc extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Describes the type and dimensions of the image or image array.Member documentation
image_type
– describes the image typeimage_width
– the width of the image in pixels. For a 2D image and image array, the image width must be ≤DEVICE_IMAGE2D_MAX_WIDTH
. For a 3D image, the image width must be ≤DEVICE_IMAGE3D_MAX_WIDTH
. For a 1D image buffer, the image width must be ≤DEVICE_IMAGE_MAX_BUFFER_SIZE
. For a 1D image and 1D image array, the image width must be ≤DEVICE_IMAGE2D_MAX_WIDTH
.image_height
– the height of the image in pixels. This is only used if the image is a 2D, 3D or 2D image array. For a 2D image or image array, the image height must be ≤DEVICE_IMAGE2D_MAX_HEIGHT
. For a 3D image, the image height must be ≤DEVICE_IMAGE3D_MAX_HEIGHT
.image_depth
– the depth of the image in pixels. This is only used if the image is a 3D image and must be a value ≥ 1 and ≤DEVICE_IMAGE3D_MAX_DEPTH
.image_array_size
– the number of images in the image array. This is only used if the image is a 1D or 2D image array. The values forimage_array_size
, if specified, must be a value ≥ 1 and ≤DEVICE_IMAGE_MAX_ARRAY_SIZE
.Note that reading and writing 2D image arrays from a kernel with
image_array_size = 1
may be lower performance than 2D images.image_row_pitch
– the scan-line pitch in bytes. This must be 0 ifhost_ptr
isNULL
and can be either 0 or ≥image_width * size
of element in bytes ifhost_ptr
is notNULL
. Ifhost_ptr
is notNULL
andimage_row_pitch = 0
,image_row_pitch
is calculated asimage_width * size
of element in bytes. Ifimage_row_pitch
is not 0, it must be a multiple of the image element size in bytes.image_slice_pitch
– the size in bytes of each 2D slice in the 3D image or the size in bytes of each image in a 1D or 2D image array. This must be 0 ifhost_ptr
isNULL
. Ifhost_ptr
is notNULL
,image_slice_pitch
can be either 0 or ≥image_row_pitch * image_height
for a 2D image array or 3D image and can be either 0 or ≥image_row_pitch
for a 1D image array. Ifhost_ptr
is notNULL
andimage_slice_pitch = 0
,image_slice_pitch
is calculated asimage_row_pitch * image_height
for a 2D image array or 3D image andimage_row_pitch
for a 1D image array. Ifimage_slice_pitch
is not 0, it must be a multiple of theimage_row_pitch
.num_mip_levels
– must be 0num_samples
– must be 0buffer
– refers to a valid buffer memory object ifimage_type
isMEM_OBJECT_IMAGE1D_BUFFER
. Otherwise it must beNULL
. For a 1D image buffer object, the image pixels are taken from the buffer object's data store. When the contents of a buffer object's data store are modified, those changes are reflected in the contents of the 1D image buffer object and vice-versa at corresponding sychronization points. Theimage_width * size
of element in bytes must be ≤ size of buffer object data store.
Layout
struct cl_image_desc { cl_mem_object_type image_type; size_t image_width; size_t image_height; size_t image_depth; size_t image_array_size; size_t image_row_pitch; size_t image_slice_pitch; cl_uint num_mip_levels; cl_uint num_samples; cl_mem buffer; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CLImageDesc.Buffer
An array ofCLImageDesc
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
BUFFER
IMAGE_ARRAY_SIZE
IMAGE_DEPTH
IMAGE_HEIGHT
IMAGE_ROW_PITCH
IMAGE_SLICE_PITCH
IMAGE_TYPE
IMAGE_WIDTH
NUM_MIP_LEVELS
NUM_SAMPLESThe struct member offsets.static int
SIZEOF
The struct size in bytes.
-
Constructor Summary
Constructors Constructor Description CLImageDesc(java.nio.ByteBuffer container)
Creates aCLImageDesc
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
buffer()
Returns the value of thebuffer
field.CLImageDesc
buffer(long value)
Sets the specified value to thebuffer
field.static CLImageDesc
calloc()
Returns a newCLImageDesc
instance allocated withmemCalloc
.static CLImageDesc.Buffer
calloc(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withmemCalloc
.static CLImageDesc
callocStack()
Returns a newCLImageDesc
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static CLImageDesc.Buffer
callocStack(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static CLImageDesc.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static CLImageDesc
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static CLImageDesc
create()
Returns a newCLImageDesc
instance allocated withBufferUtils
.static CLImageDesc.Buffer
create(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withBufferUtils
.static CLImageDesc
create(long address)
Returns a newCLImageDesc
instance for the specified memory address.static CLImageDesc.Buffer
create(long address, int capacity)
Create aCLImageDesc.Buffer
instance at the specified memory.static CLImageDesc
createSafe(long address)
static CLImageDesc.Buffer
createSafe(long address, int capacity)
long
image_array_size()
Returns the value of theimage_array_size
field.CLImageDesc
image_array_size(long value)
Sets the specified value to theimage_array_size
field.long
image_depth()
Returns the value of theimage_depth
field.CLImageDesc
image_depth(long value)
Sets the specified value to theimage_depth
field.long
image_height()
Returns the value of theimage_height
field.CLImageDesc
image_height(long value)
Sets the specified value to theimage_height
field.long
image_row_pitch()
Returns the value of theimage_row_pitch
field.CLImageDesc
image_row_pitch(long value)
Sets the specified value to theimage_row_pitch
field.long
image_slice_pitch()
Returns the value of theimage_slice_pitch
field.CLImageDesc
image_slice_pitch(long value)
Sets the specified value to theimage_slice_pitch
field.int
image_type()
Returns the value of theimage_type
field.CLImageDesc
image_type(int value)
Sets the specified value to theimage_type
field.long
image_width()
Returns the value of theimage_width
field.CLImageDesc
image_width(long value)
Sets the specified value to theimage_width
field.static CLImageDesc
malloc()
Returns a newCLImageDesc
instance allocated withmemAlloc
.static CLImageDesc.Buffer
malloc(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withmemAlloc
.static CLImageDesc
mallocStack()
Returns a newCLImageDesc
instance allocated on the thread-localMemoryStack
.static CLImageDesc.Buffer
mallocStack(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated on the thread-localMemoryStack
.static CLImageDesc.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc.Buffer
instance allocated on the specifiedMemoryStack
.static CLImageDesc
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc
instance allocated on the specifiedMemoryStack
.static long
nbuffer(long struct)
Unsafe version ofbuffer()
.static void
nbuffer(long struct, long value)
Unsafe version ofbuffer
.static long
nimage_array_size(long struct)
Unsafe version ofimage_array_size()
.static void
nimage_array_size(long struct, long value)
Unsafe version ofimage_array_size
.static long
nimage_depth(long struct)
Unsafe version ofimage_depth()
.static void
nimage_depth(long struct, long value)
Unsafe version ofimage_depth
.static long
nimage_height(long struct)
Unsafe version ofimage_height()
.static void
nimage_height(long struct, long value)
Unsafe version ofimage_height
.static long
nimage_row_pitch(long struct)
Unsafe version ofimage_row_pitch()
.static void
nimage_row_pitch(long struct, long value)
Unsafe version ofimage_row_pitch
.static long
nimage_slice_pitch(long struct)
Unsafe version ofimage_slice_pitch()
.static void
nimage_slice_pitch(long struct, long value)
Unsafe version ofimage_slice_pitch
.static int
nimage_type(long struct)
Unsafe version ofimage_type()
.static void
nimage_type(long struct, int value)
Unsafe version ofimage_type
.static long
nimage_width(long struct)
Unsafe version ofimage_width()
.static void
nimage_width(long struct, long value)
Unsafe version ofimage_width
.static int
nnum_mip_levels(long struct)
Unsafe version ofnum_mip_levels()
.static void
nnum_mip_levels(long struct, int value)
Unsafe version ofnum_mip_levels
.static int
nnum_samples(long struct)
Unsafe version ofnum_samples()
.static void
nnum_samples(long struct, int value)
Unsafe version ofnum_samples
.int
num_mip_levels()
Returns the value of thenum_mip_levels
field.CLImageDesc
num_mip_levels(int value)
Sets the specified value to thenum_mip_levels
field.int
num_samples()
Returns the value of thenum_samples
field.CLImageDesc
num_samples(int value)
Sets the specified value to thenum_samples
field.CLImageDesc
set(int image_type, long image_width, long image_height, long image_depth, long image_array_size, long image_row_pitch, long image_slice_pitch, int num_mip_levels, int num_samples, long buffer)
Initializes this struct with the specified values.CLImageDesc
set(CLImageDesc src)
Copies the specified struct data to this struct.int
sizeof()
-
-
-
Constructor Detail
-
CLImageDesc
public CLImageDesc(java.nio.ByteBuffer container)
Creates aCLImageDesc
instance at the current position of the specifiedByteBuffer
container. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
image_type
public int image_type()
Returns the value of theimage_type
field.
-
image_width
public long image_width()
Returns the value of theimage_width
field.
-
image_height
public long image_height()
Returns the value of theimage_height
field.
-
image_depth
public long image_depth()
Returns the value of theimage_depth
field.
-
image_array_size
public long image_array_size()
Returns the value of theimage_array_size
field.
-
image_row_pitch
public long image_row_pitch()
Returns the value of theimage_row_pitch
field.
-
image_slice_pitch
public long image_slice_pitch()
Returns the value of theimage_slice_pitch
field.
-
num_mip_levels
public int num_mip_levels()
Returns the value of thenum_mip_levels
field.
-
num_samples
public int num_samples()
Returns the value of thenum_samples
field.
-
buffer
public long buffer()
Returns the value of thebuffer
field.
-
image_type
public CLImageDesc image_type(int value)
Sets the specified value to theimage_type
field.
-
image_width
public CLImageDesc image_width(long value)
Sets the specified value to theimage_width
field.
-
image_height
public CLImageDesc image_height(long value)
Sets the specified value to theimage_height
field.
-
image_depth
public CLImageDesc image_depth(long value)
Sets the specified value to theimage_depth
field.
-
image_array_size
public CLImageDesc image_array_size(long value)
Sets the specified value to theimage_array_size
field.
-
image_row_pitch
public CLImageDesc image_row_pitch(long value)
Sets the specified value to theimage_row_pitch
field.
-
image_slice_pitch
public CLImageDesc image_slice_pitch(long value)
Sets the specified value to theimage_slice_pitch
field.
-
num_mip_levels
public CLImageDesc num_mip_levels(int value)
Sets the specified value to thenum_mip_levels
field.
-
num_samples
public CLImageDesc num_samples(int value)
Sets the specified value to thenum_samples
field.
-
buffer
public CLImageDesc buffer(long value)
Sets the specified value to thebuffer
field.
-
set
public CLImageDesc set(int image_type, long image_width, long image_height, long image_depth, long image_array_size, long image_row_pitch, long image_slice_pitch, int num_mip_levels, int num_samples, long buffer)
Initializes this struct with the specified values.
-
set
public CLImageDesc set(CLImageDesc src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static CLImageDesc malloc()
Returns a newCLImageDesc
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static CLImageDesc calloc()
Returns a newCLImageDesc
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static CLImageDesc create()
Returns a newCLImageDesc
instance allocated withBufferUtils
.
-
create
public static CLImageDesc create(long address)
Returns a newCLImageDesc
instance for the specified memory address.
-
createSafe
@Nullable public static CLImageDesc createSafe(long address)
-
malloc
public static CLImageDesc.Buffer malloc(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static CLImageDesc.Buffer calloc(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static CLImageDesc.Buffer create(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static CLImageDesc.Buffer create(long address, int capacity)
Create aCLImageDesc.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static CLImageDesc.Buffer createSafe(long address, int capacity)
-
mallocStack
public static CLImageDesc mallocStack()
Returns a newCLImageDesc
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static CLImageDesc callocStack()
Returns a newCLImageDesc
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static CLImageDesc mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static CLImageDesc callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static CLImageDesc.Buffer mallocStack(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static CLImageDesc.Buffer callocStack(int capacity)
Returns a newCLImageDesc.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static CLImageDesc.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static CLImageDesc.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCLImageDesc.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nimage_type
public static int nimage_type(long struct)
Unsafe version ofimage_type()
.
-
nimage_width
public static long nimage_width(long struct)
Unsafe version ofimage_width()
.
-
nimage_height
public static long nimage_height(long struct)
Unsafe version ofimage_height()
.
-
nimage_depth
public static long nimage_depth(long struct)
Unsafe version ofimage_depth()
.
-
nimage_array_size
public static long nimage_array_size(long struct)
Unsafe version ofimage_array_size()
.
-
nimage_row_pitch
public static long nimage_row_pitch(long struct)
Unsafe version ofimage_row_pitch()
.
-
nimage_slice_pitch
public static long nimage_slice_pitch(long struct)
Unsafe version ofimage_slice_pitch()
.
-
nnum_mip_levels
public static int nnum_mip_levels(long struct)
Unsafe version ofnum_mip_levels()
.
-
nnum_samples
public static int nnum_samples(long struct)
Unsafe version ofnum_samples()
.
-
nbuffer
public static long nbuffer(long struct)
Unsafe version ofbuffer()
.
-
nimage_type
public static void nimage_type(long struct, int value)
Unsafe version ofimage_type
.
-
nimage_width
public static void nimage_width(long struct, long value)
Unsafe version ofimage_width
.
-
nimage_height
public static void nimage_height(long struct, long value)
Unsafe version ofimage_height
.
-
nimage_depth
public static void nimage_depth(long struct, long value)
Unsafe version ofimage_depth
.
-
nimage_array_size
public static void nimage_array_size(long struct, long value)
Unsafe version ofimage_array_size
.
-
nimage_row_pitch
public static void nimage_row_pitch(long struct, long value)
Unsafe version ofimage_row_pitch
.
-
nimage_slice_pitch
public static void nimage_slice_pitch(long struct, long value)
Unsafe version ofimage_slice_pitch
.
-
nnum_mip_levels
public static void nnum_mip_levels(long struct, int value)
Unsafe version ofnum_mip_levels
.
-
nnum_samples
public static void nnum_samples(long struct, int value)
Unsafe version ofnum_samples
.
-
nbuffer
public static void nbuffer(long struct, long value)
Unsafe version ofbuffer
.
-
-