From b370386983a98605d22a355f141efc0cfd88b397 Mon Sep 17 00:00:00 2001 From: hrydgard Date: Thu, 7 Aug 2008 21:29:15 +0000 Subject: [PATCH] static-ified a lot of vars to prevent name collisions with plugins, other cosmetic stuff, prep for jit debug git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@147 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/Boot/ElfReader.cpp | 4 -- Source/Core/Core/Src/Console.cpp | 7 +-- .../Core/Src/Debugger/Debugger_SymbolMap.cpp | 2 +- Source/Core/Core/Src/HLE/HLE.cpp | 4 +- Source/Core/Core/Src/HW/CPU.cpp | 6 +-- Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp | 6 +-- Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp | 6 +-- .../Core/Core/Src/PowerPC/Jit64/JitCache.cpp | 17 +++---- .../Core/Core/Src/PowerPC/Jit64/JitCore.cpp | 2 - .../Core/Src/PowerPC/Jit64/Jit_Branch.cpp | 5 ++ .../Src/PowerPC/Jit64/Jit_FloatingPoint.cpp | 19 ++++--- .../Core/Src/PowerPC/Jit64/Jit_Integer.cpp | 51 +++++++++++++------ .../Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp | 40 ++++++++------- .../Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp | 29 ++++++----- .../Core/Src/PowerPC/Jit64/Jit_Paired.cpp | 29 +++++++---- .../Src/PowerPC/Jit64/Jit_SystemRegisters.cpp | 17 +++++++ Source/Core/Core/Src/PowerPC/PPCTables.cpp | 34 +++++++------ Source/Core/DebuggerWX/src/BreakPointDlg.cpp | 2 +- Source/Core/VideoCommon/VideoCommon.vcproj | 6 +-- .../Plugins/Plugin_VideoOGL/Src/BPStructs.cpp | 8 +-- Source/Plugins/Plugin_VideoOGL/Src/Fifo.cpp | 4 +- Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp | 2 +- .../Plugins/Plugin_VideoOGL/Src/Globals.cpp | 4 +- .../Plugin_VideoOGL/Src/PixelShader.cpp | 49 +++++++++--------- .../Plugin_VideoOGL/Src/VertexLoader.cpp | 15 +++--- Source/Plugins/Plugin_VideoOGL/Src/XFB.cpp | 1 + 26 files changed, 212 insertions(+), 157 deletions(-) diff --git a/Source/Core/Core/Src/Boot/ElfReader.cpp b/Source/Core/Core/Src/Boot/ElfReader.cpp index 66044c0c43..7ac5634380 100644 --- a/Source/Core/Core/Src/Boot/ElfReader.cpp +++ b/Source/Core/Core/Src/Boot/ElfReader.cpp @@ -5,13 +5,9 @@ #include "../HW/Memmap.h" #include "ElfReader.h" -//#include "../PSP/HLE/sceKernelMemory.h" - - void bswap(Elf32_Word &w) {w = Common::swap32(w);} void bswap(Elf32_Half &w) {w = Common::swap16(w);} - void byteswapHeader(Elf32_Ehdr &ELF_H) { bswap(ELF_H.e_type); diff --git a/Source/Core/Core/Src/Console.cpp b/Source/Core/Core/Src/Console.cpp index 138b9e051a..c7c62c68ad 100644 --- a/Source/Core/Core/Src/Console.cpp +++ b/Source/Core/Core/Src/Console.cpp @@ -29,11 +29,12 @@ #include "PowerPC/Jit64/JitCache.h" #include "PowerPCDisasm.h" -#define CASE(x) else if (memcmp(cmd, x,4*sizeof(TCHAR))==0) -#define CASE1(x) if (memcmp(cmd, x,2*sizeof(TCHAR))==0) +#define CASE(x) else if (memcmp(cmd, x, 4*sizeof(TCHAR))==0) +#define CASE1(x) if (memcmp(cmd, x, 2*sizeof(TCHAR))==0) -Common::Thread *cons_thread; /* +static Common::Thread *cons_thread; + THREAD_RETURN ConsoleThreadFunc(void *) { printf("Welcome to the console thread!\n\n"); while (true) { diff --git a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp index 5b9dd481e7..552bdd3f35 100644 --- a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp +++ b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp @@ -27,7 +27,7 @@ namespace Debugger { -XVectorSymbol m_VectorSymbols; +static XVectorSymbol m_VectorSymbols; CSymbol::CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) : vaddress(_Address), diff --git a/Source/Core/Core/Src/HLE/HLE.cpp b/Source/Core/Core/Src/HLE/HLE.cpp index f69a2d7bc6..b26eb322b4 100644 --- a/Source/Core/Core/Src/HLE/HLE.cpp +++ b/Source/Core/Core/Src/HLE/HLE.cpp @@ -45,7 +45,7 @@ struct SPatch int returnType; }; -SPatch OSPatches[] = +static const SPatch OSPatches[] = { { "FAKE_TO_SKIP_0", HLE_Misc::UnimplementedFunction }, @@ -69,7 +69,7 @@ SPatch OSPatches[] = // { "GXPeekARGB", HLE_Misc::GXPeekARGB}, }; -SPatch OSBreakPoints[] = +static const SPatch OSBreakPoints[] = { { "FAKE_TO_SKIP_0", HLE_Misc::UnimplementedFunction }, }; diff --git a/Source/Core/Core/Src/HW/CPU.cpp b/Source/Core/Core/Src/HW/CPU.cpp index dc818efb3e..70eb378797 100644 --- a/Source/Core/Core/Src/HW/CPU.cpp +++ b/Source/Core/Core/Src/HW/CPU.cpp @@ -28,9 +28,9 @@ using namespace PowerPC; namespace { - bool g_Branch; - Common::Event m_StepEvent; - Common::Event *m_SyncEvent; + static bool g_Branch; + static Common::Event m_StepEvent; + static Common::Event *m_SyncEvent; } void CCPU::Init() diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp index be5b6c940f..ac23b98ca8 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp @@ -264,9 +264,9 @@ namespace Jit64 // windoze goes to 8010feb0 // after they they are completely out of sync. // branches from the cmp result of r0, which comes from an lbz (loaded from stack) - bool ImHereDebug = false; - bool ImHereLog = false; - std::map been_here; + static const bool ImHereDebug = false; + static const bool ImHereLog = false; + static std::map been_here; void ImHere() { static FILE *f = 0; diff --git a/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp b/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp index 26b5382fd8..204188e658 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp @@ -45,17 +45,17 @@ const u8 *dispatcherNoCheck; const u8 *dispatcherPcInEAX; const u8 *computeRc; -bool blockMode = false; //doesn't work as true! +static bool blockMode = false; //doesn't work as true! bool compareEnabled = false; //TODO - make an option //#if _DEBUG -bool enableDebug = false; +static bool enableDebug = false; //#else // bool enableDebug = false; //#endif -bool enableStatistics = false; +static bool enableStatistics = false; //GLOBAL STATIC ALLOCATIONS x86 //EAX - ubiquitous scratch register - EVERYBODY scratches this diff --git a/Source/Core/Core/Src/PowerPC/Jit64/JitCache.cpp b/Source/Core/Core/Src/PowerPC/Jit64/JitCache.cpp index e32ec7e36d..709ce123d3 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/JitCache.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/JitCache.cpp @@ -39,9 +39,9 @@ using namespace Gen; namespace Jit64 { - u8 *codeCache; - u8 *genFunctions; - u8 *trampolineCache; + static u8 *codeCache; + static u8 *genFunctions; + static u8 *trampolineCache; u8 *trampolineCodePtr; #define INVALID_EXIT 0xFFFFFFFF void LinkBlockExits(int i); @@ -55,15 +55,14 @@ namespace Jit64 MAX_NUM_BLOCKS = 65536, }; - u8 **blockCodePointers; // cut these in half and force below 2GB? + static u8 **blockCodePointers; // cut these in half and force below 2GB? - std::multimap links_to; - - JitBlock *blocks; - int numBlocks; + static std::multimap links_to; + static JitBlock *blocks; + static int numBlocks; //stats - int numFlushes; + static int numFlushes; void PrintStats() { diff --git a/Source/Core/Core/Src/PowerPC/Jit64/JitCore.cpp b/Source/Core/Core/Src/PowerPC/Jit64/JitCore.cpp index b16954f851..85b1e2f1b5 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/JitCore.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/JitCore.cpp @@ -27,10 +27,8 @@ #include "../../HW/SerialInterface.h" #include "../../Core.h" - namespace Jit64 { - void Jit64Core::Init() { InitCache(); diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp index 6d74767cf2..5cd622ee66 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp @@ -14,6 +14,8 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ +#include "Common.h" + #include "../PowerPC.h" #include "../PPCTables.h" #include "x64Emitter.h" @@ -23,6 +25,9 @@ #include "JitCache.h" #include "JitAsm.h" +// The branches are known good, or at least reasonably good. +// No need for a disable-mechanism. + using namespace Gen; namespace Jit64 { diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp index 9b49f5f999..adf14c451a 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp @@ -24,6 +24,9 @@ #include "JitCache.h" #include "JitRegCache.h" +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START + namespace Jit64 { const u64 GC_ALIGNED16(psSignBits2[2]) = {0x8000000000000000ULL, 0x8000000000000000ULL}; @@ -46,7 +49,7 @@ namespace Jit64 } else if (a != d && b != d) { - //sources different from d, can use rather quick solution + // Sources different from d, can use rather quick solution fpr.LoadToX64(d, !dupe); MOVSD(fpr.RX(d), fpr.R(a)); fpr.GetReadyForOp(d, b); @@ -59,7 +62,7 @@ namespace Jit64 MOVSD(fpr.RX(d), fpr.R(a)); op(fpr.RX(d), Gen::R(XMM0)); } - else //Other combo, must use two temps :( + else // Other combo, must use two temps :( { MOVSD(XMM0, fpr.R(a)); MOVSD(XMM1, fpr.R(b)); @@ -76,6 +79,7 @@ namespace Jit64 void fp_arith_s(UGeckoInstruction inst) { + INSTRUCTION_START; bool dupe = inst.OPCD == 59; switch (inst.SUBOP5) { @@ -94,11 +98,9 @@ namespace Jit64 } } - - void fmaddXX(UGeckoInstruction inst) { - LOG(DYNA_REC, "Got one %08x", js.compilerPC); + INSTRUCTION_START; int a = inst.FA; int b = inst.FB; int c = inst.FC; @@ -128,14 +130,15 @@ namespace Jit64 break; } fpr.LoadToX64(d, false); - //YES it is necessary to dupe :( - //TODO : analysis - does the top reg get used? - MOVDDUP(fpr.RX(d), Gen::R(XMM0)); //can also be done with SHUF + //YES it is necessary to dupe the result :( + //TODO : analysis - does the top reg get used? If so, dupe, if not, don't. + MOVDDUP(fpr.RX(d), Gen::R(XMM0)); fpr.UnlockAll(); } void fcmpx(UGeckoInstruction inst) { + INSTRUCTION_START; if (jo.fpAccurateFlags) { Default(inst); diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp index 00f81c4fe8..0a069eecf0 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp @@ -14,6 +14,7 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + #include "../PowerPC.h" #include "../PPCTables.h" #include "x64Emitter.h" @@ -23,16 +24,16 @@ #include "JitRegCache.h" #include "JitAsm.h" -#define OLD -//#define OLD Default(inst); return; +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START namespace Jit64 { typedef u32 (*Operation)(u32 a, u32 b); - u32 Add(u32 a, u32 b) {return a+b;} - u32 Or (u32 a, u32 b) {return a|b;} - u32 And(u32 a, u32 b) {return a&b;} - u32 Xor(u32 a, u32 b) {return a^b;} + u32 Add(u32 a, u32 b) {return a + b;} + u32 Or (u32 a, u32 b) {return a | b;} + u32 And(u32 a, u32 b) {return a & b;} + u32 Xor(u32 a, u32 b) {return a ^ b;} void regimmop(int d, int a, bool binary, u32 value, Operation doop, void(*op)(int, const OpArg&, const OpArg&), bool Rc = false) { @@ -78,19 +79,20 @@ namespace Jit64 void reg_imm(UGeckoInstruction inst) { + INSTRUCTION_START; int d = inst.RD, a = inst.RA, s = inst.RS; switch (inst.OPCD) { - case 14: regimmop(d,a,false,(u32)(s32)inst.SIMM_16,Add,ADD); break; //addi - case 15: regimmop(d,a,false,(u32)inst.SIMM_16<<16,Add,ADD); break; //addis + case 14: regimmop(d, a, false, (u32)(s32)inst.SIMM_16, Add, ADD); break; //addi + case 15: regimmop(d, a, false, (u32)inst.SIMM_16 << 16, Add, ADD); break; //addis case 24: if (a == 0 && s == 0 && inst.UIMM == 0) //check for nop - {NOP();return;} //make the nop visible.. or turn to int3? we shouldn't get nops - regimmop(a,s,true,inst.UIMM,Or,OR); + {NOP(); return;} //make the nop visible.. or turn to int3? we shouldn't get nops + regimmop(a, s, true, inst.UIMM, Or, OR); break;//ori - case 25: regimmop(a,s,true,inst.UIMM<<16,Or,OR); break;//oris - case 28: regimmop(a,s,true,inst.UIMM,And,AND,true); break; - case 29: regimmop(a,s,true,inst.UIMM<<16,And,AND,true); break; + case 25: regimmop(a, s, true, inst.UIMM << 16, Or, OR, false); break;//oris + case 28: regimmop(a, s, true, inst.UIMM, And, AND, true); break; + case 29: regimmop(a, s, true, inst.UIMM << 16, And, AND, true); break; case 12: //addic case 13: //addic_rc case 26: //xori @@ -104,6 +106,7 @@ namespace Jit64 // unsigned void cmpli(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; u32 uimm = inst.UIMM; int crf = inst.CRFD; @@ -152,7 +155,7 @@ namespace Jit64 // signed void cmpi(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; int a = inst.RA; s32 simm = (s32)(s16)inst.UIMM; int crf = inst.CRFD; @@ -180,6 +183,7 @@ namespace Jit64 // signed void cmp(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int b = inst.RB; int crf = inst.CRFD; @@ -209,6 +213,7 @@ namespace Jit64 // unsigned void cmpl(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int b = inst.RB; int crf = inst.CRFD; @@ -237,6 +242,7 @@ namespace Jit64 void orx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int s = inst.RS; int b = inst.RB; @@ -271,6 +277,7 @@ namespace Jit64 void andx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, s = inst.RS, b = inst.RB; if (a != s && a != b) { gpr.LoadToX64(a, false, true); @@ -291,6 +298,7 @@ namespace Jit64 void extsbx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, s = inst.RS; gpr.LoadToX64(a, a == s, true); gpr.KillImmediate(s); @@ -304,6 +312,7 @@ namespace Jit64 void extshx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, s = inst.RS; gpr.LoadToX64(a, a == s, true); gpr.KillImmediate(s); @@ -316,6 +325,7 @@ namespace Jit64 void subfic(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, d = inst.RD; gpr.FlushR(ECX); gpr.LockX(ECX); @@ -341,6 +351,7 @@ namespace Jit64 void subfx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; gpr.Lock(a, b, d); if (d != a && d != b) { @@ -361,6 +372,7 @@ namespace Jit64 void mulli(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, d = inst.RD; gpr.FlushR(EDX); gpr.LockX(EDX); @@ -380,6 +392,7 @@ namespace Jit64 void mullwx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; gpr.FlushR(EDX); gpr.LockX(EDX); @@ -403,6 +416,7 @@ namespace Jit64 void mulhwux(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; gpr.FlushR(EDX); gpr.LockX(EDX); @@ -469,6 +483,7 @@ namespace Jit64 void addx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; _assert_msg_(DYNA_REC, !inst.OE, "Add - OE enabled :("); @@ -519,6 +534,7 @@ namespace Jit64 // This can be optimized void addex(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; gpr.FlushR(ECX); gpr.LockX(ECX); @@ -546,6 +562,7 @@ namespace Jit64 void rlwinmx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int s = inst.RS; if (gpr.R(a).IsImm() || gpr.R(s).IsImm()) @@ -596,7 +613,7 @@ namespace Jit64 void rlwimix(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; int a = inst.RA; int s = inst.RS; if (gpr.R(a).IsImm() || gpr.R(s).IsImm()) @@ -628,6 +645,7 @@ namespace Jit64 void rlwnmx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, s = inst.RS; if (gpr.R(a).IsImm()) { @@ -657,6 +675,7 @@ namespace Jit64 void srwx(UGeckoInstruction inst) { + INSTRUCTION_START; // BUGGY? Default(inst); return; int a = inst.RA; @@ -690,6 +709,7 @@ namespace Jit64 // another crazy instruction :( void srawix(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int s = inst.RS; int amount = inst.SH; @@ -731,6 +751,7 @@ namespace Jit64 void cntlzwx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA; int s = inst.RS; if (gpr.R(a).IsImm() || gpr.R(s).IsImm() || s == a) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp index 8b34fa9e2e..44939cd9c8 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp @@ -18,6 +18,8 @@ // TODO(ector): Tons of pshufb optimization of the loads/stores, for SSSE3+, possibly SSE4, only. // Should give a very noticable speed boost to paired single heavy code. +#include "Common.h" + #include "../PowerPC.h" #include "../../Core.h" #include "../../HW/GPFifo.h" @@ -33,13 +35,13 @@ #include "JitAsm.h" #include "JitRegCache.h" -#define OLD -//#define OLD Default(inst); return; +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START #ifdef _M_IX86 -#define BIT32OLD Default(inst); return; +#define DISABLE_32BIT Default(inst); return; #else -#define BIT32OLD ; +#define DISABLE_32BIT ; #endif namespace Jit64 @@ -81,6 +83,7 @@ namespace Jit64 void lbzx(UGeckoInstruction inst) { + INSTRUCTION_START; int a = inst.RA, b = inst.RB, d = inst.RD; gpr.Lock(a, b, d); if (b == d || a == d) @@ -97,6 +100,7 @@ namespace Jit64 void lXz(UGeckoInstruction inst) { + INSTRUCTION_START; int d = inst.RD; int a = inst.RA; @@ -171,7 +175,7 @@ namespace Jit64 void lfs(UGeckoInstruction inst) { -// BIT32OLD; + INSTRUCTION_START; int d = inst.RD; int a = inst.RA; if (!a) @@ -211,7 +215,8 @@ namespace Jit64 void lfd(UGeckoInstruction inst) { - BIT32OLD; + INSTRUCTION_START; + DISABLE_32BIT; int d = inst.RD; int a = inst.RA; if (!a) @@ -235,8 +240,8 @@ namespace Jit64 void stfd(UGeckoInstruction inst) { - BIT32OLD; - OLD; + INSTRUCTION_START; + DISABLE_32BIT; int s = inst.RS; int a = inst.RA; if (!a) @@ -259,8 +264,8 @@ namespace Jit64 void stfs(UGeckoInstruction inst) { - BIT32OLD; - OLD; + INSTRUCTION_START; + DISABLE_32BIT; bool update = inst.OPCD & 1; int s = inst.RS; int a = inst.RA; @@ -301,10 +306,8 @@ namespace Jit64 void lfsx(UGeckoInstruction inst) { -#ifdef _M_IX86 - Default(inst); - return; -#endif + INSTRUCTION_START; + DISABLE_32BIT; fpr.Lock(inst.RS); fpr.LoadToX64(inst.RS, false, true); MOV(32, R(EAX), gpr.R(inst.RB)); @@ -321,10 +324,8 @@ namespace Jit64 // Zero cache line. void dcbz(UGeckoInstruction inst) { -#ifdef _M_IX86 - Default(inst); - return; -#endif + INSTRUCTION_START; + DISABLE_32BIT; MOV(32, R(EAX), gpr.R(inst.RB)); if (inst.RA) ADD(32, R(EAX), gpr.R(inst.RA)); @@ -336,6 +337,7 @@ namespace Jit64 void stX(UGeckoInstruction inst) { + INSTRUCTION_START; int s = inst.RS; int a = inst.RA; @@ -471,6 +473,7 @@ namespace Jit64 // A few games use these heavily. void lmw(UGeckoInstruction inst) { + INSTRUCTION_START; Default(inst); return; /// BUGGY @@ -496,6 +499,7 @@ namespace Jit64 void stmw(UGeckoInstruction inst) { + INSTRUCTION_START; Default(inst); return; /* diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp index df6f58036c..514bc3ed39 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp @@ -18,6 +18,8 @@ // TODO(ector): Tons of pshufb optimization of the loads/stores, for SSSE3+, possibly SSE4, only. // Should give a very noticable speed boost to paired single heavy code. +#include "Common.h" + #include "../PowerPC.h" #include "../../Core.h" #include "../../HW/GPFifo.h" @@ -33,13 +35,13 @@ #include "JitAsm.h" #include "JitRegCache.h" -#define OLD -//#define OLD Default(inst); return; +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START #ifdef _M_IX86 -#define BIT32OLD Default(inst); return; +#define DISABLE_32BIT Default(inst); return; #else -#define BIT32OLD ; +#define DISABLE_32BIT ; #endif namespace Jit64 { @@ -47,7 +49,7 @@ namespace Jit64 { static double GC_ALIGNED16(psTemp[2]) = {1.0, 1.0}; static u64 GC_ALIGNED16(temp64); static u32 GC_ALIGNED16(temp32); - +static u32 temp; // TODO(ector): Improve 64-bit version void WriteDual32(u64 value, u32 address) @@ -56,7 +58,7 @@ void WriteDual32(u64 value, u32 address) Memory::Write_U32((u32)value, address + 4); } -const double m_quantizeTableD[] = +static const double m_quantizeTableD[] = { (1 << 0), (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), @@ -76,7 +78,7 @@ const double m_quantizeTableD[] = 1.0 / (1 << 4), 1.0 / (1 << 3), 1.0 / (1 << 2), 1.0 / (1 << 1), }; -const double m_dequantizeTableD[] = +static const double m_dequantizeTableD[] = { 1.0 / (1 << 0), 1.0 / (1 << 1), 1.0 / (1 << 2), 1.0 / (1 << 3), 1.0 / (1 << 4), 1.0 / (1 << 5), 1.0 / (1 << 6), 1.0 / (1 << 7), @@ -98,11 +100,10 @@ const double m_dequantizeTableD[] = // The big problem is likely instructions that set the quantizers in the same block. // We will have to break block after quantizers are written to. -u32 temp; void psq_st(UGeckoInstruction inst) { - BIT32OLD; - OLD; + INSTRUCTION_START; + DISABLE_32BIT; if (js.blockSetsQuantizers || !Core::GetStartupParameter().bOptimizeQuantizers) { Default(inst); @@ -112,7 +113,7 @@ void psq_st(UGeckoInstruction inst) const EQuantizeType stType = static_cast(gqr.ST_TYPE); int stScale = gqr.ST_SCALE; bool update = inst.OPCD == 61; - if (update || !inst.RA || inst.W) + if (!inst.RA || inst.W) { // PanicAlert(inst.RA ? "W" : "inst"); Default(inst); @@ -223,8 +224,8 @@ void psq_st(UGeckoInstruction inst) void psq_l(UGeckoInstruction inst) { - BIT32OLD; - OLD; + INSTRUCTION_START; + DISABLE_32BIT; if (js.blockSetsQuantizers || !Core::GetStartupParameter().bOptimizeQuantizers) { Default(inst); @@ -234,7 +235,7 @@ void psq_l(UGeckoInstruction inst) const EQuantizeType ldType = static_cast(gqr.LD_TYPE); int ldScale = gqr.LD_SCALE; bool update = inst.OPCD == 57; - if (update || !inst.RA || inst.W) + if (!inst.RA || inst.W) { // 0 1 during load //PanicAlert("ld:%i %i", ldType, (int)inst.W); diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Paired.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Paired.cpp index e99d0815a0..862c7c1dae 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Paired.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Paired.cpp @@ -14,6 +14,9 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + +#include "Common.h" + #include "../PowerPC.h" #include "../PPCTables.h" #include "x64Emitter.h" @@ -29,18 +32,24 @@ // ps_madds1 -//#define OLD Default(inst); return; -#define OLD +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START + +#ifdef _M_IX86 +#define DISABLE_32BIT Default(inst); return; +#else +#define DISABLE_32BIT ; +#endif namespace Jit64 { - const u64 GC_ALIGNED16(psSignBits[2]) = {0x8000000000000000ULL, 0x8000000000000000ULL}; - const u64 GC_ALIGNED16(psAbsMask[2]) = {0x7FFFFFFFFFFFFFFFULL, 0x7FFFFFFFFFFFFFFFULL}; - const double GC_ALIGNED16(psOneOne[2]) = {1.0, 1.0}; + static const u64 GC_ALIGNED16(psSignBits[2]) = {0x8000000000000000ULL, 0x8000000000000000ULL}; + static const u64 GC_ALIGNED16(psAbsMask[2]) = {0x7FFFFFFFFFFFFFFFULL, 0x7FFFFFFFFFFFFFFFULL}; + static const double GC_ALIGNED16(psOneOne[2]) = {1.0, 1.0}; void ps_sign(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; int d = inst.FD; int b = inst.FB; @@ -73,6 +82,7 @@ namespace Jit64 void ps_rsqrte(UGeckoInstruction inst) { + INSTRUCTION_START; int d = inst.FD; int b = inst.FB; fpr.Lock(d, b); @@ -143,7 +153,7 @@ namespace Jit64 void ps_arith(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; switch (inst.SUBOP5) { case 18: tri_op(inst.FD, inst.FA, inst.FB, false, &DIVPD); break; //div @@ -164,7 +174,7 @@ namespace Jit64 //TODO: find easy cases and optimize them, do a breakout like ps_arith void ps_mergeXX(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; int d = inst.FD; int a = inst.FA; int b = inst.FB; @@ -202,7 +212,7 @@ namespace Jit64 //TODO: add optimized cases void ps_maddXX(UGeckoInstruction inst) { - OLD; + INSTRUCTION_START; int a = inst.FA; int b = inst.FB; int c = inst.FC; @@ -243,6 +253,7 @@ namespace Jit64 void ps_mulsX(UGeckoInstruction inst) { + INSTRUCTION_START; Default(inst); return; diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_SystemRegisters.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_SystemRegisters.cpp index 6b9cae7e0a..6acedc9650 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_SystemRegisters.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_SystemRegisters.cpp @@ -14,6 +14,9 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + +#include "Common.h" + #include "../../CoreTiming.h" #include "../../HW/SystemTimers.h" #include "../PowerPC.h" @@ -24,10 +27,20 @@ #include "JitCache.h" #include "JitRegCache.h" +// #define INSTRUCTION_START Default(inst); return; +#define INSTRUCTION_START + +#ifdef _M_IX86 +#define DISABLE_32BIT Default(inst); return; +#else +#define DISABLE_32BIT ; +#endif + namespace Jit64 { void mtspr(UGeckoInstruction inst) { + INSTRUCTION_START; u32 iIndex = (inst.SPRU << 5) | (inst.SPRL & 0x1F); int d = inst.RD; @@ -65,6 +78,7 @@ namespace Jit64 void mfspr(UGeckoInstruction inst) { + INSTRUCTION_START; u32 iIndex = (inst.SPRU << 5) | (inst.SPRL & 0x1F); int d = inst.RD; switch (iIndex) @@ -87,12 +101,14 @@ namespace Jit64 void mtmsr(UGeckoInstruction inst) { + INSTRUCTION_START; gpr.LoadToX64(inst.RS); MOV(32, M(&MSR), gpr.R(inst.RS)); } void mfmsr(UGeckoInstruction inst) { + INSTRUCTION_START; //Privileged? gpr.LoadToX64(inst.RD, false); MOV(32, gpr.R(inst.RD), M(&MSR)); @@ -100,6 +116,7 @@ namespace Jit64 void mftb(UGeckoInstruction inst) { + INSTRUCTION_START; mfspr(inst); } } diff --git a/Source/Core/Core/Src/PowerPC/PPCTables.cpp b/Source/Core/Core/Src/PowerPC/PPCTables.cpp index f2b4fe4f6b..4eb5ee9910 100644 --- a/Source/Core/Core/Src/PowerPC/PPCTables.cpp +++ b/Source/Core/Core/Src/PowerPC/PPCTables.cpp @@ -14,8 +14,10 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + #include +#include "Common.h" #include "PPCTables.h" #include "Interpreter/Interpreter.h" @@ -38,20 +40,21 @@ struct GekkoOPTemplate int runCount; }; +// The eventual goal is to be able to constify as much as possible in this file. +// Currently, the main obstacle is runCount above. +static GekkoOPInfo *m_infoTable[64]; +static GekkoOPInfo *m_infoTable4[1024]; +static GekkoOPInfo *m_infoTable19[1024]; +static GekkoOPInfo *m_infoTable31[1024]; +static GekkoOPInfo *m_infoTable59[32]; +static GekkoOPInfo *m_infoTable63[1024]; -GekkoOPInfo *m_infoTable[64]; -GekkoOPInfo *m_infoTable4[1024]; -GekkoOPInfo *m_infoTable19[1024]; -GekkoOPInfo *m_infoTable31[1024]; -GekkoOPInfo *m_infoTable59[32]; -GekkoOPInfo *m_infoTable63[1024]; - -_recompilerInstruction dynaOpTable[64]; -_recompilerInstruction dynaOpTable4[1024]; -_recompilerInstruction dynaOpTable19[1024]; -_recompilerInstruction dynaOpTable31[1024]; -_recompilerInstruction dynaOpTable59[32]; -_recompilerInstruction dynaOpTable63[1024]; +static _recompilerInstruction dynaOpTable[64]; +static _recompilerInstruction dynaOpTable4[1024]; +static _recompilerInstruction dynaOpTable19[1024]; +static _recompilerInstruction dynaOpTable31[1024]; +static _recompilerInstruction dynaOpTable59[32]; +static _recompilerInstruction dynaOpTable63[1024]; void DynaRunTable4(UGeckoInstruction _inst) {dynaOpTable4 [_inst.SUBOP10](_inst);} void DynaRunTable19(UGeckoInstruction _inst) {dynaOpTable19[_inst.SUBOP10](_inst);} @@ -59,9 +62,8 @@ void DynaRunTable31(UGeckoInstruction _inst) {dynaOpTable31[_inst.SUBOP10](_inst void DynaRunTable59(UGeckoInstruction _inst) {dynaOpTable59[_inst.SUBOP5 ](_inst);} void DynaRunTable63(UGeckoInstruction _inst) {dynaOpTable63[_inst.SUBOP10](_inst);} -GekkoOPInfo *m_allInstructions[2048]; -int m_numInstructions; - +static GekkoOPInfo *m_allInstructions[2048]; +static int m_numInstructions; GekkoOPInfo *GetOpInfo(UGeckoInstruction _inst) { diff --git a/Source/Core/DebuggerWX/src/BreakPointDlg.cpp b/Source/Core/DebuggerWX/src/BreakPointDlg.cpp index 3a20b94460..cd58d6a23e 100644 --- a/Source/Core/DebuggerWX/src/BreakPointDlg.cpp +++ b/Source/Core/DebuggerWX/src/BreakPointDlg.cpp @@ -84,4 +84,4 @@ void BreakPointDlg::OnOK(wxCommandEvent& /*event*/) void BreakPointDlg::OnCancel(wxCommandEvent& /*event*/) { Close(); -} +} diff --git a/Source/Core/VideoCommon/VideoCommon.vcproj b/Source/Core/VideoCommon/VideoCommon.vcproj index 841200e4f1..94ea3e07ee 100644 --- a/Source/Core/VideoCommon/VideoCommon.vcproj +++ b/Source/Core/VideoCommon/VideoCommon.vcproj @@ -1,7 +1,7 @@ - - diff --git a/Source/Plugins/Plugin_VideoOGL/Src/BPStructs.cpp b/Source/Plugins/Plugin_VideoOGL/Src/BPStructs.cpp index 9dedf537ec..19afff644d 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/BPStructs.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/BPStructs.cpp @@ -28,7 +28,7 @@ #include "PixelShaderManager.h" // State translation lookup tables -const GLenum glSrcFactors[8] = +static const GLenum glSrcFactors[8] = { GL_ZERO, GL_ONE, @@ -40,13 +40,13 @@ const GLenum glSrcFactors[8] = GL_ONE_MINUS_DST_ALPHA }; -const GLenum glDestFactors[8] = { +static const GLenum glDestFactors[8] = { GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA }; -const GLenum glCmpFuncs[8] = { GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, GL_ALWAYS }; +static const GLenum glCmpFuncs[8] = { GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, GL_ALWAYS }; -const GLenum glLogicOpCodes[16] = { +static const GLenum glLogicOpCodes[16] = { GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, GL_OR_INVERTED }; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Fifo.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Fifo.cpp index 4d29887cb9..77f6b60f34 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Fifo.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Fifo.cpp @@ -28,8 +28,8 @@ FifoReader fifo; static u8 *videoBuffer; -int size = 0; -int readptr = 0; +static int size = 0; +static int readptr = 0; void Fifo_Init() { diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp index 0aea8766f5..3cb1e8b74f 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp @@ -32,7 +32,7 @@ u32 s_nTargetWidth = 0, s_nTargetHeight = 0; u32 g_AAx = 0, g_AAy = 0; #ifndef _WIN32 -GLWindow GLWin; +static GLWindow GLWin; #endif #ifdef _WIN32 diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Globals.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Globals.cpp index 6634779cc6..bfd68acb80 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Globals.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Globals.cpp @@ -576,7 +576,7 @@ void DVProfClear() #ifdef _WIN32 // The one for Linux is in Linux/Linux.cpp -HANDLE hConsole = NULL; +static HANDLE hConsole = NULL; void OpenConsole() { COORD csize; CONSOLE_SCREEN_BUFFER_INFO csbiInfo; @@ -605,7 +605,7 @@ void CloseConsole() { #endif -FILE* pfLog = NULL; +static FILE* pfLog = NULL; void __Log(const char *fmt, ...) { char* Msg = (char*)alloca(strlen(fmt)+512); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/PixelShader.cpp b/Source/Plugins/Plugin_VideoOGL/Src/PixelShader.cpp index cb741b6afb..526f71d8f4 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/PixelShader.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/PixelShader.cpp @@ -41,7 +41,7 @@ bool WriteAlphaTest(char *&p); const float epsilon = 1.0f/255.0f; -const char *tevKSelTableC[] = // KCSEL +static const char *tevKSelTableC[] = // KCSEL { "1.0f,1.0f,1.0f", //1 = 0x00 "0.875,0.875,0.875",//7_8 = 0x01 @@ -77,7 +77,7 @@ const char *tevKSelTableC[] = // KCSEL I_KCOLORS"[3].aaa",//K3_A = 0x1F }; -const char *tevKSelTableA[] = // KASEL +static const char *tevKSelTableA[] = // KASEL { "1.0f", //1 = 0x00 "0.875f",//7_8 = 0x01 @@ -113,7 +113,7 @@ const char *tevKSelTableA[] = // KASEL I_KCOLORS"[3].a",//K3_A = 0x1F }; -const char *tevScaleTable[] = // CS +static const char *tevScaleTable[] = // CS { "1.0f", //SCALE_1 "2.0f", //SCALE_2 @@ -121,7 +121,7 @@ const char *tevScaleTable[] = // CS "0.5f",//DIVIDE_2 }; -const char *tevBiasTable[] = // TB +static const char *tevBiasTable[] = // TB { "", //ZERO, "+0.5f", //ADDHALF, @@ -129,19 +129,19 @@ const char *tevBiasTable[] = // TB "", }; -const char *tevOpTable[] = { // TEV +static const char *tevOpTable[] = { // TEV "+", //TEVOP_ADD = 0, "-", //TEVOP_SUB = 1, }; -const char *tevCompOpTable[] = { ">", "==" }; +static const char *tevCompOpTable[] = { ">", "==" }; #define TEVCMP_R8 0 #define TEVCMP_GR16 1 #define TEVCMP_BGR24 2 #define TEVCMP_RGB8 3 -const char *tevCInputTable[] = // CC +static const char *tevCInputTable[] = // CC { "prev.rgb", //CPREV, "prev.aaa", //APREV, @@ -165,7 +165,8 @@ const char *tevCInputTable[] = // CC "PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR", }; -const char *tevCInputTable2[] = // CC + +static const char *tevCInputTable2[] = // CC { "prev", //CPREV, "(prev.aaa)", //APREV, @@ -190,7 +191,7 @@ const char *tevCInputTable2[] = // CC "PADERROR", "PADERROR", "PADERROR", "PADERROR", }; -const char *tevAInputTable[] = // CA +static const char *tevAInputTable[] = // CA { "prev.a", //APREV, "c0.a", //A0, @@ -206,7 +207,7 @@ const char *tevAInputTable[] = // CA "PADERROR", "PADERROR", "PADERROR", }; -const char *tevAInputTable2[] = // CA +static const char *tevAInputTable2[] = // CA { "prev", //APREV, "c0", //A0, @@ -222,7 +223,7 @@ const char *tevAInputTable2[] = // CA "PADERROR", "PADERROR", "PADERROR", "PADERROR", }; -const char *tevRasTable[] = +static const char *tevRasTable[] = { "colors[0]", "colors[1]", @@ -234,27 +235,28 @@ const char *tevRasTable[] = "float4(0,0,0,0)", // zero }; -const char *alphaRef[2] = +static const char *alphaRef[2] = { I_ALPHA"[0].x", I_ALPHA"[0].y" }; -const char *tevTexFunc[] = { "tex2D", "texRECT" }; +static const char *tevTexFunc[] = { "tex2D", "texRECT" }; -const char *tevCOutputTable[] = { "prev.rgb", "c0.rgb", "c1.rgb", "c2.rgb" }; -const char *tevAOutputTable[] = { "prev.a", "c0.a", "c1.a", "c2.a" }; -const char* tevIndAlphaSel[] = {"", "x", "y", "z"}; -const char* tevIndAlphaScale[] = {"", "*32","*16","*8"}; -const char* tevIndBiasField[] = {"", "x", "y", "xy", "z", "xz", "yz", "xyz"}; // indexed by bias -const char* tevIndBiasAdd[] = {"-128.0f", "1.0f", "1.0f", "1.0f" }; // indexed by fmt -const char* tevIndWrapStart[] = {"0", "256", "128", "64", "32", "16", "0.001" }; -const char* tevIndFmtScale[] = {"255.0f", "31.0f", "15.0f", "8.0f" }; +static const char *tevCOutputTable[] = { "prev.rgb", "c0.rgb", "c1.rgb", "c2.rgb" }; +static const char *tevAOutputTable[] = { "prev.a", "c0.a", "c1.a", "c2.a" }; +static const char* tevIndAlphaSel[] = {"", "x", "y", "z"}; +static const char* tevIndAlphaScale[] = {"", "*32","*16","*8"}; +static const char* tevIndBiasField[] = {"", "x", "y", "xy", "z", "xz", "yz", "xyz"}; // indexed by bias +static const char* tevIndBiasAdd[] = {"-128.0f", "1.0f", "1.0f", "1.0f" }; // indexed by fmt +static const char* tevIndWrapStart[] = {"0", "256", "128", "64", "32", "16", "0.001" }; +static const char* tevIndFmtScale[] = {"255.0f", "31.0f", "15.0f", "8.0f" }; #define WRITE p+=sprintf -const char *swapColors = "rgba"; -char swapModeTable[4][5]; +static const char *swapColors = "rgba"; +static char swapModeTable[4][5]; +static char text[16384]; void BuildSwapModeTable() { @@ -269,7 +271,6 @@ void BuildSwapModeTable() } } -static char text[16384]; char *GeneratePixelShader(u32 texture_mask, bool has_zbuffer_target, bool bRenderZToCol0) { DVSTARTPROFILE(); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexLoader.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexLoader.cpp index 2ef1e1887b..682126d9b8 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/VertexLoader.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexLoader.cpp @@ -47,13 +47,13 @@ static vector< pair > s_vStoredPrimitives; // every element, mode and static void (*fnSetupVertexPointers)() = NULL; //these don't need to be saved -float posScale; -float tcScale[8]; -int colElements[2]; -float tcScaleU[8]; -float tcScaleV[8]; -int tcIndex; -int colIndex; +static float posScale; +static float tcScale[8]; +static int colElements[2]; +static float tcScaleU[8]; +static float tcScaleV[8]; +static int tcIndex; +static int colIndex; #ifndef _WIN32 #undef inline #define inline @@ -473,7 +473,6 @@ void VertexLoader::ProcessFormat() u8 *old_code_ptr = GetWritableCodePtr(); SetCodePtr(m_compiledCode); Util::EmitPrologue(6); - //INT3(); int offset = 0; // Position diff --git a/Source/Plugins/Plugin_VideoOGL/Src/XFB.cpp b/Source/Plugins/Plugin_VideoOGL/Src/XFB.cpp index 5988bcf44d..a24cd6dc98 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/XFB.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/XFB.cpp @@ -32,6 +32,7 @@ int bound(int i) { return (i>255)?255:((i<0)?0:i); } + void yuv2rgb(int y, int u, int v, int &r, int &g, int &b) { b = bound((76283*(y - 16) + 132252*(u - 128))>>16);