diff options
| author | Tillmann Karras <tilkax@gmail.com> | 2015-01-19 17:36:24 +0100 |
|---|---|---|
| committer | Tillmann Karras <tilkax@gmail.com> | 2015-01-19 17:36:24 +0100 |
| commit | 4b323096ec688f1623d0a5a784e7441d98b71e3a (patch) | |
| tree | b49006435b79ebceb7cda58ed02a2d8c5153e361 /Source/Core/VideoCommon/VertexLoader_Position.cpp | |
| parent | ed58b1fd5b03ab3f466f5ec91d859f4a35d94066 (diff) | |
VertexLoader_Position: remove old JIT ideas
Diffstat (limited to 'Source/Core/VideoCommon/VertexLoader_Position.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexLoader_Position.cpp | 46 |
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) { |
