[Bf-blender-cvs] [e638abe] soc-2014-cycles: Cycles: Updates for AVX2 kernel after merge with master.
Thomas Dinges
noreply at git.blender.org
Fri Jun 6 19:59:41 CEST 2014
Commit: e638abeb63f25135e7ce94d70910408538004247
Author: Thomas Dinges
Date: Fri Jun 6 19:21:10 2014 +0200
https://developer.blender.org/rBe638abeb63f25135e7ce94d70910408538004247
Cycles: Updates for AVX2 kernel after merge with master.
===================================================================
M intern/cycles/device/device_cpu.cpp
M intern/cycles/kernel/kernel.h
M intern/cycles/kernel/kernel_avx2.cpp
===================================================================
diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp
index b239195..7308d03 100644
--- a/intern/cycles/device/device_cpu.cpp
+++ b/intern/cycles/device/device_cpu.cpp
@@ -434,7 +434,8 @@ public:
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX2
if(system_cpu_support_avx2()) {
for(int x = task.shader_x; x < task.shader_x + task.shader_w; x++) {
- kernel_cpu_avx2_shader(&kg, (uint4*)task.shader_input, (float4*)task.shader_output, task.shader_eval_type, x);
+ for(int sample = 0; sample < task.num_samples; sample++)
+ kernel_cpu_avx2_shader(&kg, (uint4*)task.shader_input, (float4*)task.shader_output, task.shader_eval_type, x, sample);
if(task.get_cancel() || task_pool.canceled())
break;
diff --git a/intern/cycles/kernel/kernel.h b/intern/cycles/kernel/kernel.h
index 30e1393..264e5e3 100644
--- a/intern/cycles/kernel/kernel.h
+++ b/intern/cycles/kernel/kernel.h
@@ -95,7 +95,7 @@ void kernel_cpu_avx2_convert_to_byte(KernelGlobals *kg, uchar4 *rgba, float *buf
void kernel_cpu_avx2_convert_to_half_float(KernelGlobals *kg, uchar4 *rgba, float *buffer,
float sample_scale, int x, int y, int offset, int stride);
void kernel_cpu_avx2_shader(KernelGlobals *kg, uint4 *input, float4 *output,
- int type, int i);
+ int type, int i, int sample);
#endif
CCL_NAMESPACE_END
diff --git a/intern/cycles/kernel/kernel_avx2.cpp b/intern/cycles/kernel/kernel_avx2.cpp
index 0a20ff2..339421a 100644
--- a/intern/cycles/kernel/kernel_avx2.cpp
+++ b/intern/cycles/kernel/kernel_avx2.cpp
@@ -69,12 +69,12 @@ void kernel_cpu_avx2_convert_to_half_float(KernelGlobals *kg, uchar4 *rgba, floa
/* Shader Evaluate */
-void kernel_cpu_avx2_shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int i)
+void kernel_cpu_avx2_shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int i, int sample)
{
if(type >= SHADER_EVAL_BAKE)
- kernel_bake_evaluate(kg, input, output, (ShaderEvalType)type, i);
+ kernel_bake_evaluate(kg, input, output, (ShaderEvalType)type, i, sample);
else
- kernel_shader_evaluate(kg, input, output, (ShaderEvalType)type, i);
+ kernel_shader_evaluate(kg, input, output, (ShaderEvalType)type, i, sample);
}
CCL_NAMESPACE_END
More information about the Bf-blender-cvs
mailing list