.\" 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 <embree4/rtcore.h>

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]
