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