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
24 (MAJOR.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
38 order when invoking callback functions. This is only the case if
39 Embree is compiled with EMBREE_RAY_PACKETS and SSE2 (or SSE4.2)
40 enabled, and if the machine it is running on supports SSE2 (or
41 SSE4.2).
42
43 · RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: Queries whether the rtcIn‐
44 tersect8 and rtcOccluded8 functions preserve packet size and ray
45 order when invoking callback functions. This is only the case if
46 Embree is compiled with EMBREE_RAY_PACKETS and AVX (or AVX2) enabled,
47 and if the machine it is running on supports AVX (or AVX2).
48
49 · RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: Queries whether the
50 rtcIntersect16 and rtcOccluded16 functions preserve packet size and
51 ray order when invoking callback functions. This is only the case if
52 Embree is compiled with EMBREE_RAY_PACKETS and AVX512SKX (or
53 AVX512KNL) enabled, and if the machine it is running on supports
54 AVX512SKX (or AVX512KNL).
55
56 · RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED: Queries whether rtcInter‐
57 sect1M, rtcIntersect1Mp, rtcIntersectNM, rtcIntersectNp, rtcOc‐
58 cluded1M, rtcOccluded1Mp, rtcOccludedNM, and rtcOccludedNp are sup‐
59 ported. This is only the case if Embree is compiled with
60 EMBREE_RAY_PACKETS enabled.
61
62 · RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: Queries whether ray masks are
63 supported. This is only the case if Embree is compiled with
64 EMBREE_RAY_MASK enabled.
65
66 · RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: Queries whether back
67 face culling is enabled. This is only the case if Embree is compiled
68 with EMBREE_BACKFACE_CULLING enabled.
69
70 · RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
71 functions are supported, which is the case if Embree is compiled with
72 EMBREE_FILTER_FUNCTION enabled.
73
74 · RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: Queries whether
75 invalid rays are ignored, which is the case if Embree is compiled
76 with EMBREE_IGNORE_INVALID_RAYS enabled.
77
78 · RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
79 angles are supported, which is the case if Embree is compiled with
80 EMBREE_GEOMETRY_TRIANGLE enabled.
81
82 · RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: Queries whether quads
83 are supported, which is the case if Embree is compiled with
84 EMBREE_GEOMETRY_QUAD enabled.
85
86 · RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: Queries whether
87 subdivision meshes are supported, which is the case if Embree is com‐
88 piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
89
90 · RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: Queries whether curves
91 are supported, which is the case if Embree is compiled with
92 EMBREE_GEOMETRY_CURVE enabled.
93
94 · RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED: Queries whether points
95 are supported, which is the case if Embree is compiled with
96 EMBREE_GEOMETRY_POINT enabled.
97
98 · RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user
99 geometries are supported, which is the case if Embree is compiled
100 with EMBREE_GEOMETRY_USER enabled.
101
102 · RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
103 is compiled with. Possible return values are:
104
105 0. internal tasking system
106
107 1. Intel Threading Building Blocks (TBB)
108
109 2. Parallel Patterns Library (PPL)
110
111 · RTC_DEVICE_PROPERTY_COMMIT_JOIN_SUPPORTED: Queries whether rtcJoin‐
112 CommitScene is supported. This is not the case when Embree is com‐
113 piled with PPL or older versions of TBB.
114
115 EXIT STATUS
116 On success returns the value of the queried property. For properties
117 returning a boolean value, the return value 0 denotes false and 1
118 denotes true.
119
120 On failure zero is returned and an error code is set that can be
121 queried using rtcGetDeviceError.
122
123
124
125 rtcGetDeviceProperty(3)