|
| 1 | +.\" Automatically generated by Pandoc 3.1.3 |
| 2 | +.\" |
| 3 | +.\" Define V font for inline verbatim, using C font in formats |
| 4 | +.\" that render this, and otherwise B font. |
| 5 | +.ie "\f[CB]x\f[]"x" \{\ |
| 6 | +. ftr V B |
| 7 | +. ftr VI BI |
| 8 | +. ftr VB B |
| 9 | +. ftr VBI BI |
| 10 | +.\} |
| 11 | +.el \{\ |
| 12 | +. ftr V CR |
| 13 | +. ftr VI CI |
| 14 | +. ftr VB CB |
| 15 | +. ftr VBI CBI |
| 16 | +.\} |
| 17 | +.TH "rtcCommitSceneWithQueue" "3" "" "" "Embree Ray Tracing Kernels 4" |
| 18 | +.hy |
| 19 | +.SS NAME |
| 20 | +.IP |
| 21 | +.nf |
| 22 | +\f[C] |
| 23 | +rtcCommitSceneWithQueue - commits scene changes using a given |
| 24 | + SYCL queue for host-to-device memory transfers |
| 25 | +\f[R] |
| 26 | +.fi |
| 27 | +.SS SYNOPSIS |
| 28 | +.IP |
| 29 | +.nf |
| 30 | +\f[C] |
| 31 | +#include <embree4/rtcore.h> |
| 32 | + |
| 33 | +void rtcCommitScene(RTCScene scene, |
| 34 | + sycl::queue queue, |
| 35 | + sycl::event* event); |
| 36 | +\f[R] |
| 37 | +.fi |
| 38 | +.SS DESCRIPTION |
| 39 | +.PP |
| 40 | +The \f[V]rtcCommitSceneWithQueue\f[R] function commits all changes for |
| 41 | +the specified scene (\f[V]scene\f[R] argument). |
| 42 | +This internally triggers building of a spatial acceleration structure |
| 43 | +for the scene using all available worker threads. |
| 44 | +Ray queries can be performed only after committing all scene changes. |
| 45 | +.PP |
| 46 | +The \f[V]rtcCommitSceneWithQueue\f[R] function differs from |
| 47 | +\f[V]rtcCommitScene\f[R] only in that the former uses a SYCL queue |
| 48 | +passed by the application for asynchronous host-to-device memory |
| 49 | +transfers and the latter uses an internal and temporary SYCL queue and |
| 50 | +is blocking, i.e.\ the function returns after all memory transfers are |
| 51 | +completed. |
| 52 | +.PP |
| 53 | +The application is responsible for synchronization when using |
| 54 | +\f[V]rtcCommitSceneWithQueue\f[R] by either calling \f[V]wait()\f[R] on |
| 55 | +the \f[V]queue\f[R] or use the optional \f[V]event\f[R] argument to |
| 56 | +receive a copy of the sycl::event associated with the last memcpy |
| 57 | +command that was submitted to the queue. |
| 58 | +The argument \f[V]event\f[R] can also be a null pointer in which case |
| 59 | +the argument will be ignored internally. |
| 60 | +.PP |
| 61 | +A SYCL kernel calling rtcTraversableIntersect or rtcTraversableOccluded |
| 62 | +using a RTCTraversable associated with the RTCScene \f[V]scene\f[R] has |
| 63 | +a dependency on the host-to-device memory transfers and therefore has to |
| 64 | +be synchronized properly. |
| 65 | +.PP |
| 66 | +This function is only available when SYCL support is enabled. |
| 67 | +In case the RTCDevice associated with the \f[V]scene\f[R] is not a SYCL |
| 68 | +device, \f[V]rtcCommitSceneWithQueue\f[R] will behave the same as |
| 69 | +\f[V]rtcCommitScene\f[R]. |
| 70 | +.SS EXIT STATUS |
| 71 | +.PP |
| 72 | +On failure an error code is set that can be queried using |
| 73 | +\f[V]rtcGetDeviceError\f[R]. |
| 74 | +.SS SEE ALSO |
| 75 | +.PP |
| 76 | +[rtcCommitScene] |
0 commit comments