[Bf-blender-cvs] [e8ff06186e] master: Cycles: Cleanup, inline AVX register construction from kernel global data

Sergey Sharybin noreply at git.blender.org
Thu Mar 23 18:05:10 CET 2017


Commit: e8ff06186ee031e67e554467ced7cd16ac34af94
Author: Sergey Sharybin
Date:   Thu Mar 23 12:41:33 2017 +0100
Branches: master
https://developer.blender.org/rBe8ff06186ee031e67e554467ced7cd16ac34af94

Cycles: Cleanup, inline AVX register construction from kernel global data

Currently should be no functional changes, preparing for some upcoming refactor.

===================================================================

M	intern/cycles/kernel/geom/geom_triangle_intersect.h
M	intern/cycles/kernel/kernel_compat_cpu.h

===================================================================

diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h
index 4d234dd62b..4f4ee93c07 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 e347a1eca1..96276f313f 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




More information about the Bf-blender-cvs mailing list