1161 lines
61 KiB
Java
1161 lines
61 KiB
Java
/*
|
|
* Copyright (c) 2002-2010 LWJGL Project
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are
|
|
* met:
|
|
*
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* * Neither the name of 'LWJGL' nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
package org.lwjgl.opencl;
|
|
|
|
import org.lwjgl.PointerBuffer;
|
|
import org.lwjgl.util.generator.*;
|
|
import org.lwjgl.util.generator.opencl.*;
|
|
|
|
import java.nio.Buffer;
|
|
import java.nio.ByteBuffer;
|
|
import java.nio.IntBuffer;
|
|
|
|
/** The core OpenCL 1.0 API */
|
|
public interface CL10 {
|
|
|
|
/** Error Codes */
|
|
int CL_SUCCESS = 0,
|
|
CL_DEVICE_NOT_FOUND = -1,
|
|
CL_DEVICE_NOT_AVAILABLE = -2,
|
|
CL_COMPILER_NOT_AVAILABLE = -3,
|
|
CL_MEM_OBJECT_ALLOCATION_FAILURE = -4,
|
|
CL_OUT_OF_RESOURCES = -5,
|
|
CL_OUT_OF_HOST_MEMORY = -6,
|
|
CL_PROFILING_INFO_NOT_AVAILABLE = -7,
|
|
CL_MEM_COPY_OVERLAP = -8,
|
|
CL_IMAGE_FORMAT_MISMATCH = -9,
|
|
CL_IMAGE_FORMAT_NOT_SUPPORTED = -10,
|
|
CL_BUILD_PROGRAM_FAILURE = -11,
|
|
CL_MAP_FAILURE = -12,
|
|
|
|
CL_INVALID_VALUE = -30,
|
|
CL_INVALID_DEVICE_TYPE = -31,
|
|
CL_INVALID_PLATFORM = -32,
|
|
CL_INVALID_DEVICE = -33,
|
|
CL_INVALID_CONTEXT = -34,
|
|
CL_INVALID_QUEUE_PROPERTIES = -35,
|
|
CL_INVALID_COMMAND_QUEUE = -36,
|
|
CL_INVALID_HOST_PTR = -37,
|
|
CL_INVALID_MEM_OBJECT = -38,
|
|
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR = -39,
|
|
CL_INVALID_IMAGE_SIZE = -40,
|
|
CL_INVALID_SAMPLER = -41,
|
|
CL_INVALID_BINARY = -42,
|
|
CL_INVALID_BUILD_OPTIONS = -43,
|
|
CL_INVALID_PROGRAM = -44,
|
|
CL_INVALID_PROGRAM_EXECUTABLE = -45,
|
|
CL_INVALID_KERNEL_NAME = -46,
|
|
CL_INVALID_KERNEL_DEFINITION = -47,
|
|
CL_INVALID_KERNEL = -48,
|
|
CL_INVALID_ARG_INDEX = -49,
|
|
CL_INVALID_ARG_VALUE = -50,
|
|
CL_INVALID_ARG_SIZE = -51,
|
|
CL_INVALID_KERNEL_ARGS = -52,
|
|
CL_INVALID_WORK_DIMENSION = -53,
|
|
CL_INVALID_WORK_GROUP_SIZE = -54,
|
|
CL_INVALID_WORK_ITEM_SIZE = -55,
|
|
CL_INVALID_GLOBAL_OFFSET = -56,
|
|
CL_INVALID_EVENT_WAIT_LIST = -57,
|
|
CL_INVALID_EVENT = -58,
|
|
CL_INVALID_OPERATION = -59,
|
|
CL_INVALID_GL_OBJECT = -60,
|
|
CL_INVALID_BUFFER_SIZE = -61,
|
|
CL_INVALID_MIP_LEVEL = -62,
|
|
CL_INVALID_GLOBAL_WORK_SIZE = -63;
|
|
|
|
/** OpenCL Version */
|
|
int CL_VERSION_1_0 = 1;
|
|
|
|
/** cl_bool */
|
|
int CL_FALSE = 0,
|
|
CL_TRUE = 1;
|
|
|
|
/** cl_platform_info */
|
|
int CL_PLATFORM_PROFILE = 0x0900,
|
|
CL_PLATFORM_VERSION = 0x0901,
|
|
CL_PLATFORM_NAME = 0x0902,
|
|
CL_PLATFORM_VENDOR = 0x0903,
|
|
CL_PLATFORM_EXTENSIONS = 0x0904;
|
|
|
|
/** cl_device_type - bitfield */
|
|
int CL_DEVICE_TYPE_DEFAULT = (1 << 0),
|
|
CL_DEVICE_TYPE_CPU = (1 << 1),
|
|
CL_DEVICE_TYPE_GPU = (1 << 2),
|
|
CL_DEVICE_TYPE_ACCELERATOR = (1 << 3),
|
|
CL_DEVICE_TYPE_ALL = 0xFFFFFFFF;
|
|
|
|
/** cl_device_info */
|
|
int CL_DEVICE_TYPE = 0x1000,
|
|
CL_DEVICE_VENDOR_ID = 0x1001,
|
|
CL_DEVICE_MAX_COMPUTE_UNITS = 0x1002,
|
|
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 0x1003,
|
|
CL_DEVICE_MAX_WORK_GROUP_SIZE = 0x1004,
|
|
CL_DEVICE_MAX_WORK_ITEM_SIZES = 0x1005,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR = 0x1006,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = 0x1007,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_ = 0x1008,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG = 0x1009,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 0x100A,
|
|
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = 0x100B,
|
|
CL_DEVICE_MAX_CLOCK_FREQUENCY = 0x100C,
|
|
CL_DEVICE_ADDRESS_BITS = 0x100D,
|
|
CL_DEVICE_MAX_READ_IMAGE_ARGS = 0x100E,
|
|
CL_DEVICE_MAX_WRITE_IMAGE_ARGS = 0x100F,
|
|
CL_DEVICE_MAX_MEM_ALLOC_SIZE = 0x1010,
|
|
CL_DEVICE_IMAGE2D_MAX_WIDTH = 0x1011,
|
|
CL_DEVICE_IMAGE2D_MAX_HEIGHT = 0x1012,
|
|
CL_DEVICE_IMAGE3D_MAX_WIDTH = 0x1013,
|
|
CL_DEVICE_IMAGE3D_MAX_HEIGHT = 0x1014,
|
|
CL_DEVICE_IMAGE3D_MAX_DEPTH = 0x1015,
|
|
CL_DEVICE_IMAGE_SUPPORT = 0x1016,
|
|
CL_DEVICE_MAX_PARAMETER_SIZE = 0x1017,
|
|
CL_DEVICE_MAX_SAMPLERS = 0x1018,
|
|
CL_DEVICE_MEM_BASE_ADDR_ALIGN = 0x1019,
|
|
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE = 0x101A,
|
|
CL_DEVICE_SINGLE_FP_CONFIG = 0x101B,
|
|
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE = 0x101C,
|
|
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = 0x101D,
|
|
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = 0x101E,
|
|
CL_DEVICE_GLOBAL_MEM_SIZE = 0x101F,
|
|
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = 0x1020,
|
|
CL_DEVICE_MAX_CONSTANT_ARGS = 0x1021,
|
|
CL_DEVICE_LOCAL_MEM_TYPE = 0x1022,
|
|
CL_DEVICE_LOCAL_MEM_SIZE = 0x1023,
|
|
CL_DEVICE_ERROR_CORRECTION_SUPPORT = 0x1024,
|
|
CL_DEVICE_PROFILING_TIMER_RESOLUTION = 0x1025,
|
|
CL_DEVICE_ENDIAN_LITTLE = 0x1026,
|
|
CL_DEVICE_AVAILABLE = 0x1027,
|
|
CL_DEVICE_COMPILER_AVAILABLE = 0x1028,
|
|
CL_DEVICE_EXECUTION_CAPABILITIES = 0x1029,
|
|
CL_DEVICE_QUEUE_PROPERTIES = 0x102A,
|
|
CL_DEVICE_NAME = 0x102B,
|
|
CL_DEVICE_VENDOR = 0x102C,
|
|
CL_DRIVER_VERSION = 0x102D,
|
|
CL_DEVICE_PROFILE = 0x102E,
|
|
CL_DEVICE_VERSION = 0x102F,
|
|
CL_DEVICE_EXTENSIONS = 0x1030,
|
|
CL_DEVICE_PLATFORM = 0x1031;
|
|
/* 0x1032 reserved for CL_DEVICE_DOUBLE_FP_CONFIG */
|
|
/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */
|
|
|
|
/** cl_device_fp_config - bitfield */
|
|
int CL_FP_DENORM = (1 << 0),
|
|
CL_FP_INF_NAN = (1 << 1),
|
|
CL_FP_ROUND_TO_NEAREST = (1 << 2),
|
|
CL_FP_ROUND_TO_ZERO = (1 << 3),
|
|
CL_FP_ROUND_TO_INF = (1 << 4),
|
|
CL_FP_FMA = (1 << 5);
|
|
|
|
/** cl_device_mem_cache_type */
|
|
int CL_NONE = 0x0,
|
|
CL_READ_ONLY_CACHE = 0x1,
|
|
CL_READ_WRITE_CACHE = 0x2;
|
|
|
|
/** cl_device_local_mem_type */
|
|
int CL_LOCAL = 0x1,
|
|
CL_GLOBAL = 0x2;
|
|
|
|
/** cl_device_exec_capabilities - bitfield */
|
|
int CL_EXEC_KERNEL = (1 << 0),
|
|
CL_EXEC_NATIVE_KERNEL = (1 << 1);
|
|
|
|
/** cl_command_queue_properties - bitfield */
|
|
int CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE = (1 << 0),
|
|
CL_QUEUE_PROFILING_ENABLE = (1 << 1);
|
|
|
|
/** cl_context_info */
|
|
int CL_CONTEXT_REFERENCE_COUNT = 0x1080,
|
|
CL_CONTEXT_DEVICES = 0x1081,
|
|
CL_CONTEXT_PROPERTIES = 0x1082;
|
|
|
|
/** cl_context_info + cl_context_properties */
|
|
int CL_CONTEXT_PLATFORM = 0x1084;
|
|
|
|
/** cl_command_queue_info */
|
|
int CL_QUEUE_CONTEXT = 0x1090,
|
|
CL_QUEUE_DEVICE = 0x1091,
|
|
CL_QUEUE_REFERENCE_COUNT = 0x1092,
|
|
CL_QUEUE_PROPERTIES = 0x1093;
|
|
|
|
/** cl_mem_flags - bitfield */
|
|
int CL_MEM_READ_WRITE = (1 << 0),
|
|
CL_MEM_WRITE_ONLY = (1 << 1),
|
|
CL_MEM_READ_ONLY = (1 << 2),
|
|
CL_MEM_USE_HOST_PTR = (1 << 3),
|
|
CL_MEM_ALLOC_HOST_PTR = (1 << 4),
|
|
CL_MEM_COPY_HOST_PTR = (1 << 5);
|
|
|
|
/** cl_channel_order */
|
|
int CL_R = 0x10B0,
|
|
CL_A = 0x10B1,
|
|
CL_RG = 0x10B2,
|
|
CL_RA = 0x10B3,
|
|
CL_RGB = 0x10B4,
|
|
CL_RGBA = 0x10B5,
|
|
CL_BGRA = 0x10B6,
|
|
CL_ARGB = 0x10B7,
|
|
CL_INTENSITY = 0x10B8,
|
|
CL_LUMINANCE = 0x10B9;
|
|
|
|
/** cl_channel_type */
|
|
int CL_SNORM_INT8 = 0x10D0,
|
|
CL_SNORM_INT16 = 0x10D1,
|
|
CL_UNORM_INT8 = 0x10D2,
|
|
CL_UNORM_INT16 = 0x10D3,
|
|
CL_UNORM_SHORT_565 = 0x10D4,
|
|
CL_UNORM_SHORT_555 = 0x10D5,
|
|
CL_UNORM_INT_101010 = 0x10D6,
|
|
CL_SIGNED_INT8 = 0x10D7,
|
|
CL_SIGNED_INT16 = 0x10D8,
|
|
CL_SIGNED_INT32 = 0x10D9,
|
|
CL_UNSIGNED_INT8 = 0x10DA,
|
|
CL_UNSIGNED_INT16 = 0x10DB,
|
|
CL_UNSIGNED_INT32 = 0x10DC,
|
|
CL_HALF_FLOAT = 0x10DD,
|
|
CL_FLOAT = 0x10DE;
|
|
|
|
/** cl_mem_object_type */
|
|
int CL_MEM_OBJECT_BUFFER = 0x10F0,
|
|
CL_MEM_OBJECT_IMAGE2D = 0x10F1,
|
|
CL_MEM_OBJECT_IMAGE3D = 0x10F2;
|
|
|
|
/** cl_mem_info */
|
|
int CL_MEM_TYPE = 0x1100,
|
|
CL_MEM_FLAGS = 0x1101,
|
|
CL_MEM_SIZE = 0x1102,
|
|
CL_MEM_HOST_PTR = 0x1103,
|
|
CL_MEM_MAP_COUNT = 0x1104,
|
|
CL_MEM_REFERENCE_COUNT = 0x1105,
|
|
CL_MEM_CONTEXT = 0x1106;
|
|
|
|
/** cl_image_info */
|
|
int CL_IMAGE_FORMAT = 0x1110,
|
|
CL_IMAGE_ELEMENT_SIZE = 0x1111,
|
|
CL_IMAGE_ROW_PITCH = 0x1112,
|
|
CL_IMAGE_SLICE_PITCH = 0x1113,
|
|
CL_IMAGE_WIDTH = 0x1114,
|
|
CL_IMAGE_HEIGHT = 0x1115,
|
|
CL_IMAGE_DEPTH = 0x1116;
|
|
|
|
/** cl_addressing_mode */
|
|
int CL_ADDRESS_NONE = 0x1130,
|
|
CL_ADDRESS_CLAMP_TO_EDGE = 0x1131,
|
|
CL_ADDRESS_CLAMP = 0x1132,
|
|
CL_ADDRESS_REPEAT = 0x1133;
|
|
|
|
/** cl_filter_mode */
|
|
int CL_FILTER_NEAREST = 0x1140,
|
|
CL_FILTER_LINEAR = 0x1141;
|
|
|
|
/** cl_sampler_info */
|
|
int CL_SAMPLER_REFERENCE_COUNT = 0x1150,
|
|
CL_SAMPLER_CONTEXT = 0x1151,
|
|
CL_SAMPLER_NORMALIZED_COORDS = 0x1152,
|
|
CL_SAMPLER_ADDRESSING_MODE = 0x1153,
|
|
CL_SAMPLER_FILTER_MODE = 0x1154;
|
|
|
|
/** cl_map_flags - bitfield */
|
|
int CL_MAP_READ = (1 << 0),
|
|
CL_MAP_WRITE = (1 << 1);
|
|
|
|
/** cl_program_info */
|
|
int CL_PROGRAM_REFERENCE_COUNT = 0x1160,
|
|
CL_PROGRAM_CONTEXT = 0x1161,
|
|
CL_PROGRAM_NUM_DEVICES = 0x1162,
|
|
CL_PROGRAM_DEVICES = 0x1163,
|
|
CL_PROGRAM_SOURCE = 0x1164,
|
|
CL_PROGRAM_BINARY_SIZES = 0x1165,
|
|
CL_PROGRAM_BINARIES = 0x1166;
|
|
|
|
/** cl_program_build_info */
|
|
int CL_PROGRAM_BUILD_STATUS = 0x1181,
|
|
CL_PROGRAM_BUILD_OPTIONS = 0x1182,
|
|
CL_PROGRAM_BUILD_LOG = 0x1183;
|
|
|
|
/** cl_build_status */
|
|
int CL_BUILD_SUCCESS = 0,
|
|
CL_BUILD_NONE = -1,
|
|
CL_BUILD_ERROR = -2,
|
|
CL_BUILD_IN_PROGRESS = -3;
|
|
|
|
/** cl_kernel_info */
|
|
int CL_KERNEL_FUNCTION_NAME = 0x1190,
|
|
CL_KERNEL_NUM_ARGS = 0x1191,
|
|
CL_KERNEL_REFERENCE_COUNT = 0x1192,
|
|
CL_KERNEL_CONTEXT = 0x1193,
|
|
CL_KERNEL_PROGRAM = 0x1194;
|
|
|
|
/** cl_kernel_work_group_info */
|
|
int CL_KERNEL_WORK_GROUP_SIZE = 0x11B0,
|
|
CL_KERNEL_COMPILE_WORK_GROUP_SIZE = 0x11B1,
|
|
CL_KERNEL_LOCAL_MEM_SIZE = 0x11B2;
|
|
|
|
/** cl_event_info */
|
|
int CL_EVENT_COMMAND_QUEUE = 0x11D0,
|
|
CL_EVENT_COMMAND_TYPE = 0x11D1,
|
|
CL_EVENT_REFERENCE_COUNT = 0x11D2,
|
|
CL_EVENT_COMMAND_EXECUTION_STATUS = 0x11D3;
|
|
|
|
/** cl_command_type */
|
|
int CL_COMMAND_NDRANGE_KERNEL = 0x11F0,
|
|
CL_COMMAND_TASK = 0x11F1,
|
|
CL_COMMAND_NATIVE_KERNEL = 0x11F2,
|
|
CL_COMMAND_READ_BUFFER = 0x11F3,
|
|
CL_COMMAND_WRITE_BUFFER = 0x11F4,
|
|
CL_COMMAND_COPY_BUFFER = 0x11F5,
|
|
CL_COMMAND_READ_IMAGE = 0x11F6,
|
|
CL_COMMAND_WRITE_IMAGE = 0x11F7,
|
|
CL_COMMAND_COPY_IMAGE = 0x11F8,
|
|
CL_COMMAND_COPY_IMAGE_TO_BUFFER = 0x11F9,
|
|
CL_COMMAND_COPY_BUFFER_TO_IMAGE = 0x11FA,
|
|
CL_COMMAND_MAP_BUFFER = 0x11FB,
|
|
CL_COMMAND_MAP_IMAGE = 0x11FC,
|
|
CL_COMMAND_UNMAP_MEM_OBJECT = 0x11FD,
|
|
CL_COMMAND_MARKER = 0x11FE,
|
|
CL_COMMAND_ACQUIRE_GL_OBJECTS = 0x11FF,
|
|
CL_COMMAND_RELEASE_GL_OBJECTS = 0x1200;
|
|
|
|
/** command execution status */
|
|
int CL_COMPLETE = 0x0,
|
|
CL_RUNNING = 0x1,
|
|
CL_SUBMITTED = 0x2,
|
|
CL_QUEUED = 0x3;
|
|
|
|
/** cl_profiling_info */
|
|
int CL_PROFILING_COMMAND_QUEUED = 0x1280,
|
|
CL_PROFILING_COMMAND_SUBMIT = 0x1281,
|
|
CL_PROFILING_COMMAND_START = 0x1282,
|
|
CL_PROFILING_COMMAND_END = 0x1283;
|
|
|
|
/* Platform API */
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\tif ( num_platforms == null ) num_platforms = APIUtil.getBufferInt();",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS && platforms != null ) CLPlatform.registerCLPlatforms(platforms, num_platforms);"
|
|
)
|
|
@cl_int
|
|
int clGetPlatformIDs(@AutoSize(value = "platforms", canBeNull = true) @cl_uint int num_entries,
|
|
@OutParameter @Check(canBeNull = true) @NativeType("cl_platform_id") PointerBuffer platforms,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_uint IntBuffer num_platforms);
|
|
|
|
@cl_int
|
|
int clGetPlatformInfo(@PointerWrapper(value = "cl_platform_id", canBeNull = true) CLPlatform platform,
|
|
@NativeType("cl_platform_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\telse\n" +
|
|
"\t\t\tnum_devices = APIUtil.getBufferInt();",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS && devices != null ) platform.registerCLDevices(devices, num_devices);"
|
|
)
|
|
@cl_int
|
|
int clGetDeviceIDs(@PointerWrapper("cl_platform_id") CLPlatform platform,
|
|
@NativeType("cl_device_type") long device_type,
|
|
@AutoSize(value = "devices", canBeNull = true) @cl_uint int num_entries,
|
|
@OutParameter @Check(canBeNull = true) @NativeType("cl_device_id") PointerBuffer devices,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_uint IntBuffer num_devices);
|
|
|
|
@cl_int
|
|
int clGetDeviceInfo(@PointerWrapper("cl_device_id") CLDevice device,
|
|
@NativeType("cl_device_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
/** LWJGL requires CL_CONTEXT_PLATFORM to be present in the cl_context_properties buffer. */
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = pfn_notify == null || pfn_notify.isCustom() ? 0 : CallbackUtil.createGlobalRef(pfn_notify);",
|
|
// Associate context with the GlobalRef, so we can delete it later.
|
|
javaFinally = "\t\t\tif ( __result != null ) __result.setContextCallback(user_data);"
|
|
)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_context", params = "APIUtil.getCLPlatform(properties)")
|
|
CLContext clCreateContext(@NullTerminated @Check("3") @Const @NativeType("cl_context_properties") PointerBuffer properties,
|
|
@AutoSize("devices") @cl_uint int num_devices,
|
|
@Check("1") @Const @NativeType("cl_device_id") PointerBuffer devices,
|
|
@PointerWrapper(value = "cl_create_context_callback", canBeNull = true) CLContextCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
/** LWJGL requires CL_CONTEXT_PLATFORM to be present in the cl_context_properties buffer. */
|
|
@Alternate("clCreateContext")
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = pfn_notify == null || pfn_notify.isCustom() ? 0 : CallbackUtil.createGlobalRef(pfn_notify);",
|
|
// Associate context with the GlobalRef, so we can delete it later.
|
|
javaFinally = "\t\t\tif ( __result != null ) __result.setContextCallback(user_data);"
|
|
)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_context", params = "APIUtil.getCLPlatform(properties)")
|
|
CLContext clCreateContext(@NullTerminated @Check("3") @Const @NativeType("cl_context_properties") PointerBuffer properties,
|
|
@Constant("1") @cl_uint int num_devices,
|
|
@Constant(value = "APIUtil.getPointer(device)", keepParam = true) CLDevice device,
|
|
@PointerWrapper(value = "cl_create_context_callback", canBeNull = true) CLContextCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
/** LWJGL requires CL_CONTEXT_PLATFORM to be present in the cl_context_properties buffer. */
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = pfn_notify == null || pfn_notify.isCustom() ? 0 : CallbackUtil.createGlobalRef(pfn_notify);",
|
|
// Associate context with the GlobalRef, so we can delete it later.
|
|
javaFinally = "\t\t\tif ( __result != null ) __result.setContextCallback(user_data);"
|
|
)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_context", params = "APIUtil.getCLPlatform(properties)")
|
|
CLContext clCreateContextFromType(@NullTerminated @Check("3") @Const @NativeType("cl_context_properties") PointerBuffer properties,
|
|
@NativeType("cl_device_type") long device_type,
|
|
@PointerWrapper(value = "cl_create_context_callback", canBeNull = true) CLContextCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) context.retain();")
|
|
@cl_int
|
|
int clRetainContext(@PointerWrapper("cl_context") CLContext context);
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\tAPIUtil.releaseObjects(context);",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) context.releaseImpl();"
|
|
)
|
|
@cl_int
|
|
int clReleaseContext(@PointerWrapper("cl_context") CLContext context);
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\tif ( param_value_size_ret == null && APIUtil.isDevicesParam(param_name) ) param_value_size_ret = APIUtil.getBufferPointer();",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS && param_value != null && APIUtil.isDevicesParam(param_name) ) context.getParent().registerCLDevices(param_value, param_value_size_ret);"
|
|
)
|
|
@cl_int
|
|
int clGetContextInfo(@PointerWrapper("cl_context") CLContext context,
|
|
@NativeType("cl_context_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_command_queue", params = "context, device")
|
|
CLCommandQueue clCreateCommandQueue(@PointerWrapper("cl_context") CLContext context,
|
|
@PointerWrapper("cl_device_id") CLDevice device,
|
|
@NativeType("cl_command_queue_properties") long properties,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.retain();")
|
|
@cl_int
|
|
int clRetainCommandQueue(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue);
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\tAPIUtil.releaseObjects(command_queue);",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.release();"
|
|
)
|
|
@cl_int
|
|
int clReleaseCommandQueue(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue);
|
|
|
|
@cl_int
|
|
int clGetCommandQueueInfo(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@NativeType("cl_command_queue_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@GenerateAutos
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_mem", params = "context")
|
|
CLMem clCreateBuffer(@PointerWrapper("cl_context") CLContext context,
|
|
@NativeType("cl_mem_flags") long flags,
|
|
@AutoSize("host_ptr") @size_t long size,
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_long
|
|
@cl_float
|
|
@cl_double Buffer host_ptr,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueReadBuffer(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem buffer,
|
|
@cl_bool int blocking_read,
|
|
@size_t long offset,
|
|
@AutoSize("ptr") @size_t long size,
|
|
@OutParameter
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_long
|
|
@cl_float
|
|
@cl_double Buffer ptr,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueWriteBuffer(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem buffer,
|
|
@cl_bool int blocking_write,
|
|
@size_t long offset,
|
|
@AutoSize("ptr") @size_t long size,
|
|
@Const
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_long
|
|
@cl_float
|
|
@cl_double Buffer ptr,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueCopyBuffer(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem src_buffer,
|
|
@PointerWrapper("cl_mem") CLMem dst_buffer,
|
|
@size_t long src_offset,
|
|
@size_t long dst_offset,
|
|
@size_t long size,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result != null ) command_queue.registerCLEvent(event);")
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@cl_void
|
|
@AutoSize("size")
|
|
ByteBuffer clEnqueueMapBuffer(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem buffer,
|
|
@cl_bool int blocking_map,
|
|
@NativeType("cl_map_flags") long map_flags,
|
|
@size_t long offset,
|
|
@size_t long size,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_mem", params = "context")
|
|
CLMem clCreateImage2D(@PointerWrapper("cl_context") CLContext context,
|
|
@NativeType("cl_mem_flags") long flags,
|
|
@Check("2 * 4") @Const @NativeType("cl_image_format") ByteBuffer image_format,
|
|
@size_t long image_width,
|
|
@size_t long image_height,
|
|
@size_t long image_row_pitch,
|
|
@Check(value = "CLChecks.calculateImage2DSize(host_ptr, image_format, image_width, image_height, image_row_pitch)", canBeNull = true)
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_float Buffer host_ptr,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_mem", params = "context")
|
|
CLMem clCreateImage3D(@PointerWrapper("cl_context") CLContext context,
|
|
@NativeType("cl_mem_flags") long flags,
|
|
@Check("2 * 4") @Const @NativeType("cl_image_format") ByteBuffer image_format,
|
|
@size_t long image_width,
|
|
@size_t long image_height,
|
|
@size_t long image_depth,
|
|
@size_t long image_row_pitch,
|
|
@size_t long image_slice_pitch,
|
|
@Check(value = "CLChecks.calculateImage3DSize(host_ptr, image_format, image_width, image_height, image_height, image_row_pitch, image_slice_pitch)", canBeNull = true)
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_float Buffer host_ptr,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@cl_int
|
|
int clGetSupportedImageFormats(@PointerWrapper("cl_context") CLContext context,
|
|
@NativeType("cl_mem_flags") long flags,
|
|
@NativeType("cl_mem_object_type") int image_type,
|
|
@AutoSize(value = "image_formats", expression = " / (2 * 4)", canBeNull = true) @cl_uint int num_entries,
|
|
@OutParameter @Check(canBeNull = true) @NativeType("cl_image_format") ByteBuffer image_formats,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_uint IntBuffer num_image_formats);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueReadImage(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem image,
|
|
@cl_bool int blocking_read,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@size_t long row_pitch,
|
|
@size_t long slice_pitch,
|
|
@OutParameter @Check("CLChecks.calculateImageSize(region, row_pitch, slice_pitch)")
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_float Buffer ptr,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueWriteImage(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem image,
|
|
@cl_bool int blocking_write,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@size_t long input_row_pitch,
|
|
@size_t long input_slice_pitch,
|
|
@Check("CLChecks.calculateImageSize(region, input_row_pitch, input_slice_pitch)") @Const
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_float Buffer ptr,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueCopyImage(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem src_image,
|
|
@PointerWrapper("cl_mem") CLMem dst_image,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer src_origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer dst_origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueCopyImageToBuffer(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem src_image,
|
|
@PointerWrapper("cl_mem") CLMem dst_buffer,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer src_origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@size_t long dst_offset,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueCopyBufferToImage(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem src_buffer,
|
|
@PointerWrapper("cl_mem") CLMem dst_image,
|
|
@size_t long src_offset,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer dst_origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result != null ) command_queue.registerCLEvent(event);")
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@cl_void
|
|
@AutoSize(value = "extcl_CalculateImageSize(region_address, *image_row_pitch_address, image_slice_pitch_address == NULL ? 0 : *image_slice_pitch_address)", isNative = true)
|
|
ByteBuffer clEnqueueMapImage(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem image,
|
|
@cl_bool int blocking_map,
|
|
@NativeType("cl_map_flags") long map_flags,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer origin,
|
|
@Check("3") @Const @NativeType("size_t") PointerBuffer region,
|
|
@OutParameter @Check("1") @NativeType("size_t") PointerBuffer image_row_pitch,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer image_slice_pitch,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@cl_int
|
|
int clGetImageInfo(@PointerWrapper("cl_mem") CLMem image,
|
|
@NativeType("cl_image_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) memobj.retain();")
|
|
@cl_int
|
|
int clRetainMemObject(@PointerWrapper("cl_mem") CLMem memobj);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) memobj.release();")
|
|
@cl_int
|
|
int clReleaseMemObject(@PointerWrapper("cl_mem") CLMem memobj);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueUnmapMemObject(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_mem") CLMem memobj,
|
|
@Check @cl_void ByteBuffer mapped_ptr,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@cl_int
|
|
int clGetMemObjectInfo(@PointerWrapper("cl_mem") CLMem memobj,
|
|
@NativeType("cl_mem_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_sampler", params = "context")
|
|
CLSampler clCreateSampler(@PointerWrapper("cl_context") CLContext context,
|
|
@cl_bool int normalized_coords,
|
|
@NativeType("cl_addressing_mode") int addressing_mode,
|
|
@NativeType("cl_filter_mode") int filter_mode,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) sampler.retain();")
|
|
@cl_int
|
|
int clRetainSampler(@PointerWrapper("cl_sampler") CLSampler sampler);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) sampler.release();")
|
|
@cl_int
|
|
int clReleaseSampler(@PointerWrapper("cl_sampler") CLSampler sampler);
|
|
|
|
@cl_int
|
|
int clGetSamplerInfo(@PointerWrapper("cl_sampler") CLSampler sampler,
|
|
@NativeType("cl_sampler_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
// ------[ clCreateProgramWithSource ]------
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithSource(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("1") @cl_uint int count,
|
|
@Check @Indirect @Const @cl_char ByteBuffer string,
|
|
@AutoSize("string") @Indirect @Const @size_t long lengths,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate(value = "clCreateProgramWithSource", nativeAlt = true)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithSource2(@PointerWrapper("cl_context") CLContext context,
|
|
@AutoSize("lengths") @cl_uint int count,
|
|
@Check("APIUtil.getSize(lengths)") @PointerArray(value = "count", lengths = "lengths") @Const @NativeType("cl_char") ByteBuffer strings,
|
|
@Check("1") @Const @NativeType("size_t") PointerBuffer lengths,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate(value = "clCreateProgramWithSource", nativeAlt = true)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithSource3(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("strings.length") @cl_uint int count,
|
|
@Check("1") @PointerArray(value = "count") @Const @NativeType("cl_char") ByteBuffer[] strings,
|
|
@Constant("APIUtil.getLengths(strings)") @Const @NativeType("size_t") PointerBuffer lengths,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate("clCreateProgramWithSource")
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithSource(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("1") @cl_uint int count,
|
|
CharSequence string,
|
|
@Constant("string.length()") @Indirect @Const @size_t long lengths,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate(value = "clCreateProgramWithSource", nativeAlt = true)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithSource4(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("strings.length") @cl_uint int count,
|
|
@Const @PointerArray(value = "count", lengths = "lengths") CharSequence[] strings,
|
|
@Constant("APIUtil.getLengths(strings)") @Const @NativeType("size_t") PointerBuffer lengths,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
// ------[ clCreateProgramWithBinary ]------
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithBinary(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("1") @cl_uint int num_devices,
|
|
@Const @Indirect @PointerWrapper("cl_device_id") CLDevice device,
|
|
@AutoSize("binary") @Const @Indirect @size_t long lengths,
|
|
@Const @Indirect @cl_uchar ByteBuffer binary,
|
|
@OutParameter @Check("1") @cl_int IntBuffer binary_status,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate(value = "clCreateProgramWithBinary", nativeAlt = true)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithBinary2(@PointerWrapper("cl_context") CLContext context,
|
|
@AutoSize("device_list") @cl_uint int num_devices,
|
|
@Check("1") @Const @NativeType("cl_device_id") PointerBuffer device_list,
|
|
@Check("device_list.remaining()") @Const @NativeType("size_t") PointerBuffer lengths,
|
|
@Check("APIUtil.getSize(lengths)") @PointerArray(value = "num_devices", lengths = "lengths") @Const @NativeType("cl_uchar") ByteBuffer binaries,
|
|
@OutParameter @Check("device_list.remaining()") @cl_int IntBuffer binary_status,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate(value = "clCreateProgramWithBinary", nativeAlt = true)
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_program", params = "context")
|
|
CLProgram clCreateProgramWithBinary3(@PointerWrapper("cl_context") CLContext context,
|
|
@Constant("binaries.length") @cl_uint int num_devices,
|
|
@Check("binaries.length") @Const @NativeType("cl_device_id") PointerBuffer device_list,
|
|
@Constant("APIUtil.getLengths(binaries)") @Const @NativeType("size_t") PointerBuffer lengths,
|
|
@Check("1") @PointerArray("num_devices") @Const @NativeType("cl_uchar") ByteBuffer[] binaries,
|
|
@OutParameter @Check("binaries.length") @cl_int IntBuffer binary_status,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) program.retain();")
|
|
@cl_int
|
|
int clRetainProgram(@PointerWrapper("cl_program") CLProgram program);
|
|
|
|
@Code(
|
|
javaBeforeNative = "\t\tAPIUtil.releaseObjects(program);",
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) program.release();"
|
|
)
|
|
@cl_int
|
|
int clReleaseProgram(@PointerWrapper("cl_program") CLProgram program);
|
|
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = CallbackUtil.createGlobalRef(pfn_notify);\n" +
|
|
"\t\tif ( pfn_notify != null ) pfn_notify.setContext(program.getParent());",
|
|
// Check if we need to delete the GlobalRef.
|
|
javaFinally = "\t\t\tCallbackUtil.checkCallback(__result, user_data);"
|
|
)
|
|
@cl_int
|
|
int clBuildProgram(@PointerWrapper("cl_program") CLProgram program,
|
|
@AutoSize(value = "device_list", canBeNull = true) @cl_uint int num_devices,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_device_id") PointerBuffer device_list,
|
|
@Check @NullTerminated @Const @cl_char ByteBuffer options,
|
|
@PointerWrapper(value = "cl_program_callback", canBeNull = true) CLBuildProgramCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data);
|
|
|
|
@Alternate("clBuildProgram")
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = CallbackUtil.createGlobalRef(pfn_notify);\n" +
|
|
"\t\tif ( pfn_notify != null ) pfn_notify.setContext(program.getParent());",
|
|
// Check if we need to delete the GlobalRef.
|
|
javaFinally = "\t\t\tCallbackUtil.checkCallback(__result, user_data);"
|
|
)
|
|
@cl_int
|
|
int clBuildProgram(@PointerWrapper("cl_program") CLProgram program,
|
|
@AutoSize(value = "device_list", canBeNull = true) @cl_uint int num_devices,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_device_id") PointerBuffer device_list,
|
|
@NullTerminated @Const CharSequence options,
|
|
@PointerWrapper(value = "cl_program_callback", canBeNull = true) CLBuildProgramCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data);
|
|
|
|
@Alternate("clBuildProgram")
|
|
@Code(
|
|
tryBlock = true,
|
|
// Create a GlobalRef to the callback object.
|
|
javaBeforeNative = "\t\tlong user_data = CallbackUtil.createGlobalRef(pfn_notify);\n" +
|
|
"\t\tif ( pfn_notify != null ) pfn_notify.setContext(program.getParent());",
|
|
// Check if we need to delete the GlobalRef.
|
|
javaFinally = "\t\t\tCallbackUtil.checkCallback(__result, user_data);"
|
|
)
|
|
@cl_int
|
|
int clBuildProgram(@PointerWrapper("cl_program") CLProgram program,
|
|
@Constant("1") @cl_uint int num_devices,
|
|
@Constant(value = "APIUtil.getPointer(device)", keepParam = true) CLDevice device,
|
|
@NullTerminated @Const CharSequence options,
|
|
@PointerWrapper(value = "cl_program_callback", canBeNull = true) CLBuildProgramCallback pfn_notify,
|
|
@Constant("user_data") @PointerWrapper("void *") long user_data);
|
|
|
|
@cl_int
|
|
int clUnloadCompiler();
|
|
|
|
@cl_int
|
|
int clGetProgramInfo(@PointerWrapper("cl_program") CLProgram program,
|
|
@NativeType("cl_program_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
/**
|
|
* This method can be used to get program binaries. The binary for each device (in the
|
|
* order returned by <code>CL_PROGRAM_DEVICES</code>) will be written sequentially to
|
|
* the <code>param_value</code> buffer. The buffer size must be big enough to hold
|
|
* all the binaries, as returned by <code>CL_PROGRAM_BINARY_SIZES</code>.
|
|
*
|
|
* @param program the program
|
|
* @param param_value the buffers where the binaries will be written to.
|
|
* @param param_value_size_ret optional size result
|
|
*
|
|
* @return the error code
|
|
*/
|
|
@Alternate(value = "clGetProgramInfo", nativeAlt = true)
|
|
@cl_int
|
|
int clGetProgramInfo2(@PointerWrapper("cl_program") CLProgram program,
|
|
@Constant("CL_PROGRAM_BINARIES") @NativeType("cl_program_info") int param_name,
|
|
@Constant(value = "sizes_len * sizeof(cl_uchar *)", isNative = true) @size_t long param_value_size,
|
|
@Constant("sizes.remaining()") @Helper(passToNative = true) @size_t long sizes_len,
|
|
@Helper(passToNative = true) @Check("1") @Const @NativeType("size_t") PointerBuffer sizes,
|
|
@OutParameter @Check("APIUtil.getSize(sizes)") @PointerArray(value = "sizes_len", lengths = "sizes") @NativeType("cl_uchar") ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
/**
|
|
* This method can be used to get program binaries. The binary for each device (in the
|
|
* order returned by <code>CL_PROGRAM_DEVICES</code>) will be written to the corresponding
|
|
* slot of the <code>param_value</code> array. The size of each buffer must be big enough to
|
|
* hold the corresponding binary, as returned by <code>CL_PROGRAM_BINARY_SIZES</code>.
|
|
*
|
|
* @param program the program
|
|
* @param param_value the buffers where the binaries will be written to.
|
|
* @param param_value_size_ret optional size result
|
|
*
|
|
* @return the error code
|
|
*/
|
|
@Alternate(value = "clGetProgramInfo", nativeAlt = true)
|
|
@cl_int
|
|
int clGetProgramInfo3(@PointerWrapper("cl_program") CLProgram program,
|
|
@Constant("CL_PROGRAM_BINARIES") @NativeType("cl_program_info") int param_name,
|
|
@Constant(value = "param_value_len * sizeof(cl_uchar *)", isNative = true) @size_t long param_value_size,
|
|
@Constant("param_value.length") @Helper(passToNative = true) @size_t long param_value_len,
|
|
@PointerArray("param_value_len") @NativeType("cl_uchar") ByteBuffer[] param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@cl_int
|
|
int clGetProgramBuildInfo(@PointerWrapper("cl_program") CLProgram program,
|
|
@PointerWrapper("cl_device_id") CLDevice device,
|
|
@NativeType("cl_program_build_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_kernel", params = "program")
|
|
CLKernel clCreateKernel(@PointerWrapper("cl_program") CLProgram program,
|
|
@NullTerminated @Const @cl_char ByteBuffer kernel_name,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Alternate("clCreateKernel")
|
|
@Check(value = "errcode_ret", canBeNull = true)
|
|
@PointerWrapper(value = "cl_kernel", params = "program")
|
|
CLKernel clCreateKernel(@PointerWrapper("cl_program") CLProgram program,
|
|
@NullTerminated @Const CharSequence kernel_name,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_int IntBuffer errcode_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS && kernels != null ) program.registerCLKernels(kernels);")
|
|
@cl_int
|
|
int clCreateKernelsInProgram(@PointerWrapper("cl_program") CLProgram program,
|
|
@AutoSize(value = "kernels", canBeNull = true) @cl_uint int num_kernels,
|
|
@OutParameter @Check(canBeNull = true) @NativeType("cl_kernel") PointerBuffer kernels,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @cl_uint IntBuffer num_kernels_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) kernel.retain();")
|
|
@cl_int
|
|
int clRetainKernel(@PointerWrapper("cl_kernel") CLKernel kernel);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) kernel.release();")
|
|
@cl_int
|
|
int clReleaseKernel(@PointerWrapper("cl_kernel") CLKernel kernel);
|
|
|
|
@GenerateAutos
|
|
@cl_int
|
|
int clSetKernelArg(@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@cl_uint int arg_index,
|
|
@AutoSize("arg_value") @size_t long arg_size,
|
|
@Const
|
|
@cl_byte
|
|
@cl_short
|
|
@cl_int
|
|
@cl_long
|
|
@cl_float
|
|
@cl_double Buffer arg_value);
|
|
|
|
@Alternate("clSetKernelArg")
|
|
@cl_int
|
|
int clSetKernelArg(@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@cl_uint int arg_index,
|
|
@Constant("PointerBuffer.getPointerSize()") @size_t long arg_size,
|
|
@Check(canBeNull = true) @Const
|
|
@Constant(value = "APIUtil.getPointerSafe(arg_value)", keepParam = true) CLObject arg_value);
|
|
|
|
// This is used by CLKernelUtil. Assumes arg_value.position() == 0.
|
|
|
|
@Alternate("clSetKernelArg")
|
|
@Private
|
|
@cl_int
|
|
int clSetKernelArg3(@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@cl_uint int arg_index,
|
|
@size_t long arg_size,
|
|
@Constant(value = "MemoryUtil.getAddress0(arg_value)", keepParam = true) Buffer arg_value);
|
|
|
|
@cl_int
|
|
int clGetKernelInfo(@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@NativeType("cl_kernel_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@cl_int
|
|
int clGetKernelWorkGroupInfo(@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@PointerWrapper(value = "cl_device_id", canBeNull = true) CLDevice device,
|
|
@NativeType("cl_kernel_work_group_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueNDRangeKernel(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@cl_uint int work_dim,
|
|
@Check(value = "work_dim", canBeNull = true) @Const @NativeType("size_t") PointerBuffer global_work_offset,
|
|
@Check(value = "work_dim", canBeNull = true) @Const @NativeType("size_t") PointerBuffer global_work_size,
|
|
@Check(value = "work_dim", canBeNull = true) @Const @NativeType("size_t") PointerBuffer local_work_size,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueTask(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_kernel") CLKernel kernel,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
/**
|
|
* Enqueues a native kernel to the specified command queue. The <code>mem_list</code> parameter
|
|
* can be used to pass a list of <code>CLMem</code> objects that will be mapped to global memory space and
|
|
* exposed as a <code>ByteBuffer</code> array in the <code>CLNativeKernel#execute</code> method. The
|
|
* <code>sizes</code> parameter will be used to allocate direct <code>ByteBuffer</code>s with the correct
|
|
* capacities. The user is responsible for passing appropriate values to avoid crashes.
|
|
*
|
|
* @param command_queue the command queue
|
|
* @param user_func the native kernel
|
|
* @param mem_list the CLMem objects
|
|
* @param sizes the CLMem object sizes
|
|
* @param event_wait_list the event wait list
|
|
* @param event the queue event
|
|
*
|
|
* @return the error code
|
|
*/
|
|
@Code(
|
|
tryBlock = true,
|
|
// Build the args buffer and create a GlobalRef to the user_func object.
|
|
javaBeforeNative = "\t\tlong user_func_ref = CallbackUtil.createGlobalRef(user_func);\n" +
|
|
"\t\tByteBuffer args = APIUtil.getNativeKernelArgs(user_func_ref, mem_list, sizes);",
|
|
// Register CLEvent
|
|
javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);",
|
|
// Check if we need to delete the GlobalRef.
|
|
javaFinally = "\t\t\tCallbackUtil.checkCallback(__result, user_func_ref);",
|
|
nativeAfterVars = "\tvoid **args_mem_loc = num_mem_objects == 0 ? NULL : (void **)malloc(num_mem_objects * sizeof(void *));",
|
|
nativeBeforeCall = "\t_ptr_i = 0;\n" +
|
|
"\twhile ( _ptr_i < num_mem_objects ) {\n" +
|
|
"\t\targs_mem_loc[_ptr_i] = (cl_void *)((char *)args_address + (12 + 4 + _ptr_i * (4 + sizeof(void *))));\n" +
|
|
"\t\t_ptr_i++;\n" +
|
|
"\t}",
|
|
nativeAfterCall = "\tfree(args_mem_loc);"
|
|
)
|
|
@cl_int
|
|
int clEnqueueNativeKernel(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@PointerWrapper("cl_native_kernel_func") CLNativeKernel user_func,
|
|
@Constant("MemoryUtil.getAddress0(args)") @cl_void ByteBuffer args,
|
|
@AutoSize("args") @size_t long cb_args,
|
|
@Constant("mem_list == null ? 0 : mem_list.length") @cl_uint int num_mem_objects,
|
|
@Check(value = "1", canBeNull = true) @PointerArray("num_mem_objects") @Const @NativeType("cl_mem") CLMem[] mem_list,
|
|
@Check(value = "mem_list.length", canBeNull = true) @Helper long[] sizes,
|
|
@Constant(value = "(const void**)args_mem_loc", isNative = true) @Const @Indirect @cl_void ByteBuffer args_mem_loc,
|
|
@AutoSize(value = "event_wait_list", canBeNull = true) @cl_uint int num_events_in_wait_list,
|
|
@Check(canBeNull = true) @Const @NativeType("cl_event") PointerBuffer event_wait_list,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@cl_int
|
|
int clWaitForEvents(@AutoSize("event_list") @cl_uint int num_events,
|
|
@Check("1") @Const @NativeType("cl_event") PointerBuffer event_list);
|
|
|
|
@Alternate("clWaitForEvents")
|
|
@cl_int
|
|
int clWaitForEvents(@Constant("1") @cl_uint int num_events,
|
|
@Constant(value = "APIUtil.getPointer(event)", keepParam = true) CLEvent event);
|
|
|
|
@cl_int
|
|
int clGetEventInfo(@PointerWrapper("cl_event") CLEvent event,
|
|
@NativeType("cl_event_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) event.retain();")
|
|
@cl_int
|
|
int clRetainEvent(@PointerWrapper("cl_event") CLEvent event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) event.release();")
|
|
@cl_int
|
|
int clReleaseEvent(@PointerWrapper("cl_event") CLEvent event);
|
|
|
|
@Code(javaAfterNative = "\t\tif ( __result == CL_SUCCESS ) command_queue.registerCLEvent(event);")
|
|
@cl_int
|
|
int clEnqueueMarker(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@OutParameter @Check("1") @NativeType("cl_event") PointerBuffer event);
|
|
|
|
@cl_int
|
|
int clEnqueueBarrier(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue);
|
|
|
|
@cl_int
|
|
int clEnqueueWaitForEvents(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@AutoSize("event_list") @cl_uint int num_events,
|
|
@Check("1") @Const @NativeType("cl_event") PointerBuffer event_list);
|
|
|
|
@Alternate("clEnqueueWaitForEvents")
|
|
@cl_int
|
|
int clEnqueueWaitForEvents(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue,
|
|
@Constant("1") @cl_uint int num_events,
|
|
@Constant(value = "APIUtil.getPointer(event)", keepParam = true) CLEvent event);
|
|
|
|
@cl_int
|
|
int clGetEventProfilingInfo(@PointerWrapper("cl_event") CLEvent event,
|
|
@NativeType("cl_profiling_info") int param_name,
|
|
@AutoSize(value = "param_value", canBeNull = true) @size_t long param_value_size,
|
|
@OutParameter @Check(canBeNull = true) @cl_void ByteBuffer param_value,
|
|
@OutParameter @Check(value = "1", canBeNull = true) @NativeType("size_t") PointerBuffer param_value_size_ret);
|
|
|
|
@cl_int
|
|
int clFlush(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue);
|
|
|
|
@cl_int
|
|
int clFinish(@PointerWrapper("cl_command_queue") CLCommandQueue command_queue);
|
|
|
|
@Private
|
|
@PointerWrapper("void *")
|
|
CLFunctionAddress clGetExtensionFunctionAddress(@NullTerminated @Const @cl_char ByteBuffer func_name);
|
|
|
|
@Alternate("clGetExtensionFunctionAddress")
|
|
@Private
|
|
@PointerWrapper("void *")
|
|
CLFunctionAddress clGetExtensionFunctionAddress(@NullTerminated CharSequence func_name);
|
|
|
|
} |