Blender  V3.3
kernel/bvh/types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #pragma once
5 
7 
8 /* Don't inline intersect functions on GPU, this is faster */
9 #ifdef __KERNEL_GPU__
10 # define ccl_device_intersect ccl_device_forceinline
11 #else
12 # define ccl_device_intersect ccl_device_inline
13 #endif
14 
15 /* bottom-most stack entry, indicating the end of traversal */
16 #define ENTRYPOINT_SENTINEL 0x76543210
17 
18 /* 64 object BVH + 64 mesh BVH + 64 object node splitting */
19 #define BVH_STACK_SIZE 192
20 /* BVH intersection function variations */
21 
22 #define BVH_MOTION 1
23 #define BVH_HAIR 2
24 #define BVH_POINTCLOUD 4
25 
26 #define BVH_NAME_JOIN(x, y) x##_##y
27 #define BVH_NAME_EVAL(x, y) BVH_NAME_JOIN(x, y)
28 #define BVH_FUNCTION_FULL_NAME(prefix) BVH_NAME_EVAL(prefix, BVH_FUNCTION_NAME)
29 
30 #define BVH_FEATURE(f) (((BVH_FUNCTION_FEATURES) & (f)) != 0)
31 
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9