1rtcGetDeviceProperty(3)  Embree Ray Tracing Kernels 3  rtcGetDeviceProperty(3)
2
3
4
5   NAME
6              rtcGetDeviceProperty - queries properties of the device
7
8   SYNOPSIS
9              #include <embree3/rtcore.h>
10
11              ssize_t rtcGetDeviceProperty(
12                RTCDevice device,
13                enum RTCDeviceProperty prop
14              );
15
16   DESCRIPTION
17       The rtcGetDeviceProperty function can be used to query properties (prop
18       argument) of a device object (device argument).  The returned  property
19       is an integer of type ssize_t.
20
21       Possible properties to query are:
22
23       · RTC_DEVICE_PROPERTY_VERSION: Queries the combined version number (MA‐
24         JOR.MINOR.PATCH) with two decimal digits per  component.   E.g.   for
25         Embree 2.8.3 the integer 208003 is returned.
26
27       · RTC_DEVICE_PROPERTY_VERSION_MAJOR:  Queries  the major version number
28         of Embree.
29
30       · RTC_DEVICE_PROPERTY_VERSION_MINOR: Queries the minor  version  number
31         of Embree.
32
33       · RTC_DEVICE_PROPERTY_VERSION_PATCH:  Queries  the patch version number
34         of Embree.
35
36       · RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED: Queries whether the rtcIn‐
37         tersect4  and rtcOccluded4 functions preserve packet size and ray or‐
38         der when invoking callback functions.  This is only the case  if  Em‐
39         bree  is  compiled  with  EMBREE_RAY_PACKETS and SSE2 (or SSE4.2) en‐
40         abled, and if the machine it is running on supports SSE2 (or SSE4.2).
41
42       · RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: Queries whether the rtcIn‐
43         tersect8  and rtcOccluded8 functions preserve packet size and ray or‐
44         der when invoking callback functions.  This is only the case  if  Em‐
45         bree  is  compiled with EMBREE_RAY_PACKETS and AVX (or AVX2) enabled,
46         and if the machine it is running on supports AVX (or AVX2).
47
48       · RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED:   Queries   whether   the
49         rtcIntersect16  and  rtcOccluded16 functions preserve packet size and
50         ray order when invoking callback functions.  This is only the case if
51         Embree   is   compiled  with  EMBREE_RAY_PACKETS  and  AVX512SKX  (or
52         AVX512KNL) enabled, and if the machine  it  is  running  on  supports
53         AVX512SKX (or AVX512KNL).
54
55       · RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED:  Queries  whether rtcInter‐
56         sect1M, rtcIntersect1Mp, rtcIntersectNM,  rtcIntersectNp,  rtcOcclud‐
57         ed1M, rtcOccluded1Mp, rtcOccludedNM, and rtcOccludedNp are supported.
58         This is only the case if Embree is compiled  with  EMBREE_RAY_PACKETS
59         enabled.
60
61       · RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: Queries whether ray masks are
62         supported.  This is only the case if  Embree  is  compiled  with  EM‐
63         BREE_RAY_MASK enabled.
64
65       · RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED:  Queries  whether  back
66         face culling is enabled.  This is only the case if Embree is compiled
67         with EMBREE_BACKFACE_CULLING enabled.
68
69       · RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
70         functions are supported, which is the case if Embree is compiled with
71         EMBREE_FILTER_FUNCTION enabled.
72
73       · RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED:  Queries whether in‐
74         valid rays are ignored, which is the case if Embree is compiled  with
75         EMBREE_IGNORE_INVALID_RAYS enabled.
76
77       · RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
78         angles are supported, which is the case if Embree  is  compiled  with
79         EMBREE_GEOMETRY_TRIANGLE enabled.
80
81       · RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED:  Queries  whether  quads
82         are supported, which is the case  if  Embree  is  compiled  with  EM‐
83         BREE_GEOMETRY_QUAD enabled.
84
85       · RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED:  Queries  whether
86         subdivision meshes are supported, which is the case if Embree is com‐
87         piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
88
89       · RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED:  Queries whether curves
90         are supported, which is the case  if  Embree  is  compiled  with  EM‐
91         BREE_GEOMETRY_CURVE enabled.
92
93       · RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED:  Queries whether points
94         are supported, which is the case  if  Embree  is  compiled  with  EM‐
95         BREE_GEOMETRY_POINT enabled.
96
97       · RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user ge‐
98         ometries are supported, which is the case if Embree is compiled  with
99         EMBREE_GEOMETRY_USER enabled.
100
101       · RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
102         is compiled with.  Possible return values are:
103
104         0. internal tasking system
105
106         1. Intel Threading Building Blocks (TBB)
107
108         2. Parallel Patterns Library (PPL)
109
110       · RTC_DEVICE_PROPERTY_COMMIT_JOIN_SUPPORTED: Queries  whether  rtcJoin‐
111         CommitScene  is  supported.  This is not the case when Embree is com‐
112         piled with PPL or older versions of TBB.
113
114       · RTC_DEVICE_PROPERTY_PARALLEL_COMMIT_SUPPORTED: Queries  whether  rtc‐
115         CommitScene  can get invoked from multiple TBB worker threads concur‐
116         rently.  This feature is only supported starting with TBB 2019 Update
117         9.
118
119   EXIT STATUS
120       On  success  returns the value of the queried property.  For properties
121       returning a boolean value, the return value 0 denotes false and  1  de‐
122       notes true.
123
124       On  failure  zero  is  returned  and  an  error code is set that can be
125       queried using rtcGetDeviceError.
126
127
128
129                                                       rtcGetDeviceProperty(3)
Impressum