From 873902b4a3cc40b6a03bef197e54c5165f98d842 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Mon, 19 Jan 2015 18:33:08 +0100 Subject: VertexLoader: remove non-JIT SSE code --- Source/Core/VideoCommon/VertexLoader_Position.cpp | 70 +---------------------- 1 file changed, 2 insertions(+), 68 deletions(-) (limited to 'Source/Core/VideoCommon/VertexLoader_Position.cpp') diff --git a/Source/Core/VideoCommon/VertexLoader_Position.cpp b/Source/Core/VideoCommon/VertexLoader_Position.cpp index 43e56119ea..3dac5a55b1 100644 --- a/Source/Core/VideoCommon/VertexLoader_Position.cpp +++ b/Source/Core/VideoCommon/VertexLoader_Position.cpp @@ -5,8 +5,6 @@ #include #include "Common/CommonTypes.h" -#include "Common/CPUDetect.h" - #include "VideoCommon/VertexLoader.h" #include "VideoCommon/VertexLoader_Position.h" #include "VideoCommon/VertexManagerBase.h" @@ -28,7 +26,7 @@ template void LOADERDECL Pos_ReadDirect(VertexLoader* loader) { static_assert(N <= 3, "N > 3 is not sane!"); - auto const scale = loader->m_posScale[0];; + auto const scale = loader->m_posScale; DataReader dst(g_vertex_manager_write_ptr, nullptr); DataReader src(g_video_buffer_read_ptr, nullptr); @@ -49,7 +47,7 @@ void LOADERDECL Pos_ReadIndex(VertexLoader* loader) auto const index = DataRead(); loader->m_vertexSkip = index == std::numeric_limits::max(); auto const data = reinterpret_cast(cached_arraybases[ARRAY_POSITION] + (index * g_main_cp_state.array_strides[ARRAY_POSITION])); - auto const scale = loader->m_posScale[0]; + auto const scale = loader->m_posScale; DataReader dst(g_vertex_manager_write_ptr, nullptr); for (int i = 0; i < 3; ++i) @@ -59,28 +57,6 @@ void LOADERDECL Pos_ReadIndex(VertexLoader* loader) LOG_VTX(); } -#if _M_SSE >= 0x301 -template -void LOADERDECL Pos_ReadDirect_SSSE3(VertexLoader* loader) -{ - const T* pData = reinterpret_cast(DataGetPosition()); - Vertex_Read_SSSE3(pData, *(__m128*)loader->m_posScale); - DataSkip<(2 + three) * sizeof(T)>(); - LOG_VTX(); -} - -template -void LOADERDECL Pos_ReadIndex_SSSE3(VertexLoader* loader) -{ - static_assert(std::is_unsigned::value, "Only unsigned I is sane!"); - auto const index = DataRead(); - loader->m_vertexSkip = index == std::numeric_limits::max(); - const T* pData = (const T*)(cached_arraybases[ARRAY_POSITION] + (index * g_main_cp_state.array_strides[ARRAY_POSITION])); - Vertex_Read_SSSE3(pData, *(__m128*)loader->m_posScale); - LOG_VTX(); -} -#endif - static TPipelineFunction tableReadPosition[4][8][2] = { { {nullptr, nullptr,}, @@ -127,48 +103,6 @@ static int tableReadPositionVertexSize[4][8][2] = { }, }; - -void VertexLoader_Position::Init() -{ - -#if _M_SSE >= 0x301 - if (cpu_info.bSSSE3) - { - tableReadPosition[1][0][0] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][0][1] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][1][0] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][1][1] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][2][0] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][2][1] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][3][0] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][3][1] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][4][0] = Pos_ReadDirect_SSSE3; - tableReadPosition[1][4][1] = Pos_ReadDirect_SSSE3; - tableReadPosition[2][0][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][0][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][0][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][0][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][1][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][1][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][1][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][1][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][2][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][2][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][2][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][2][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][3][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][3][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][3][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][3][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][4][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[2][4][1] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][4][0] = Pos_ReadIndex_SSSE3; - tableReadPosition[3][4][1] = Pos_ReadIndex_SSSE3; - } -#endif - -} - unsigned int VertexLoader_Position::GetSize(u64 _type, unsigned int _format, unsigned int _elements) { return tableReadPositionVertexSize[_type][_format][_elements]; -- cgit v1.2.3