| Modifier and Type | Field and Description |
|---|---|
static int |
CL_BLOCKING
cl_bool
|
static int |
CL_COMMAND_BARRIER
cl_command_type
|
static int |
CL_COMMAND_FILL_BUFFER
cl_command_type
|
static int |
CL_COMMAND_FILL_IMAGE
cl_command_type
|
static int |
CL_COMMAND_MIGRATE_MEM_OBJECTS
cl_command_type
|
static int |
CL_COMPILE_PROGRAM_FAILURE
Error Codes.
|
static int |
CL_CONTEXT_INTEROP_USER_SYNC
cl_context_properties
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE
cl_device_affinity_domain
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE
cl_device_affinity_domain
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE
cl_device_affinity_domain
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE
cl_device_affinity_domain
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
cl_device_affinity_domain
|
static int |
CL_DEVICE_AFFINITY_DOMAIN_NUMA
cl_device_affinity_domain
|
static int |
CL_DEVICE_BUILT_IN_KERNELS
cl_device_info
|
static int |
CL_DEVICE_DOUBLE_FP_CONFIG
cl_device_info
|
static int |
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
cl_device_info
|
static int |
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
cl_device_info
|
static int |
CL_DEVICE_LINKER_AVAILABLE
cl_device_info
|
static int |
CL_DEVICE_PARENT_DEVICE
cl_device_info
|
static int |
CL_DEVICE_PARTITION_AFFINITY_DOMAIN
cl_device_info
|
static int |
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
Split the device into smaller aggregate devices containing one or more compute units that all share part of a cache hierarchy.
|
static int |
CL_DEVICE_PARTITION_BY_COUNTS
This property is followed by a
DEVICE_PARTITION_BY_COUNTS_LIST_END terminated list of compute unit counts. |
static int |
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
cl_device_partition_property list null-terminator
|
static int |
CL_DEVICE_PARTITION_EQUALLY
Split the aggregate device into as many smaller aggregate devices as can be created, each containing
n compute units. |
static int |
CL_DEVICE_PARTITION_FAILED
Error Codes.
|
static int |
CL_DEVICE_PARTITION_MAX_SUB_DEVICES
cl_device_info
|
static int |
CL_DEVICE_PARTITION_PROPERTIES
cl_device_info
|
static int |
CL_DEVICE_PARTITION_TYPE
cl_device_info
|
static int |
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
cl_device_info
|
static int |
CL_DEVICE_PRINTF_BUFFER_SIZE
cl_device_info
|
static int |
CL_DEVICE_REFERENCE_COUNT
cl_device_info
|
static int |
CL_DEVICE_TYPE_CUSTOM
cl_device_type - bitfield
|
static int |
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
cl_device_fp_config - bitfield
|
static int |
CL_IMAGE_ARRAY_SIZE
cl_image_info
|
static int |
CL_IMAGE_BUFFER
cl_image_info
|
static int |
CL_IMAGE_NUM_MIP_LEVELS
cl_image_info
|
static int |
CL_IMAGE_NUM_SAMPLES
cl_image_info
|
static int |
CL_INVALID_COMPILER_OPTIONS
Error Codes.
|
static int |
CL_INVALID_DEVICE_PARTITION_COUNT
Error Codes.
|
static int |
CL_INVALID_IMAGE_DESCRIPTOR
Error Codes.
|
static int |
CL_INVALID_LINKER_OPTIONS
Error Codes.
|
static int |
CL_KERNEL_ARG_ACCESS_NONE
cl_kernel_arg_access_qualifier
|
static int |
CL_KERNEL_ARG_ACCESS_QUALIFIER
cl_kernel_arg_info
|
static int |
CL_KERNEL_ARG_ACCESS_READ_ONLY
cl_kernel_arg_access_qualifier
|
static int |
CL_KERNEL_ARG_ACCESS_READ_WRITE
cl_kernel_arg_access_qualifier
|
static int |
CL_KERNEL_ARG_ACCESS_WRITE_ONLY
cl_kernel_arg_access_qualifier
|
static int |
CL_KERNEL_ARG_ADDRESS_CONSTANT
cl_kernel_arg_address_qualifier
|
static int |
CL_KERNEL_ARG_ADDRESS_GLOBAL
cl_kernel_arg_address_qualifier
|
static int |
CL_KERNEL_ARG_ADDRESS_LOCAL
cl_kernel_arg_address_qualifier
|
static int |
CL_KERNEL_ARG_ADDRESS_PRIVATE
cl_kernel_arg_address_qualifier
|
static int |
CL_KERNEL_ARG_ADDRESS_QUALIFIER
cl_kernel_arg_info
|
static int |
CL_KERNEL_ARG_INFO_NOT_AVAILABLE
Error Codes.
|
static int |
CL_KERNEL_ARG_NAME
cl_kernel_arg_info
|
static int |
CL_KERNEL_ARG_TYPE_CONST
cl_kernel_arg_type_qualifier
|
static int |
CL_KERNEL_ARG_TYPE_NAME
cl_kernel_arg_info
|
static int |
CL_KERNEL_ARG_TYPE_NONE
cl_kernel_arg_type_qualifier
|
static int |
CL_KERNEL_ARG_TYPE_QUALIFIER
cl_kernel_arg_info
|
static int |
CL_KERNEL_ARG_TYPE_RESTRICT
cl_kernel_arg_type_qualifier
|
static int |
CL_KERNEL_ARG_TYPE_VOLATILE
cl_kernel_arg_type_qualifier
|
static int |
CL_KERNEL_ATTRIBUTES
cl_kernel_info
|
static int |
CL_KERNEL_GLOBAL_WORK_SIZE
cl_kernel_work_group_info
|
static int |
CL_LINK_PROGRAM_FAILURE
Error Codes.
|
static int |
CL_LINKER_NOT_AVAILABLE
Error Codes.
|
static int |
CL_MAP_WRITE_INVALIDATE_REGION
cl_map_flags - bitfield
|
static int |
CL_MEM_HOST_NO_ACCESS
cl_mem_flags - bitfield
|
static int |
CL_MEM_HOST_READ_ONLY
cl_mem_flags - bitfield
|
static int |
CL_MEM_HOST_WRITE_ONLY
cl_mem_flags - bitfield
|
static int |
CL_MEM_OBJECT_IMAGE1D
cl_mem_object_type
|
static int |
CL_MEM_OBJECT_IMAGE1D_ARRAY
cl_mem_object_type
|
static int |
CL_MEM_OBJECT_IMAGE1D_BUFFER
cl_mem_object_type
|
static int |
CL_MEM_OBJECT_IMAGE2D_ARRAY
cl_mem_object_type
|
static int |
CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED
cl_mem_migration_flags - bitfield
|
static int |
CL_MIGRATE_MEM_OBJECT_HOST
cl_mem_migration_flags - bitfield
|
static int |
CL_NON_BLOCKING
cl_bool
|
static int |
CL_PROGRAM_BINARY_TYPE
cl_program_build_info
|
static int |
CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT
cl_program_binary_type
|
static int |
CL_PROGRAM_BINARY_TYPE_EXECUTABLE
cl_program_binary_type
|
static int |
CL_PROGRAM_BINARY_TYPE_LIBRARY
cl_program_binary_type
|
static int |
CL_PROGRAM_BINARY_TYPE_NONE
cl_program_binary_type
|
static int |
CL_PROGRAM_KERNEL_NAMES
cl_program_info
|
static int |
CL_PROGRAM_NUM_KERNELS
cl_program_info
|
static int |
CL_VERSION_1_2
OpenCL Version.
|
CL_ADDRESS_MIRRORED_REPEAT, CL_BUFFER_CREATE_TYPE_REGION, CL_COMMAND_COPY_BUFFER_RECT, CL_COMMAND_READ_BUFFER_RECT, CL_COMMAND_USER, CL_COMMAND_WRITE_BUFFER_RECT, CL_CONTEXT_NUM_DEVICES, CL_DEVICE_HOST_UNIFIED_MEMORY, CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE, CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF, CL_DEVICE_NATIVE_VECTOR_WIDTH_INT, CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT, CL_DEVICE_OPENCL_C_VERSION, CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF, CL_EVENT_CONTEXT, CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST, CL_FP_SOFT_FLOAT, CL_INVALID_PROPERTY, CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, CL_KERNEL_PRIVATE_MEM_SIZE, CL_MEM_ASSOCIATED_MEMOBJECT, CL_MEM_OFFSET, CL_MISALIGNED_SUB_BUFFER_OFFSET, CL_RGBx, CL_RGx, CL_Rx, CL_VERSION_1_1CL_A, CL_ADDRESS_CLAMP, CL_ADDRESS_CLAMP_TO_EDGE, CL_ADDRESS_NONE, CL_ADDRESS_REPEAT, CL_ARGB, CL_BGRA, CL_BUILD_ERROR, CL_BUILD_IN_PROGRESS, CL_BUILD_NONE, CL_BUILD_PROGRAM_FAILURE, CL_BUILD_SUCCESS, CL_COMMAND_ACQUIRE_GL_OBJECTS, CL_COMMAND_COPY_BUFFER, CL_COMMAND_COPY_BUFFER_TO_IMAGE, CL_COMMAND_COPY_IMAGE, CL_COMMAND_COPY_IMAGE_TO_BUFFER, CL_COMMAND_MAP_BUFFER, CL_COMMAND_MAP_IMAGE, CL_COMMAND_MARKER, CL_COMMAND_NATIVE_KERNEL, CL_COMMAND_NDRANGE_KERNEL, CL_COMMAND_READ_BUFFER, CL_COMMAND_READ_IMAGE, CL_COMMAND_RELEASE_GL_OBJECTS, CL_COMMAND_TASK, CL_COMMAND_UNMAP_MEM_OBJECT, CL_COMMAND_WRITE_BUFFER, CL_COMMAND_WRITE_IMAGE, CL_COMPILER_NOT_AVAILABLE, CL_COMPLETE, CL_CONTEXT_DEVICES, CL_CONTEXT_PLATFORM, CL_CONTEXT_PROPERTIES, CL_CONTEXT_REFERENCE_COUNT, CL_DEVICE_ADDRESS_BITS, CL_DEVICE_AVAILABLE, CL_DEVICE_COMPILER_AVAILABLE, CL_DEVICE_ENDIAN_LITTLE, CL_DEVICE_ERROR_CORRECTION_SUPPORT, CL_DEVICE_EXECUTION_CAPABILITIES, CL_DEVICE_EXTENSIONS, CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, CL_DEVICE_GLOBAL_MEM_CACHE_TYPE, CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE, CL_DEVICE_GLOBAL_MEM_SIZE, CL_DEVICE_IMAGE_SUPPORT, CL_DEVICE_IMAGE2D_MAX_HEIGHT, CL_DEVICE_IMAGE2D_MAX_WIDTH, CL_DEVICE_IMAGE3D_MAX_DEPTH, CL_DEVICE_IMAGE3D_MAX_HEIGHT, CL_DEVICE_IMAGE3D_MAX_WIDTH, CL_DEVICE_LOCAL_MEM_SIZE, CL_DEVICE_LOCAL_MEM_TYPE, CL_DEVICE_MAX_CLOCK_FREQUENCY, CL_DEVICE_MAX_COMPUTE_UNITS, CL_DEVICE_MAX_CONSTANT_ARGS, CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE, CL_DEVICE_MAX_MEM_ALLOC_SIZE, CL_DEVICE_MAX_PARAMETER_SIZE, CL_DEVICE_MAX_READ_IMAGE_ARGS, CL_DEVICE_MAX_SAMPLERS, CL_DEVICE_MAX_WORK_GROUP_SIZE, CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, CL_DEVICE_MAX_WORK_ITEM_SIZES, CL_DEVICE_MAX_WRITE_IMAGE_ARGS, CL_DEVICE_MEM_BASE_ADDR_ALIGN, CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, CL_DEVICE_NAME, CL_DEVICE_NOT_AVAILABLE, CL_DEVICE_NOT_FOUND, CL_DEVICE_PLATFORM, CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR, CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE, CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT, CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG, CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT, CL_DEVICE_PROFILE, CL_DEVICE_PROFILING_TIMER_RESOLUTION, CL_DEVICE_QUEUE_PROPERTIES, CL_DEVICE_SINGLE_FP_CONFIG, CL_DEVICE_TYPE, CL_DEVICE_TYPE_ACCELERATOR, CL_DEVICE_TYPE_ALL, CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_DEFAULT, CL_DEVICE_TYPE_GPU, CL_DEVICE_VENDOR, CL_DEVICE_VENDOR_ID, CL_DEVICE_VERSION, CL_DRIVER_VERSION, CL_EVENT_COMMAND_EXECUTION_STATUS, CL_EVENT_COMMAND_QUEUE, CL_EVENT_COMMAND_TYPE, CL_EVENT_REFERENCE_COUNT, CL_EXEC_KERNEL, CL_EXEC_NATIVE_KERNEL, CL_FALSE, CL_FILTER_LINEAR, CL_FILTER_NEAREST, CL_FLOAT, CL_FP_DENORM, CL_FP_FMA, CL_FP_INF_NAN, CL_FP_ROUND_TO_INF, CL_FP_ROUND_TO_NEAREST, CL_FP_ROUND_TO_ZERO, CL_GLOBAL, CL_HALF_FLOAT, CL_IMAGE_DEPTH, CL_IMAGE_ELEMENT_SIZE, CL_IMAGE_FORMAT, CL_IMAGE_FORMAT_MISMATCH, CL_IMAGE_FORMAT_NOT_SUPPORTED, CL_IMAGE_HEIGHT, CL_IMAGE_ROW_PITCH, CL_IMAGE_SLICE_PITCH, CL_IMAGE_WIDTH, CL_INTENSITY, CL_INVALID_ARG_INDEX, CL_INVALID_ARG_SIZE, CL_INVALID_ARG_VALUE, CL_INVALID_BINARY, CL_INVALID_BUFFER_SIZE, CL_INVALID_BUILD_OPTIONS, CL_INVALID_COMMAND_QUEUE, CL_INVALID_CONTEXT, CL_INVALID_DEVICE, CL_INVALID_DEVICE_TYPE, CL_INVALID_EVENT, CL_INVALID_EVENT_WAIT_LIST, CL_INVALID_GLOBAL_OFFSET, CL_INVALID_GLOBAL_WORK_SIZE, CL_INVALID_HOST_PTR, CL_INVALID_IMAGE_FORMAT_DESCRIPTOR, CL_INVALID_IMAGE_SIZE, CL_INVALID_KERNEL, CL_INVALID_KERNEL_ARGS, CL_INVALID_KERNEL_DEFINITION, CL_INVALID_KERNEL_NAME, CL_INVALID_MEM_OBJECT, CL_INVALID_OPERATION, CL_INVALID_PLATFORM, CL_INVALID_PROGRAM, CL_INVALID_PROGRAM_EXECUTABLE, CL_INVALID_QUEUE_PROPERTIES, CL_INVALID_SAMPLER, CL_INVALID_VALUE, CL_INVALID_WORK_DIMENSION, CL_INVALID_WORK_GROUP_SIZE, CL_INVALID_WORK_ITEM_SIZE, CL_KERNEL_COMPILE_WORK_GROUP_SIZE, CL_KERNEL_CONTEXT, CL_KERNEL_FUNCTION_NAME, CL_KERNEL_LOCAL_MEM_SIZE, CL_KERNEL_NUM_ARGS, CL_KERNEL_PROGRAM, CL_KERNEL_REFERENCE_COUNT, CL_KERNEL_WORK_GROUP_SIZE, CL_LOCAL, CL_LUMINANCE, CL_MAP_FAILURE, CL_MAP_READ, CL_MAP_WRITE, CL_MEM_ALLOC_HOST_PTR, CL_MEM_CONTEXT, CL_MEM_COPY_HOST_PTR, CL_MEM_COPY_OVERLAP, CL_MEM_FLAGS, CL_MEM_HOST_PTR, CL_MEM_MAP_COUNT, CL_MEM_OBJECT_ALLOCATION_FAILURE, CL_MEM_OBJECT_BUFFER, CL_MEM_OBJECT_IMAGE2D, CL_MEM_OBJECT_IMAGE3D, CL_MEM_READ_ONLY, CL_MEM_READ_WRITE, CL_MEM_REFERENCE_COUNT, CL_MEM_SIZE, CL_MEM_TYPE, CL_MEM_USE_HOST_PTR, CL_MEM_WRITE_ONLY, CL_NONE, CL_OUT_OF_HOST_MEMORY, CL_OUT_OF_RESOURCES, CL_PLATFORM_EXTENSIONS, CL_PLATFORM_NAME, CL_PLATFORM_PROFILE, CL_PLATFORM_VENDOR, CL_PLATFORM_VERSION, CL_PROFILING_COMMAND_END, CL_PROFILING_COMMAND_QUEUED, CL_PROFILING_COMMAND_START, CL_PROFILING_COMMAND_SUBMIT, CL_PROFILING_INFO_NOT_AVAILABLE, CL_PROGRAM_BINARIES, CL_PROGRAM_BINARY_SIZES, CL_PROGRAM_BUILD_LOG, CL_PROGRAM_BUILD_OPTIONS, CL_PROGRAM_BUILD_STATUS, CL_PROGRAM_CONTEXT, CL_PROGRAM_DEVICES, CL_PROGRAM_NUM_DEVICES, CL_PROGRAM_REFERENCE_COUNT, CL_PROGRAM_SOURCE, CL_QUEUE_CONTEXT, CL_QUEUE_DEVICE, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, CL_QUEUE_PROFILING_ENABLE, CL_QUEUE_PROPERTIES, CL_QUEUE_REFERENCE_COUNT, CL_QUEUED, CL_R, CL_RA, CL_READ_ONLY_CACHE, CL_READ_WRITE_CACHE, CL_RG, CL_RGB, CL_RGBA, CL_RUNNING, CL_SAMPLER_ADDRESSING_MODE, CL_SAMPLER_CONTEXT, CL_SAMPLER_FILTER_MODE, CL_SAMPLER_NORMALIZED_COORDS, CL_SAMPLER_REFERENCE_COUNT, CL_SIGNED_INT16, CL_SIGNED_INT32, CL_SIGNED_INT8, CL_SNORM_INT16, CL_SNORM_INT8, CL_SUBMITTED, CL_SUCCESS, CL_TRUE, CL_UNORM_INT_101010, CL_UNORM_INT16, CL_UNORM_INT8, CL_UNORM_SHORT_555, CL_UNORM_SHORT_565, CL_UNSIGNED_INT16, CL_UNSIGNED_INT32, CL_UNSIGNED_INT8, CL_VERSION_1_0| Modifier and Type | Method and Description |
|---|---|
static int |
clCompileProgram(long program,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer options,
org.lwjgl.PointerBuffer input_headers,
org.lwjgl.PointerBuffer header_include_names,
CLProgramCallbackI pfn_notify,
long user_data)
Compiles a program's source for all the devices or a specific device(s) in the OpenCL context associated with
program. |
static int |
clCompileProgram(long program,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
org.lwjgl.PointerBuffer input_headers,
org.lwjgl.PointerBuffer header_include_names,
CLProgramCallbackI pfn_notify,
long user_data)
Compiles a program's source for all the devices or a specific device(s) in the OpenCL context associated with
program. |
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
java.nio.ByteBuffer host_ptr,
int[] errcode_ret)
Array version of:
CreateImage |
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
java.nio.ByteBuffer host_ptr,
java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.
|
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
float[] host_ptr,
int[] errcode_ret)
Array version of:
CreateImage |
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
java.nio.FloatBuffer host_ptr,
java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.
|
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
int[] host_ptr,
int[] errcode_ret)
Array version of:
CreateImage |
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
java.nio.IntBuffer host_ptr,
java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.
|
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
short[] host_ptr,
int[] errcode_ret)
Array version of:
CreateImage |
static long |
clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
java.nio.ShortBuffer host_ptr,
java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.
|
static long |
clCreateProgramWithBuiltInKernels(long context,
long device,
java.lang.CharSequence kernel_names,
java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.
|
static long |
clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer kernel_names,
int[] errcode_ret)
Array version of:
CreateProgramWithBuiltInKernels |
static long |
clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer kernel_names,
java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.
|
static long |
clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence kernel_names,
int[] errcode_ret)
Array version of:
CreateProgramWithBuiltInKernels |
static long |
clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence kernel_names,
java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.
|
static int |
clCreateSubDevices(long in_device,
org.lwjgl.PointerBuffer properties,
org.lwjgl.PointerBuffer out_devices,
int[] num_devices_ret)
Array version of:
CreateSubDevices |
static int |
clCreateSubDevices(long in_device,
org.lwjgl.PointerBuffer properties,
org.lwjgl.PointerBuffer out_devices,
java.nio.IntBuffer num_devices_ret)
Creates an array of sub-devices that each reference a non-intersecting set of compute units within
in_device, according to a partition scheme
given by properties. |
static int |
clEnqueueBarrierWithWaitList(long command_queue,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
enqueues a barrier command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued in
command_queue to complete before it completes. |
static int |
clEnqueueFillBuffer(long command_queue,
long buffer,
java.nio.ByteBuffer pattern,
long offset,
long size,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a command to fill a buffer object with a pattern of a given pattern size.
|
static int |
clEnqueueFillImage(long command_queue,
long image,
java.nio.ByteBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.
|
static int |
clEnqueueFillImage(long command_queue,
long image,
float[] fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Array version of:
EnqueueFillImage |
static int |
clEnqueueFillImage(long command_queue,
long image,
java.nio.FloatBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.
|
static int |
clEnqueueFillImage(long command_queue,
long image,
int[] fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Array version of:
EnqueueFillImage |
static int |
clEnqueueFillImage(long command_queue,
long image,
java.nio.IntBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.
|
static int |
clEnqueueMarkerWithWaitList(long command_queue,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a marker command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued in
command_queue to complete before it completes. |
static int |
clEnqueueMigrateMemObjects(long command_queue,
org.lwjgl.PointerBuffer mem_objects,
long flags,
org.lwjgl.PointerBuffer event_wait_list,
org.lwjgl.PointerBuffer event)
Enqueues a command to indicate which device a set of memory objects should be associated with.
|
static long |
clGetExtensionFunctionAddressForPlatform(long platform,
java.nio.ByteBuffer funcname)
Returns the address of the extension function named by
funcname for a given platform. |
static long |
clGetExtensionFunctionAddressForPlatform(long platform,
java.lang.CharSequence funcname)
Returns the address of the extension function named by
funcname for a given platform. |
static int |
clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
java.nio.ByteBuffer param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.
|
static int |
clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
int[] param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Array version of:
GetKernelArgInfo |
static int |
clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
java.nio.IntBuffer param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.
|
static int |
clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
long[] param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Array version of:
GetKernelArgInfo |
static int |
clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
java.nio.LongBuffer param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.
|
static long |
clLinkProgram(long context,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer options,
org.lwjgl.PointerBuffer input_programs,
CLProgramCallbackI pfn_notify,
long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.
|
static long |
clLinkProgram(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
long input_program,
CLProgramCallbackI pfn_notify,
long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.
|
static long |
clLinkProgram(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
org.lwjgl.PointerBuffer input_programs,
CLProgramCallbackI pfn_notify,
long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.
|
static int |
clReleaseDevice(long device)
Decrements the device reference count if
device is a valid sub-device created by a call to CreateSubDevices. |
static int |
clRetainDevice(long device)
Increments the device reference count if
device is a valid sub-device created by a call to CreateSubDevices. |
static int |
clUnloadPlatformCompiler(long platform)
Allows the implementation to release the resources allocated by the OpenCL compiler for platform.
|
static int |
nclCompileProgram(long program,
int num_devices,
long device_list,
long options,
int num_input_headers,
long input_headers,
long header_include_names,
long pfn_notify,
long user_data)
Unsafe version of:
CompileProgram |
static long |
nclCreateImage(long context,
long flags,
long image_format,
long image_desc,
long host_ptr,
long errcode_ret)
Unsafe version of:
CreateImage |
static long |
nclCreateProgramWithBuiltInKernels(long context,
int num_devices,
long device_list,
long kernel_names,
long errcode_ret)
Unsafe version of:
CreateProgramWithBuiltInKernels |
static int |
nclCreateSubDevices(long in_device,
long properties,
int num_devices,
long out_devices,
long num_devices_ret)
Unsafe version of:
CreateSubDevices |
static int |
nclEnqueueBarrierWithWaitList(long command_queue,
int num_events_in_wait_list,
long event_wait_list,
long event)
Unsafe version of:
EnqueueBarrierWithWaitList |
static int |
nclEnqueueFillBuffer(long command_queue,
long buffer,
long pattern,
long pattern_size,
long offset,
long size,
int num_events_in_wait_list,
long event_wait_list,
long event)
Unsafe version of:
EnqueueFillBuffer |
static int |
nclEnqueueFillImage(long command_queue,
long image,
long fill_color,
long origin,
long region,
int num_events_in_wait_list,
long event_wait_list,
long event)
Unsafe version of:
EnqueueFillImage |
static int |
nclEnqueueMarkerWithWaitList(long command_queue,
int num_events_in_wait_list,
long event_wait_list,
long event)
Unsafe version of:
EnqueueMarkerWithWaitList |
static int |
nclEnqueueMigrateMemObjects(long command_queue,
int num_mem_objects,
long mem_objects,
long flags,
int num_events_in_wait_list,
long event_wait_list,
long event)
Unsafe version of:
EnqueueMigrateMemObjects |
static long |
nclGetExtensionFunctionAddressForPlatform(long platform,
long funcname)
Unsafe version of:
GetExtensionFunctionAddressForPlatform |
static int |
nclGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
long param_value_size,
long param_value,
long param_value_size_ret)
Unsafe version of:
GetKernelArgInfo |
static long |
nclLinkProgram(long context,
int num_devices,
long device_list,
long options,
int num_input_programs,
long input_programs,
long pfn_notify,
long user_data)
Unsafe version of:
LinkProgram |
clCreateSubBuffer, clCreateSubBuffer, clCreateUserEvent, clCreateUserEvent, clEnqueueCopyBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clSetEventCallback, clSetMemObjectDestructorCallback, clSetUserEventStatus, nclCreateSubBuffer, nclCreateUserEvent, nclEnqueueCopyBufferRect, nclEnqueueReadBufferRect, nclEnqueueWriteBufferRect, nclSetEventCallback, nclSetMemObjectDestructorCallbackclBuildProgram, clBuildProgram, clBuildProgram, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateCommandQueue, clCreateCommandQueue, clCreateContext, clCreateContext, clCreateContext, clCreateContextFromType, clCreateContextFromType, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateKernel, clCreateKernel, clCreateKernel, clCreateKernel, clCreateKernelsInProgram, clCreateKernelsInProgram, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithSource, clCreateProgramWithSource, clCreateProgramWithSource, clCreateProgramWithSource, clCreateSampler, clCreateSampler, clEnqueueBarrier, clEnqueueCopyBuffer, clEnqueueCopyBufferToImage, clEnqueueCopyImage, clEnqueueCopyImageToBuffer, clEnqueueMapBuffer, clEnqueueMapBuffer, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMarker, clEnqueueNativeKernel, clEnqueueNativeKernel, clEnqueueNDRangeKernel, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueTask, clEnqueueUnmapMemObject, clEnqueueWaitForEvents, clEnqueueWaitForEvents, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clFinish, clFlush, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetContextInfo, clGetContextInfo, clGetContextInfo, clGetContextInfo, clGetDeviceIDs, clGetDeviceIDs, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetEventInfo, clGetEventInfo, clGetEventInfo, clGetEventInfo, clGetEventProfilingInfo, clGetEventProfilingInfo, clGetEventProfilingInfo, clGetExtensionFunctionAddress, clGetExtensionFunctionAddress, clGetImageInfo, clGetImageInfo, clGetImageInfo, clGetImageInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetPlatformIDs, clGetPlatformIDs, clGetPlatformInfo, clGetPlatformInfo, clGetPlatformInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramInfo, clGetProgramInfo, clGetProgramInfo, clGetProgramInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSupportedImageFormats, clGetSupportedImageFormats, clReleaseCommandQueue, clReleaseContext, clReleaseEvent, clReleaseKernel, clReleaseMemObject, clReleaseProgram, clReleaseSampler, clRetainCommandQueue, clRetainContext, clRetainEvent, clRetainKernel, clRetainMemObject, clRetainProgram, clRetainSampler, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg1b, clSetKernelArg1d, clSetKernelArg1f, clSetKernelArg1i, clSetKernelArg1l, clSetKernelArg1p, clSetKernelArg1s, clSetKernelArg2b, clSetKernelArg2d, clSetKernelArg2f, clSetKernelArg2i, clSetKernelArg2l, clSetKernelArg2p, clSetKernelArg2s, clSetKernelArg4b, clSetKernelArg4d, clSetKernelArg4f, clSetKernelArg4i, clSetKernelArg4l, clSetKernelArg4p, clSetKernelArg4s, clUnloadCompiler, clWaitForEvents, clWaitForEvents, nclBuildProgram, nclCreateBuffer, nclCreateCommandQueue, nclCreateContext, nclCreateContextFromType, nclCreateImage2D, nclCreateImage3D, nclCreateKernel, nclCreateKernelsInProgram, nclCreateProgramWithBinary, nclCreateProgramWithSource, nclCreateSampler, nclEnqueueCopyBuffer, nclEnqueueCopyBufferToImage, nclEnqueueCopyImage, nclEnqueueCopyImageToBuffer, nclEnqueueMapBuffer, nclEnqueueMapImage, nclEnqueueMarker, nclEnqueueNativeKernel, nclEnqueueNDRangeKernel, nclEnqueueReadBuffer, nclEnqueueReadImage, nclEnqueueTask, nclEnqueueUnmapMemObject, nclEnqueueWaitForEvents, nclEnqueueWriteBuffer, nclEnqueueWriteImage, nclGetCommandQueueInfo, nclGetContextInfo, nclGetDeviceIDs, nclGetDeviceInfo, nclGetEventInfo, nclGetEventProfilingInfo, nclGetExtensionFunctionAddress, nclGetImageInfo, nclGetKernelInfo, nclGetKernelWorkGroupInfo, nclGetMemObjectInfo, nclGetPlatformIDs, nclGetPlatformInfo, nclGetProgramBuildInfo, nclGetProgramInfo, nclGetSamplerInfo, nclGetSupportedImageFormats, nclSetKernelArg, nclWaitForEventspublic static final int CL_COMPILE_PROGRAM_FAILURE
public static final int CL_LINKER_NOT_AVAILABLE
public static final int CL_LINK_PROGRAM_FAILURE
public static final int CL_DEVICE_PARTITION_FAILED
public static final int CL_KERNEL_ARG_INFO_NOT_AVAILABLE
public static final int CL_INVALID_IMAGE_DESCRIPTOR
public static final int CL_INVALID_COMPILER_OPTIONS
public static final int CL_INVALID_LINKER_OPTIONS
public static final int CL_INVALID_DEVICE_PARTITION_COUNT
public static final int CL_VERSION_1_2
public static final int CL_BLOCKING
public static final int CL_NON_BLOCKING
public static final int CL_DEVICE_TYPE_CUSTOM
public static final int CL_DEVICE_DOUBLE_FP_CONFIG
public static final int CL_DEVICE_LINKER_AVAILABLE
public static final int CL_DEVICE_BUILT_IN_KERNELS
public static final int CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
public static final int CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
public static final int CL_DEVICE_PARENT_DEVICE
public static final int CL_DEVICE_PARTITION_MAX_SUB_DEVICES
public static final int CL_DEVICE_PARTITION_PROPERTIES
public static final int CL_DEVICE_PARTITION_AFFINITY_DOMAIN
public static final int CL_DEVICE_PARTITION_TYPE
public static final int CL_DEVICE_REFERENCE_COUNT
public static final int CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
public static final int CL_DEVICE_PRINTF_BUFFER_SIZE
public static final int CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
public static final int CL_CONTEXT_INTEROP_USER_SYNC
public static final int CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
public static final int CL_DEVICE_PARTITION_EQUALLY
n compute units. The value n is
passed as the value accompanying this property. If n does not divide evenly into DEVICE_PARTITION_MAX_COMPUTE_UNITS, then the
remaining compute units are not used.public static final int CL_DEVICE_PARTITION_BY_COUNTS
DEVICE_PARTITION_BY_COUNTS_LIST_END terminated list of compute unit counts. For each nonzero count m
in the list, a sub-device is created with m compute units in it.
The number of non-zero count entries in the list may not exceed DEVICE_PARTITION_MAX_SUB_DEVICES.
The total number of compute units specified may not exceed DEVICE_PARTITION_MAX_COMPUTE_UNITS.
public static final int CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
DEVICE_AFFINITY_DOMAIN_NUMA – Split the device into sub-devices comprised of compute units that share a NUMA node.DEVICE_AFFINITY_DOMAIN_L4_CACHE – Split the device into sub-devices comprised of compute units that share a level 4 data cache.DEVICE_AFFINITY_DOMAIN_L3_CACHE – Split the device into sub-devices comprised of compute units that share a level 3 data cache.DEVICE_AFFINITY_DOMAIN_L2_CACHE – Split the device into sub-devices comprised of compute units that share a level 2 data cache.DEVICE_AFFINITY_DOMAIN_L1_CACHE – Split the device into sub-devices comprised of compute units that share a level 1 data cache.DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE – Split the device along the next partitionable affinity domain. The implementation
shall find the first level along which the device or sub-device may be further subdivided in the order NUMA, L4, L3, L2, L1, and partition the
device into sub-devices comprised of compute units that share memory subsystems at this level.The user may determine what happened by calling GetDeviceInfo(DEVICE_PARTITION_TYPE) on the sub-devices.
public static final int CL_DEVICE_AFFINITY_DOMAIN_NUMA
public static final int CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE
public static final int CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE
public static final int CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE
public static final int CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE
public static final int CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
public static final int CL_MEM_HOST_WRITE_ONLY
public static final int CL_MEM_HOST_READ_ONLY
public static final int CL_MEM_HOST_NO_ACCESS
public static final int CL_MIGRATE_MEM_OBJECT_HOST
public static final int CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED
public static final int CL_MEM_OBJECT_IMAGE2D_ARRAY
public static final int CL_MEM_OBJECT_IMAGE1D
public static final int CL_MEM_OBJECT_IMAGE1D_ARRAY
public static final int CL_MEM_OBJECT_IMAGE1D_BUFFER
public static final int CL_IMAGE_ARRAY_SIZE
public static final int CL_IMAGE_BUFFER
public static final int CL_IMAGE_NUM_MIP_LEVELS
public static final int CL_IMAGE_NUM_SAMPLES
public static final int CL_MAP_WRITE_INVALIDATE_REGION
public static final int CL_PROGRAM_NUM_KERNELS
public static final int CL_PROGRAM_KERNEL_NAMES
public static final int CL_PROGRAM_BINARY_TYPE
public static final int CL_PROGRAM_BINARY_TYPE_NONE
public static final int CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT
public static final int CL_PROGRAM_BINARY_TYPE_LIBRARY
public static final int CL_PROGRAM_BINARY_TYPE_EXECUTABLE
public static final int CL_KERNEL_ATTRIBUTES
public static final int CL_KERNEL_ARG_ADDRESS_QUALIFIER
public static final int CL_KERNEL_ARG_ACCESS_QUALIFIER
public static final int CL_KERNEL_ARG_TYPE_NAME
public static final int CL_KERNEL_ARG_TYPE_QUALIFIER
public static final int CL_KERNEL_ARG_NAME
public static final int CL_KERNEL_ARG_ADDRESS_GLOBAL
public static final int CL_KERNEL_ARG_ADDRESS_LOCAL
public static final int CL_KERNEL_ARG_ADDRESS_CONSTANT
public static final int CL_KERNEL_ARG_ADDRESS_PRIVATE
public static final int CL_KERNEL_ARG_ACCESS_READ_ONLY
public static final int CL_KERNEL_ARG_ACCESS_WRITE_ONLY
public static final int CL_KERNEL_ARG_ACCESS_READ_WRITE
public static final int CL_KERNEL_ARG_ACCESS_NONE
public static final int CL_KERNEL_ARG_TYPE_NONE
public static final int CL_KERNEL_ARG_TYPE_CONST
public static final int CL_KERNEL_ARG_TYPE_RESTRICT
public static final int CL_KERNEL_ARG_TYPE_VOLATILE
public static final int CL_KERNEL_GLOBAL_WORK_SIZE
public static final int CL_COMMAND_BARRIER
public static final int CL_COMMAND_MIGRATE_MEM_OBJECTS
public static final int CL_COMMAND_FILL_BUFFER
public static final int CL_COMMAND_FILL_IMAGE
public static long nclGetExtensionFunctionAddressForPlatform(long platform,
long funcname)
GetExtensionFunctionAddressForPlatformpublic static long clGetExtensionFunctionAddressForPlatform(long platform,
java.nio.ByteBuffer funcname)
funcname for a given platform. The pointer returned should be cast to a function
pointer type matching the extension function's definition defined in the appropriate extension specification and header file. A return value of NULL
indicates that the specified function does not exist for the implementation or platform is not a valid platform. A non-NULL return value for
clGetExtensionFunctionAddressForPlatform does not guarantee that an extension function is actually supported by the platform. The application
must also make a corresponding query using clGetPlatformInfo(platform, CL_PLATFORM_EXTENSIONS, … ) or
clGetDeviceInfo(device, CL_DEVICE_EXTENSIONS, … ) to determine if an extension is supported by the OpenCL implementation.
clGetExtensionFunctionAddressForPlatform may not be queried for core (non-extension) functions in OpenCL. For functions that are queryable with
clGetExtensionFunctionAddressForPlatform, implementations may choose to also export those functions statically from the object libraries
implementing those functions. However, portable applications cannot rely on this behavior.
platform - the platform to queryfuncname - the extension function namepublic static long clGetExtensionFunctionAddressForPlatform(long platform,
java.lang.CharSequence funcname)
funcname for a given platform. The pointer returned should be cast to a function
pointer type matching the extension function's definition defined in the appropriate extension specification and header file. A return value of NULL
indicates that the specified function does not exist for the implementation or platform is not a valid platform. A non-NULL return value for
clGetExtensionFunctionAddressForPlatform does not guarantee that an extension function is actually supported by the platform. The application
must also make a corresponding query using clGetPlatformInfo(platform, CL_PLATFORM_EXTENSIONS, … ) or
clGetDeviceInfo(device, CL_DEVICE_EXTENSIONS, … ) to determine if an extension is supported by the OpenCL implementation.
clGetExtensionFunctionAddressForPlatform may not be queried for core (non-extension) functions in OpenCL. For functions that are queryable with
clGetExtensionFunctionAddressForPlatform, implementations may choose to also export those functions statically from the object libraries
implementing those functions. However, portable applications cannot rely on this behavior.
platform - the platform to queryfuncname - the extension function namepublic static int clRetainDevice(long device)
device is a valid sub-device created by a call to CreateSubDevices. If device is a
root level device i.e. a cl_device_id returned by GetDeviceIDs, the device reference count remains unchanged.device - the device to retainSUCCESS if the function is executed successfully or the device is a root-level device. Otherwise, it returns one of the following errors:
INVALID_DEVICE if device is not a valid sub-device created by a call to CreateSubDevices.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.public static int clReleaseDevice(long device)
device is a valid sub-device created by a call to CreateSubDevices. If device is a
root level device i.e. a cl_device_id returned by GetDeviceIDs, the device reference count remains unchanged.
After the device reference count becomes zero and all the objects attached to device (such as command-queues) are released, the device
object is deleted.
device - the device to releaseSUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_DEVICE if device is not a valid sub-device created by a call to CreateSubDevices.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.public static int nclCreateSubDevices(long in_device,
long properties,
int num_devices,
long out_devices,
long num_devices_ret)
CreateSubDevicesnum_devices - the size of memory pointed to by out_devices specified as the number of cl_device_id entries.public static int clCreateSubDevices(long in_device,
org.lwjgl.PointerBuffer properties,
@Nullable
org.lwjgl.PointerBuffer out_devices,
@Nullable
java.nio.IntBuffer num_devices_ret)
in_device, according to a partition scheme
given by properties. The output sub-devices may be used in every way that the root (or parent) device can be used, including creating contexts,
building programs, further calls to clCreateSubDevices and creating command-queues. When a command-queue is created against a sub-device, the
commands enqueued on the queue are executed only on the sub-device.
A few examples that describe how to specify partition properties in properties argument to clCreateSubDevices are given below:
properties:DEVICE_PARTITION_EQUALLY, 8, 0 ]properties argument:DEVICE_PARTITION_BY_COUNTS, 3, 1, DEVICE_PARTITION_BY_COUNTS_LIST_END, 0 ]properties argument:DEVICE_PARTITION_BY_AFFINITY_DOMAIN, DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, 0 ]in_device - the device to be partitionedproperties - specifies how in_device is to be partition described by a partition name and its corresponding value. Each partition name is immediately
followed by the corresponding desired value. The list is terminated with 0. Only one partitioning scheme can be specified in properties. One of:DEVICE_PARTITION_EQUALLY | DEVICE_PARTITION_BY_COUNTS |
DEVICE_PARTITION_BY_AFFINITY_DOMAIN |
out_devices - the buffer where the OpenCL sub-devices will be returned. If out_devices is NULL, this argument is ignored. If out_devices is not
NULL, num_devices must be greater than or equal to the number of sub-devices that device may be partitioned into according to the
partitioning scheme specified in properties.num_devices_ret - the number of sub-devices that device may be partitioned into according to the partitioning scheme specified in properties. If num_devices_ret
is NULL, it is ignored.SUCCESS if the partition is created successfully. Otherwise, it returns a NULL value with the following error values returned in errcode_ret:
INVALID_DEVICE if in_device is not valid.INVALID_VALUE if values specified in properties are not valid or if values specified in properties are valid but not
supported by the device.INVALID_VALUE if out_devices is not NULL and num_devices is less than the number of sub-devices created by the
partition scheme.DEVICE_PARTITION_FAILED if the partition name is supported by the implementation but in_device could not be further partitioned.INVALID_DEVICE_PARTITION_COUNT if the partition name specified in properties is DEVICE_PARTITION_BY_COUNTS and the
number of sub-devices requested exceeds DEVICE_PARTITION_MAX_SUB_DEVICES or the total number of compute units requested exceeds
DEVICE_PARTITION_MAX_COMPUTE_UNITS for in_device, or the number of compute units requested for one or more sub-devices is less
than zero or the number of sub-devices requested exceeds DEVICE_PARTITION_MAX_COMPUTE_UNITS for in_device.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.public static long nclCreateImage(long context,
long flags,
long image_format,
long image_desc,
long host_ptr,
long errcode_ret)
CreateImagepublic static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
java.nio.ByteBuffer host_ptr,
@Nullable
java.nio.IntBuffer errcode_ret)
For a 3D image or 2D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 2D image slices or 2D images
respectively. Each 2D image is a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.
For a 2D image, the image data specified by host_ptr is stored as a linear sequence of adjacent scanlines. Each scanline is a linear sequence of
image elements.
For a 1D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 1D images respectively. Each 1D image or
1D image buffer is a single scanline which is a linear sequence of adjacent elements.
context - a valid OpenCL context on which the image object is to be createdflags - a bit-field that is used to specify allocation and usage information about the image memory object being created.
For all image types except MEM_OBJECT_IMAGE1D_BUFFER, if value specified for flags is 0, the default is used which is
MEM_READ_WRITE.
For MEM_OBJECT_IMAGE1D_BUFFER image type, if the MEM_READ_WRITE, MEM_READ_ONLY or MEM_WRITE_ONLY
values are not specified in flags, they are inherited from the corresponding memory access qualifers associated with buffer. The
MEM_USE_HOST_PTR, MEM_ALLOC_HOST_PTR and MEM_COPY_HOST_PTR values cannot be specified in flags
but are inherited from the corresponding memory access qualifiers associated with buffer. If MEM_COPY_HOST_PTR is specified in the
memory access qualifier values associated with buffer it does not imply any additional copies when the sub-buffer is created from buffer. If the
MEM_HOST_WRITE_ONLY, MEM_HOST_READ_ONLY or MEM_HOST_NO_ACCESS values are not specified in flags, they
are inherited from the corresponding memory access qualifiers associated with buffer. One of:
MEM_READ_WRITE | MEM_WRITE_ONLY | MEM_READ_ONLY | MEM_USE_HOST_PTR | MEM_ALLOC_HOST_PTR |
MEM_COPY_HOST_PTR | MEM_HOST_WRITE_ONLY | MEM_HOST_READ_ONLY | MEM_HOST_NO_ACCESS |
image_format - a pointer to a CLImageFormat structure that describes format properties of the image to be allocatedimage_desc - a pointer to a CLImageDesc structure that describes type and dimensions of the image to be allocatedhost_ptr - a pointer to the image data that may already be allocated by the application. Refer to table below for a description of how large the buffer that
host_ptr points to must be.
| ImageType | Size of buffer that host_ptr points to |
|---|---|
MEM_OBJECT_IMAGE1D | ≥ image_row_pitch |
MEM_OBJECT_IMAGE1D_BUFFER | ≥ image_row_pitch |
MEM_OBJECT_IMAGE2D | ≥ image_row_pitch * image_height |
MEM_OBJECT_IMAGE3D | ≥ image_slice_pitch * image_depth |
MEM_OBJECT_IMAGE1D_ARRAY | ≥ image_slice_pitch * image_array_size |
MEM_OBJECT_IMAGE2D_ARRAY | ≥ image_slice_pitch * image_array_size |
errcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.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.INVALID_VALUE if values specified in flags are not valid.INVALID_IMAGE_FORMAT_DESCRIPTOR if values specified in image_format are not valid or if image_format is NULL.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a buffer and the row pitch and base address alignment does not follow the rules
described for creating a 2D image from a buffer.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a 2D image object and the rules described above are not followed.INVALID_IMAGE_DESCRIPTOR if values specified in image_desc are not valid or if image_desc is NULL.INVALID_IMAGE_SIZE if image dimensions specified in image_desc exceed the maximum image dimensions for all devices in context.INVALID_HOST_PTR if host_ptr is NULL and MEM_USE_HOST_PTR or MEM_COPY_HOST_PTR are set in flags or if host_ptr is not
NULL but MEM_COPY_HOST_PTR or MEM_USE_HOST_PTR are not set in flags.INVALID_VALUE if an image buffer is being created and the buffer object was created with MEM_WRITE_ONLY and flags specifies
MEM_READ_WRITE or MEM_READ_ONLY, or if the buffer object was created with MEM_READ_ONLY and flags specifies MEM_READ_WRITE or
MEM_WRITE_ONLY, or if flags specifies MEM_USE_HOST_PTR or MEM_ALLOC_HOST_PTR or MEM_COPY_HOST_PTR.INVALID_VALUE if an image buffer is being created or an image is being created from another memory object (image or buffer) and the
mem_object object was created with MEM_HOST_WRITE_ONLY and flags specifies MEM_HOST_READ_ONLY, or if mem_object was created with
MEM_HOST_READ_ONLY and flags specifies MEM_HOST_WRITE_ONLY, or if mem_object was created with MEM_HOST_NO_ACCESS and flags specifies
MEM_HOST_READ_ONLY or MEM_HOST_WRITE_ONLY.IMAGE_FORMAT_NOT_SUPPORTED if the image_format is not supported.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for image object.INVALID_OPERATION if there are no devices in context that support images.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.public static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
java.nio.ShortBuffer host_ptr,
@Nullable
java.nio.IntBuffer errcode_ret)
For a 3D image or 2D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 2D image slices or 2D images
respectively. Each 2D image is a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.
For a 2D image, the image data specified by host_ptr is stored as a linear sequence of adjacent scanlines. Each scanline is a linear sequence of
image elements.
For a 1D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 1D images respectively. Each 1D image or
1D image buffer is a single scanline which is a linear sequence of adjacent elements.
context - a valid OpenCL context on which the image object is to be createdflags - a bit-field that is used to specify allocation and usage information about the image memory object being created.
For all image types except MEM_OBJECT_IMAGE1D_BUFFER, if value specified for flags is 0, the default is used which is
MEM_READ_WRITE.
For MEM_OBJECT_IMAGE1D_BUFFER image type, if the MEM_READ_WRITE, MEM_READ_ONLY or MEM_WRITE_ONLY
values are not specified in flags, they are inherited from the corresponding memory access qualifers associated with buffer. The
MEM_USE_HOST_PTR, MEM_ALLOC_HOST_PTR and MEM_COPY_HOST_PTR values cannot be specified in flags
but are inherited from the corresponding memory access qualifiers associated with buffer. If MEM_COPY_HOST_PTR is specified in the
memory access qualifier values associated with buffer it does not imply any additional copies when the sub-buffer is created from buffer. If the
MEM_HOST_WRITE_ONLY, MEM_HOST_READ_ONLY or MEM_HOST_NO_ACCESS values are not specified in flags, they
are inherited from the corresponding memory access qualifiers associated with buffer. One of:
MEM_READ_WRITE | MEM_WRITE_ONLY | MEM_READ_ONLY | MEM_USE_HOST_PTR | MEM_ALLOC_HOST_PTR |
MEM_COPY_HOST_PTR | MEM_HOST_WRITE_ONLY | MEM_HOST_READ_ONLY | MEM_HOST_NO_ACCESS |
image_format - a pointer to a CLImageFormat structure that describes format properties of the image to be allocatedimage_desc - a pointer to a CLImageDesc structure that describes type and dimensions of the image to be allocatedhost_ptr - a pointer to the image data that may already be allocated by the application. Refer to table below for a description of how large the buffer that
host_ptr points to must be.
| ImageType | Size of buffer that host_ptr points to |
|---|---|
MEM_OBJECT_IMAGE1D | ≥ image_row_pitch |
MEM_OBJECT_IMAGE1D_BUFFER | ≥ image_row_pitch |
MEM_OBJECT_IMAGE2D | ≥ image_row_pitch * image_height |
MEM_OBJECT_IMAGE3D | ≥ image_slice_pitch * image_depth |
MEM_OBJECT_IMAGE1D_ARRAY | ≥ image_slice_pitch * image_array_size |
MEM_OBJECT_IMAGE2D_ARRAY | ≥ image_slice_pitch * image_array_size |
errcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.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.INVALID_VALUE if values specified in flags are not valid.INVALID_IMAGE_FORMAT_DESCRIPTOR if values specified in image_format are not valid or if image_format is NULL.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a buffer and the row pitch and base address alignment does not follow the rules
described for creating a 2D image from a buffer.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a 2D image object and the rules described above are not followed.INVALID_IMAGE_DESCRIPTOR if values specified in image_desc are not valid or if image_desc is NULL.INVALID_IMAGE_SIZE if image dimensions specified in image_desc exceed the maximum image dimensions for all devices in context.INVALID_HOST_PTR if host_ptr is NULL and MEM_USE_HOST_PTR or MEM_COPY_HOST_PTR are set in flags or if host_ptr is not
NULL but MEM_COPY_HOST_PTR or MEM_USE_HOST_PTR are not set in flags.INVALID_VALUE if an image buffer is being created and the buffer object was created with MEM_WRITE_ONLY and flags specifies
MEM_READ_WRITE or MEM_READ_ONLY, or if the buffer object was created with MEM_READ_ONLY and flags specifies MEM_READ_WRITE or
MEM_WRITE_ONLY, or if flags specifies MEM_USE_HOST_PTR or MEM_ALLOC_HOST_PTR or MEM_COPY_HOST_PTR.INVALID_VALUE if an image buffer is being created or an image is being created from another memory object (image or buffer) and the
mem_object object was created with MEM_HOST_WRITE_ONLY and flags specifies MEM_HOST_READ_ONLY, or if mem_object was created with
MEM_HOST_READ_ONLY and flags specifies MEM_HOST_WRITE_ONLY, or if mem_object was created with MEM_HOST_NO_ACCESS and flags specifies
MEM_HOST_READ_ONLY or MEM_HOST_WRITE_ONLY.IMAGE_FORMAT_NOT_SUPPORTED if the image_format is not supported.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for image object.INVALID_OPERATION if there are no devices in context that support images.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.public static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
java.nio.IntBuffer host_ptr,
@Nullable
java.nio.IntBuffer errcode_ret)
For a 3D image or 2D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 2D image slices or 2D images
respectively. Each 2D image is a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.
For a 2D image, the image data specified by host_ptr is stored as a linear sequence of adjacent scanlines. Each scanline is a linear sequence of
image elements.
For a 1D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 1D images respectively. Each 1D image or
1D image buffer is a single scanline which is a linear sequence of adjacent elements.
context - a valid OpenCL context on which the image object is to be createdflags - a bit-field that is used to specify allocation and usage information about the image memory object being created.
For all image types except MEM_OBJECT_IMAGE1D_BUFFER, if value specified for flags is 0, the default is used which is
MEM_READ_WRITE.
For MEM_OBJECT_IMAGE1D_BUFFER image type, if the MEM_READ_WRITE, MEM_READ_ONLY or MEM_WRITE_ONLY
values are not specified in flags, they are inherited from the corresponding memory access qualifers associated with buffer. The
MEM_USE_HOST_PTR, MEM_ALLOC_HOST_PTR and MEM_COPY_HOST_PTR values cannot be specified in flags
but are inherited from the corresponding memory access qualifiers associated with buffer. If MEM_COPY_HOST_PTR is specified in the
memory access qualifier values associated with buffer it does not imply any additional copies when the sub-buffer is created from buffer. If the
MEM_HOST_WRITE_ONLY, MEM_HOST_READ_ONLY or MEM_HOST_NO_ACCESS values are not specified in flags, they
are inherited from the corresponding memory access qualifiers associated with buffer. One of:
MEM_READ_WRITE | MEM_WRITE_ONLY | MEM_READ_ONLY | MEM_USE_HOST_PTR | MEM_ALLOC_HOST_PTR |
MEM_COPY_HOST_PTR | MEM_HOST_WRITE_ONLY | MEM_HOST_READ_ONLY | MEM_HOST_NO_ACCESS |
image_format - a pointer to a CLImageFormat structure that describes format properties of the image to be allocatedimage_desc - a pointer to a CLImageDesc structure that describes type and dimensions of the image to be allocatedhost_ptr - a pointer to the image data that may already be allocated by the application. Refer to table below for a description of how large the buffer that
host_ptr points to must be.
| ImageType | Size of buffer that host_ptr points to |
|---|---|
MEM_OBJECT_IMAGE1D | ≥ image_row_pitch |
MEM_OBJECT_IMAGE1D_BUFFER | ≥ image_row_pitch |
MEM_OBJECT_IMAGE2D | ≥ image_row_pitch * image_height |
MEM_OBJECT_IMAGE3D | ≥ image_slice_pitch * image_depth |
MEM_OBJECT_IMAGE1D_ARRAY | ≥ image_slice_pitch * image_array_size |
MEM_OBJECT_IMAGE2D_ARRAY | ≥ image_slice_pitch * image_array_size |
errcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.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.INVALID_VALUE if values specified in flags are not valid.INVALID_IMAGE_FORMAT_DESCRIPTOR if values specified in image_format are not valid or if image_format is NULL.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a buffer and the row pitch and base address alignment does not follow the rules
described for creating a 2D image from a buffer.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a 2D image object and the rules described above are not followed.INVALID_IMAGE_DESCRIPTOR if values specified in image_desc are not valid or if image_desc is NULL.INVALID_IMAGE_SIZE if image dimensions specified in image_desc exceed the maximum image dimensions for all devices in context.INVALID_HOST_PTR if host_ptr is NULL and MEM_USE_HOST_PTR or MEM_COPY_HOST_PTR are set in flags or if host_ptr is not
NULL but MEM_COPY_HOST_PTR or MEM_USE_HOST_PTR are not set in flags.INVALID_VALUE if an image buffer is being created and the buffer object was created with MEM_WRITE_ONLY and flags specifies
MEM_READ_WRITE or MEM_READ_ONLY, or if the buffer object was created with MEM_READ_ONLY and flags specifies MEM_READ_WRITE or
MEM_WRITE_ONLY, or if flags specifies MEM_USE_HOST_PTR or MEM_ALLOC_HOST_PTR or MEM_COPY_HOST_PTR.INVALID_VALUE if an image buffer is being created or an image is being created from another memory object (image or buffer) and the
mem_object object was created with MEM_HOST_WRITE_ONLY and flags specifies MEM_HOST_READ_ONLY, or if mem_object was created with
MEM_HOST_READ_ONLY and flags specifies MEM_HOST_WRITE_ONLY, or if mem_object was created with MEM_HOST_NO_ACCESS and flags specifies
MEM_HOST_READ_ONLY or MEM_HOST_WRITE_ONLY.IMAGE_FORMAT_NOT_SUPPORTED if the image_format is not supported.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for image object.INVALID_OPERATION if there are no devices in context that support images.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.public static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
java.nio.FloatBuffer host_ptr,
@Nullable
java.nio.IntBuffer errcode_ret)
For a 3D image or 2D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 2D image slices or 2D images
respectively. Each 2D image is a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.
For a 2D image, the image data specified by host_ptr is stored as a linear sequence of adjacent scanlines. Each scanline is a linear sequence of
image elements.
For a 1D image array, the image data specified by host_ptr is stored as a linear sequence of adjacent 1D images respectively. Each 1D image or
1D image buffer is a single scanline which is a linear sequence of adjacent elements.
context - a valid OpenCL context on which the image object is to be createdflags - a bit-field that is used to specify allocation and usage information about the image memory object being created.
For all image types except MEM_OBJECT_IMAGE1D_BUFFER, if value specified for flags is 0, the default is used which is
MEM_READ_WRITE.
For MEM_OBJECT_IMAGE1D_BUFFER image type, if the MEM_READ_WRITE, MEM_READ_ONLY or MEM_WRITE_ONLY
values are not specified in flags, they are inherited from the corresponding memory access qualifers associated with buffer. The
MEM_USE_HOST_PTR, MEM_ALLOC_HOST_PTR and MEM_COPY_HOST_PTR values cannot be specified in flags
but are inherited from the corresponding memory access qualifiers associated with buffer. If MEM_COPY_HOST_PTR is specified in the
memory access qualifier values associated with buffer it does not imply any additional copies when the sub-buffer is created from buffer. If the
MEM_HOST_WRITE_ONLY, MEM_HOST_READ_ONLY or MEM_HOST_NO_ACCESS values are not specified in flags, they
are inherited from the corresponding memory access qualifiers associated with buffer. One of:
MEM_READ_WRITE | MEM_WRITE_ONLY | MEM_READ_ONLY | MEM_USE_HOST_PTR | MEM_ALLOC_HOST_PTR |
MEM_COPY_HOST_PTR | MEM_HOST_WRITE_ONLY | MEM_HOST_READ_ONLY | MEM_HOST_NO_ACCESS |
image_format - a pointer to a CLImageFormat structure that describes format properties of the image to be allocatedimage_desc - a pointer to a CLImageDesc structure that describes type and dimensions of the image to be allocatedhost_ptr - a pointer to the image data that may already be allocated by the application. Refer to table below for a description of how large the buffer that
host_ptr points to must be.
| ImageType | Size of buffer that host_ptr points to |
|---|---|
MEM_OBJECT_IMAGE1D | ≥ image_row_pitch |
MEM_OBJECT_IMAGE1D_BUFFER | ≥ image_row_pitch |
MEM_OBJECT_IMAGE2D | ≥ image_row_pitch * image_height |
MEM_OBJECT_IMAGE3D | ≥ image_slice_pitch * image_depth |
MEM_OBJECT_IMAGE1D_ARRAY | ≥ image_slice_pitch * image_array_size |
MEM_OBJECT_IMAGE2D_ARRAY | ≥ image_slice_pitch * image_array_size |
errcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.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.INVALID_VALUE if values specified in flags are not valid.INVALID_IMAGE_FORMAT_DESCRIPTOR if values specified in image_format are not valid or if image_format is NULL.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a buffer and the row pitch and base address alignment does not follow the rules
described for creating a 2D image from a buffer.INVALID_IMAGE_FORMAT_DESCRIPTOR if a 2D image is created from a 2D image object and the rules described above are not followed.INVALID_IMAGE_DESCRIPTOR if values specified in image_desc are not valid or if image_desc is NULL.INVALID_IMAGE_SIZE if image dimensions specified in image_desc exceed the maximum image dimensions for all devices in context.INVALID_HOST_PTR if host_ptr is NULL and MEM_USE_HOST_PTR or MEM_COPY_HOST_PTR are set in flags or if host_ptr is not
NULL but MEM_COPY_HOST_PTR or MEM_USE_HOST_PTR are not set in flags.INVALID_VALUE if an image buffer is being created and the buffer object was created with MEM_WRITE_ONLY and flags specifies
MEM_READ_WRITE or MEM_READ_ONLY, or if the buffer object was created with MEM_READ_ONLY and flags specifies MEM_READ_WRITE or
MEM_WRITE_ONLY, or if flags specifies MEM_USE_HOST_PTR or MEM_ALLOC_HOST_PTR or MEM_COPY_HOST_PTR.INVALID_VALUE if an image buffer is being created or an image is being created from another memory object (image or buffer) and the
mem_object object was created with MEM_HOST_WRITE_ONLY and flags specifies MEM_HOST_READ_ONLY, or if mem_object was created with
MEM_HOST_READ_ONLY and flags specifies MEM_HOST_WRITE_ONLY, or if mem_object was created with MEM_HOST_NO_ACCESS and flags specifies
MEM_HOST_READ_ONLY or MEM_HOST_WRITE_ONLY.IMAGE_FORMAT_NOT_SUPPORTED if the image_format is not supported.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for image object.INVALID_OPERATION if there are no devices in context that support images.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.public static long nclCreateProgramWithBuiltInKernels(long context,
int num_devices,
long device_list,
long kernel_names,
long errcode_ret)
CreateProgramWithBuiltInKernelsnum_devices - the number of devices listed in device_listpublic static long clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer kernel_names,
@Nullable
java.nio.IntBuffer errcode_ret)
context - a valid OpenCL contextdevice_list - a pointer to a list of devices that are in context. device_list must be a non-NULL value. The built-in kernels are loaded for
devices specified in this list.
The devices associated with the program object will be the list of devices specified by device_list. The list of devices specified by
device_list must be devices associated with context.
kernel_names - a semi-colon separated list of built-in kernel nameserrcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.errcode_ret is set to SUCCESS if the program 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.INVALID_VALUE if device_list is NULL or num_devices is zero.INVALID_VALUE if kernel_names is NULL or kernel_names contains a kernel name that is not supported by any of the
devices in device_list.INVALID_DEVICE if devices listed in device_list are not in the list of devices associated with context.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.public static long clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence kernel_names,
@Nullable
java.nio.IntBuffer errcode_ret)
context - a valid OpenCL contextdevice_list - a pointer to a list of devices that are in context. device_list must be a non-NULL value. The built-in kernels are loaded for
devices specified in this list.
The devices associated with the program object will be the list of devices specified by device_list. The list of devices specified by
device_list must be devices associated with context.
kernel_names - a semi-colon separated list of built-in kernel nameserrcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.errcode_ret is set to SUCCESS if the program 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.INVALID_VALUE if device_list is NULL or num_devices is zero.INVALID_VALUE if kernel_names is NULL or kernel_names contains a kernel name that is not supported by any of the
devices in device_list.INVALID_DEVICE if devices listed in device_list are not in the list of devices associated with context.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.public static long clCreateProgramWithBuiltInKernels(long context,
long device,
java.lang.CharSequence kernel_names,
@Nullable
java.nio.IntBuffer errcode_ret)
context - a valid OpenCL contextkernel_names - a semi-colon separated list of built-in kernel nameserrcode_ret - will return an appropriate error code. If errcode_ret is NULL, no error code is returned.errcode_ret is set to SUCCESS if the program 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.INVALID_VALUE if device_list is NULL or num_devices is zero.INVALID_VALUE if kernel_names is NULL or kernel_names contains a kernel name that is not supported by any of the
devices in device_list.INVALID_DEVICE if devices listed in device_list are not in the list of devices associated with context.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.public static int nclCompileProgram(long program,
int num_devices,
long device_list,
long options,
int num_input_headers,
long input_headers,
long header_include_names,
long pfn_notify,
long user_data)
CompileProgramnum_devices - the number of devices listed in device_listnum_input_headers - the number of programs that describe headers in the array referenced by input_headerspublic static int clCompileProgram(long program,
@Nullable
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer options,
@Nullable
org.lwjgl.PointerBuffer input_headers,
@Nullable
org.lwjgl.PointerBuffer header_include_names,
@Nullable
CLProgramCallbackI pfn_notify,
long user_data)
program. The pre-processor runs
before the program sources are compiled. The compiled binary is built for all devices associated with program or the list of devices specified.
The compiled binary can be queried using GetProgramInfo(program, PROGRAM_BINARIES, …) and can be specified
to CreateProgramWithBinary to create a new program object.program - the program object that is the compilation targetdevice_list - a pointer to a list of devices associated with program. If device_list is a NULL value, the compile is performed for all devices
associated with program. If device_list is a non-NULL value, the compile is performed for devices specified in this list.options - a pointer to a null-terminated string of characters that describes the compilation options to be used for building the program executableinput_headers - an array of program embedded headers created with CreateProgramWithSourceheader_include_names - an array that has a one to one correspondence with input_headers. Each entry in header_include_names specifies the include name used
by source in program that comes from an embedded header. The corresponding entry in input_headers identifies the program object which
contains the header source to be used. The embedded headers are first searched before the headers in the list of directories specified by the –I
compile option. If multiple entries in header_include_names refer to the same header name, the first one encountered will be used.pfn_notify - a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be
called when the program executable has been built (successfully or unsuccessfully).
If pfn_notify is not NULL, clCompileProgram does not need to wait for the compiler to complete and can return immediately once the
compilation can begin. The compilation can begin if the context, program whose sources are being compiled, list of devices, input headers, programs
that describe input headers and compiler options specified are all valid and appropriate host and device resources needed to perform the compile are
available.
If pfn_notify is NULL, clCompileProgram does not return until the compiler has completed. This callback function may be called
asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.
user_data - will be passed as an argument when pfn_notify is called. user_data can be NULL.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_PROGRAM if program is not a valid program object.INVALID_VALUE if device_list is NULL and num_devices is greater than zero, or if device_list is not NULL
and num_devices is zero.INVALID_VALUE if num_input_headers is zero and header_include_names or input_headers are not NULL or if
num_input_headers is not zero and header_include_names or input_headers are NULL.INVALID_VALUE if pfn_notify is NULL but user_data is not NULL.INVALID_DEVICE if OpenCL devices listed in device_list are not in the list of devices associated with program.INVALID_COMPILER_OPTIONS if the compiler options specified by options are invalid.INVALID_OPERATION if the compilation or build of a program executable for any of the devices listed in device_list by a
previous call to clCompileProgram or BuildProgram for program has not completed.COMPILER_NOT_AVAILABLE if a compiler is not available i.e. DEVICE_COMPILER_AVAILABLE is set to FALSE.COMPILE_PROGRAM_FAILURE if there is a failure to compile the program source. This error will be returned if clCompileProgram
does not return until the compile has completed.INVALID_OPERATION if there are kernel objects attached to program.INVALID_OPERATION if program has no source i.e. it has not been created with CreateProgramWithSource.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.public static int clCompileProgram(long program,
@Nullable
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
@Nullable
org.lwjgl.PointerBuffer input_headers,
@Nullable
org.lwjgl.PointerBuffer header_include_names,
@Nullable
CLProgramCallbackI pfn_notify,
long user_data)
program. The pre-processor runs
before the program sources are compiled. The compiled binary is built for all devices associated with program or the list of devices specified.
The compiled binary can be queried using GetProgramInfo(program, PROGRAM_BINARIES, …) and can be specified
to CreateProgramWithBinary to create a new program object.program - the program object that is the compilation targetdevice_list - a pointer to a list of devices associated with program. If device_list is a NULL value, the compile is performed for all devices
associated with program. If device_list is a non-NULL value, the compile is performed for devices specified in this list.options - a pointer to a null-terminated string of characters that describes the compilation options to be used for building the program executableinput_headers - an array of program embedded headers created with CreateProgramWithSourceheader_include_names - an array that has a one to one correspondence with input_headers. Each entry in header_include_names specifies the include name used
by source in program that comes from an embedded header. The corresponding entry in input_headers identifies the program object which
contains the header source to be used. The embedded headers are first searched before the headers in the list of directories specified by the –I
compile option. If multiple entries in header_include_names refer to the same header name, the first one encountered will be used.pfn_notify - a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be
called when the program executable has been built (successfully or unsuccessfully).
If pfn_notify is not NULL, clCompileProgram does not need to wait for the compiler to complete and can return immediately once the
compilation can begin. The compilation can begin if the context, program whose sources are being compiled, list of devices, input headers, programs
that describe input headers and compiler options specified are all valid and appropriate host and device resources needed to perform the compile are
available.
If pfn_notify is NULL, clCompileProgram does not return until the compiler has completed. This callback function may be called
asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.
user_data - will be passed as an argument when pfn_notify is called. user_data can be NULL.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_PROGRAM if program is not a valid program object.INVALID_VALUE if device_list is NULL and num_devices is greater than zero, or if device_list is not NULL
and num_devices is zero.INVALID_VALUE if num_input_headers is zero and header_include_names or input_headers are not NULL or if
num_input_headers is not zero and header_include_names or input_headers are NULL.INVALID_VALUE if pfn_notify is NULL but user_data is not NULL.INVALID_DEVICE if OpenCL devices listed in device_list are not in the list of devices associated with program.INVALID_COMPILER_OPTIONS if the compiler options specified by options are invalid.INVALID_OPERATION if the compilation or build of a program executable for any of the devices listed in device_list by a
previous call to clCompileProgram or BuildProgram for program has not completed.COMPILER_NOT_AVAILABLE if a compiler is not available i.e. DEVICE_COMPILER_AVAILABLE is set to FALSE.COMPILE_PROGRAM_FAILURE if there is a failure to compile the program source. This error will be returned if clCompileProgram
does not return until the compile has completed.INVALID_OPERATION if there are kernel objects attached to program.INVALID_OPERATION if program has no source i.e. it has not been created with CreateProgramWithSource.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.public static long nclLinkProgram(long context,
int num_devices,
long device_list,
long options,
int num_input_programs,
long input_programs,
long pfn_notify,
long user_data)
LinkProgramnum_devices - the number of devices listed in device_listnum_input_programs - the number of programs in array referenced by input_programspublic static long clLinkProgram(long context,
@Nullable
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer options,
@Nullable
org.lwjgl.PointerBuffer input_programs,
@Nullable
CLProgramCallbackI pfn_notify,
long user_data)
clLinkProgram creates a new program object which contains this executable. The executable binary can be queried using
GetProgramInfo(program, PROGRAM_BINARIES, …) and can be specified to CreateProgramWithBinary to
create a new program object.
The devices associated with the returned program object will be the list of devices specified by device_list or if device_list is NULL
it will be the list of devices associated with context.
context - a valid OpenCL contextdevice_list - a pointer to a list of devices that are in context. If device_list is a NULL value, the link is performed for all devices
associated with context for which a compiled object is available. If device_list is a non-NULL value, the link is performed for
devices specified in this list for which a compiled object is available.options - a pointer to a null-terminated string of characters that describes the link options to be used for building the program executableinput_programs - an array of program objects that are compiled binaries or libraries that are to be linked to create the program executable. For each device in
device_list or if device_list is NULL the list of devices associated with context, the following cases occur:
input_programs contain a compiled binary or library for the device. In this case, a link is performed to
generate a program executable for this device.INVALID_OPERATION error.pfn_notify - a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be
called when the program executable has been built (successfully or unsuccessfully).
If pfn_notify is not NULL, clLinkProgram does not need to wait for the linker to complete and can return immediately once the
linking operation can begin. Once the linker has completed, the pfn_notify callback function is called which returns the program object
returned by clLinkProgram. The application can query the link status and log for this program object. This callback function may be called
asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.
If pfn_notify is NULL, clLinkProgram does not return until the linker has completed.
user_data - will be passed as an argument when pfn_notify is called. user_data can be NULL.If pfn_notify is NULL, the errcode_ret will be set to SUCCESS if the link operation was successful and LINK_PROGRAM_FAILURE if
there is a failure to link the compiled binaries and/or libraries.
If pfn_notify is not NULL, clLinkProgram does not have to wait until the linker to complete and can return SUCCESS in errcode_ret
if the linking operation can begin. The pfn_notify callback function will return a SUCCESS or LINK_PROGRAM_FAILURE if the
linking operation was successful or not.
Otherwise clLinkProgram returns a NULL program object with an appropriate error in errcode_ret. The application should query the linker status
of this program object to check if the link was successful or not. The list of errors that can be returned are:
INVALID_CONTEXT if context is not a valid context.INVALID_VALUE if device_list is NULL and num_devices is greater than zero, or if device_list is not NULL
and num_devices is zero.INVALID_VALUE if num_input_programs is zero and input_programs is NULL or if num_input_programs is zero and
input_programs is not NULL or if num_input_programs is not zero and input_programs is NULL.INVALID_PROGRAM if programs specified in input_programs are not valid program objects.INVALID_VALUE if pfn_notify is NULL but user_data is not NULL.INVALID_DEVICE if OpenCL devices listed in device_list are not in the list of devices associated with context.INVALID_LINKER_OPTIONS if the linker options specified by options are invalid.INVALID_OPERATION if the compilation or build of a program executable for any of the devices listed in device_list by a
previous call to CompileProgram or BuildProgram for program has not completed.INVALID_OPERATION if the rules for devices containing compiled binaries or libraries as described in input_programs argument
above are not followed.LINKER_NOT_AVAILABLE if a linker is not available i.e. DEVICE_LINKER_AVAILABLE is set to FALSE.LINK_PROGRAM_FAILURE if there is a failure to link the compiled binaries and/or libraries.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.public static long clLinkProgram(long context,
@Nullable
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
@Nullable
org.lwjgl.PointerBuffer input_programs,
@Nullable
CLProgramCallbackI pfn_notify,
long user_data)
clLinkProgram creates a new program object which contains this executable. The executable binary can be queried using
GetProgramInfo(program, PROGRAM_BINARIES, …) and can be specified to CreateProgramWithBinary to
create a new program object.
The devices associated with the returned program object will be the list of devices specified by device_list or if device_list is NULL
it will be the list of devices associated with context.
context - a valid OpenCL contextdevice_list - a pointer to a list of devices that are in context. If device_list is a NULL value, the link is performed for all devices
associated with context for which a compiled object is available. If device_list is a non-NULL value, the link is performed for
devices specified in this list for which a compiled object is available.options - a pointer to a null-terminated string of characters that describes the link options to be used for building the program executableinput_programs - an array of program objects that are compiled binaries or libraries that are to be linked to create the program executable. For each device in
device_list or if device_list is NULL the list of devices associated with context, the following cases occur:
input_programs contain a compiled binary or library for the device. In this case, a link is performed to
generate a program executable for this device.INVALID_OPERATION error.pfn_notify - a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be
called when the program executable has been built (successfully or unsuccessfully).
If pfn_notify is not NULL, clLinkProgram does not need to wait for the linker to complete and can return immediately once the
linking operation can begin. Once the linker has completed, the pfn_notify callback function is called which returns the program object
returned by clLinkProgram. The application can query the link status and log for this program object. This callback function may be called
asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.
If pfn_notify is NULL, clLinkProgram does not return until the linker has completed.
user_data - will be passed as an argument when pfn_notify is called. user_data can be NULL.If pfn_notify is NULL, the errcode_ret will be set to SUCCESS if the link operation was successful and LINK_PROGRAM_FAILURE if
there is a failure to link the compiled binaries and/or libraries.
If pfn_notify is not NULL, clLinkProgram does not have to wait until the linker to complete and can return SUCCESS in errcode_ret
if the linking operation can begin. The pfn_notify callback function will return a SUCCESS or LINK_PROGRAM_FAILURE if the
linking operation was successful or not.
Otherwise clLinkProgram returns a NULL program object with an appropriate error in errcode_ret. The application should query the linker status
of this program object to check if the link was successful or not. The list of errors that can be returned are:
INVALID_CONTEXT if context is not a valid context.INVALID_VALUE if device_list is NULL and num_devices is greater than zero, or if device_list is not NULL
and num_devices is zero.INVALID_VALUE if num_input_programs is zero and input_programs is NULL or if num_input_programs is zero and
input_programs is not NULL or if num_input_programs is not zero and input_programs is NULL.INVALID_PROGRAM if programs specified in input_programs are not valid program objects.INVALID_VALUE if pfn_notify is NULL but user_data is not NULL.INVALID_DEVICE if OpenCL devices listed in device_list are not in the list of devices associated with context.INVALID_LINKER_OPTIONS if the linker options specified by options are invalid.INVALID_OPERATION if the compilation or build of a program executable for any of the devices listed in device_list by a
previous call to CompileProgram or BuildProgram for program has not completed.INVALID_OPERATION if the rules for devices containing compiled binaries or libraries as described in input_programs argument
above are not followed.LINKER_NOT_AVAILABLE if a linker is not available i.e. DEVICE_LINKER_AVAILABLE is set to FALSE.LINK_PROGRAM_FAILURE if there is a failure to link the compiled binaries and/or libraries.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.public static long clLinkProgram(long context,
@Nullable
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence options,
long input_program,
@Nullable
CLProgramCallbackI pfn_notify,
long user_data)
clLinkProgram creates a new program object which contains this executable. The executable binary can be queried using
GetProgramInfo(program, PROGRAM_BINARIES, …) and can be specified to CreateProgramWithBinary to
create a new program object.
The devices associated with the returned program object will be the list of devices specified by device_list or if device_list is NULL
it will be the list of devices associated with context.
context - a valid OpenCL contextdevice_list - a pointer to a list of devices that are in context. If device_list is a NULL value, the link is performed for all devices
associated with context for which a compiled object is available. If device_list is a non-NULL value, the link is performed for
devices specified in this list for which a compiled object is available.options - a pointer to a null-terminated string of characters that describes the link options to be used for building the program executablepfn_notify - a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be
called when the program executable has been built (successfully or unsuccessfully).
If pfn_notify is not NULL, clLinkProgram does not need to wait for the linker to complete and can return immediately once the
linking operation can begin. Once the linker has completed, the pfn_notify callback function is called which returns the program object
returned by clLinkProgram. The application can query the link status and log for this program object. This callback function may be called
asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.
If pfn_notify is NULL, clLinkProgram does not return until the linker has completed.
user_data - will be passed as an argument when pfn_notify is called. user_data can be NULL.If pfn_notify is NULL, the errcode_ret will be set to SUCCESS if the link operation was successful and LINK_PROGRAM_FAILURE if
there is a failure to link the compiled binaries and/or libraries.
If pfn_notify is not NULL, clLinkProgram does not have to wait until the linker to complete and can return SUCCESS in errcode_ret
if the linking operation can begin. The pfn_notify callback function will return a SUCCESS or LINK_PROGRAM_FAILURE if the
linking operation was successful or not.
Otherwise clLinkProgram returns a NULL program object with an appropriate error in errcode_ret. The application should query the linker status
of this program object to check if the link was successful or not. The list of errors that can be returned are:
INVALID_CONTEXT if context is not a valid context.INVALID_VALUE if device_list is NULL and num_devices is greater than zero, or if device_list is not NULL
and num_devices is zero.INVALID_VALUE if num_input_programs is zero and input_programs is NULL or if num_input_programs is zero and
input_programs is not NULL or if num_input_programs is not zero and input_programs is NULL.INVALID_PROGRAM if programs specified in input_programs are not valid program objects.INVALID_VALUE if pfn_notify is NULL but user_data is not NULL.INVALID_DEVICE if OpenCL devices listed in device_list are not in the list of devices associated with context.INVALID_LINKER_OPTIONS if the linker options specified by options are invalid.INVALID_OPERATION if the compilation or build of a program executable for any of the devices listed in device_list by a
previous call to CompileProgram or BuildProgram for program has not completed.INVALID_OPERATION if the rules for devices containing compiled binaries or libraries as described in input_programs argument
above are not followed.LINKER_NOT_AVAILABLE if a linker is not available i.e. DEVICE_LINKER_AVAILABLE is set to FALSE.LINK_PROGRAM_FAILURE if there is a failure to link the compiled binaries and/or libraries.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.public static int clUnloadPlatformCompiler(long platform)
BuildProgram, CompileProgram or LinkProgram after clUnloadPlatformCompiler will reload the compiler, if necessary, to build the
appropriate program executable.platform - the platform for which to unload the compilerSUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_PLATFORM if platform is not a valid platform.public static int nclGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
long param_value_size,
long param_value,
long param_value_size_ret)
GetKernelArgInfoparam_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.public static int clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
@Nullable
java.nio.ByteBuffer param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
CreateProgramWithSource and the program executable is built with the -cl-kernel-arg-info option specified in options
argument to BuildProgram or CompileProgram.kernel - specifies the kernel object being queriedarg_indx - the argument index. Arguments to the kernel are referred by indices that go from 0 for the leftmost argument to n - 1, where n is
the total number of arguments declared by a kernel.param_name - the argument information to query. One of:KERNEL_ARG_ADDRESS_QUALIFIER | KERNEL_ARG_ACCESS_QUALIFIER | KERNEL_ARG_TYPE_NAME |
KERNEL_ARG_TYPE_QUALIFIER | KERNEL_ARG_NAME |
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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_ARG_INDEX if arg_indx is not a valid argument index.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.KERNEL_ARG_INFO_NOT_AVAILABLE if the argument information is not available for kernel.INVALID_KERNEL if kernel is a not a valid kernel object.public static int clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
@Nullable
java.nio.IntBuffer param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
CreateProgramWithSource and the program executable is built with the -cl-kernel-arg-info option specified in options
argument to BuildProgram or CompileProgram.kernel - specifies the kernel object being queriedarg_indx - the argument index. Arguments to the kernel are referred by indices that go from 0 for the leftmost argument to n - 1, where n is
the total number of arguments declared by a kernel.param_name - the argument information to query. One of:KERNEL_ARG_ADDRESS_QUALIFIER | KERNEL_ARG_ACCESS_QUALIFIER | KERNEL_ARG_TYPE_NAME |
KERNEL_ARG_TYPE_QUALIFIER | KERNEL_ARG_NAME |
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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_ARG_INDEX if arg_indx is not a valid argument index.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.KERNEL_ARG_INFO_NOT_AVAILABLE if the argument information is not available for kernel.INVALID_KERNEL if kernel is a not a valid kernel object.public static int clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
@Nullable
java.nio.LongBuffer param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
CreateProgramWithSource and the program executable is built with the -cl-kernel-arg-info option specified in options
argument to BuildProgram or CompileProgram.kernel - specifies the kernel object being queriedarg_indx - the argument index. Arguments to the kernel are referred by indices that go from 0 for the leftmost argument to n - 1, where n is
the total number of arguments declared by a kernel.param_name - the argument information to query. One of:KERNEL_ARG_ADDRESS_QUALIFIER | KERNEL_ARG_ACCESS_QUALIFIER | KERNEL_ARG_TYPE_NAME |
KERNEL_ARG_TYPE_QUALIFIER | KERNEL_ARG_NAME |
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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_ARG_INDEX if arg_indx is not a valid argument index.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.KERNEL_ARG_INFO_NOT_AVAILABLE if the argument information is not available for kernel.INVALID_KERNEL if kernel is a not a valid kernel object.public static int nclEnqueueFillBuffer(long command_queue,
long buffer,
long pattern,
long pattern_size,
long offset,
long size,
int num_events_in_wait_list,
long event_wait_list,
long event)
EnqueueFillBufferpattern_size - the pattern sizenum_events_in_wait_list - the number of events in event_wait_listpublic static int clEnqueueFillBuffer(long command_queue,
long buffer,
java.nio.ByteBuffer pattern,
long offset,
long size,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
cl_mem_flags argument value specified when buffer is created is ignored by
clEnqueueFillBuffer.command_queue - the command-queue in which the fill command will be queued. The OpenCL context associated with command_queue and buffer must be the same.buffer - a valid buffer objectpattern - pointer to the data pattern of size pattern_size in bytes. pattern will be used to fill a region in buffer starting at offset
and is size bytes in size. The data pattern must be a scalar or vector integer or floating-point data type supported by OpenCL. For example,
if buffer is to be filled with a pattern of float4 values, then pattern will be a pointer to a cl_float4 value and pattern_size
will be sizeof(cl_float4). The maximum value of pattern_size is the size of the largest integer or floating-point vector data type
supported by the OpenCL device. The memory associated with pattern can be reused or freed after the function returns.offset - the location in bytes of the region being filled in buffer and must be a multiple of pattern_sizesize - the size in bytes of region being filled in buffer and must be a multiple of pattern_sizeevent_wait_list - 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 - 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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if the context associated with command_queue and buffer are not the same or if the context
associated with command_queue and events in event_wait_list are not the same.INVALID_MEM_OBJECT if buffer is not a valid buffer object.INVALID_VALUE if offset or offset + size require accessing elements outside the buffer buffer object respectively.INVALID_VALUE if pattern is NULL or if pattern_size is 0 or if pattern_size is not one of
[1, 2, 4, 8, 16, 32, 64, 128].INVALID_VALUE if offset and size are not a multiple of pattern_size.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.MISALIGNED_SUB_BUFFER_OFFSET if buffer is a sub-buffer object and offset specified when the sub-buffer object is created is
not aligned to DEVICE_MEM_BASE_ADDR_ALIGN value for device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for data store associated with buffer.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.public static int nclEnqueueFillImage(long command_queue,
long image,
long fill_color,
long origin,
long region,
int num_events_in_wait_list,
long event_wait_list,
long event)
EnqueueFillImagenum_events_in_wait_list - the number of events in event_wait_listpublic static int clEnqueueFillImage(long command_queue,
long image,
java.nio.ByteBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
cl_mem_flags argument value specified when image is created is ignored by
clEnqueueFillImage.command_queue - the command-queue in which the fill command will be queued. The OpenCL context associated with command_queue and image must be the same.image - a valid image objectfill_color - the fill color. The fill color is a four component RGBA floating-point color value if the image channel data type is not an unnormalized
signed and unsigned integer type, is a four component signed integer value if the image channel data type is an unnormalized signed integer
type and is a four component unsigned integer value if the image channel data type is an unnormalized unsigned integer type. The fill color
will be converted to the appropriate image channel format and order associated with image.origin - the (x, y, z) offset in pixels in the 1D, 2D or 3D image, the (x, y) offset and the image index in the 2D image array or the (x)
offset and the image index in the 1D image array. If image is a 2D image object, origin[2] must be 0. If image is a 1D image or 1D image
buffer object, origin[1] and origin[2] must be 0. If image is a 1D image array object, origin[2] must be 0. If image is a 1D
image array object, origin[1] describes the image index in the 1D image array. If image is a 2D image array object, origin[2]
describes the image index in the 2D image array.region - the (width, height, depth) in pixels of the 1D, 2D or 3D rectangle, the (width, height) in pixels of the 2D rectangle and the number
of images of a 2D image array or the (width) in pixels of the 1D rectangle and the number of images of a 1D image array. If image is a 2D
image object, region[2] must be 1. If image is a 1D image or 1D image buffer object, region[1] and region[2] must be 1. If
image is a 1D image array object, region[2] must be 1. The values in region cannot be 0.event_wait_list - 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 - 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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if the context associated with command_queue and image are not the same or if the context associated
with command_queue and events in event_wait_list are not the same.INVALID_MEM_OBJECT if image is not a valid image object.INVALID_VALUE if fill_color is NULL.INVALID_VALUE if the region being filled as specified by origin and region is out of bounds or if ptr is a NULL value.INVALID_VALUE if values in origin and region do not follow rules described in the argument description for origin and region.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.INVALID_IMAGE_SIZE if image dimensions (image width, height, specified or compute row and/or slice pitch) for image are not supported by device associated with queue.IMAGE_FORMAT_NOT_SUPPORTED if image format (image channel order and data type) for image are not supported by device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for data store associated with image.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.public static int clEnqueueFillImage(long command_queue,
long image,
java.nio.IntBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
cl_mem_flags argument value specified when image is created is ignored by
clEnqueueFillImage.command_queue - the command-queue in which the fill command will be queued. The OpenCL context associated with command_queue and image must be the same.image - a valid image objectfill_color - the fill color. The fill color is a four component RGBA floating-point color value if the image channel data type is not an unnormalized
signed and unsigned integer type, is a four component signed integer value if the image channel data type is an unnormalized signed integer
type and is a four component unsigned integer value if the image channel data type is an unnormalized unsigned integer type. The fill color
will be converted to the appropriate image channel format and order associated with image.origin - the (x, y, z) offset in pixels in the 1D, 2D or 3D image, the (x, y) offset and the image index in the 2D image array or the (x)
offset and the image index in the 1D image array. If image is a 2D image object, origin[2] must be 0. If image is a 1D image or 1D image
buffer object, origin[1] and origin[2] must be 0. If image is a 1D image array object, origin[2] must be 0. If image is a 1D
image array object, origin[1] describes the image index in the 1D image array. If image is a 2D image array object, origin[2]
describes the image index in the 2D image array.region - the (width, height, depth) in pixels of the 1D, 2D or 3D rectangle, the (width, height) in pixels of the 2D rectangle and the number
of images of a 2D image array or the (width) in pixels of the 1D rectangle and the number of images of a 1D image array. If image is a 2D
image object, region[2] must be 1. If image is a 1D image or 1D image buffer object, region[1] and region[2] must be 1. If
image is a 1D image array object, region[2] must be 1. The values in region cannot be 0.event_wait_list - 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 - 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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if the context associated with command_queue and image are not the same or if the context associated
with command_queue and events in event_wait_list are not the same.INVALID_MEM_OBJECT if image is not a valid image object.INVALID_VALUE if fill_color is NULL.INVALID_VALUE if the region being filled as specified by origin and region is out of bounds or if ptr is a NULL value.INVALID_VALUE if values in origin and region do not follow rules described in the argument description for origin and region.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.INVALID_IMAGE_SIZE if image dimensions (image width, height, specified or compute row and/or slice pitch) for image are not supported by device associated with queue.IMAGE_FORMAT_NOT_SUPPORTED if image format (image channel order and data type) for image are not supported by device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for data store associated with image.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.public static int clEnqueueFillImage(long command_queue,
long image,
java.nio.FloatBuffer fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
cl_mem_flags argument value specified when image is created is ignored by
clEnqueueFillImage.command_queue - the command-queue in which the fill command will be queued. The OpenCL context associated with command_queue and image must be the same.image - a valid image objectfill_color - the fill color. The fill color is a four component RGBA floating-point color value if the image channel data type is not an unnormalized
signed and unsigned integer type, is a four component signed integer value if the image channel data type is an unnormalized signed integer
type and is a four component unsigned integer value if the image channel data type is an unnormalized unsigned integer type. The fill color
will be converted to the appropriate image channel format and order associated with image.origin - the (x, y, z) offset in pixels in the 1D, 2D or 3D image, the (x, y) offset and the image index in the 2D image array or the (x)
offset and the image index in the 1D image array. If image is a 2D image object, origin[2] must be 0. If image is a 1D image or 1D image
buffer object, origin[1] and origin[2] must be 0. If image is a 1D image array object, origin[2] must be 0. If image is a 1D
image array object, origin[1] describes the image index in the 1D image array. If image is a 2D image array object, origin[2]
describes the image index in the 2D image array.region - the (width, height, depth) in pixels of the 1D, 2D or 3D rectangle, the (width, height) in pixels of the 2D rectangle and the number
of images of a 2D image array or the (width) in pixels of the 1D rectangle and the number of images of a 1D image array. If image is a 2D
image object, region[2] must be 1. If image is a 1D image or 1D image buffer object, region[1] and region[2] must be 1. If
image is a 1D image array object, region[2] must be 1. The values in region cannot be 0.event_wait_list - 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 - 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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if the context associated with command_queue and image are not the same or if the context associated
with command_queue and events in event_wait_list are not the same.INVALID_MEM_OBJECT if image is not a valid image object.INVALID_VALUE if fill_color is NULL.INVALID_VALUE if the region being filled as specified by origin and region is out of bounds or if ptr is a NULL value.INVALID_VALUE if values in origin and region do not follow rules described in the argument description for origin and region.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.INVALID_IMAGE_SIZE if image dimensions (image width, height, specified or compute row and/or slice pitch) for image are not supported by device associated with queue.IMAGE_FORMAT_NOT_SUPPORTED if image format (image channel order and data type) for image are not supported by device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for data store associated with image.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.public static int nclEnqueueMigrateMemObjects(long command_queue,
int num_mem_objects,
long mem_objects,
long flags,
int num_events_in_wait_list,
long event_wait_list,
long event)
EnqueueMigrateMemObjectsnum_mem_objects - the number of memory objects specified in mem_objectsnum_events_in_wait_list - the number of events in event_wait_listpublic static int clEnqueueMigrateMemObjects(long command_queue,
org.lwjgl.PointerBuffer mem_objects,
long flags,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
clEnqueueMigrateMemObjects allows this migration to be explicitly
performed ahead of the dependent commands. This allows a user to preemptively change the association of a memory object, through regular command queue
scheduling, in order to prepare for another upcoming command. This also permits an application to overlap the placement of memory objects with other
unrelated operations before these memory objects are needed potentially hiding transfer latencies. Once the event, returned from clEnqueueMigrateMemObjects,
has been marked COMPLETE the memory objects specified in mem_objects have been successfully migrated to the device associated
with command_queue. The migrated memory object shall remain resident on the device until another command is enqueued that either implicitly or
explicitly migrates it away.
clEnqueueMigrateMemObjects can also be used to direct the initial placement of a memory object, after creation, possibly avoiding the initial
overhead of instantiating the object on the first enqueued command to use it.
The user is responsible for managing the event dependencies, associated with this command, in order to avoid overlapping access to memory objects.
Improperly specified event dependencies passed to clEnqueueMigrateMemObjects could result in undefined results.
command_queue - a valid command-queue. The specified set of memory objects in mem_objects will be migrated to the OpenCL device associated with
command_queue or to the host if the MIGRATE_MEM_OBJECT_HOST has been specified.mem_objects - a pointer to a list of memory objectsflags - a bit-field that is used to specify migration options. One of:MIGRATE_MEM_OBJECT_HOST | MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED |
event_wait_list - 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 - 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.SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if the context associated with command_queue and memory objects in mem_objects are not the same or
if the context associated with command_queue and events in event_wait_list are not the same.INVALID_MEM_OBJECT if any of the memory objects in mem_objects is not a valid memory object.INVALID_VALUE if num_mem_objects is zero or if mem_objects is NULL.INVALID_VALUE if flags is not 0 or is not any of the values described in the table above.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.MEM_OBJECT_ALLOCATION_FAILURE if there is a failure to allocate memory for the specified set of memory objects in mem_objects.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.public static int nclEnqueueMarkerWithWaitList(long command_queue,
int num_events_in_wait_list,
long event_wait_list,
long event)
EnqueueMarkerWithWaitListnum_events_in_wait_list - the number of events in event_wait_listpublic static int clEnqueueMarkerWithWaitList(long command_queue,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
command_queue to complete before it completes. This command returns an event which can be waited on, i.e. this event can be waited on to insure
that all events either in the event_wait_list or all previously enqueued commands, queued before this command to command_queue, have
completed.command_queue - a valid command-queueevent_wait_list - 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 - 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.SUCCESS if the function is successfully executed. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if context associated with command_queue and events in event_wait_list are not the same.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.public static int nclEnqueueBarrierWithWaitList(long command_queue,
int num_events_in_wait_list,
long event_wait_list,
long event)
EnqueueBarrierWithWaitListnum_events_in_wait_list - the number of events in event_wait_listpublic static int clEnqueueBarrierWithWaitList(long command_queue,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
command_queue to complete before it completes. This command blocks command execution, that is, any following commands enqueued after it do not
execute until it completes. This command returns an event which can be waited on, i.e. this event can be waited on to insure that all events either in
the event_wait_list or all previously enqueued commands, queued before this command to command_queue, have completed.command_queue - a valid command-queueevent_wait_list - 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 - 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.SUCCESS if the function is successfully executed. Otherwise, it returns one of the following errors:
INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.INVALID_CONTEXT if context associated with command_queue and events in event_wait_list are not the same.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.public static int clCreateSubDevices(long in_device,
org.lwjgl.PointerBuffer properties,
@Nullable
org.lwjgl.PointerBuffer out_devices,
@Nullable
int[] num_devices_ret)
CreateSubDevicespublic static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
java.nio.ByteBuffer host_ptr,
@Nullable
int[] errcode_ret)
CreateImagepublic static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
short[] host_ptr,
@Nullable
int[] errcode_ret)
CreateImagepublic static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
int[] host_ptr,
@Nullable
int[] errcode_ret)
CreateImagepublic static long clCreateImage(long context,
long flags,
CLImageFormat image_format,
CLImageDesc image_desc,
@Nullable
float[] host_ptr,
@Nullable
int[] errcode_ret)
CreateImagepublic static long clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.nio.ByteBuffer kernel_names,
@Nullable
int[] errcode_ret)
CreateProgramWithBuiltInKernelspublic static long clCreateProgramWithBuiltInKernels(long context,
org.lwjgl.PointerBuffer device_list,
java.lang.CharSequence kernel_names,
@Nullable
int[] errcode_ret)
CreateProgramWithBuiltInKernelspublic static int clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
@Nullable
int[] param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
GetKernelArgInfopublic static int clGetKernelArgInfo(long kernel,
int arg_indx,
int param_name,
@Nullable
long[] param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
GetKernelArgInfopublic static int clEnqueueFillImage(long command_queue,
long image,
int[] fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
EnqueueFillImagepublic static int clEnqueueFillImage(long command_queue,
long image,
float[] fill_color,
org.lwjgl.PointerBuffer origin,
org.lwjgl.PointerBuffer region,
@Nullable
org.lwjgl.PointerBuffer event_wait_list,
@Nullable
org.lwjgl.PointerBuffer event)
EnqueueFillImageCopyright LWJGL. All Rights Reserved. License terms.