summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexLoader_Position.cpp
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2015-01-19 17:36:24 +0100
committerTillmann Karras <tilkax@gmail.com>2015-01-19 17:36:24 +0100
commit4b323096ec688f1623d0a5a784e7441d98b71e3a (patch)
treeb49006435b79ebceb7cda58ed02a2d8c5153e361 /Source/Core/VideoCommon/VertexLoader_Position.cpp
parented58b1fd5b03ab3f466f5ec91d859f4a35d94066 (diff)
VertexLoader_Position: remove old JIT ideas
Diffstat (limited to 'Source/Core/VideoCommon/VertexLoader_Position.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexLoader_Position.cpp46
1 files changed, 0 insertions, 46 deletions
diff --git a/Source/Core/VideoCommon/VertexLoader_Position.cpp b/Source/Core/VideoCommon/VertexLoader_Position.cpp
index 3313c12b5a..43e56119ea 100644
--- a/Source/Core/VideoCommon/VertexLoader_Position.cpp
+++ b/Source/Core/VideoCommon/VertexLoader_Position.cpp
@@ -12,52 +12,6 @@
#include "VideoCommon/VertexManagerBase.h"
#include "VideoCommon/VideoCommon.h"
-// Thoughts on the implementation of a vertex loader compiler.
-// g_vertex_manager_write_ptr should definitely be in a register.
-// Could load the position scale factor in XMM7, for example.
-
-// The pointer inside DataReadU8 in another.
-// Let's check out Pos_ReadDirect_UByte(). For Byte, replace MOVZX with MOVSX.
-
-/*
-MOVZX(32, R(EAX), MOffset(ESI, 0));
-MOVZX(32, R(EBX), MOffset(ESI, 1));
-MOVZX(32, R(ECX), MOffset(ESI, 2));
-MOVD(XMM0, R(EAX));
-MOVD(XMM1, R(EBX));
-MOVD(XMM2, R(ECX));
-CVTDQ2PS(XMM0, XMM0);
-CVTDQ2PS(XMM1, XMM1);
-CVTDQ2PS(XMM2, XMM2);
-MULSS(XMM0, XMM7);
-MULSS(XMM1, XMM7);
-MULSS(XMM2, XMM7);
-MOVSS(MOffset(EDI, 0), XMM0);
-MOVSS(MOffset(EDI, 4), XMM1);
-MOVSS(MOffset(EDI, 8), XMM2);
-
-Alternatively, lookup table:
-MOVZX(32, R(EAX), MOffset(ESI, 0));
-MOVZX(32, R(EBX), MOffset(ESI, 1));
-MOVZX(32, R(ECX), MOffset(ESI, 2));
-MOV(32, R(EAX), MComplex(LUTREG, EAX, 4));
-MOV(32, R(EBX), MComplex(LUTREG, EBX, 4));
-MOV(32, R(ECX), MComplex(LUTREG, ECX, 4));
-MOV(MOffset(EDI, 0), XMM0);
-MOV(MOffset(EDI, 4), XMM1);
-MOV(MOffset(EDI, 8), XMM2);
-
-SSE4:
-PINSRB(XMM0, MOffset(ESI, 0), 0);
-PINSRB(XMM0, MOffset(ESI, 1), 4);
-PINSRB(XMM0, MOffset(ESI, 2), 8);
-CVTDQ2PS(XMM0, XMM0);
-<two unpacks here to sign extend>
-MULPS(XMM0, XMM7);
-MOVUPS(MOffset(EDI, 0), XMM0);
-
- */
-
template <typename T>
float PosScale(T val, float scale)
{