mirror of https://github.com/PCSX2/pcsx2.git
Merge branch 'master' of https://github.com/PCSX2/pcsx2
This commit is contained in:
commit
58b63cb58c
|
@ -1,71 +1,6 @@
|
||||||
# Contribution requirement
|
[Please read me before posting any issue](https://github.com/PCSX2/pcsx2/wiki/How-to-create-useful-and-valid-issues)
|
||||||
* be patient
|
|
||||||
Your contribution will gladly be reviewed but
|
|
||||||
* discuss with us your future contribution before coding it
|
|
||||||
Let's avoid duplicate work! Besides specification could be clarified this way.
|
|
||||||
|
|
||||||
|
If you want to contribute be sure to check those links
|
||||||
# Window contribution possibility
|
1. [TODO list](https://github.com/PCSX2/pcsx2/wiki/Idea-of-contribution-%28aka-todo-list%29)
|
||||||
* check linux chapter ;) Various improvements are actually cross platform!
|
2. [wxWidgets coding stategies](https://github.com/PCSX2/pcsx2/wiki/wxWidgets-Coding-Strategies)
|
||||||
|
3. [Coding style](https://github.com/PCSX2/pcsx2/wiki/Code-Formatting-Guidelines)
|
||||||
# Linux contribution possibility
|
|
||||||
|
|
||||||
You're welcome to the [linux contribution thread](http://forums.pcsx2.net/Thread-Areas-of-interest-for-new-linux-developers) to have full details. Here an handy list of feature that you could implement. Feel free to propse new enhancement.
|
|
||||||
|
|
||||||
## House keeping and general compilation
|
|
||||||
* clean gcc flags
|
|
||||||
* clean gcc warning
|
|
||||||
* support clang (template mess)
|
|
||||||
* speed comparison clang/gcc
|
|
||||||
* support avx (gsdx)
|
|
||||||
* add missing/update copyright header
|
|
||||||
* LTO support
|
|
||||||
* PGO support
|
|
||||||
|
|
||||||
## Core
|
|
||||||
* support XZ compressed iso
|
|
||||||
|
|
||||||
## GSdx
|
|
||||||
* Fix OpenGL
|
|
||||||
* implement DX features on OGL (Amsodean's fxaa/video recording ....)
|
|
||||||
* Fix GLES3
|
|
||||||
* add tooltip on gsdx gui
|
|
||||||
* finish shader subroutine usage (+find a way to clean shader and avoid duplication)
|
|
||||||
* finish buffer storage
|
|
||||||
* OSD
|
|
||||||
|
|
||||||
## CDVD
|
|
||||||
* port CDVDgiga to linux ?
|
|
||||||
|
|
||||||
## zzogl
|
|
||||||
* reduce gl requirement to 3.3 + gl4 extension
|
|
||||||
* use multibind
|
|
||||||
* fix EGL
|
|
||||||
* port GLSL to window
|
|
||||||
* Drop old GLSL backend (and much later Nivida CG)
|
|
||||||
* support wx3.0
|
|
||||||
|
|
||||||
## Portability
|
|
||||||
* port GSThread to std::thread
|
|
||||||
* port core thread to std::thread
|
|
||||||
* C11 aligned_alloc
|
|
||||||
* C++11 alignof/alignas syntax
|
|
||||||
* replace volatile/lock-free queue with real C++ atomic
|
|
||||||
|
|
||||||
## Debian package
|
|
||||||
* need a refresh to the latest standard
|
|
||||||
* Clean debian/copyright => debmake -k
|
|
||||||
|
|
||||||
|
|
||||||
## QA
|
|
||||||
* [C++11 auto port](http://clang.llvm.org/extra/clang-modernize.html). Initial requirement: drop XP and support clang/llvm
|
|
||||||
* [Clean header include](https://code.google.com/p/include-what-you-use/)
|
|
||||||
* address sanitizer (gcc or clang)
|
|
||||||
* valgrind (not sure it can run PCSX2, maybe limit the scope to plugin)
|
|
||||||
* reformat the core/plugin to a constant style with tool like astyle
|
|
||||||
|
|
||||||
# Very very long term feature
|
|
||||||
Those features will require a lots of work! It would require months if not years. There are listed here for completeness ;)
|
|
||||||
* PS2 ROM reimplementation (wrongly named HLE bios)
|
|
||||||
* Android X86 port
|
|
||||||
* Win/Linux ARM port
|
|
||||||
|
|
1
build.sh
1
build.sh
|
@ -23,6 +23,7 @@ do
|
||||||
case $f in
|
case $f in
|
||||||
--dev|--devel ) flags="$flags -DCMAKE_BUILD_TYPE=Devel" ;;
|
--dev|--devel ) flags="$flags -DCMAKE_BUILD_TYPE=Devel" ;;
|
||||||
--dbg|--debug ) flags="$flags -DCMAKE_BUILD_TYPE=Debug" ;;
|
--dbg|--debug ) flags="$flags -DCMAKE_BUILD_TYPE=Debug" ;;
|
||||||
|
--strip ) flags="$flags -DCMAKE_BUILD_STRIP=TRUE" ;;
|
||||||
--release ) flags="$flags -DCMAKE_BUILD_TYPE=Release" ;;
|
--release ) flags="$flags -DCMAKE_BUILD_TYPE=Release" ;;
|
||||||
--glsl ) flags="$flags -DGLSL_API=TRUE" ;;
|
--glsl ) flags="$flags -DGLSL_API=TRUE" ;;
|
||||||
--egl ) flags="$flags -DEGL_API=TRUE" ;;
|
--egl ) flags="$flags -DEGL_API=TRUE" ;;
|
||||||
|
|
|
@ -34,7 +34,7 @@ option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path")
|
||||||
option(EXTRA_PLUGINS "Build various 'extra' plugins")
|
option(EXTRA_PLUGINS "Build various 'extra' plugins")
|
||||||
# FIXME do a proper detection
|
# FIXME do a proper detection
|
||||||
set(SDL2_LIBRARY "-lSDL2")
|
set(SDL2_LIBRARY "-lSDL2")
|
||||||
option(SDL2_LIBRARY "Use SDL2 on spu2x and onepad")
|
option(SDL2_API "Use SDL2 on spu2x and onepad")
|
||||||
|
|
||||||
if(PACKAGE_MODE)
|
if(PACKAGE_MODE)
|
||||||
if(NOT DEFINED PLUGIN_DIR)
|
if(NOT DEFINED PLUGIN_DIR)
|
||||||
|
@ -85,7 +85,7 @@ if(_ARCH_64 AND 64BIT_BUILD)
|
||||||
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(ARCH_FLAG "-m64 -msse -msse2 -march=pentium4")
|
set(ARCH_FLAG "-m64 -msse -msse2")
|
||||||
add_definitions(-D_ARCH_64=1)
|
add_definitions(-D_ARCH_64=1)
|
||||||
else()
|
else()
|
||||||
message("Compiling 32bit build on 32/64bit architecture")
|
message("Compiling 32bit build on 32/64bit architecture")
|
||||||
|
@ -183,12 +183,17 @@ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
|
||||||
# -Wstrict-aliasing: to fix one day aliasing issue
|
# -Wstrict-aliasing: to fix one day aliasing issue
|
||||||
# -Wno-missing-field-initializers: standard allow to init only the begin of struct/array in static init. Just a silly warning.
|
# -Wno-missing-field-initializers: standard allow to init only the begin of struct/array in static init. Just a silly warning.
|
||||||
# -Wno-unused-function: warn for function not used in release build
|
# -Wno-unused-function: warn for function not used in release build
|
||||||
set(DEFAULT_WARNINGS "-Wno-attributes -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-function")
|
# -Wno-unused-variable: just annoying to manage different level of logging, a couple of extra var won't kill any serious compiler.
|
||||||
set(HARDEING_OPT "-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security")
|
set(DEFAULT_WARNINGS "-Wall -Wno-attributes -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable")
|
||||||
set(DEFAULT_GCC_FLAG "${ARCH_FLAG} -pthread ${DEFAULT_WARNINGS} ${HARDEING_OPT}")
|
set(HARDENING_FLAG "-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security")
|
||||||
|
set(COMMON_FLAG "-pipe -std=c++0x -fvisibility=hidden -pthread")
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug|Devel")
|
if(CMAKE_BUILD_TYPE MATCHES "Debug|Devel")
|
||||||
set(DEFAULT_GCC_FLAG "-g ${DEFAULT_GCC_FLAG}")
|
set(DEBUG_FLAG "-g")
|
||||||
|
else()
|
||||||
|
set(DEBUG_FLAG "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(DEFAULT_GCC_FLAG "${ARCH_FLAG} ${COMMON_FLAG} ${DEFAULT_WARNINGS} ${HARDENING_FLAG} ${DEBUG_FLAG}")
|
||||||
# c++ only flags
|
# c++ only flags
|
||||||
set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof")
|
set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof")
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,11 @@ extern "C" unsigned __int64 __xgetbv(int);
|
||||||
// restaints must be enforced).
|
// restaints must be enforced).
|
||||||
//
|
//
|
||||||
#ifndef C_ASSERT
|
#ifndef C_ASSERT
|
||||||
# define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
|
#ifdef __LINUX__
|
||||||
|
# define C_ASSERT(e) static_assert(e, "this is a nice message to explain the failure ;)")
|
||||||
|
#else
|
||||||
|
# define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -129,32 +129,32 @@ struct IConsoleWriter
|
||||||
//
|
//
|
||||||
struct NullConsoleWriter
|
struct NullConsoleWriter
|
||||||
{
|
{
|
||||||
void WriteRaw( const wxString& ) {}
|
void WriteRaw( const wxString& fmt ) {}
|
||||||
void DoWriteLn( const wxString& ) {}
|
void DoWriteLn( const wxString& fmt ) {}
|
||||||
void DoSetColor( ConsoleColors ) {}
|
void DoSetColor( ConsoleColors color ) {}
|
||||||
void DoWriteFromStdout( const wxString& ) {}
|
void DoWriteFromStdout( const wxString& fmt ) {}
|
||||||
void Newline() {}
|
void Newline() {}
|
||||||
void SetTitle( const wxString& ) {}
|
void SetTitle( const wxString& title ) {}
|
||||||
|
|
||||||
|
|
||||||
ConsoleColors GetColor() const { return Color_Current; }
|
ConsoleColors GetColor() const { return Color_Current; }
|
||||||
const NullConsoleWriter& SetColor( ConsoleColors ) const { return *this; }
|
const NullConsoleWriter& SetColor( ConsoleColors color ) const { return *this; }
|
||||||
const NullConsoleWriter& ClearColor() const { return *this; }
|
const NullConsoleWriter& ClearColor() const { return *this; }
|
||||||
const NullConsoleWriter& SetIndent( int =1 ) const { return *this; }
|
const NullConsoleWriter& SetIndent( int tabcount=1 ) const { return *this; }
|
||||||
|
|
||||||
NullConsoleWriter Indent( int =1 ) const { return NullConsoleWriter(); }
|
NullConsoleWriter Indent( int tabcount=1 ) const { return NullConsoleWriter(); }
|
||||||
|
|
||||||
bool FormatV( const char* , va_list ) const { return false; }
|
bool FormatV( const char* fmt, va_list args ) const { return false; }
|
||||||
bool WriteLn( ConsoleColors , const char* , ... ) const { return false; }
|
bool WriteLn( ConsoleColors color, const char* fmt, ... ) const { return false; }
|
||||||
bool WriteLn( const char* , ... ) const { return false; }
|
bool WriteLn( const char* fmt, ... ) const { return false; }
|
||||||
bool Error( const char* , ... ) const { return false; }
|
bool Error( const char* fmt, ... ) const { return false; }
|
||||||
bool Warning( const char* , ... ) const { return false; }
|
bool Warning( const char* fmt, ... ) const { return false; }
|
||||||
|
|
||||||
bool FormatV( const wxChar* , va_list ) const { return false; }
|
bool FormatV( const wxChar* fmt, va_list args ) const { return false; }
|
||||||
bool WriteLn( ConsoleColors , const wxChar* , ... ) const { return false; }
|
bool WriteLn( ConsoleColors color, const wxChar* fmt, ... ) const { return false; }
|
||||||
bool WriteLn( const wxChar* , ... ) const { return false; }
|
bool WriteLn( const wxChar* fmt, ... ) const { return false; }
|
||||||
bool Error( const wxChar* , ... ) const { return false; }
|
bool Error( const wxChar* fmt, ... ) const { return false; }
|
||||||
bool Warning( const wxChar* , ... ) const { return false; }
|
bool Warning( const wxChar* fmt, ... ) const { return false; }
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -52,12 +52,12 @@ public:
|
||||||
OnPageFaultEvent( evtinfo, handled );
|
OnPageFaultEvent( evtinfo, handled );
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void DispatchEvent( const PageFaultInfo& )
|
virtual void DispatchEvent( const PageFaultInfo& evtinfo )
|
||||||
{
|
{
|
||||||
pxFailRel( "Don't call me, damnit. Use DispatchException instead." );
|
pxFailRel( "Don't call me, damnit. Use DispatchException instead." );
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnPageFaultEvent( const PageFaultInfo& , bool& ) {}
|
virtual void OnPageFaultEvent( const PageFaultInfo& evtinfo, bool& handled ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace Threading
|
||||||
void SetThread( pxThread& thr ) { m_thread = &thr; }
|
void SetThread( pxThread& thr ) { m_thread = &thr; }
|
||||||
void SetThread( pxThread* thr ) { m_thread = thr; }
|
void SetThread( pxThread* thr ) { m_thread = thr; }
|
||||||
|
|
||||||
void DispatchEvent( const int& )
|
void DispatchEvent( const int& params )
|
||||||
{
|
{
|
||||||
OnThreadCleanup();
|
OnThreadCleanup();
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,7 +143,7 @@ public:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void ApplyPrefix( FastFormatAscii& ) const {}
|
virtual void ApplyPrefix( FastFormatAscii& ascii ) const {}
|
||||||
virtual void DoWrite( const char* fmt ) const=0;
|
virtual void DoWrite( const char* fmt ) const=0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,10 @@ static __fi void memset8( T& obj )
|
||||||
// Aligned sizes use the optimized 32 bit inline memset. Unaligned sizes use memset.
|
// Aligned sizes use the optimized 32 bit inline memset. Unaligned sizes use memset.
|
||||||
if( (sizeof(T) & 0x3) != 0 )
|
if( (sizeof(T) & 0x3) != 0 )
|
||||||
memset( &obj, data, sizeof( T ) );
|
memset( &obj, data, sizeof( T ) );
|
||||||
else
|
else {
|
||||||
memset32<data + (data<<8) + (data<<16) + (data<<24)>( obj );
|
const u32 data32 = data + (data<<8) + (data<<16) + (data<<24);
|
||||||
|
memset32<data32>( obj );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template< u16 data, typename T >
|
template< u16 data, typename T >
|
||||||
|
@ -60,8 +62,10 @@ static __fi void memset16( T& obj )
|
||||||
{
|
{
|
||||||
if( (sizeof(T) & 0x3) != 0 )
|
if( (sizeof(T) & 0x3) != 0 )
|
||||||
_memset16_unaligned( &obj, data, sizeof( T ) );
|
_memset16_unaligned( &obj, data, sizeof( T ) );
|
||||||
else
|
else {
|
||||||
memset32<data + (data<<16)>( obj );
|
const u32 data32 = data + (data<<16);
|
||||||
|
memset32<data32>( obj );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,6 +96,7 @@ static __fi void memset_8( void *dest )
|
||||||
// macro to execute the x86/32 "stosd" copies.
|
// macro to execute the x86/32 "stosd" copies.
|
||||||
switch( remdat )
|
switch( remdat )
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
case 1:
|
case 1:
|
||||||
*(u32*)dest = data32;
|
*(u32*)dest = data32;
|
||||||
return;
|
return;
|
||||||
|
@ -157,6 +162,7 @@ static __fi void memset_8( void *dest )
|
||||||
|
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
__asm__ volatile
|
__asm__ volatile
|
||||||
|
|
|
@ -438,7 +438,7 @@ public:
|
||||||
|
|
||||||
// NOTE: Enabling system menu on dialogs usually doesn't work, and might cause
|
// NOTE: Enabling system menu on dialogs usually doesn't work, and might cause
|
||||||
// other unwanted behavior, such as a missing close button.
|
// other unwanted behavior, such as a missing close button.
|
||||||
pxDialogCreationFlags SystemMenu( bool =true ) const
|
pxDialogCreationFlags SystemMenu( bool enable=true ) const
|
||||||
{
|
{
|
||||||
return pxDialogCreationFlags(*this).SetSystemMenu( false );
|
return pxDialogCreationFlags(*this).SetSystemMenu( false );
|
||||||
}
|
}
|
||||||
|
@ -648,7 +648,7 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// line may be empty
|
// line may be empty
|
||||||
virtual void OnOutputLine(const wxString&) { }
|
virtual void OnOutputLine(const wxString& line) { }
|
||||||
|
|
||||||
// called at the start of every new line (except the very first one)
|
// called at the start of every new line (except the very first one)
|
||||||
virtual void OnNewLine() { }
|
virtual void OnNewLine() { }
|
||||||
|
|
|
@ -11,19 +11,11 @@ set(Output Utilities)
|
||||||
|
|
||||||
# set common flags
|
# set common flags
|
||||||
set(CommonFlags
|
set(CommonFlags
|
||||||
-pthread
|
|
||||||
-fvisibility=hidden
|
|
||||||
-fno-dse
|
-fno-dse
|
||||||
-fno-guess-branch-probability
|
-fno-guess-branch-probability
|
||||||
-fno-strict-aliasing
|
-fno-strict-aliasing
|
||||||
-fno-tree-dse
|
-fno-tree-dse
|
||||||
-pipe
|
)
|
||||||
-Wunused-variable)
|
|
||||||
|
|
||||||
# set warning flags
|
|
||||||
set(DebugFlags
|
|
||||||
-g
|
|
||||||
-W)
|
|
||||||
|
|
||||||
# set optimization flags
|
# set optimization flags
|
||||||
set(OptimizationFlags
|
set(OptimizationFlags
|
||||||
|
@ -70,7 +62,7 @@ set(OptimizationFlags
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
|
||||||
# add defines
|
# add defines
|
||||||
add_definitions(${CommonFlags} ${DebugFlags} -DPCSX2_DEBUG -DPCSX2_DEVBUILD)
|
add_definitions(${CommonFlags} -DPCSX2_DEBUG -DPCSX2_DEVBUILD)
|
||||||
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
|
||||||
# Devel - Build
|
# Devel - Build
|
||||||
|
|
|
@ -77,8 +77,8 @@ Threading::MutexRecursive::MutexRecursive() : Mutex( false )
|
||||||
pthread_mutexattr_settype( &_attr_recursive, PTHREAD_MUTEX_RECURSIVE );
|
pthread_mutexattr_settype( &_attr_recursive, PTHREAD_MUTEX_RECURSIVE );
|
||||||
}
|
}
|
||||||
|
|
||||||
int err = 0;
|
if (pthread_mutex_init( &m_mutex, &_attr_recursive ))
|
||||||
err = pthread_mutex_init( &m_mutex, &_attr_recursive );
|
Console.Error( "(Thread Log) Failed to initialize mutex.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Threading::MutexRecursive::~MutexRecursive() throw()
|
Threading::MutexRecursive::~MutexRecursive() throw()
|
||||||
|
|
|
@ -11,19 +11,11 @@ set(Output x86emitter)
|
||||||
|
|
||||||
# set common flags
|
# set common flags
|
||||||
set(CommonFlags
|
set(CommonFlags
|
||||||
-pthread
|
|
||||||
-fvisibility=hidden
|
|
||||||
-fno-guess-branch-probability
|
-fno-guess-branch-probability
|
||||||
-fno-dse
|
-fno-dse
|
||||||
-fno-tree-dse
|
-fno-tree-dse
|
||||||
-fno-strict-aliasing
|
-fno-strict-aliasing
|
||||||
-pipe
|
)
|
||||||
-Wunused-variable)
|
|
||||||
|
|
||||||
# set warning flags
|
|
||||||
set(DebugFlags
|
|
||||||
-W
|
|
||||||
-g)
|
|
||||||
|
|
||||||
# set optimization flags
|
# set optimization flags
|
||||||
set(OptimizationFlags
|
set(OptimizationFlags
|
||||||
|
@ -70,7 +62,7 @@ set(OptimizationFlags
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
|
||||||
# add defines
|
# add defines
|
||||||
add_definitions(${CommonFlags} ${DebugFlags} -DPCSX2_DEVBUILD -DPCSX2_DEBUG)
|
add_definitions(${CommonFlags} -DPCSX2_DEVBUILD -DPCSX2_DEBUG)
|
||||||
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
|
||||||
# Devel - Build
|
# Devel - Build
|
||||||
|
|
|
@ -30,8 +30,9 @@ const wxChar* EnumToString( SSE_RoundMode sse )
|
||||||
case SSEround_NegInf: return L"NegativeInfinity";
|
case SSEround_NegInf: return L"NegativeInfinity";
|
||||||
case SSEround_PosInf: return L"PositiveInfinity";
|
case SSEround_PosInf: return L"PositiveInfinity";
|
||||||
case SSEround_Chop: return L"Chop";
|
case SSEround_Chop: return L"Chop";
|
||||||
|
default: return L"Invalid";
|
||||||
}
|
}
|
||||||
|
|
||||||
return L"Invalid";
|
return L"Invalid";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@ static void WriteIndexToFile(Access* index, const wxString filename) {
|
||||||
|
|
||||||
class ChunksCache {
|
class ChunksCache {
|
||||||
public:
|
public:
|
||||||
ChunksCache(uint initialLimitMb) : m_size(0), m_entries(0), m_limit(initialLimitMb * 1024 * 1024) {};
|
ChunksCache(uint initialLimitMb) : m_entries(0), m_size(0), m_limit(initialLimitMb * 1024 * 1024) {};
|
||||||
~ChunksCache() { Clear(); };
|
~ChunksCache() { Clear(); };
|
||||||
void SetLimit(uint megabytes);
|
void SetLimit(uint megabytes);
|
||||||
void Clear() { MatchLimit(true); };
|
void Clear() { MatchLimit(true); };
|
||||||
|
@ -125,8 +125,8 @@ private:
|
||||||
CacheEntry(void* pMallocedSrc, PX_off_t offset, int length, int coverage) :
|
CacheEntry(void* pMallocedSrc, PX_off_t offset, int length, int coverage) :
|
||||||
data(pMallocedSrc),
|
data(pMallocedSrc),
|
||||||
offset(offset),
|
offset(offset),
|
||||||
size(length),
|
coverage(coverage),
|
||||||
coverage(coverage)
|
size(length)
|
||||||
{};
|
{};
|
||||||
|
|
||||||
~CacheEntry() { if (data) free(data); };
|
~CacheEntry() { if (data) free(data); };
|
||||||
|
@ -199,9 +199,9 @@ class GzippedFileReader : public AsyncFileReader
|
||||||
public:
|
public:
|
||||||
GzippedFileReader(void) :
|
GzippedFileReader(void) :
|
||||||
m_pIndex(0),
|
m_pIndex(0),
|
||||||
m_cache(CACHE_SIZE_MB),
|
m_zstates(0),
|
||||||
m_src(0),
|
m_src(0),
|
||||||
m_zstates(0) {
|
m_cache(CACHE_SIZE_MB) {
|
||||||
m_blocksize = 2048;
|
m_blocksize = 2048;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -466,4 +466,4 @@ bool CompressedFileReader::DetectCompressed(AsyncFileReader* pReader) {
|
||||||
AsyncFileReader* CompressedFileReader::GetNewReader(const wxString& fileName) {
|
AsyncFileReader* CompressedFileReader::GetNewReader(const wxString& fileName) {
|
||||||
//if (GzippedFileReader::CanHandle(pReader))
|
//if (GzippedFileReader::CanHandle(pReader))
|
||||||
return new GzippedFileReader();
|
return new GzippedFileReader();
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,20 +12,14 @@ set(CommonFlags
|
||||||
# Disable this optimization for the moment
|
# Disable this optimization for the moment
|
||||||
-fno-omit-frame-pointer
|
-fno-omit-frame-pointer
|
||||||
# END GCC-4.6
|
# END GCC-4.6
|
||||||
-pthread
|
|
||||||
-fvisibility=hidden
|
|
||||||
-fno-guess-branch-probability
|
-fno-guess-branch-probability
|
||||||
-fno-dse
|
-fno-dse
|
||||||
-fno-tree-dse
|
-fno-tree-dse
|
||||||
-fno-strict-aliasing
|
-fno-strict-aliasing
|
||||||
|
-Wno-parentheses
|
||||||
-Wstrict-aliasing # Allow to track strict aliasing issue.
|
-Wstrict-aliasing # Allow to track strict aliasing issue.
|
||||||
-std=c++0x
|
-Wno-char-subscripts # only impact svu which is deprecated
|
||||||
-pipe)
|
)
|
||||||
|
|
||||||
# set warning flags
|
|
||||||
set(DebugFlags
|
|
||||||
-W
|
|
||||||
-g)
|
|
||||||
|
|
||||||
# set optimization flags
|
# set optimization flags
|
||||||
set(OptimizationFlags
|
set(OptimizationFlags
|
||||||
|
@ -72,7 +66,7 @@ set(OptimizationFlags
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
set(Output pcsx2-dbg)
|
set(Output pcsx2-dbg)
|
||||||
|
|
||||||
add_definitions(${CommonFlags} ${DebugFlags} -DPCSX2_DEVBUILD -DPCSX2_DEBUG -DWX_PRECOMP)
|
add_definitions(${CommonFlags} -DPCSX2_DEVBUILD -DPCSX2_DEBUG -DWX_PRECOMP)
|
||||||
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
|
||||||
# Devel - Build
|
# Devel - Build
|
||||||
|
|
|
@ -211,6 +211,8 @@ void DisassemblyManager::analyze(u32 address, u32 size = 1024)
|
||||||
address = info.address+info.size;
|
address = info.address+info.size;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -986,6 +988,8 @@ void DisassemblyData::createLines()
|
||||||
pos += 4;
|
pos += 4;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t len = strlen(buffer);
|
size_t len = strlen(buffer);
|
||||||
|
|
|
@ -32,7 +32,7 @@ struct DisassemblyLineInfo
|
||||||
u32 totalSize;
|
u32 totalSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum LineType { LINE_UP, LINE_DOWN, LINE_RIGHT };
|
enum LineType { LINE_UP, LINE_DOWN };
|
||||||
|
|
||||||
struct BranchLine
|
struct BranchLine
|
||||||
{
|
{
|
||||||
|
|
|
@ -291,6 +291,8 @@ namespace MIPSAnalyst
|
||||||
case BRANCH:
|
case BRANCH:
|
||||||
info.branchTarget = info.opcodeAddress + 4 + ((signed short)(op&0xFFFF)<<2);
|
info.branchTarget = info.opcodeAddress + 4 + ((signed short)(op&0xFFFF)<<2);
|
||||||
break;
|
break;
|
||||||
|
case NONE:
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -648,7 +648,6 @@ struct Gif_Unit {
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintPathInfo(GIF_PATH path) {
|
void PrintPathInfo(GIF_PATH path) {
|
||||||
(void)path; // avoid silly warning
|
|
||||||
GUNIT_LOG("Gif Path %d - [hasData = %d][state = %d]", path,
|
GUNIT_LOG("Gif Path %d - [hasData = %d][state = %d]", path,
|
||||||
gifPath[path].hasDataRemaining(), gifPath[path].state);
|
gifPath[path].hasDataRemaining(), gifPath[path].state);
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,9 +264,6 @@ namespace ioman {
|
||||||
|
|
||||||
void close()
|
void close()
|
||||||
{
|
{
|
||||||
if (type == FILE_FREE)
|
|
||||||
return;
|
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case FILE_FILE:
|
case FILE_FILE:
|
||||||
|
@ -277,6 +274,8 @@ namespace ioman {
|
||||||
dir->close();
|
dir->close();
|
||||||
dir = NULL;
|
dir = NULL;
|
||||||
break;
|
break;
|
||||||
|
case FILE_FREE:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
type = FILE_FREE;
|
type = FILE_FREE;
|
||||||
|
|
|
@ -42,9 +42,9 @@ public:
|
||||||
|
|
||||||
virtual void close() = 0;
|
virtual void close() = 0;
|
||||||
|
|
||||||
virtual int lseek(s32 , s32 ) { return -IOP_EIO; }
|
virtual int lseek(s32 offset, s32 whence) { return -IOP_EIO; }
|
||||||
virtual int read(void *, u32 ) { return -IOP_EIO; }
|
virtual int read(void *buf, u32 count) { return -IOP_EIO; }
|
||||||
virtual int write(void *, u32 ) { return -IOP_EIO; }
|
virtual int write(void *buf, u32 count) { return -IOP_EIO; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class IOManDir {
|
class IOManDir {
|
||||||
|
|
|
@ -34,7 +34,7 @@ using namespace Threading;
|
||||||
#if 0 //PCSX2_DEBUG
|
#if 0 //PCSX2_DEBUG
|
||||||
# define MTGS_LOG Console.WriteLn
|
# define MTGS_LOG Console.WriteLn
|
||||||
#else
|
#else
|
||||||
# define MTGS_LOG 0&&
|
# define MTGS_LOG(...) do {} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// forces the compiler to treat a non-volatile value as volatile.
|
// forces the compiler to treat a non-volatile value as volatile.
|
||||||
|
|
|
@ -42,9 +42,9 @@ void ProfilerTerminateSource( const wxString& Name );
|
||||||
|
|
||||||
#define ProfilerInit() (void)0
|
#define ProfilerInit() (void)0
|
||||||
#define ProfilerTerm() (void)0
|
#define ProfilerTerm() (void)0
|
||||||
#define ProfilerSetEnabled 0&&
|
#define ProfilerSetEnabled(...) (void)0
|
||||||
#define ProfilerRegisterSource 0&&
|
#define ProfilerRegisterSource(...) (void)0
|
||||||
#define ProfilerTerminateSource 0&&
|
#define ProfilerTerminateSource(...) (void)0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,9 @@ void SysThreadBase::Suspend( bool isBlocking )
|
||||||
|
|
||||||
switch( m_ExecMode )
|
switch( m_ExecMode )
|
||||||
{
|
{
|
||||||
|
// FIXME what to do for this case
|
||||||
|
// case ExecMode_NoThreadYet:
|
||||||
|
|
||||||
// Check again -- status could have changed since above.
|
// Check again -- status could have changed since above.
|
||||||
case ExecMode_Closed: return;
|
case ExecMode_Closed: return;
|
||||||
|
|
||||||
|
@ -109,6 +112,9 @@ void SysThreadBase::Suspend( bool isBlocking )
|
||||||
case ExecMode_Opened:
|
case ExecMode_Opened:
|
||||||
m_ExecMode = ExecMode_Closing;
|
m_ExecMode = ExecMode_Closing;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ExecMode_Closing:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
pxAssertDev( m_ExecMode == ExecMode_Closing, "ExecMode should be nothing other than Closing..." );
|
pxAssertDev( m_ExecMode == ExecMode_Closing, "ExecMode should be nothing other than Closing..." );
|
||||||
|
@ -214,6 +220,10 @@ void SysThreadBase::Resume()
|
||||||
if( (m_ExecMode != ExecMode_Closed) && (m_ExecMode != ExecMode_Paused) ) return;
|
if( (m_ExecMode != ExecMode_Closed) && (m_ExecMode != ExecMode_Paused) ) return;
|
||||||
if( !GetCorePlugins().AreLoaded() ) return;
|
if( !GetCorePlugins().AreLoaded() ) return;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ExecMode_Paused:
|
||||||
|
case ExecMode_Closed:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
pxAssertDev( (m_ExecMode == ExecMode_Closed) || (m_ExecMode == ExecMode_Paused),
|
pxAssertDev( (m_ExecMode == ExecMode_Closed) || (m_ExecMode == ExecMode_Paused),
|
||||||
|
|
|
@ -236,7 +236,7 @@ public:
|
||||||
IEventListener_SysState() {}
|
IEventListener_SysState() {}
|
||||||
virtual ~IEventListener_SysState() throw() {}
|
virtual ~IEventListener_SysState() throw() {}
|
||||||
|
|
||||||
virtual void DispatchEvent( const SysStateUnlockedParams& )
|
virtual void DispatchEvent( const SysStateUnlockedParams& status )
|
||||||
{
|
{
|
||||||
SysStateAction_OnUnlocked();
|
SysStateAction_OnUnlocked();
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,10 +177,10 @@ public:
|
||||||
|
|
||||||
void Step();
|
void Step();
|
||||||
void Execute(u32 cycles);
|
void Execute(u32 cycles);
|
||||||
void Clear(u32 , u32 ) {}
|
void Clear(u32 addr, u32 size) {}
|
||||||
|
|
||||||
uint GetCacheReserve() const { return 0; }
|
uint GetCacheReserve() const { return 0; }
|
||||||
void SetCacheReserve( uint ) const {}
|
void SetCacheReserve( uint reserveInMegs ) const {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class InterpVU1 : public BaseVUmicroCPU
|
class InterpVU1 : public BaseVUmicroCPU
|
||||||
|
@ -198,11 +198,11 @@ public:
|
||||||
|
|
||||||
void Step();
|
void Step();
|
||||||
void Execute(u32 cycles);
|
void Execute(u32 cycles);
|
||||||
void Clear(u32 , u32 ) {}
|
void Clear(u32 addr, u32 size) {}
|
||||||
void ResumeXGkick() {}
|
void ResumeXGkick() {}
|
||||||
|
|
||||||
uint GetCacheReserve() const { return 0; }
|
uint GetCacheReserve() const { return 0; }
|
||||||
void SetCacheReserve( uint ) const {}
|
void SetCacheReserve( uint reserveInMegs ) const {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -132,6 +132,9 @@ void Pcsx2App::DispatchEvent( CoreThreadStatus evt )
|
||||||
{
|
{
|
||||||
switch( evt )
|
switch( evt )
|
||||||
{
|
{
|
||||||
|
// FIXME what to do for this case
|
||||||
|
// case CoreThread_Indeterminate:
|
||||||
|
|
||||||
case CoreThread_Started:
|
case CoreThread_Started:
|
||||||
case CoreThread_Reset:
|
case CoreThread_Reset:
|
||||||
case CoreThread_Stopped:
|
case CoreThread_Stopped:
|
||||||
|
|
|
@ -182,6 +182,7 @@ namespace Implementations
|
||||||
case AspectRatio_Stretch: art = AspectRatio_4_3; arts = L"AspectRatio_4_3"; break;
|
case AspectRatio_Stretch: art = AspectRatio_4_3; arts = L"AspectRatio_4_3"; break;
|
||||||
case AspectRatio_4_3: art = AspectRatio_16_9; arts = L"AspectRatio_16:9"; break;
|
case AspectRatio_4_3: art = AspectRatio_16_9; arts = L"AspectRatio_16:9"; break;
|
||||||
case AspectRatio_16_9: art = AspectRatio_Stretch; arts = L"AspectRatio_Stretch";break;
|
case AspectRatio_16_9: art = AspectRatio_Stretch; arts = L"AspectRatio_Stretch";break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", arts.c_str());
|
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", arts.c_str());
|
||||||
|
|
|
@ -244,8 +244,7 @@ GameDatabaseListView& GameDatabaseListView::SortBy( GameDataColumnId column )
|
||||||
case GdbCol_Compat: std::sort(begin, end, GLSort_byCompat(isDescending)); break;
|
case GdbCol_Compat: std::sort(begin, end, GLSort_byCompat(isDescending)); break;
|
||||||
case GdbCol_Patches: std::sort(begin, end, GLSort_byPatches(isDescending)); break;
|
case GdbCol_Patches: std::sort(begin, end, GLSort_byPatches(isDescending)); break;
|
||||||
|
|
||||||
// do not use jNO_DEFAULT here -- keeps release builds from crashing (it'll just
|
default: break; // for GdbCol_Count
|
||||||
// ignore the sort request!)
|
|
||||||
}
|
}
|
||||||
//m_GamesInView.( );
|
//m_GamesInView.( );
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ static VURegs& vu0Regs = vuRegs[0];
|
||||||
|
|
||||||
using namespace R5900::Dynarec;
|
using namespace R5900::Dynarec;
|
||||||
|
|
||||||
#define printCOP2 0&&
|
#define printCOP2(...) (void)0
|
||||||
//#define printCOP2 DevCon.Status
|
//#define printCOP2 DevCon.Status
|
||||||
|
|
||||||
void setupMacroOp(int mode, const char* opName) {
|
void setupMacroOp(int mode, const char* opName) {
|
||||||
|
|
|
@ -339,7 +339,7 @@ static void SuperVUEliminateDeadCode();
|
||||||
static void SuperVUAssignRegs();
|
static void SuperVUAssignRegs();
|
||||||
|
|
||||||
//void SuperVUFreeXMMreg(int xmmreg, int xmmtype, int reg);
|
//void SuperVUFreeXMMreg(int xmmreg, int xmmtype, int reg);
|
||||||
#define SuperVUFreeXMMreg 0&&
|
#define SuperVUFreeXMMreg(...) (void)0
|
||||||
void SuperVUFreeXMMregs(u32* livevars);
|
void SuperVUFreeXMMregs(u32* livevars);
|
||||||
|
|
||||||
static u32* SuperVUStaticAlloc(u32 size);
|
static u32* SuperVUStaticAlloc(u32 size);
|
||||||
|
|
|
@ -19,6 +19,7 @@ set(CommonFlags
|
||||||
-fno-strict-aliasing
|
-fno-strict-aliasing
|
||||||
-Wno-unknown-pragmas
|
-Wno-unknown-pragmas
|
||||||
-Wno-parentheses
|
-Wno-parentheses
|
||||||
|
-Wunused-variable # __dummy variable need to be investigated
|
||||||
)
|
)
|
||||||
|
|
||||||
set(OptimizationFlags
|
set(OptimizationFlags
|
||||||
|
|
Loading…
Reference in New Issue