summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexLoaderX64.cpp
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2015-01-18 05:13:00 +0100
committerTillmann Karras <tilkax@gmail.com>2015-01-18 13:31:28 +0100
commit1855d56f1ab3a6284ac361e5ed82f422ac5de9a2 (patch)
tree7d28cb3c45667020bbe303c1709b181c47559817 /Source/Core/VideoCommon/VertexLoaderX64.cpp
parentdc01e261d1c12e748d59344fbbdd7e89457a58ae (diff)
VertexLoaderX64: fix a bunch of stuff
Suggestions by @degasus and @FioraAeterna.
Diffstat (limited to 'Source/Core/VideoCommon/VertexLoaderX64.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexLoaderX64.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/VertexLoaderX64.cpp b/Source/Core/VideoCommon/VertexLoaderX64.cpp
index c1f96eb99d..bf841ec9a8 100644
--- a/Source/Core/VideoCommon/VertexLoaderX64.cpp
+++ b/Source/Core/VideoCommon/VertexLoaderX64.cpp
@@ -153,6 +153,7 @@ void VertexLoaderX64::ReadColor(OpArg data, u64 attribute, int format, int eleme
case FORMAT_32B_888x:
case FORMAT_32B_8888:
MOV(32, R(scratch1), data);
+ // See VertexLoader_Color.cpp for a comment on this condition.
if (format != FORMAT_32B_8888 || !elements)
OR(32, R(scratch1), Imm32(0xFF000000));
MOV(32, MDisp(dst_reg, m_dst_ofs), R(scratch1));
@@ -327,7 +328,7 @@ void VertexLoaderX64::GenerateVertexLoader()
if (m_VtxDesc.Normal)
{
- static const u8 map[] = {7, 6, 15, 14, 30};
+ static const u8 map[] = {7, 6, 15, 14, 0};
u8 scaling_exponent = map[m_VtxAttr.NormalFormat];
for (int i = 0; i < (m_VtxAttr.NormalElements ? 3 : 1); i++)
@@ -385,8 +386,6 @@ void VertexLoaderX64::GenerateVertexLoader()
m_native_vtx_decl.texcoords[i].type = VAR_FLOAT;
m_native_vtx_decl.texcoords[i].integer = false;
MOVZX(64, 8, scratch1, MDisp(src_reg, texmatidx_ofs[i]));
- PXOR(XMM0, R(XMM0));
- CVTSI2SS(XMM0, R(scratch1));
if (tc[i])
{
CVTSI2SS(XMM0, R(scratch1));
@@ -422,7 +421,7 @@ void VertexLoaderX64::GenerateVertexLoader()
RET();
SetJumpTarget(m_skip_vertex);
- ADD(32, R(skipped_reg), Imm8(m_VtxDesc.Position == INDEX8 ? 1 : 2));
+ ADD(32, R(skipped_reg), Imm8(1));
JMP(cont);
}
else