Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2014-01-16 20:04:11 +0400
committerThomas Dinges <blender@dingto.org>2014-01-16 20:04:11 +0400
commitde28a4d4b2c9397c5233a5ee1dbf1400f450a15c (patch)
tree1fe23de963e206af3fb2ff2d9e2e3393cd89149c /intern/cycles/kernel/kernel.h
parent7c6d52eb07c4bd8142a95eca1dbdc794063859b8 (diff)
Cycles: Add an AVX kernel for CPU rendering.
* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer. * We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64. * No change for Windows yet, MSVC 2008 does not support AVX. Reviewed by: brecht Differential Revision: https://developer.blender.org/D216
Diffstat (limited to 'intern/cycles/kernel/kernel.h')
-rw-r--r--intern/cycles/kernel/kernel.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel.h b/intern/cycles/kernel/kernel.h
index 01bea10c1e7..039dc791b08 100644
--- a/intern/cycles/kernel/kernel.h
+++ b/intern/cycles/kernel/kernel.h
@@ -76,6 +76,17 @@ void kernel_cpu_sse41_shader(KernelGlobals *kg, uint4 *input, float4 *output,
int type, int i);
#endif
+#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX
+void kernel_cpu_avx_path_trace(KernelGlobals *kg, float *buffer, unsigned int *rng_state,
+ int sample, int x, int y, int offset, int stride);
+void kernel_cpu_avx_convert_to_byte(KernelGlobals *kg, uchar4 *rgba, float *buffer,
+ float sample_scale, int x, int y, int offset, int stride);
+void kernel_cpu_avx_convert_to_half_float(KernelGlobals *kg, uchar4 *rgba, float *buffer,
+ float sample_scale, int x, int y, int offset, int stride);
+void kernel_cpu_avx_shader(KernelGlobals *kg, uint4 *input, float4 *output,
+ int type, int i);
+#endif
+
CCL_NAMESPACE_END
#endif /* __KERNEL_H__ */