diff options
Diffstat (limited to 'Source/Core/VideoCommon/Src/VertexLoader.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/VertexLoader.cpp | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexLoader.cpp b/Source/Core/VideoCommon/Src/VertexLoader.cpp index 97c6e5703f..35abfa8b3c 100644 --- a/Source/Core/VideoCommon/Src/VertexLoader.cpp +++ b/Source/Core/VideoCommon/Src/VertexLoader.cpp @@ -16,10 +16,8 @@ // http://code.google.com/p/dolphin-emu/ #include <assert.h> -#include <nmmintrin.h> #include "Common.h" -#include "CPUDetect.h" #include "VideoCommon.h" #include "VideoConfig.h" #include "Profiler.h" @@ -72,7 +70,7 @@ int colIndex; TVtxAttr* pVtxAttr; int colElements[2]; float posScale; -__declspec(align(16)) float tcScale[8]; +float tcScale[8]; using namespace Gen; @@ -635,31 +633,9 @@ void VertexLoader::RunVertices(int vtx_attr_group, int primitive, int count) pVtxAttr = &m_VtxAttr; posScale = 1.0f / float(1 << m_VtxAttr.PosFrac); - if (m_NativeFmt->m_components & VB_HAS_UVALL) { - if (cpu_info.bSSE4_1) { - __m128i a0; - a0 = _mm_insert_epi32(a0, 1 << m_VtxAttr.texCoord[0].Frac, 0); - a0 = _mm_insert_epi32(a0, 1 << m_VtxAttr.texCoord[1].Frac, 1); - a0 = _mm_insert_epi32(a0, 1 << m_VtxAttr.texCoord[2].Frac, 2); - a0 = _mm_insert_epi32(a0, 1 << m_VtxAttr.texCoord[3].Frac, 3); - const __m128 b0 = _mm_cvtepi32_ps(a0); - const __m128 c0 = _mm_rcp_ps(b0); - _mm_stream_ps(&tcScale[0], c0); - - __m128i a1; - a1 = _mm_insert_epi32(a1, 1 << m_VtxAttr.texCoord[4].Frac, 0); - a1 = _mm_insert_epi32(a1, 1 << m_VtxAttr.texCoord[5].Frac, 1); - a1 = _mm_insert_epi32(a1, 1 << m_VtxAttr.texCoord[6].Frac, 2); - a1 = _mm_insert_epi32(a1, 1 << m_VtxAttr.texCoord[7].Frac, 3); - const __m128 b1 = _mm_cvtepi32_ps(a1); - const __m128 c1 = _mm_rcp_ps(b1); - _mm_stream_ps(&tcScale[4], c1); - } else { - for (int i = 0; i < 8; i++) { - tcScale[i] = 1.0f / float(1 << m_VtxAttr.texCoord[i].Frac); - } - } - } + if (m_NativeFmt->m_components & VB_HAS_UVALL) + for (int i = 0; i < 8; i++) + tcScale[i] = 1.0f / float(1 << m_VtxAttr.texCoord[i].Frac); for (int i = 0; i < 2; i++) colElements[i] = m_VtxAttr.color[i].Elements; |
