diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-30 15:54:02 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-30 15:54:02 +0300 |
commit | 2b5d60eb2deed64f234a9bafc70ed87d817bc8a9 (patch) | |
tree | 03f7b8b7c1504909565ce643a3c71f51b33d29de /intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp | |
parent | f320724195e3ec045781d5331955be866c821b4f (diff) |
Cycles: Deduplicte CPU kernel declaration and definition code
Main goal is to make kernel signatures editing easier and less prone to the
errors caused by missing function signature update or so.
This will also make it easier to add new CPU architectures.
Reviewers: juicyfruit, dingto, lukasstockner97, brecht
Reviewed By: dingto, lukasstockner97, brecht
Differential Revision: https://developer.blender.org/D1703
Diffstat (limited to 'intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp')
-rw-r--r-- | intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp | 55 |
1 files changed, 5 insertions, 50 deletions
diff --git a/intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp b/intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp index 2dbe4b81821..93ee7d1a8ef 100644 --- a/intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp +++ b/intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp @@ -28,58 +28,13 @@ #include "util_optimization.h" #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 - -#include "kernel_compat_cpu.h" -#include "kernel.h" -#include "kernel_math.h" -#include "kernel_types.h" -#include "kernel_globals.h" -#include "kernel_film.h" -#include "kernel_path.h" -#include "kernel_path_branched.h" -#include "kernel_bake.h" - -CCL_NAMESPACE_BEGIN - -/* Path Tracing */ - -void kernel_cpu_sse3_path_trace(KernelGlobals *kg, float *buffer, unsigned int *rng_state, int sample, int x, int y, int offset, int stride) -{ -#ifdef __BRANCHED_PATH__ - if(kernel_data.integrator.branched) - kernel_branched_path_trace(kg, buffer, rng_state, sample, x, y, offset, stride); - else -#endif - kernel_path_trace(kg, buffer, rng_state, sample, x, y, offset, stride); -} - -/* Film */ - -void kernel_cpu_sse3_convert_to_byte(KernelGlobals *kg, uchar4 *rgba, float *buffer, float sample_scale, int x, int y, int offset, int stride) -{ - kernel_film_convert_to_byte(kg, rgba, buffer, sample_scale, x, y, offset, stride); -} - -void kernel_cpu_sse3_convert_to_half_float(KernelGlobals *kg, uchar4 *rgba, float *buffer, float sample_scale, int x, int y, int offset, int stride) -{ - kernel_film_convert_to_half_float(kg, rgba, buffer, sample_scale, x, y, offset, stride); -} - -/* Shader Evaluate */ - -void kernel_cpu_sse3_shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int i, int offset, int sample) -{ - if(type >= SHADER_EVAL_BAKE) - kernel_bake_evaluate(kg, input, output, (ShaderEvalType)type, i, offset, sample); - else - kernel_shader_evaluate(kg, input, output, (ShaderEvalType)type, i, sample); -} - -CCL_NAMESPACE_END -#else +# include "kernel.h" +# define KERNEL_ARCH cpu_sse3 +# include "kernel_cpu_impl.h" +#else /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 */ /* needed for some linkers in combination with scons making empty compilation unit in a library */ void __dummy_function_cycles_sse3(void); void __dummy_function_cycles_sse3(void) {} -#endif +#endif /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 */ |