Blender V4.3
device/cpu/kernel.cpp
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#include "device/cpu/kernel.h"
6
8
10
11#define KERNEL_FUNCTIONS(name) \
12 KERNEL_NAME_EVAL(cpu, name), KERNEL_NAME_EVAL(cpu_sse42, name), KERNEL_NAME_EVAL(cpu_avx2, name)
13
14#define REGISTER_KERNEL(name) name(KERNEL_FUNCTIONS(name))
15#define REGISTER_KERNEL_FILM_CONVERT(name) \
16 film_convert_##name(KERNEL_FUNCTIONS(film_convert_##name)), \
17 film_convert_half_rgba_##name(KERNEL_FUNCTIONS(film_convert_half_rgba_##name))
18
20 : /* Integrator. */
35 /* Shader evaluation. */
39 /* Adaptive sampling. */
43 /* Cryptomatte. */
45 /* Film Convert. */
48 REGISTER_KERNEL_FILM_CONVERT(sample_count),
54 REGISTER_KERNEL_FILM_CONVERT(shadow_catcher),
55 REGISTER_KERNEL_FILM_CONVERT(shadow_catcher_matte_with_shadow),
58{
59}
60
61#undef REGISTER_KERNEL
62#undef REGISTER_KERNEL_FILM_CONVERT
63#undef KERNEL_FUNCTIONS
64
#define REGISTER_KERNEL_FILM_CONVERT(name)
#define REGISTER_KERNEL(name)
#define CCL_NAMESPACE_END
draw_view in_light_buf[] float
ccl_device bool integrator_init_from_bake(KernelGlobals kg, IntegratorState state, ccl_global const KernelWorkTile *ccl_restrict tile, ccl_global float *render_buffer, const int x, const int y, const int scheduled_sample)
ccl_device bool integrator_init_from_camera(KernelGlobals kg, IntegratorState state, ccl_global const KernelWorkTile *ccl_restrict tile, ccl_global float *render_buffer, const int x, const int y, const int scheduled_sample)
ccl_device void integrator_intersect_closest(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
CCL_NAMESPACE_BEGIN ccl_device void integrator_intersect_dedicated_light(KernelGlobals kg, IntegratorState state)
ccl_device void integrator_intersect_shadow(KernelGlobals kg, IntegratorShadowState state)
CCL_NAMESPACE_BEGIN ccl_device void integrator_intersect_subsurface(KernelGlobals kg, IntegratorState state)
ccl_device void integrator_intersect_volume_stack(KernelGlobals kg, IntegratorState state)
void KERNEL_FUNCTION_FULL_NAME adaptive_sampling_filter_x(const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int y, int start_x, int width, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME cryptomatte_postprocess(const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int pixel_index)
void KERNEL_FUNCTION_FULL_NAME shader_eval_background(const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
void KERNEL_FUNCTION_FULL_NAME shader_eval_displace(const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
bool KERNEL_FUNCTION_FULL_NAME adaptive_sampling_convergence_check(const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int x, int y, float threshold, int reset, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME adaptive_sampling_filter_y(const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int x, int start_y, int height, int offset, int stride)
void KERNEL_FUNCTION_FULL_NAME shader_eval_curve_shadow_transparency(const KernelGlobalsCPU *kg, const KernelShaderEvalInput *input, float *output, const int offset)
CCL_NAMESPACE_BEGIN ccl_device void integrator_megakernel(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
Definition megakernel.h:22
ccl_device void integrator_shade_background(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
CCL_NAMESPACE_BEGIN ccl_device void integrator_shade_dedicated_light(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
ccl_device void integrator_shade_light(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
Definition shade_light.h:65
ccl_device void integrator_shade_shadow(KernelGlobals kg, IntegratorShadowState state, ccl_global float *ccl_restrict render_buffer)
ccl_device_forceinline void integrator_shade_surface(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
CCL_NAMESPACE_BEGIN ccl_device void integrator_shade_volume(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)