Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/device/cpu/kernel.h
| Show All 15 Lines | |||||
| #pragma once | #pragma once | ||||
| #include "device/cpu/kernel_function.h" | #include "device/cpu/kernel_function.h" | ||||
| #include "util/util_types.h" | #include "util/util_types.h" | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| struct KernelGlobals; | struct KernelGlobalsCPU; | ||||
| struct IntegratorStateCPU; | struct IntegratorStateCPU; | ||||
| struct TileInfo; | struct TileInfo; | ||||
| class CPUKernels { | class CPUKernels { | ||||
| public: | public: | ||||
| /* Integrator. */ | /* Integrator. */ | ||||
| using IntegratorFunction = | using IntegratorFunction = | ||||
| CPUKernelFunction<void (*)(const KernelGlobals *kg, IntegratorStateCPU *state)>; | CPUKernelFunction<void (*)(const KernelGlobalsCPU *kg, IntegratorStateCPU *state)>; | ||||
| using IntegratorShadeFunction = CPUKernelFunction<void (*)( | using IntegratorShadeFunction = CPUKernelFunction<void (*)( | ||||
| const KernelGlobals *kg, IntegratorStateCPU *state, ccl_global float *render_buffer)>; | const KernelGlobalsCPU *kg, IntegratorStateCPU *state, ccl_global float *render_buffer)>; | ||||
| using IntegratorInitFunction = CPUKernelFunction<bool (*)(const KernelGlobals *kg, | using IntegratorInitFunction = CPUKernelFunction<bool (*)(const KernelGlobalsCPU *kg, | ||||
| IntegratorStateCPU *state, | IntegratorStateCPU *state, | ||||
| KernelWorkTile *tile, | KernelWorkTile *tile, | ||||
| ccl_global float *render_buffer)>; | ccl_global float *render_buffer)>; | ||||
| IntegratorInitFunction integrator_init_from_camera; | IntegratorInitFunction integrator_init_from_camera; | ||||
| IntegratorInitFunction integrator_init_from_bake; | IntegratorInitFunction integrator_init_from_bake; | ||||
| IntegratorFunction integrator_intersect_closest; | IntegratorFunction integrator_intersect_closest; | ||||
| IntegratorFunction integrator_intersect_shadow; | IntegratorFunction integrator_intersect_shadow; | ||||
| IntegratorFunction integrator_intersect_subsurface; | IntegratorFunction integrator_intersect_subsurface; | ||||
| IntegratorFunction integrator_intersect_volume_stack; | IntegratorFunction integrator_intersect_volume_stack; | ||||
| IntegratorShadeFunction integrator_shade_background; | IntegratorShadeFunction integrator_shade_background; | ||||
| IntegratorShadeFunction integrator_shade_light; | IntegratorShadeFunction integrator_shade_light; | ||||
| IntegratorShadeFunction integrator_shade_shadow; | IntegratorShadeFunction integrator_shade_shadow; | ||||
| IntegratorShadeFunction integrator_shade_surface; | IntegratorShadeFunction integrator_shade_surface; | ||||
| IntegratorShadeFunction integrator_shade_volume; | IntegratorShadeFunction integrator_shade_volume; | ||||
| IntegratorShadeFunction integrator_megakernel; | IntegratorShadeFunction integrator_megakernel; | ||||
| /* Shader evaluation. */ | /* Shader evaluation. */ | ||||
| using ShaderEvalFunction = CPUKernelFunction<void (*)( | using ShaderEvalFunction = CPUKernelFunction<void (*)( | ||||
| const KernelGlobals *kg, const KernelShaderEvalInput *, float *, const int)>; | const KernelGlobalsCPU *kg, const KernelShaderEvalInput *, float *, const int)>; | ||||
| ShaderEvalFunction shader_eval_displace; | ShaderEvalFunction shader_eval_displace; | ||||
| ShaderEvalFunction shader_eval_background; | ShaderEvalFunction shader_eval_background; | ||||
| /* Adaptive stopping. */ | /* Adaptive stopping. */ | ||||
| using AdaptiveSamplingConvergenceCheckFunction = | using AdaptiveSamplingConvergenceCheckFunction = | ||||
| CPUKernelFunction<bool (*)(const KernelGlobals *kg, | CPUKernelFunction<bool (*)(const KernelGlobalsCPU *kg, | ||||
| ccl_global float *render_buffer, | ccl_global float *render_buffer, | ||||
| int x, | int x, | ||||
| int y, | int y, | ||||
| float threshold, | float threshold, | ||||
| bool reset, | bool reset, | ||||
| int offset, | int offset, | ||||
| int stride)>; | int stride)>; | ||||
| using AdaptiveSamplingFilterXFunction = | using AdaptiveSamplingFilterXFunction = | ||||
| CPUKernelFunction<void (*)(const KernelGlobals *kg, | CPUKernelFunction<void (*)(const KernelGlobalsCPU *kg, | ||||
| ccl_global float *render_buffer, | ccl_global float *render_buffer, | ||||
| int y, | int y, | ||||
| int start_x, | int start_x, | ||||
| int width, | int width, | ||||
| int offset, | int offset, | ||||
| int stride)>; | int stride)>; | ||||
| using AdaptiveSamplingFilterYFunction = | using AdaptiveSamplingFilterYFunction = | ||||
| CPUKernelFunction<void (*)(const KernelGlobals *kg, | CPUKernelFunction<void (*)(const KernelGlobalsCPU *kg, | ||||
| ccl_global float *render_buffer, | ccl_global float *render_buffer, | ||||
| int x, | int x, | ||||
| int start_y, | int start_y, | ||||
| int height, | int height, | ||||
| int offset, | int offset, | ||||
| int stride)>; | int stride)>; | ||||
| AdaptiveSamplingConvergenceCheckFunction adaptive_sampling_convergence_check; | AdaptiveSamplingConvergenceCheckFunction adaptive_sampling_convergence_check; | ||||
| AdaptiveSamplingFilterXFunction adaptive_sampling_filter_x; | AdaptiveSamplingFilterXFunction adaptive_sampling_filter_x; | ||||
| AdaptiveSamplingFilterYFunction adaptive_sampling_filter_y; | AdaptiveSamplingFilterYFunction adaptive_sampling_filter_y; | ||||
| /* Cryptomatte. */ | /* Cryptomatte. */ | ||||
| using CryptomattePostprocessFunction = CPUKernelFunction<void (*)( | using CryptomattePostprocessFunction = CPUKernelFunction<void (*)( | ||||
| const KernelGlobals *kg, ccl_global float *render_buffer, int pixel_index)>; | const KernelGlobalsCPU *kg, ccl_global float *render_buffer, int pixel_index)>; | ||||
| CryptomattePostprocessFunction cryptomatte_postprocess; | CryptomattePostprocessFunction cryptomatte_postprocess; | ||||
| /* Bake. */ | /* Bake. */ | ||||
| CPUKernelFunction<void (*)(const KernelGlobals *, float *, int, int, int, int, int)> bake; | CPUKernelFunction<void (*)(const KernelGlobalsCPU *, float *, int, int, int, int, int)> bake; | ||||
| CPUKernels(); | CPUKernels(); | ||||
| }; | }; | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||