mirror of https://github.com/PCSX2/pcsx2.git
GS: Remove old DrawScanline code generators
This commit is contained in:
parent
f55219bb1b
commit
9d767838d6
|
@ -640,12 +640,6 @@ set(pcsx2GSSources
|
||||||
GS/Renderers/SW/GSDrawScanline.cpp
|
GS/Renderers/SW/GSDrawScanline.cpp
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.cpp
|
GS/Renderers/SW/GSDrawScanlineCodeGenerator.cpp
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp
|
GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x64.cpp
|
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x64.avx.cpp
|
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x64.avx2.cpp
|
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x86.cpp
|
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x86.avx.cpp
|
|
||||||
GS/Renderers/SW/GSDrawScanlineCodeGenerator.x86.avx2.cpp
|
|
||||||
GS/Renderers/SW/GSNewCodeGenerator.cpp
|
GS/Renderers/SW/GSNewCodeGenerator.cpp
|
||||||
GS/Renderers/SW/GSRasterizer.cpp
|
GS/Renderers/SW/GSRasterizer.cpp
|
||||||
GS/Renderers/SW/GSRendererSW.cpp
|
GS/Renderers/SW/GSRendererSW.cpp
|
||||||
|
@ -676,7 +670,6 @@ set(pcsx2GSHeaders
|
||||||
GS/GSDrawingEnvironment.h
|
GS/GSDrawingEnvironment.h
|
||||||
GS/GSDump.h
|
GS/GSDump.h
|
||||||
GS/GS_types.h
|
GS/GS_types.h
|
||||||
GS/GS_codegen.h
|
|
||||||
GS/GS.h
|
GS/GS.h
|
||||||
GS/GSLocalMemory.h
|
GS/GSLocalMemory.h
|
||||||
GS/GSLzma.h
|
GS/GSLzma.h
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
|
||||||
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
|
||||||
*
|
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
|
||||||
* ation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
||||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along with PCSX2.
|
|
||||||
* If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
using namespace Xbyak;
|
|
||||||
|
|
||||||
#ifdef _M_AMD64
|
|
||||||
// Yeah let use mips naming ;)
|
|
||||||
#ifdef _WIN64
|
|
||||||
#define a0 rcx
|
|
||||||
#define a1 rdx
|
|
||||||
#define a2 r8
|
|
||||||
#define a3 r9
|
|
||||||
#define t0 rdi
|
|
||||||
#define t1 rsi
|
|
||||||
#else
|
|
||||||
#define a0 rdi
|
|
||||||
#define a1 rsi
|
|
||||||
#define a2 rdx
|
|
||||||
#define a3 rcx
|
|
||||||
#define t0 r8
|
|
||||||
#define t1 r9
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -17,16 +17,6 @@
|
||||||
#include "GSDrawScanlineCodeGenerator.h"
|
#include "GSDrawScanlineCodeGenerator.h"
|
||||||
#include "GSDrawScanlineCodeGenerator.all.h"
|
#include "GSDrawScanlineCodeGenerator.all.h"
|
||||||
|
|
||||||
#if _M_SSE >= 0x501
|
|
||||||
#else
|
|
||||||
void GSDrawScanlineCodeGenerator::Generate()
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
Generate_AVX();
|
|
||||||
else
|
|
||||||
Generate_SSE();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GSDrawScanlineCodeGenerator::GSDrawScanlineCodeGenerator(void* param, uint64 key, void* code, size_t maxsize)
|
GSDrawScanlineCodeGenerator::GSDrawScanlineCodeGenerator(void* param, uint64 key, void* code, size_t maxsize)
|
||||||
: GSCodeGenerator(code, maxsize)
|
: GSCodeGenerator(code, maxsize)
|
||||||
|
@ -40,218 +30,3 @@ GSDrawScanlineCodeGenerator::GSDrawScanlineCodeGenerator(void* param, uint64 key
|
||||||
|
|
||||||
GSDrawScanlineCodeGenerator2(this, CPUInfo(m_cpu), (void*)&m_local, m_sel.key).Generate();
|
GSDrawScanlineCodeGenerator2(this, CPUInfo(m_cpu), (void*)&m_local, m_sel.key).Generate();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::modulate16(const Xmm& a, const Operand& f, uint8 shift)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
if (shift == 0)
|
|
||||||
{
|
|
||||||
vpmulhrsw(a, f);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpsllw(a, shift + 1);
|
|
||||||
vpmulhw(a, f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (shift == 0 && m_cpu.has(Xbyak::util::Cpu::tSSSE3))
|
|
||||||
{
|
|
||||||
pmulhrsw(a, f);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psllw(a, shift + 1);
|
|
||||||
pmulhw(a, f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::lerp16(const Xmm& a, const Xmm& b, const Xmm& f, uint8 shift)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpsubw(a, b);
|
|
||||||
modulate16(a, f, shift);
|
|
||||||
vpaddw(a, b);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psubw(a, b);
|
|
||||||
modulate16(a, f, shift);
|
|
||||||
paddw(a, b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::lerp16_4(const Xmm& a, const Xmm& b, const Xmm& f)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpsubw(a, b);
|
|
||||||
vpmullw(a, f);
|
|
||||||
vpsraw(a, 4);
|
|
||||||
vpaddw(a, b);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psubw(a, b);
|
|
||||||
pmullw(a, f);
|
|
||||||
psraw(a, 4);
|
|
||||||
paddw(a, b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::mix16(const Xmm& a, const Xmm& b, const Xmm& temp)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpblendw(a, b, 0xaa);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pblendw(a, b, 0xaa);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::clamp16(const Xmm& a, const Xmm& temp)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpackuswb(a, a);
|
|
||||||
|
|
||||||
#if _M_SSE >= 0x501
|
|
||||||
// Greg: why ?
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX2))
|
|
||||||
{
|
|
||||||
ASSERT(a.isYMM());
|
|
||||||
vpermq(Ymm(a.getIdx()), Ymm(a.getIdx()), _MM_SHUFFLE(3, 1, 2, 0)); // this sucks
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vpmovzxbw(a, a);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
packuswb(a, a);
|
|
||||||
pmovzxbw(a, a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::alltrue(const Xmm& test)
|
|
||||||
{
|
|
||||||
uint32 mask = test.isYMM() ? 0xffffffff : 0xffff;
|
|
||||||
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpmovmskb(eax, test);
|
|
||||||
cmp(eax, mask);
|
|
||||||
je("step", T_NEAR);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pmovmskb(eax, test);
|
|
||||||
cmp(eax, mask);
|
|
||||||
je("step", T_NEAR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::blend(const Xmm& a, const Xmm& b, const Xmm& mask)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpand(b, mask);
|
|
||||||
vpandn(mask, a);
|
|
||||||
vpor(a, b, mask);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pand(b, mask);
|
|
||||||
pandn(mask, a);
|
|
||||||
por(b, mask);
|
|
||||||
movdqa(a, b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::blendr(const Xmm& b, const Xmm& a, const Xmm& mask)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpand(b, mask);
|
|
||||||
vpandn(mask, a);
|
|
||||||
vpor(b, mask);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pand(b, mask);
|
|
||||||
pandn(mask, a);
|
|
||||||
por(b, mask);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::blend8(const Xmm& a, const Xmm& b)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
vpblendvb(a, a, b, xmm0);
|
|
||||||
else
|
|
||||||
pblendvb(a, b);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::blend8r(const Xmm& b, const Xmm& a)
|
|
||||||
{
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
vpblendvb(b, a, b, xmm0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pblendvb(a, b);
|
|
||||||
movdqa(b, a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::split16_2x8(const Xmm& l, const Xmm& h, const Xmm& src)
|
|
||||||
{
|
|
||||||
// l = src & 0xFF; (1 left shift + 1 right shift)
|
|
||||||
// h = (src >> 8) & 0xFF; (1 right shift)
|
|
||||||
|
|
||||||
if (m_cpu.has(Xbyak::util::Cpu::tAVX))
|
|
||||||
{
|
|
||||||
if (src == h)
|
|
||||||
{
|
|
||||||
vpsllw(l, src, 8);
|
|
||||||
vpsrlw(h, 8);
|
|
||||||
}
|
|
||||||
else if (src == l)
|
|
||||||
{
|
|
||||||
vpsrlw(h, src, 8);
|
|
||||||
vpsllw(l, 8);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpsllw(l, src, 8);
|
|
||||||
vpsrlw(h, src, 8);
|
|
||||||
}
|
|
||||||
vpsrlw(l, 8);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (src == h)
|
|
||||||
{
|
|
||||||
movdqa(l, src);
|
|
||||||
}
|
|
||||||
else if (src == l)
|
|
||||||
{
|
|
||||||
movdqa(h, src);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
movdqa(l, src);
|
|
||||||
movdqa(h, src);
|
|
||||||
}
|
|
||||||
psllw(l, 8);
|
|
||||||
psrlw(l, 8);
|
|
||||||
psrlw(h, 8);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,117 +27,12 @@
|
||||||
|
|
||||||
class GSDrawScanlineCodeGenerator : public GSCodeGenerator
|
class GSDrawScanlineCodeGenerator : public GSCodeGenerator
|
||||||
{
|
{
|
||||||
typedef Xbyak::Ymm Ymm;
|
|
||||||
typedef Xbyak::Xmm Xmm;
|
|
||||||
typedef Xbyak::Reg8 Reg8;
|
|
||||||
typedef Xbyak::Operand Operand;
|
|
||||||
|
|
||||||
void operator=(const GSDrawScanlineCodeGenerator&);
|
void operator=(const GSDrawScanlineCodeGenerator&);
|
||||||
|
|
||||||
GSScanlineSelector m_sel;
|
GSScanlineSelector m_sel;
|
||||||
GSScanlineLocalData& m_local;
|
GSScanlineLocalData& m_local;
|
||||||
bool m_rip;
|
bool m_rip;
|
||||||
|
|
||||||
void Generate();
|
|
||||||
|
|
||||||
#if _M_SSE >= 0x501
|
|
||||||
|
|
||||||
void Init();
|
|
||||||
void Step();
|
|
||||||
void TestZ(const Ymm& temp1, const Ymm& temp2);
|
|
||||||
void SampleTexture();
|
|
||||||
void Wrap(const Ymm& uv0);
|
|
||||||
void Wrap(const Ymm& uv0, const Ymm& uv1);
|
|
||||||
void SampleTextureLOD();
|
|
||||||
void WrapLOD(const Ymm& uv0);
|
|
||||||
void WrapLOD(const Ymm& uv0, const Ymm& uv1);
|
|
||||||
void AlphaTFX();
|
|
||||||
void ReadMask();
|
|
||||||
void TestAlpha();
|
|
||||||
void ColorTFX();
|
|
||||||
void Fog();
|
|
||||||
void ReadFrame();
|
|
||||||
void TestDestAlpha();
|
|
||||||
void WriteMask();
|
|
||||||
void WriteZBuf();
|
|
||||||
void AlphaBlend();
|
|
||||||
void WriteFrame();
|
|
||||||
void ReadPixel(const Ymm& dst, const Ymm& temp, const RegLong& addr);
|
|
||||||
void WritePixel(const Ymm& src, const Ymm& temp, const RegLong& addr, const Xbyak::Reg32& mask, bool fast, int psm, int fz);
|
|
||||||
void WritePixel(const Xmm& src, const RegLong& addr, uint8 i, uint8 j, int psm);
|
|
||||||
void ReadTexel(int pixels, int mip_offset = 0);
|
|
||||||
void ReadTexel(const Ymm& dst, const Ymm& addr, uint8 i);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
void Generate_SSE();
|
|
||||||
void Init_SSE();
|
|
||||||
void Step_SSE();
|
|
||||||
void TestZ_SSE(const Xmm& temp1, const Xmm& temp2);
|
|
||||||
void SampleTexture_SSE();
|
|
||||||
void Wrap_SSE(const Xmm& uv0);
|
|
||||||
void Wrap_SSE(const Xmm& uv0, const Xmm& uv1);
|
|
||||||
void SampleTextureLOD_SSE();
|
|
||||||
void WrapLOD_SSE(const Xmm& uv0);
|
|
||||||
void WrapLOD_SSE(const Xmm& uv0, const Xmm& uv1);
|
|
||||||
void AlphaTFX_SSE();
|
|
||||||
void ReadMask_SSE();
|
|
||||||
void TestAlpha_SSE();
|
|
||||||
void ColorTFX_SSE();
|
|
||||||
void Fog_SSE();
|
|
||||||
void ReadFrame_SSE();
|
|
||||||
void TestDestAlpha_SSE();
|
|
||||||
void WriteMask_SSE();
|
|
||||||
void WriteZBuf_SSE();
|
|
||||||
void AlphaBlend_SSE();
|
|
||||||
void WriteFrame_SSE();
|
|
||||||
void ReadPixel_SSE(const Xmm& dst, const RegLong& addr);
|
|
||||||
void WritePixel_SSE(const Xmm& src, const RegLong& addr, const Reg8& mask, bool fast, int psm, int fz);
|
|
||||||
void WritePixel_SSE(const Xmm& src, const RegLong& addr, uint8 i, int psm);
|
|
||||||
void ReadTexel_SSE(int pixels, int mip_offset = 0);
|
|
||||||
void ReadTexel_SSE(const Xmm& dst, const Xmm& addr, uint8 i);
|
|
||||||
|
|
||||||
void Generate_AVX();
|
|
||||||
void Init_AVX();
|
|
||||||
void Step_AVX();
|
|
||||||
void TestZ_AVX(const Xmm& temp1, const Xmm& temp2);
|
|
||||||
void SampleTexture_AVX();
|
|
||||||
void Wrap_AVX(const Xmm& uv0);
|
|
||||||
void Wrap_AVX(const Xmm& uv0, const Xmm& uv1);
|
|
||||||
void SampleTextureLOD_AVX();
|
|
||||||
void WrapLOD_AVX(const Xmm& uv0);
|
|
||||||
void WrapLOD_AVX(const Xmm& uv0, const Xmm& uv1);
|
|
||||||
void AlphaTFX_AVX();
|
|
||||||
void ReadMask_AVX();
|
|
||||||
void TestAlpha_AVX();
|
|
||||||
void ColorTFX_AVX();
|
|
||||||
void Fog_AVX();
|
|
||||||
void ReadFrame_AVX();
|
|
||||||
void TestDestAlpha_AVX();
|
|
||||||
void WriteMask_AVX();
|
|
||||||
void WriteZBuf_AVX();
|
|
||||||
void AlphaBlend_AVX();
|
|
||||||
void WriteFrame_AVX();
|
|
||||||
void ReadPixel_AVX(const Xmm& dst, const RegLong& addr);
|
|
||||||
void WritePixel_AVX(const Xmm& src, const RegLong& addr, const Reg8& mask, bool fast, int psm, int fz);
|
|
||||||
void WritePixel_AVX(const Xmm& src, const RegLong& addr, uint8 i, int psm);
|
|
||||||
void ReadTexel_AVX(int pixels, int mip_offset = 0);
|
|
||||||
void ReadTexel_AVX(const Xmm& dst, const Xmm& addr, uint8 i);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void modulate16(const Xmm& a, const Operand& f, uint8 shift);
|
|
||||||
void lerp16(const Xmm& a, const Xmm& b, const Xmm& f, uint8 shift);
|
|
||||||
void lerp16_4(const Xmm& a, const Xmm& b, const Xmm& f);
|
|
||||||
void mix16(const Xmm& a, const Xmm& b, const Xmm& temp);
|
|
||||||
void clamp16(const Xmm& a, const Xmm& temp);
|
|
||||||
void alltrue(const Xmm& test);
|
|
||||||
void blend(const Xmm& a, const Xmm& b, const Xmm& mask);
|
|
||||||
void blendr(const Xmm& b, const Xmm& a, const Xmm& mask);
|
|
||||||
void blend8(const Xmm& a, const Xmm& b);
|
|
||||||
void blend8r(const Xmm& b, const Xmm& a);
|
|
||||||
void split16_2x8(const Xmm& l, const Xmm& h, const Xmm& src);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GSDrawScanlineCodeGenerator(void* param, uint64 key, void* code, size_t maxsize);
|
GSDrawScanlineCodeGenerator(void* param, uint64 key, void* code, size_t maxsize);
|
||||||
};
|
};
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,118 +0,0 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
|
||||||
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
|
||||||
*
|
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
|
||||||
* ation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
||||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along with PCSX2.
|
|
||||||
* If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "PrecompiledHeader.h"
|
|
||||||
#include "GSDrawScanlineCodeGenerator.h"
|
|
||||||
|
|
||||||
#if _M_SSE < 0x501 && (defined(_M_AMD64) || defined(_WIN64))
|
|
||||||
|
|
||||||
// It is useless to port the code to SSEx, better use the faster 32 bits version instead
|
|
||||||
void GSDrawScanlineCodeGenerator::Generate_SSE()
|
|
||||||
{
|
|
||||||
// Avoid a crash if someone want to use it
|
|
||||||
ret();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::Init_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::Step_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::TestZ_SSE(const Xmm& temp1, const Xmm& temp2)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::SampleTexture_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::Wrap_SSE(const Xmm& uv)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::Wrap_SSE(const Xmm& uv0, const Xmm& uv1)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::AlphaTFX_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ReadMask_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::TestAlpha_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ColorTFX_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::Fog_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ReadFrame_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::TestDestAlpha_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::WriteMask_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::WriteZBuf_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::AlphaBlend_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::WriteFrame_SSE()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ReadPixel_SSE(const Xmm& dst, const RegLong& addr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::WritePixel_SSE(const Xmm& src, const RegLong& addr, const Reg8& mask, bool fast, int psm, int fz)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
//static const int s_offsets[4] = {0, 2, 8, 10};
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::WritePixel_SSE(const Xmm& src, const RegLong& addr, uint8 i, int psm)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ReadTexel_SSE(int pixels, int mip_offset)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GSDrawScanlineCodeGenerator::ReadTexel_SSE(const Xmm& dst, const Xmm& addr, uint8 i)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -467,12 +467,6 @@
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanline.cpp" />
|
<ClCompile Include="GS\Renderers\SW\GSDrawScanline.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.cpp" />
|
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.all.cpp" />
|
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.all.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.avx.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.avx2.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.avx.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.avx2.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.cpp" />
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSNewCodeGenerator.cpp" />
|
<ClCompile Include="GS\Renderers\SW\GSNewCodeGenerator.cpp" />
|
||||||
<ClCompile Include="GS\GSDump.cpp" />
|
<ClCompile Include="GS\GSDump.cpp" />
|
||||||
<ClCompile Include="GS\Renderers\Common\GSFunctionMap.cpp" />
|
<ClCompile Include="GS\Renderers\Common\GSFunctionMap.cpp" />
|
||||||
|
@ -812,7 +806,6 @@
|
||||||
<ClInclude Include="GS\Renderers\OpenGL\GLLoader.h" />
|
<ClInclude Include="GS\Renderers\OpenGL\GLLoader.h" />
|
||||||
<ClInclude Include="GS\Renderers\OpenGL\GLState.h" />
|
<ClInclude Include="GS\Renderers\OpenGL\GLState.h" />
|
||||||
<ClInclude Include="GS\GS.h" />
|
<ClInclude Include="GS\GS.h" />
|
||||||
<ClInclude Include="GS\GS_codegen.h" />
|
|
||||||
<ClInclude Include="GS\GS_types.h" />
|
<ClInclude Include="GS\GS_types.h" />
|
||||||
<ClInclude Include="GS\GSAlignedClass.h" />
|
<ClInclude Include="GS\GSAlignedClass.h" />
|
||||||
<ClInclude Include="GS\GSBlock.h" />
|
<ClInclude Include="GS\GSBlock.h" />
|
||||||
|
|
|
@ -1520,24 +1520,6 @@
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.all.cpp">
|
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.all.cpp">
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.avx.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.avx2.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x64.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.avx.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.avx2.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSDrawScanlineCodeGenerator.x86.cpp">
|
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GS\Renderers\SW\GSNewCodeGenerator.cpp">
|
<ClCompile Include="GS\Renderers\SW\GSNewCodeGenerator.cpp">
|
||||||
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
<Filter>System\Ps2\GS\Renderers\Software</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -2496,9 +2478,6 @@
|
||||||
<ClInclude Include="GS\GS.h">
|
<ClInclude Include="GS\GS.h">
|
||||||
<Filter>System\Ps2\GS</Filter>
|
<Filter>System\Ps2\GS</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="GS\GS_codegen.h">
|
|
||||||
<Filter>System\Ps2\GS</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="GS\GS_types.h">
|
<ClInclude Include="GS\GS_types.h">
|
||||||
<Filter>System\Ps2\GS</Filter>
|
<Filter>System\Ps2\GS</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
Loading…
Reference in New Issue