Mesa (master): swr: [rasterizer core] change scale on VP matrix element gathers

Tim Rowley torowley at kemper.freedesktop.org
Wed Aug 17 22:12:46 UTC 2016


Module: Mesa
Branch: master
Commit: b8c47175672063e45229b7cf82b79d1e97ec2943
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8c47175672063e45229b7cf82b79d1e97ec2943

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Wed Aug 10 13:20:30 2016 -0600

swr: [rasterizer core] change scale on VP matrix element gathers

Was 1, which led to pulling denorms for non-zero indices.
Changed to sizeof(float).

Signed-off-by: Tim Rowley <timothy.o.rowley at intel.com>

---

 src/gallium/drivers/swr/rasterizer/core/frontend.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.h b/src/gallium/drivers/swr/rasterizer/core/frontend.h
index 5e7762a..367d199 100644
--- a/src/gallium/drivers/swr/rasterizer/core/frontend.h
+++ b/src/gallium/drivers/swr/rasterizer/core/frontend.h
@@ -224,12 +224,12 @@ INLINE
 void viewportTransform(simdvector *v, const SWR_VIEWPORT_MATRICES & vpMatrices, simdscalari vViewportIdx)
 {
     // perform a gather of each matrix element based on the viewport array indexes
-    simdscalar m00 = _simd_i32gather_ps(&vpMatrices.m00[0], vViewportIdx, 1);
-    simdscalar m30 = _simd_i32gather_ps(&vpMatrices.m30[0], vViewportIdx, 1);
-    simdscalar m11 = _simd_i32gather_ps(&vpMatrices.m11[0], vViewportIdx, 1);
-    simdscalar m31 = _simd_i32gather_ps(&vpMatrices.m31[0], vViewportIdx, 1);
-    simdscalar m22 = _simd_i32gather_ps(&vpMatrices.m22[0], vViewportIdx, 1);
-    simdscalar m32 = _simd_i32gather_ps(&vpMatrices.m32[0], vViewportIdx, 1);
+    simdscalar m00 = _simd_i32gather_ps(&vpMatrices.m00[0], vViewportIdx, 4);
+    simdscalar m30 = _simd_i32gather_ps(&vpMatrices.m30[0], vViewportIdx, 4);
+    simdscalar m11 = _simd_i32gather_ps(&vpMatrices.m11[0], vViewportIdx, 4);
+    simdscalar m31 = _simd_i32gather_ps(&vpMatrices.m31[0], vViewportIdx, 4);
+    simdscalar m22 = _simd_i32gather_ps(&vpMatrices.m22[0], vViewportIdx, 4);
+    simdscalar m32 = _simd_i32gather_ps(&vpMatrices.m32[0], vViewportIdx, 4);
 
     for (uint32_t i = 0; i < NumVerts; ++i)
     {




More information about the mesa-commit mailing list