#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum OIDNDeviceType {
DEFAULT = 0,
CPU = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum OIDNError {
NONE = 0,
UNKNOWN = 1,
INVALID_ARGUMENT = 2,
INVALID_OPERATION = 3,
OUT_OF_MEMORY = 4,
UNSUPPORTED_HARDWARE = 5,
CANCELLED = 6,
}
pub type OIDNErrorFunction = ::std::option::Option<
unsafe extern "C" fn(
userPtr: *mut ::std::os::raw::c_void,
code: OIDNError,
message: *const ::std::os::raw::c_char,
),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OIDNDeviceImpl {
_unused: [u8; 0],
}
pub type OIDNDevice = *mut OIDNDeviceImpl;
extern "C" {
pub fn oidnNewDevice(type_: OIDNDeviceType) -> OIDNDevice;
}
extern "C" {
pub fn oidnRetainDevice(device: OIDNDevice);
}
extern "C" {
pub fn oidnReleaseDevice(device: OIDNDevice);
}
extern "C" {
pub fn oidnSetDevice1b(device: OIDNDevice, name: *const ::std::os::raw::c_char, value: bool);
}
extern "C" {
pub fn oidnSetDevice1i(
device: OIDNDevice,
name: *const ::std::os::raw::c_char,
value: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn oidnGetDevice1b(device: OIDNDevice, name: *const ::std::os::raw::c_char) -> bool;
}
extern "C" {
pub fn oidnGetDevice1i(
device: OIDNDevice,
name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn oidnSetDeviceErrorFunction(
device: OIDNDevice,
func: OIDNErrorFunction,
userPtr: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn oidnGetDeviceError(
device: OIDNDevice,
outMessage: *mut *const ::std::os::raw::c_char,
) -> OIDNError;
}
extern "C" {
pub fn oidnCommitDevice(device: OIDNDevice);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum OIDNFormat {
UNDEFINED = 0,
FLOAT = 1,
FLOAT2 = 2,
FLOAT3 = 3,
FLOAT4 = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum OIDNAccess {
READ = 0,
WRITE = 1,
READ_WRITE = 2,
WRITE_DISCARD = 3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OIDNBufferImpl {
_unused: [u8; 0],
}
pub type OIDNBuffer = *mut OIDNBufferImpl;
extern "C" {
pub fn oidnNewBuffer(device: OIDNDevice, byteSize: usize) -> OIDNBuffer;
}
extern "C" {
pub fn oidnNewSharedBuffer(
device: OIDNDevice,
ptr: *mut ::std::os::raw::c_void,
byteSize: usize,
) -> OIDNBuffer;
}
extern "C" {
pub fn oidnMapBuffer(
buffer: OIDNBuffer,
access: OIDNAccess,
byteOffset: usize,
byteSize: usize,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn oidnUnmapBuffer(buffer: OIDNBuffer, mappedPtr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn oidnRetainBuffer(buffer: OIDNBuffer);
}
extern "C" {
pub fn oidnReleaseBuffer(buffer: OIDNBuffer);
}
pub type OIDNProgressMonitorFunction = ::std::option::Option<
unsafe extern "C" fn(userPtr: *mut ::std::os::raw::c_void, n: f64) -> bool,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OIDNFilterImpl {
_unused: [u8; 0],
}
pub type OIDNFilter = *mut OIDNFilterImpl;
extern "C" {
pub fn oidnNewFilter(device: OIDNDevice, type_: *const ::std::os::raw::c_char) -> OIDNFilter;
}
extern "C" {
pub fn oidnRetainFilter(filter: OIDNFilter);
}
extern "C" {
pub fn oidnReleaseFilter(filter: OIDNFilter);
}
extern "C" {
pub fn oidnSetFilterImage(
filter: OIDNFilter,
name: *const ::std::os::raw::c_char,
buffer: OIDNBuffer,
format: OIDNFormat,
width: usize,
height: usize,
byteOffset: usize,
bytePixelStride: usize,
byteRowStride: usize,
);
}
extern "C" {
pub fn oidnSetSharedFilterImage(
filter: OIDNFilter,
name: *const ::std::os::raw::c_char,
ptr: *mut ::std::os::raw::c_void,
format: OIDNFormat,
width: usize,
height: usize,
byteOffset: usize,
bytePixelStride: usize,
byteRowStride: usize,
);
}
extern "C" {
pub fn oidnSetFilter1b(filter: OIDNFilter, name: *const ::std::os::raw::c_char, value: bool);
}
extern "C" {
pub fn oidnGetFilter1b(filter: OIDNFilter, name: *const ::std::os::raw::c_char) -> bool;
}
extern "C" {
pub fn oidnSetFilter1i(
filter: OIDNFilter,
name: *const ::std::os::raw::c_char,
value: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn oidnGetFilter1i(
filter: OIDNFilter,
name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn oidnSetFilter1f(filter: OIDNFilter, name: *const ::std::os::raw::c_char, value: f32);
}
extern "C" {
pub fn oidnGetFilter1f(filter: OIDNFilter, name: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
pub fn oidnSetFilterProgressMonitorFunction(
filter: OIDNFilter,
func: OIDNProgressMonitorFunction,
userPtr: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn oidnCommitFilter(filter: OIDNFilter);
}
extern "C" {
pub fn oidnExecuteFilter(filter: OIDNFilter);
}