12 #if defined(__cplusplus)
13 #if defined(SYCL_LANGUAGE_VERSION)
14 #include <CL/sycl.hpp>
28 @protocol MTLCommandQueue;
44 #define OIDN_UUID_SIZE 16u // size of a universally unique identifier (UUID) of a physical device
45 #define OIDN_LUID_SIZE 8u // size of a locally unique identifier (LUID) of a physical device
119 #if defined(__cplusplus)
151 OIDN_DEPRECATED(
"oidnSetDevice1b is deprecated. Use oidnSetDeviceBool instead.")
160 OIDN_DEPRECATED(
"oidnSetDevice1i is deprecated. Use oidnSetDeviceInt instead.")
175 OIDN_DEPRECATED(
"oidnGetDevice1b is deprecated. Use oidnGetDeviceBool instead.")
190 OIDN_DEPRECATED(
"oidnGetDevice1i is deprecated. Use oidnGetDeviceInt instead.")
306 int fd,
size_t byteSize);
311 void*
handle,
const void*
name,
size_t byteSize);
333 size_t byteOffset,
size_t byteSize,
void* dstHostPtr);
337 size_t byteOffset,
size_t byteSize,
const void* srcHostPtr);
341 size_t byteOffset,
size_t byteSize,
const void* srcHostPtr);
384 size_t pixelByteStride,
size_t rowByteStride);
392 size_t pixelByteStride,
size_t rowByteStride);
397 OIDN_DEPRECATED(
"oidnRemoveFilterImage is deprecated. Use oidnUnsetFilterImage instead.")
405 void* hostPtr,
size_t byteSize);
413 OIDN_DEPRECATED(
"oidnRemoveFilterData is deprecated. Use oidnUnsetFilterData instead.")
422 OIDN_DEPRECATED(
"oidnSetFilter1b is deprecated. Use oidnSetFilterBool instead.")
431 OIDN_DEPRECATED(
"oidnGetFilter1b is deprecated. Use oidnGetFilterBool instead.")
440 OIDN_DEPRECATED(
"oidnSetFilter1i is deprecated. Use oidnSetFilterInt instead.")
449 OIDN_DEPRECATED(
"oidnGetFilter1i is deprecated. Use oidnGetFilterInt instead.")
458 OIDN_DEPRECATED(
"oidnSetFilter1f is deprecated. Use oidnSetFilterFloat instead.")
467 OIDN_DEPRECATED(
"oidnGetFilter1f is deprecated. Use oidnGetFilterFloat instead.")
487 #if defined(__cplusplus)
GLuint GLsizei const GLchar * message
OIDN_API void oidnSetDeviceInt(OIDNDevice device, const char *name, int value)
OIDN_API OIDNDevice oidnNewCUDADevice(const int *deviceIDs, const cudaStream_t *streams, int numPairs)
OIDN_API void oidnExecuteFilterAsync(OIDNFilter filter)
#define OIDN_API_NAMESPACE_BEGIN
OIDN_API OIDNBuffer oidnNewSharedBufferFromWin32Handle(OIDNDevice device, OIDNExternalMemoryTypeFlag handleType, void *handle, const void *name, size_t byteSize)
OIDN_API void oidnExecuteFilter(OIDNFilter filter)
OIDN_API void oidnReadBufferAsync(OIDNBuffer buffer, size_t byteOffset, size_t byteSize, void *dstHostPtr)
OIDN_API void oidnReleaseDevice(OIDNDevice device)
OIDN_API void oidnSetFilterImage(OIDNFilter filter, const char *name, OIDNBuffer buffer, OIDNFormat format, size_t width, size_t height, size_t byteOffset, size_t pixelByteStride, size_t rowByteStride)
OIDN_API void oidnReleaseFilter(OIDNFilter filter)
getFileOption("OpenEXR:storage") storage
OIDN_API void oidnUnsetFilterImage(OIDNFilter filter, const char *name)
OIDN_API bool oidnGetDeviceBool(OIDNDevice device, const char *name)
GLuint64 GLenum handleType
int oidnGetFilter1i(OIDNFilter filter, const char *name)
OIDN_API void oidnSetSharedFilterImage(OIDNFilter filter, const char *name, void *devPtr, OIDNFormat format, size_t width, size_t height, size_t byteOffset, size_t pixelByteStride, size_t rowByteStride)
OIDN_API void oidnSetFilterInt(OIDNFilter filter, const char *name, int value)
OIDN_API void oidnUnsetFilterData(OIDNFilter filter, const char *name)
OIDNExternalMemoryTypeFlag
void oidnSetFilter1i(OIDNFilter filter, const char *name, int value)
OIDN_API OIDNDevice oidnNewHIPDevice(const int *deviceIDs, const hipStream_t *streams, int numPairs)
OIDN_API int oidnGetFilterInt(OIDNFilter filter, const char *name)
void oidnSetDevice1i(OIDNDevice device, const char *name, int value)
OIDN_API int oidnGetNumPhysicalDevices()
OIDN_API int oidnGetPhysicalDeviceInt(int physicalDeviceID, const char *name)
void oidnRemoveFilterData(OIDNFilter filter, const char *name)
OIDN_API float oidnGetFilterFloat(OIDNFilter filter, const char *name)
struct ihipStream_t * hipStream_t
struct OIDNFilterImpl * OIDNFilter
OIDN_API void oidnWriteBufferAsync(OIDNBuffer buffer, size_t byteOffset, size_t byteSize, const void *srcHostPtr)
OIDN_API void oidnRetainFilter(OIDNFilter filter)
OIDN_API void oidnRetainBuffer(OIDNBuffer buffer)
GLint GLsizei GLsizei height
struct OIDNBufferImpl * OIDNBuffer
void(* OIDNErrorFunction)(void *userPtr, OIDNError code, const char *message)
#define OIDN_API_NAMESPACE_END
OIDN_API void oidnUpdateFilterData(OIDNFilter filter, const char *name)
OIDN_API void oidnWriteBuffer(OIDNBuffer buffer, size_t byteOffset, size_t byteSize, const void *srcHostPtr)
OIDN_API void oidnReleaseBuffer(OIDNBuffer buffer)
void * MTLCommandQueue_id
OIDN_API void oidnRetainDevice(OIDNDevice device)
OIDN_API const char * oidnGetPhysicalDeviceString(int physicalDeviceID, const char *name)
OIDN_API void oidnCommitFilter(OIDNFilter filter)
OIDN_API void oidnSetFilterProgressMonitorFunction(OIDNFilter filter, OIDNProgressMonitorFunction func, void *userPtr)
OIDN_API void oidnSetFilterBool(OIDNFilter filter, const char *name, bool value)
GLint GLint GLsizei GLint GLenum format
void oidnRemoveFilterImage(OIDNFilter filter, const char *name)
OIDN_API OIDNBuffer oidnNewSharedBufferFromFD(OIDNDevice device, OIDNExternalMemoryTypeFlag fdType, int fd, size_t byteSize)
OIDN_API bool oidnGetPhysicalDeviceBool(int physicalDeviceID, const char *name)
OIDN_API void oidnCommitDevice(OIDNDevice device)
OIDN_API void * oidnGetBufferData(OIDNBuffer buffer)
#define OIDN_DEPRECATED(msg)
OIDN_API OIDNBuffer oidnNewSharedBufferFromMetal(OIDNDevice device, MTLBuffer_id buffer)
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the queue
OIDN_API void oidnSyncDevice(OIDNDevice device)
OIDN_API OIDNBuffer oidnNewBuffer(OIDNDevice device, size_t byteSize)
OIDN_API OIDNDevice oidnNewDevice(OIDNDeviceType type)
OIDN_API void oidnSetDeviceErrorFunction(OIDNDevice device, OIDNErrorFunction func, void *userPtr)
void oidnSetFilter1b(OIDNFilter filter, const char *name, bool value)
OIDN_API OIDNStorage oidnGetBufferStorage(OIDNBuffer buffer)
GLuint const GLchar * name
OIDN_API OIDNBuffer oidnNewSharedBuffer(OIDNDevice device, void *devPtr, size_t byteSize)
struct CUstream_st * cudaStream_t
OIDN_API OIDNDevice oidnNewMetalDevice(const MTLCommandQueue_id *commandQueues, int numQueues)
OIDN_API size_t oidnGetBufferSize(OIDNBuffer buffer)
OIDN_API void oidnSetFilterFloat(OIDNFilter filter, const char *name, float value)
OIDN_API void oidnSetSharedFilterData(OIDNFilter filter, const char *name, void *hostPtr, size_t byteSize)
OIDN_API OIDNDevice oidnNewDeviceByLUID(const void *luid)
unsigned int oidnGetDeviceUInt(OIDNDevice device, const char *name)
bool(* OIDNProgressMonitorFunction)(void *userPtr, double n)
float oidnGetFilter1f(OIDNFilter filter, const char *name)
struct OIDNDeviceImpl * OIDNDevice
OIDN_API const void * oidnGetPhysicalDeviceData(int physicalDeviceID, const char *name, size_t *byteSize)
OIDN_API bool oidnGetFilterBool(OIDNFilter filter, const char *name)
bool oidnGetDevice1b(OIDNDevice device, const char *name)
unsigned int oidnGetPhysicalDeviceUInt(int physicalDeviceID, const char *name)
OIDN_API void oidnReadBuffer(OIDNBuffer buffer, size_t byteOffset, size_t byteSize, void *dstHostPtr)
void oidnSetFilter1f(OIDNFilter filter, const char *name, float value)
OIDN_API OIDNDevice oidnNewDeviceByPCIAddress(int pciDomain, int pciBus, int pciDevice, int pciFunction)
bool oidnGetFilter1b(OIDNFilter filter, const char *name)
OIDN_API OIDNBuffer oidnNewBufferWithStorage(OIDNDevice device, size_t byteSize, OIDNStorage storage)
OIDN_API OIDNDevice oidnNewDeviceByID(int physicalDeviceID)
int oidnGetDevice1i(OIDNDevice device, const char *name)
void oidnSetDevice1b(OIDNDevice device, const char *name, bool value)
OIDN_API OIDNDevice oidnNewDeviceByUUID(const void *uuid)
OIDN_API OIDNFilter oidnNewFilter(OIDNDevice device, const char *type)
OIDN_API void oidnSetDeviceBool(OIDNDevice device, const char *name, bool value)
void oidnSetDeviceUInt(OIDNDevice device, const char *name, unsigned int value)
OIDN_API OIDNError oidnGetDeviceError(OIDNDevice device, const char **outMessage)
OIDN_API int oidnGetDeviceInt(OIDNDevice device, const char *name)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter