7#ifndef __KERNEL_ONEAPI__
46 return "integrator_init_from_camera";
48 return "integrator_init_from_bake";
50 return "integrator_intersect_closest";
52 return "integrator_intersect_shadow";
54 return "integrator_intersect_subsurface";
56 return "integrator_intersect_volume_stack";
58 return "integrator_intersect_dedicated_light";
60 return "integrator_shade_background";
62 return "integrator_shade_light";
64 return "integrator_shade_shadow";
66 return "integrator_shade_surface";
68 return "integrator_shade_surface_raytrace";
70 return "integrator_shade_surface_mnee";
72 return "integrator_shade_volume";
74 return "integrator_shade_volume_ray_marching";
76 return "integrator_shade_dedicated_light";
78 return "integrator_megakernel";
80 return "integrator_queued_paths_array";
82 return "integrator_queued_shadow_paths_array";
84 return "integrator_active_paths_array";
86 return "integrator_terminated_paths_array";
88 return "integrator_sorted_paths_array";
90 return "integrator_sort_bucket_pass";
92 return "integrator_sort_write_pass";
94 return "integrator_compact_paths_array";
96 return "integrator_compact_states";
98 return "integrator_terminated_shadow_paths_array";
100 return "integrator_compact_shadow_paths_array";
102 return "integrator_compact_shadow_states";
104 return "integrator_reset";
106 return "integrator_shadow_catcher_count_possible_splits";
110 return "shader_eval_displace";
112 return "shader_eval_background";
114 return "shader_eval_curve_shadow_transparency";
116 return "shader_eval_volume_density";
120#define FILM_CONVERT_KERNEL_AS_STRING(variant, variant_lowercase) \
121 case DEVICE_KERNEL_FILM_CONVERT_##variant: \
122 return "film_convert_" #variant_lowercase; \
123 case DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA: \
124 return "film_convert_" #variant_lowercase "_half_rgba";
138 shadow_catcher_matte_with_shadow)
142#undef FILM_CONVERT_KERNEL_AS_STRING
146 return "adaptive_sampling_convergence_check";
148 return "adaptive_sampling_filter_x";
150 return "adaptive_sampling_filter_y";
154 return "filter_guiding_preprocess";
156 return "filter_guiding_set_fake_albedo";
158 return "filter_color_preprocess";
160 return "filter_color_postprocess";
162 return "filter_color_flip_y";
166 return "volume_guiding_filter_x";
168 return "volume_guiding_filter_y";
172 return "cryptomatte_postprocess";
181#ifndef __KERNEL_ONEAPI__
182 LOG_FATAL <<
"Unhandled kernel " <<
static_cast<int>(kernel) <<
", should never happen.";
187#ifndef __KERNEL_ONEAPI__
212 for (
size_t i = 0;
i <
size();
i++) {
213 if (test(
i) ^ other.test(
i)) {
214 return other.test(
i);
unsigned long long int uint64_t
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN bool device_kernel_has_shading(DeviceKernel kernel)
bool device_kernel_has_intersection(DeviceKernel kernel)
string device_kernel_mask_as_string(DeviceKernelMask mask)
const char * device_kernel_as_string(DeviceKernel kernel)
std::ostream & operator<<(std::ostream &os, DeviceKernel kernel)
#define FILM_CONVERT_KERNEL_AS_STRING(variant, variant_lowercase)
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK
@ DEVICE_KERNEL_INTEGRATOR_RESET
@ DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT
@ DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT
@ DEVICE_KERNEL_FILTER_COLOR_PREPROCESS
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE
@ DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS
@ DEVICE_KERNEL_SHADER_EVAL_DISPLACE
@ DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS
@ DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE
@ DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X
@ DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO
@ DEVICE_KERNEL_FILTER_COLOR_FLIP_Y
@ DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW
@ DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK
@ DEVICE_KERNEL_SHADER_EVAL_BACKGROUND
@ DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE
@ DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT
@ DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE
@ DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL
@ DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y
@ DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X
@ DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE
@ DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY
@ DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST
@ DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND
@ DEVICE_KERNEL_VOLUME_GUIDING_FILTER_Y
@ DEVICE_KERNEL_PREFIX_SUM
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
bool operator<(const DeviceKernelMask &other) const