Text archives Help
- From: abe@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r1199 - trunk/Model/Materials
- Date: Mon, 2 Oct 2006 17:35:22 -0600 (MDT)
Author: abe
Date: Mon Oct 2 17:35:22 2006
New Revision: 1199
Modified:
trunk/Model/Materials/Phong.cc
Log:
Modified x86_64 code path to avoid shadow detection bug.
M Phong.cc
Modified: trunk/Model/Materials/Phong.cc
==============================================================================
--- trunk/Model/Materials/Phong.cc (original)
+++ trunk/Model/Materials/Phong.cc Mon Oct 2 17:35:22 2006
@@ -186,9 +186,24 @@
for(;i<e;i+=4){
#ifdef __x86_64
- __m128 masklo = _mm_castpd_ps(
_mm_cmpeq_pd(_mm_load_pd((double*)&shadowData->hitMatl[i]), _mm_setzero_pd())
);
- __m128 maskhi = _mm_castpd_ps(
_mm_cmpeq_pd(_mm_load_pd((double*)&shadowData->hitMatl[i+2]),
_mm_setzero_pd()) );
- __m128 mask = _mm_shuffle_ps(masklo, maskhi, _MM_SHUFFLE(2, 0, 2, 0));
+
+#if 0
+ __m128 masklo1 = _mm_castpd_ps(
_mm_cmpeq_pd(_mm_load_pd((double*)&shadowData->hitMatl[i]), _mm_setzero_pd())
);
+ __m128 maskhi1 = _mm_castpd_ps(
_mm_cmpeq_pd(_mm_load_pd((double*)&shadowData->hitMatl[i+2]),
_mm_setzero_pd()) );
+
+#else
+ __m128 masklo = _mm_castpd_ps( _mm_cmpeq_pd(
_mm_set_pd((double)(size_t)shadowData->hitMatl[i+0],
+
(double)(size_t)shadowData->hitMatl[i+1]),
+ _mm_setzero_pd() ));
+ __m128 maskhi = _mm_castpd_ps( _mm_cmpeq_pd (
_mm_set_pd((double)(size_t)shadowData->hitMatl[i+2],
+
(double)(size_t)shadowData->hitMatl[i+3] ),
+ _mm_setzero_pd() ));
+
+#endif
+ __m128 mask = _mm_shuffle_ps(masklo, maskhi, _MM_SHUFFLE(2, 0, 2,
0));
+
+
+
#else
__m128 mask =
_mm_cmpeq_ps(_mm_load_ps((float*)&shadowData->hitMatl[i]), _mm_setzero_ps());
#endif
- [MANTA] r1199 - trunk/Model/Materials, abe, 10/02/2006
Archive powered by MHonArc 2.6.16.