From 3fea5779df62a12d92d87a2fa2b49e3a4ce07d74 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Fri, 13 Nov 2015 09:40:02 +0100 Subject: [PATCH] gsdx: align sprite test of x64.avx with x86.avx --- .../GSdx/GSDrawScanlineCodeGenerator.x64.avx.cpp | 14 +++++++------- plugins/GSdx/GSSetupPrimCodeGenerator.x64.avx.cpp | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/GSdx/GSDrawScanlineCodeGenerator.x64.avx.cpp b/plugins/GSdx/GSDrawScanlineCodeGenerator.x64.avx.cpp index 421ff0bcd8..09a7dea329 100644 --- a/plugins/GSdx/GSDrawScanlineCodeGenerator.x64.avx.cpp +++ b/plugins/GSdx/GSDrawScanlineCodeGenerator.x64.avx.cpp @@ -254,14 +254,14 @@ void GSDrawScanlineCodeGenerator::Init() mov(rax, (size_t)m_local.gd->fzbc); lea(rdi, ptr[rax + rbx * 2]); - if(!m_sel.sprite && (m_sel.fwrite && m_sel.fge || m_sel.zb) || m_sel.fb && (m_sel.edge || m_sel.tfx != TFX_NONE || m_sel.iip)) + if(m_sel.prim != GS_SPRITE_CLASS && (m_sel.fwrite && m_sel.fge || m_sel.zb) || m_sel.fb && (m_sel.edge || m_sel.tfx != TFX_NONE || m_sel.iip)) { // edx = &m_local.d[skip] lea(rdx, ptr[rdx * 8 + r11 + offsetof(GSScanlineLocalData, d)]); } - if(!m_sel.sprite) + if(m_sel.prim != GS_SPRITE_CLASS) { if(m_sel.fwrite && m_sel.fge || m_sel.zb) { @@ -326,7 +326,7 @@ void GSDrawScanlineCodeGenerator::Init() vpaddd(xmm10, ptr[rdx + offsetof(GSScanlineLocalData::skip, s)]); - if(!m_sel.sprite || m_sel.mmin) + if(m_sel.prim != GS_SPRITE_CLASS || m_sel.mmin) { vpaddd(xmm11, ptr[rdx + offsetof(GSScanlineLocalData::skip, t)]); } @@ -397,7 +397,7 @@ void GSDrawScanlineCodeGenerator::Step() add(rdi, 8); - if(!m_sel.sprite) + if(m_sel.prim != GS_SPRITE_CLASS) { // z += m_local.d4.z; @@ -436,7 +436,7 @@ void GSDrawScanlineCodeGenerator::Step() vpshufd(xmm1, xmm0, _MM_SHUFFLE(0, 0, 0, 0)); vpaddd(xmm10, xmm1); - if(!m_sel.sprite || m_sel.mmin) + if(m_sel.prim != GS_SPRITE_CLASS || m_sel.mmin) { vpshufd(xmm1, xmm0, _MM_SHUFFLE(1, 1, 1, 1)); vpaddd(xmm11, xmm1); @@ -519,7 +519,7 @@ void GSDrawScanlineCodeGenerator::TestZ(const Xmm& temp1, const Xmm& temp2) // GSVector4i zs = zi; - if(!m_sel.sprite) + if(m_sel.prim != GS_SPRITE_CLASS) { if(m_sel.zoverflow) { @@ -652,7 +652,7 @@ void GSDrawScanlineCodeGenerator::SampleTexture() vpshufhw(xmm6, xmm6, _MM_SHUFFLE(2, 2, 0, 0)); vpsrlw(xmm6, 1); - if(!m_sel.sprite) + if(m_sel.prim != GS_SPRITE_CLASS) { // GSVector4i vf = v.xxzzlh().srl16(1); diff --git a/plugins/GSdx/GSSetupPrimCodeGenerator.x64.avx.cpp b/plugins/GSdx/GSSetupPrimCodeGenerator.x64.avx.cpp index 2f3d7fe634..0f62b1c3ea 100644 --- a/plugins/GSdx/GSSetupPrimCodeGenerator.x64.avx.cpp +++ b/plugins/GSdx/GSSetupPrimCodeGenerator.x64.avx.cpp @@ -36,7 +36,7 @@ void GSSetupPrimCodeGenerator::Generate() mov(r8, (size_t)&m_local); - if((m_en.z || m_en.f) && !m_sel.sprite || m_en.t || m_en.c && m_sel.iip) + if((m_en.z || m_en.f) && m_sel.prim != GS_SPRITE_CLASS || m_en.t || m_en.c && m_sel.iip) { mov(rax, (size_t)&m_shift[0]); @@ -67,7 +67,7 @@ void GSSetupPrimCodeGenerator::Depth() return; } - if(!m_sel.sprite) + if(m_sel.prim != GS_SPRITE_CLASS) { // GSVector4 p = dscan.p;