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_COMPACT_POLYS_ENABLED:  Queries  whether  compact
70         polys is enabled.  This is only the case if Embree is  compiled  with
71         EMBREE_COMPACT_POLYS enabled.
72
73       · RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
74         functions are supported, which is the case if Embree is compiled with
75         EMBREE_FILTER_FUNCTION enabled.
76
77       · RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED:  Queries whether in‐
78         valid rays are ignored, which is the case if Embree is compiled  with
79         EMBREE_IGNORE_INVALID_RAYS enabled.
80
81       · RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
82         angles are supported, which is the case if Embree  is  compiled  with
83         EMBREE_GEOMETRY_TRIANGLE enabled.
84
85       · RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED:  Queries  whether  quads
86         are supported, which is the case  if  Embree  is  compiled  with  EM‐
87         BREE_GEOMETRY_QUAD enabled.
88
89       · RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED:  Queries  whether
90         subdivision meshes are supported, which is the case if Embree is com‐
91         piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
92
93       · RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED:  Queries whether curves
94         are supported, which is the case  if  Embree  is  compiled  with  EM‐
95         BREE_GEOMETRY_CURVE enabled.
96
97       · RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED:  Queries whether points
98         are supported, which is the case  if  Embree  is  compiled  with  EM‐
99         BREE_GEOMETRY_POINT enabled.
100
101       · RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user ge‐
102         ometries are supported, which is the case if Embree is compiled  with
103         EMBREE_GEOMETRY_USER enabled.
104
105       · RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
106         is compiled with.  Possible return values are:
107
108         0. internal tasking system
109
110         1. Intel Threading Building Blocks (TBB)
111
112         2. Parallel Patterns Library (PPL)
113
114       · RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: Queries  whether  rtcJoin‐
115         CommitScene  is  supported.  This is not the case when Embree is com‐
116         piled with PPL or older versions of TBB.
117
118       · RTC_DEVICE_PROPERTY_PARALLEL_COMMIT_SUPPORTED: Queries  whether  rtc‐
119         CommitScene  can get invoked from multiple TBB worker threads concur‐
120         rently.  This feature is only supported starting with TBB 2019 Update
121         9.
122
123   EXIT STATUS
124       On  success  returns the value of the queried property.  For properties
125       returning a boolean value, the return value 0 denotes false and  1  de‐
126       notes true.
127
128       On  failure  zero  is  returned  and  an  error code is set that can be
129       queried using rtcGetDeviceError.
130
131
132
133                                                       rtcGetDeviceProperty(3)
Impressum