Text archives Help
- From: boulos@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r1488 - trunk/Model/Primitives
- Date: Tue, 17 Jul 2007 17:19:54 -0600 (MDT)
Author: boulos
Date: Tue Jul 17 17:19:54 2007
New Revision: 1488
Modified:
trunk/Model/Primitives/Parallelogram.cc
Log:
Model/Primitives/Parallelogram.cc
Adding an SSE version of the Parallelogram sampling methods.
Modified: trunk/Model/Primitives/Parallelogram.cc
==============================================================================
--- trunk/Model/Primitives/Parallelogram.cc (original)
+++ trunk/Model/Primitives/Parallelogram.cc Tue Jul 17 17:19:54 2007
@@ -564,6 +564,37 @@
context.rng->nextPacket(r1);
context.rng->nextPacket(r2);
+#ifdef MANTA_SSE
+ for (int i = 0; i < Packet<Vector>::MaxSize; i+=4) {
+ _mm_store_ps(&points.vectordata[0][i],
+ _mm_add_ps(_mm_set1_ps(anchor[0]),
+ _mm_add_ps(_mm_mul_ps(_mm_load_ps(&r1.data[i]),
+
_mm_set1_ps(v1_unscaled[0])),
+ _mm_mul_ps(_mm_load_ps(&r2.data[i]),
+
_mm_set1_ps(v2_unscaled[0])))));
+ _mm_store_ps(&points.vectordata[1][i],
+ _mm_add_ps(_mm_set1_ps(anchor[1]),
+ _mm_add_ps(_mm_mul_ps(_mm_load_ps(&r1.data[i]),
+
_mm_set1_ps(v1_unscaled[1])),
+ _mm_mul_ps(_mm_load_ps(&r2.data[i]),
+
_mm_set1_ps(v2_unscaled[1])))));
+ _mm_store_ps(&points.vectordata[2][i],
+ _mm_add_ps(_mm_set1_ps(anchor[2]),
+ _mm_add_ps(_mm_mul_ps(_mm_load_ps(&r1.data[i]),
+
_mm_set1_ps(v1_unscaled[2])),
+ _mm_mul_ps(_mm_load_ps(&r2.data[i]),
+
_mm_set1_ps(v2_unscaled[2])))));
+
+ _mm_store_ps(&normals.vectordata[0][i],
+ _mm_set1_ps(this->normal[0]));
+ _mm_store_ps(&normals.vectordata[1][i],
+ _mm_set1_ps(this->normal[1]));
+ _mm_store_ps(&normals.vectordata[2][i],
+ _mm_set1_ps(this->normal[2]));
+
+ _mm_store_ps(&pdfs.data[i], _mm_set1_ps(inv_area));
+ }
+#else
for (int i = 0; i < Packet<Vector>::MaxSize; i++) {
points.set(i, anchor + r1.get(i) * v1_unscaled + r2.get(i) *
v2_unscaled);
}
@@ -573,4 +604,5 @@
for (int i = 0; i < Packet<Real>::MaxSize; i++) {
pdfs.set(i, inv_area);
}
+#endif
}
- [MANTA] r1488 - trunk/Model/Primitives, boulos, 07/17/2007
Archive powered by MHonArc 2.6.16.