diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-03-23 14:41:33 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-03-23 19:45:19 +0300 |
commit | e8ff06186ee031e67e554467ced7cd16ac34af94 (patch) | |
tree | fc546eef9ab6a9a50619d0860cc478af1fb1905b /intern | |
parent | 5c06ff8bb96d014dda33874d357ecb4652558998 (diff) |
Cycles: Cleanup, inline AVX register construction from kernel global data
Currently should be no functional changes, preparing for some upcoming refactor.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/kernel/geom/geom_triangle_intersect.h | 5 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_compat_cpu.h | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h index 4d234dd62bd..4f4ee93c077 100644 --- a/intern/cycles/kernel/geom/geom_triangle_intersect.h +++ b/intern/cycles/kernel/geom/geom_triangle_intersect.h @@ -123,8 +123,9 @@ ccl_device_inline bool triangle_intersect(KernelGlobals *kg, #if defined(__KERNEL_AVX2__) && defined(__KERNEL_SSE__) const avxf avxf_P(P.m128, P.m128); - const avxf tri_ab = kernel_tex_fetch_avxf(__prim_tri_verts, tri_vindex + 0); - const avxf tri_bc = kernel_tex_fetch_avxf(__prim_tri_verts, tri_vindex + 1); + const ssef *ssef_verts = (ssef*)&kg->__prim_tri_verts.data[tri_vindex]; + const avxf tri_ab = _mm256_loadu_ps((float *)(ssef_verts)); + const avxf tri_bc = _mm256_loadu_ps((float *)(ssef_verts + 1)); const avxf AB = tri_ab - avxf_P; const avxf BC = tri_bc - avxf_P; diff --git a/intern/cycles/kernel/kernel_compat_cpu.h b/intern/cycles/kernel/kernel_compat_cpu.h index e347a1eca18..96276f313f8 100644 --- a/intern/cycles/kernel/kernel_compat_cpu.h +++ b/intern/cycles/kernel/kernel_compat_cpu.h @@ -87,9 +87,9 @@ template<typename T> struct texture { ccl_always_inline avxf fetch_avxf(const int index) { kernel_assert(index >= 0 && (index+1) < width); - ssef *ssefData = (ssef*)data; - ssef *ssefNodeData = &ssefData[index]; - return _mm256_loadu_ps((float *)ssefNodeData); + ssef *ssef_data = (ssef*)data; + ssef *ssef_node_data = &ssef_data[index]; + return _mm256_loadu_ps((float *)ssef_node_data); } #endif |