#![doc(html_root_url = "https://docs.rs/ocl/0.19.7")]
extern crate futures;
extern crate num_traits;
pub extern crate ocl_core;
pub use ocl_core as core;
pub mod r#async;
pub mod error;
mod standard;
#[cfg(test)]
mod tests;
pub use self::r#async::{
FutureMemMap, FutureReadGuard, FutureWriteGuard, MemMap, ReadGuard, RwVec, WriteGuard,
};
pub use self::standard::{
Buffer, BufferCmdError, Context, Device, Event, EventArray, EventList, Extensions, Image,
Kernel, Platform, ProQue, Program, Queue, Sampler, SpatialDims,
};
#[doc(no_inline)]
pub use crate::core::ffi;
#[doc(no_inline)]
pub use crate::core::util;
pub use crate::core::Error as OclCoreError;
#[doc(no_inline)]
pub use crate::core::{
CommandQueueProperties, DeviceType, MapFlags, MemFlags, OclPrm, OclScl, OclVec,
};
pub use crate::error::{Error, Result};
pub mod prm {
pub use crate::ffi::{
cl_bitfield, cl_bool, cl_char, cl_double, cl_float, cl_half, cl_int, cl_long, cl_short,
cl_uchar, cl_uint, cl_ulong, cl_ushort,
};
pub use crate::ffi::{cl_GLenum, cl_GLint, cl_GLuint};
pub use crate::core::{
Char, Char16, Char2, Char3, Char4, Char8, Double, Double16, Double2, Double3, Double4,
Double8, Float, Float16, Float2, Float3, Float4, Float8, Int, Int16, Int2, Int3, Int4,
Int8, Long, Long16, Long2, Long3, Long4, Long8, Short, Short16, Short2, Short3, Short4,
Short8, Uchar, Uchar16, Uchar2, Uchar3, Uchar4, Uchar8, Uint, Uint16, Uint2, Uint3, Uint4,
Uint8, Ulong, Ulong16, Ulong2, Ulong3, Ulong4, Ulong8, Ushort, Ushort16, Ushort2, Ushort3,
Ushort4, Ushort8,
};
}
pub mod traits {
pub use crate::core::{OclPrm, OclScl, OclVec};
pub use crate::standard::{IntoMarker, IntoRawEventArray, MemLen, WorkDims};
}
pub mod builders {
pub use crate::core::{ContextProperties, ImageDescriptor, ImageFormat};
pub use crate::standard::{
BufferBuilder, BufferCmd, BufferCmdDataShape, BufferCmdKind, BufferMapCmd, BufferReadCmd,
BufferWriteCmd, BuildOpt, ContextBuilder, DeviceSpecifier, ImageBuilder, ImageCmd,
ImageCmdKind, KernelBuilder, KernelCmd, ProQueBuilder, ProgramBuilder,
};
pub use crate::standard::{ClNullEventPtrEnum, ClWaitListPtrEnum};
}
pub mod flags {
pub use crate::core::{
CommandQueueProperties,
DeviceAffinityDomain,
DeviceExecCapabilities,
DeviceFpConfig,
DeviceType,
KernelArgTypeQualifier,
MapFlags,
MemFlags,
MemMigrationFlags,
ProgramBinaryType,
DEVICE_AFFINITY_DOMAIN_L1_CACHE,
DEVICE_AFFINITY_DOMAIN_L2_CACHE,
DEVICE_AFFINITY_DOMAIN_L3_CACHE,
DEVICE_AFFINITY_DOMAIN_L4_CACHE,
DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE,
DEVICE_AFFINITY_DOMAIN_NUMA,
DEVICE_TYPE_ACCELERATOR,
DEVICE_TYPE_ALL,
DEVICE_TYPE_CPU,
DEVICE_TYPE_CUSTOM,
DEVICE_TYPE_DEFAULT,
DEVICE_TYPE_GPU,
EXEC_KERNEL,
EXEC_NATIVE_KERNEL,
FP_CORRECTLY_ROUNDED_DIVIDE_SQRT,
FP_DENORM,
FP_FMA,
FP_INF_NAN,
FP_ROUND_TO_INF,
FP_ROUND_TO_NEAREST,
FP_ROUND_TO_ZERO,
FP_SOFT_FLOAT,
KERNEL_ARG_TYPE_CONST,
KERNEL_ARG_TYPE_NONE,
KERNEL_ARG_TYPE_RESTRICT,
KERNEL_ARG_TYPE_VOLATILE,
MAP_READ,
MAP_WRITE,
MAP_WRITE_INVALIDATE_REGION,
MEM_ALLOC_HOST_PTR,
MEM_COPY_HOST_PTR,
MEM_HOST_NO_ACCESS,
MEM_HOST_READ_ONLY,
MEM_HOST_WRITE_ONLY,
MEM_READ_ONLY,
MEM_READ_WRITE,
MEM_USE_HOST_PTR,
MEM_WRITE_ONLY,
MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED,
MIGRATE_MEM_OBJECT_HOST,
PROGRAM_BINARY_TYPE_COMPILED_OBJECT,
PROGRAM_BINARY_TYPE_EXECUTABLE,
PROGRAM_BINARY_TYPE_LIBRARY,
PROGRAM_BINARY_TYPE_NONE,
QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE,
QUEUE_PROFILING_ENABLE,
};
}
pub mod enums {
pub use crate::standard::{BufferCmdDataShape, BufferCmdKind, DeviceSpecifier, WriteSrc};
pub use crate::core::{
AddressingMode, BufferCreateType, Cbool, ChannelType, CommandExecutionStatus,
CommandQueueInfo, CommandType, ContextInfo, ContextInfoOrPropertiesPointerType,
ContextProperty, DeviceInfo, DeviceLocalMemType, DeviceMemCacheType,
DevicePartitionProperty, EventInfo, FilterMode, ImageChannelDataType, ImageChannelOrder,
ImageInfo, KernelArgAccessQualifier, KernelArgAddressQualifier, KernelArgInfo, KernelInfo,
KernelWorkGroupInfo, MemInfo, MemObjectType, PlatformInfo, Polling, ProfilingInfo,
ProgramBuildInfo, ProgramBuildStatus, ProgramInfo, SamplerInfo,
};
pub use crate::core::{
ArgVal, CommandQueueInfoResult, ContextInfoResult, ContextPropertyValue, DeviceInfoResult,
EventInfoResult, ImageInfoResult, KernelArgInfoResult, KernelInfoResult,
KernelWorkGroupInfoResult, MemInfoResult, PlatformInfoResult, ProfilingInfoResult,
ProgramBuildInfoResult, ProgramInfoResult, SamplerInfoResult,
};
pub use crate::core::Status;
}