10#define __KERNEL_OPTIX__
11#define CCL_NAMESPACE_BEGIN
12#define CCL_NAMESPACE_END
14#ifndef ATTR_FALLTHROUGH
15# define ATTR_FALLTHROUGH
21typedef unsigned int uint32_t;
28# define FLT_MIN 1.175494350822287507969e-38f
29# define FLT_MAX 340282346638528859811704183484516925440.0f
30# define FLT_EPSILON 1.192092896e-07F
36#define ccl_device_extern extern "C" __device__
37#define ccl_device_inline ccl_device
38#define ccl_device_forceinline ccl_device
39#define ccl_device_inline_method __device__ __forceinline__
40#define ccl_device_template_spec template<> __device__ __forceinline__
41#define ccl_device_noinline static __device__ __noinline__
42#define ccl_device_noinline_cpu ccl_device
44#define ccl_inline_constant static __constant__
45#define ccl_device_constant __constant__ __device__
46#define ccl_static_constexpr static constexpr
47#define ccl_constant const
48#define ccl_gpu_shared __shared__
50#define ccl_ray_data ccl_private
52#define ccl_restrict __restrict__
53#define ccl_align(n) __align__(n)
56#define ccl_optional_struct_init = {}
60#define kernel_assert(cond)
72 return tex2D<T>(texobj,
x,
y);
77typedef unsigned short half;
82 asm(
"{ cvt.rn.f16.f32 %0, %1;}\n" :
"=h"(val) :
"f"(f));
89 asm(
"{ cvt.f32.f16 %0, %1;}\n" :
"=f"(val) :
"h"(h));
98#define OPTIX_DONT_INCLUDE_CUDA
unsigned long long int uint64_t
#define ccl_device_forceinline
unsigned long long CUtexObject
CUtexObject ccl_gpu_tex_object_2D
ccl_device_forceinline T ccl_gpu_tex_object_read_2D(const ccl_gpu_tex_object_2D texobj, const float x, const float y)
ccl_device_forceinline float __half2float(const half h)