mirror of https://github.com/PCSX2/pcsx2.git
Darwin/OSX ifdef __APPLE__ or __WXMAC__ cases.
OSX comment about __WXMAC__ usage
This commit is contained in:
parent
592aacb25a
commit
4fa8834de4
|
@ -335,6 +335,14 @@ extern void __Log( const char* fmt, ... );
|
||||||
# define SysTraceActive(trace) (false)
|
# define SysTraceActive(trace) (false)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
// Not available on OSX, apparently always double buffered window.
|
||||||
|
# define SetDoubleBuffered(x)
|
||||||
|
|
||||||
|
// TODO OSX OsxKeyCodes.cpp pending
|
||||||
|
# define NewPipeRedir(x) NULL
|
||||||
|
#endif
|
||||||
|
|
||||||
#define macTrace(trace) SysTraceActive(trace) && SysTrace.trace.Write
|
#define macTrace(trace) SysTraceActive(trace) && SysTrace.trace.Write
|
||||||
|
|
||||||
#define SIF_LOG macTrace(SIF)
|
#define SIF_LOG macTrace(SIF)
|
||||||
|
|
|
@ -58,7 +58,13 @@ void yuv2rgb_reference(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _M_X86_32
|
// TODO OSX optimize me
|
||||||
|
#ifdef __APPLE__
|
||||||
|
void yuv2rgb_sse2() {
|
||||||
|
yuv2rgb_reference();
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(_M_X86_32)
|
||||||
// Everything below is bit accurate to the IPU specification (except maybe rounding).
|
// Everything below is bit accurate to the IPU specification (except maybe rounding).
|
||||||
// Know the specification before you touch it.
|
// Know the specification before you touch it.
|
||||||
#define SSE_BYTES(x) {x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}
|
#define SSE_BYTES(x) {x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}
|
||||||
|
|
|
@ -50,6 +50,19 @@
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Safe to remove these lines when this is handled properly.
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
// Great joy....
|
||||||
|
#undef EBP
|
||||||
|
#undef ESP
|
||||||
|
#undef EDI
|
||||||
|
#undef ESI
|
||||||
|
#undef EDX
|
||||||
|
#undef EAX
|
||||||
|
#undef EBX
|
||||||
|
#undef ECX
|
||||||
|
#include <wx/osx/private.h> // needed to implement the app!
|
||||||
|
#endif
|
||||||
|
|
||||||
IMPLEMENT_APP(Pcsx2App)
|
IMPLEMENT_APP(Pcsx2App)
|
||||||
|
|
||||||
|
@ -277,6 +290,8 @@ void Pcsx2App::PadKeyDispatch( const keyEvent& ev )
|
||||||
//returns 0 for normal keys and a WXK_* value for special keys
|
//returns 0 for normal keys and a WXK_* value for special keys
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
const int vkey = TranslateVKToWXK(ev.key);
|
const int vkey = TranslateVKToWXK(ev.key);
|
||||||
|
#elif defined( __WXMAC__ )
|
||||||
|
const int vkey = wxCharCodeWXToOSX( (wxKeyCode) ev.key );
|
||||||
#elif defined( __WXGTK__ )
|
#elif defined( __WXGTK__ )
|
||||||
const int vkey = TranslateGDKtoWXK( ev.key );
|
const int vkey = TranslateGDKtoWXK( ev.key );
|
||||||
#else
|
#else
|
||||||
|
@ -415,7 +430,7 @@ public:
|
||||||
return Path::Combine( GetDataDir(), L"Langs" );
|
return Path::Combine( GetDataDir(), L"Langs" );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __POSIX__
|
||||||
wxString GetUserLocalDataDir() const
|
wxString GetUserLocalDataDir() const
|
||||||
{
|
{
|
||||||
// I got memory corruption inside wxGetEnv when I heavily toggle the GS renderer (F9). It seems wxGetEnv
|
// I got memory corruption inside wxGetEnv when I heavily toggle the GS renderer (F9). It seems wxGetEnv
|
||||||
|
|
|
@ -1,7 +1,34 @@
|
||||||
// iVUzerorec.cpp assembly routines
|
// iVUzerorec.cpp assembly routines
|
||||||
// zerofrog(@gmail.com)
|
// zerofrog(@gmail.com)
|
||||||
.intel_syntax noprefix
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define svudispfntemp _svudispfntemp
|
||||||
|
#define s_TotalVUCycles _s_TotalVUCycles
|
||||||
|
#define s_callstack _s_callstack
|
||||||
|
#define s_vu1ebp _s_vu1ebp
|
||||||
|
#define s_vu1esp _s_vu1esp
|
||||||
|
#define s_vu1esi _s_vu1esi
|
||||||
|
#define s_vuedi _s_vuedi
|
||||||
|
#define s_vuebx _s_vuebx
|
||||||
|
#define s_saveebx _s_saveebx
|
||||||
|
#define s_saveecx _s_saveecx
|
||||||
|
#define s_saveedx _s_saveedx
|
||||||
|
#define s_saveesi _s_saveesi
|
||||||
|
#define s_saveedi _s_saveedi
|
||||||
|
#define s_saveebp _s_saveebp
|
||||||
|
#define s_writeQ _s_writeQ
|
||||||
|
#define s_writeP _s_writeP
|
||||||
|
#define g_curdebugvu _g_curdebugvu
|
||||||
|
#define SuperVUGetProgram _SuperVUGetProgram
|
||||||
|
#define SuperVUCleanupProgram _SuperVUCleanupProgram
|
||||||
|
#define SuperVUExecuteProgram _SuperVUExecuteProgram
|
||||||
|
#define SuperVUEndProgram _SuperVUEndProgram
|
||||||
|
#define g_sseVUMXCSR _g_sseVUMXCSR
|
||||||
|
#define g_sseMXCSR _g_sseMXCSR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
.intel_syntax noprefix
|
||||||
.extern s_TotalVUCycles
|
.extern s_TotalVUCycles
|
||||||
.extern s_callstack
|
.extern s_callstack
|
||||||
.extern s_vu1esp
|
.extern s_vu1esp
|
||||||
|
@ -26,7 +53,7 @@ SuperVUExecuteProgram:
|
||||||
mov s_vuebx, ebx
|
mov s_vuebx, ebx
|
||||||
|
|
||||||
mov s_vu1esp, esp
|
mov s_vu1esp, esp
|
||||||
and esp, -16 // align stack for GCC compilance
|
and esp, -16 // align stack for GCC compilance
|
||||||
|
|
||||||
ldmxcsr g_sseVUMXCSR
|
ldmxcsr g_sseVUMXCSR
|
||||||
mov dword ptr s_writeQ, 0xffffffff
|
mov dword ptr s_writeQ, 0xffffffff
|
||||||
|
@ -35,17 +62,17 @@ SuperVUExecuteProgram:
|
||||||
|
|
||||||
.globl SuperVUEndProgram
|
.globl SuperVUEndProgram
|
||||||
SuperVUEndProgram:
|
SuperVUEndProgram:
|
||||||
// restore cpu state
|
// restore cpu state
|
||||||
ldmxcsr g_sseMXCSR
|
ldmxcsr g_sseMXCSR
|
||||||
mov esi, s_vu1esi
|
mov esi, s_vu1esi
|
||||||
mov edi, s_vuedi
|
mov edi, s_vuedi
|
||||||
mov ebx, s_vuebx
|
mov ebx, s_vuebx
|
||||||
|
|
||||||
mov esp, s_vu1esp
|
mov esp, s_vu1esp
|
||||||
|
|
||||||
call SuperVUCleanupProgram
|
call SuperVUCleanupProgram
|
||||||
jmp [s_callstack] // so returns correctly
|
jmp [s_callstack] // so returns correctly
|
||||||
|
|
||||||
#if defined(__linux__) && defined(__ELF__)
|
#if defined(__POSIX__) && defined(__ELF__)
|
||||||
.section .note.GNU-stack,"",%progbits
|
.section .note.GNU-stack,"",%progbits
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue