.\" Automatically generated by Pandoc 2.9.2.1 .\" .TH "rtcNewSYCLDevice" "3" "" "" "Embree Ray Tracing Kernels 4" .hy .SS NAME .IP .nf \f[C] rtcNewSYCLDevice - creates a new device to be used with SYCL \f[R] .fi .SS SYNOPSIS .IP .nf \f[C] #include RTCDevice rtcNewSYCLDevice(sycl::context context, const char* config); \f[R] .fi .SS DESCRIPTION .PP This function creates a new device to be used with SYCL for GPU rendering and returns a handle to this device. The device object is reference counted with an initial reference count of 1. The handle can get released using the \f[C]rtcReleaseDevice\f[R] API call. .PP The passed SYCL context (\f[C]context\f[R] argument) is used to allocate GPU data, thus only devices contained inside this context can be used for rendering. By default the GPU data is allocated on the first GPU device of the context, but this behavior can get changed with the [rtcSetDeviceSYCLDevice] function. .PP The device object acts as a class factory for all other object types. All objects created from the device (like scenes, geometries, etc.) hold a reference to the device, thus the device will not be destroyed unless these objects are destroyed first. .PP Objects are only compatible if they belong to the same device, e.g it is not allowed to create a geometry in one device and attach it to a scene created with a different device. .PP For an overview of configurations that can get passed (\f[C]config\f[R] argument) please see the [rtcNewDevice] function description. .SS EXIT STATUS .PP On success returns a handle of the created device. On failure returns \f[C]NULL\f[R] as device and sets a per-thread error code that can be queried using \f[C]rtcGetDeviceError(NULL)\f[R]. .SS SEE ALSO .PP [rtcRetainDevice], [rtcReleaseDevice], [rtcNewDevice]