GCC compilation fixes.

(note to devs: a sure-fire fix for GCC's templated function problems is to typecast the templated function to itself explicitly -- works nicely for all versions of GCC and the ?: operator as well).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3763 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-09-13 22:52:04 +00:00
parent 2f8f86a3eb
commit 59ebdf3e60
3 changed files with 7 additions and 8 deletions

View File

@ -38,7 +38,6 @@ static __fi void vifFlush(int idx) {
} }
static __fi void vuExecMicro(int idx, u32 addr) { static __fi void vuExecMicro(int idx, u32 addr) {
VURegs& VU = vuRegs[idx];
VIFregisters& vifRegs = vifXRegs; VIFregisters& vifRegs = vifXRegs;
int startcycles = 0; int startcycles = 0;
//vifFlush(idx); //vifFlush(idx);

View File

@ -33,7 +33,7 @@ static __fi u32 setVifRow(vifStruct& vif, u32 reg, u32 data) {
// cycle derives from vif.cl // cycle derives from vif.cl
// mode derives from vifRegs.mode // mode derives from vifRegs.mode
template< uint idx, uint mode, bool doMask > template< uint idx, uint mode, bool doMask >
static __ri void writeXYZW(u32 offnum, u32 &dest, u32 data, bool isV4_5 = false) { static __ri void writeXYZW(u32 offnum, u32 &dest, u32 data) {
int n = 0; int n = 0;
vifStruct& vif = GetVifX; vifStruct& vif = GetVifX;
@ -110,10 +110,10 @@ static void __fastcall UNPACK_V4_5(u32 *dest, const u32* src)
{ {
u32 data = *src; u32 data = *src;
writeXYZW<idx,0,doMask>(OFFSET_X, *(dest+0), ((data & 0x001f) << 3), true); writeXYZW<idx,0,doMask>(OFFSET_X, *(dest+0), ((data & 0x001f) << 3));
writeXYZW<idx,0,doMask>(OFFSET_Y, *(dest+1), ((data & 0x03e0) >> 2), true); writeXYZW<idx,0,doMask>(OFFSET_Y, *(dest+1), ((data & 0x03e0) >> 2));
writeXYZW<idx,0,doMask>(OFFSET_Z, *(dest+2), ((data & 0x7c00) >> 7), true); writeXYZW<idx,0,doMask>(OFFSET_Z, *(dest+2), ((data & 0x7c00) >> 7));
writeXYZW<idx,0,doMask>(OFFSET_W, *(dest+3), ((data & 0x8000) >> 8), true); writeXYZW<idx,0,doMask>(OFFSET_W, *(dest+3), ((data & 0x8000) >> 8));
} }
// ===================================================================================================== // =====================================================================================================

View File

@ -19,8 +19,8 @@ struct vifStruct;
typedef void (__fastcall *UNPACKFUNCTYPE)(void* dest, const void* src); typedef void (__fastcall *UNPACKFUNCTYPE)(void* dest, const void* src);
#define create_unpack_u_type(bits) typedef void (__fastcall *UNPACKFUNCTYPE_u##bits)(u32* dest); #define create_unpack_u_type(bits) typedef void (__fastcall *UNPACKFUNCTYPE_u##bits)(u32* dest, const u##bits* src);
#define create_unpack_s_type(bits) typedef void (__fastcall *UNPACKFUNCTYPE_s##bits)(u32* dest); #define create_unpack_s_type(bits) typedef void (__fastcall *UNPACKFUNCTYPE_s##bits)(u32* dest, const s##bits* src);
#define create_some_unpacks(bits) \ #define create_some_unpacks(bits) \
create_unpack_u_type(bits); \ create_unpack_u_type(bits); \