PCSX2 Git (2016/07/23) is compiled. PCSX2 is an open source PlayStation 2 (PS2) emulator for the Microsoft Windows and Linux operating systems. With the most recent versions, many PS2 games are playable (although speed limitations have made play-to-completion tests for many games impractical), and several games are claimed to have full functionality.
PCSX2 Git Changelog:
* onepad: init event struct
Might help to reduce valgrind warning
* debugger: fix another missing init
==18373== Conditional jump or move depends on uninitialised value(s)
==18373== at 0x825CC9B: CtrlMemView::render(wxDC&) (CtrlMemView.cpp:277)
==18373== by 0x825DA19: CtrlMemView::paintEvent(wxPaintEvent&) (CtrlMemView.cpp:138)
==18373== by 0x81F3A5F: Pcsx2App::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) (AppMain.cpp:614)
==18373== by 0x40BC50B: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==18373== by 0x426C654: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==18373== by 0x426C752: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
Reported by gcc too
* common: remove useless x86_intrin.h
Yeah one less licence in the project :)
* Merge pull request #1444 from PCSX2/atomic-relax
Atomic relax
* gsdx: dump and log EE texture read
It gives a visual opportunity to detect a bad read of the texture cache
* common: remove old atomic wrapper
Use cross-platform std::atomic instead
* common: relax atomic of m_IsBeingDeleted
Avoid the memory fence in the constructor
* gsdx sw: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
* MTVU: port vuCycles to std::atomic
V2: use relaxed order as the variable doesn't carry load/store dependency
It is only used as a counter for the speed hack
* MTVU: port write pointer to atomic and optimize atomic access
Write pointer can be relaxed-read from the EE thread
Read pointer can be relaxed-read from the VU thread
Warning: AtomicExchange calls were replaced by release-store
However AtomicExchange generates a memory barrier (at least on linux)
So either it is useless and it will be faster, or it will explode ;)
* MTVU: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
barrier
v2:
* keep basic code in reset path
* use relaxed access for isBusy. The variable doesn't carry load/store
dependency but is instead an hint to optimize semaphore post
* MTGS: avoid a potential very rare deadlock
* MTGS: use private member for RingBufferLock
Easier to understand the purpose of the 2nd lock
* MTGS: port read/write pointer to full atomic + optimize atomic access
Read pointer is only written by the MTGS thread so it can be relaxed-read
by the MTGS thread
Write pointer is only written by the EE thread so it can be relaxed-read
by the EE thread
Remove volatile stuff
* MTGS: use acquire/release semantics for atomic operation
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
barrier
v2:
* keep "slow" and safe atomic on reset path
* use relaxed atomic for m_RingBufferIsBusy
The signal doesn't carry dependency with others load/store. Instead it is used
as an hint to awake the semaphore
As a side, there is a potential thread bug
T1 do
* wait sema
* busy = true;
* while (!queue.empty) do work...
* busy = false;
* go back to wait sema
T2 do
* post sema even if busy is false
If T1 stop after the while queue but before the busy, T2 won't post the
event. When T1 will wake up, it will block on the semaphore
* Merge pull request #1470 from ssakash/spu2_x_nitpicks
SPU2-X: Align GUI elements on debug dialog
* SPU2-X: Align GUI elements on debug dialog
* Merge pull request #1469 from PCSX2/valgrind-memleak
Valgrind memleak
* debugger: init resolvePointerStrings to a default value
Fix valgrind issue:
==3560== Conditional jump or move depends on uninitialised value(s)
==3560== at 0x81F7949: CtrlRegisterList::OnDraw(wxDC&) (CtrlRegisterList.cpp:291)
==3560== by 0x47826DE: wxAnyScrollHelperBase::HandleOnPaint(wxPaintEvent&) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560== by 0x4785969: wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560== by 0x426CA0E: wxEvtHandler::SafelyProcessEvent(wxEvent&) (in /usr/lib/i386-linux-gnu/libwx_baseu-3.0.so.0.2.0)
==3560== by 0x4710BAE: wxWindowBase::HandleWindowEvent(wxEvent&) const (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
==3560== by 0x44EF67D: wxWindow::GTKSendPaintEvents(_GdkRegion const*) (in /usr/lib/i386-linux-gnu/libwx_gtk2u_core-3.0.so.0.2.0)
* onepad: use modal dialog instead of frame
Avoid various pitfall such as #1387
v2:
* use stack object
* gsdx ogl: purge debug message in destructor
Allow to see latest error and avoid noise in Valgrind log
* gsdx ogl: fully initialise PSConstantBuffer structure
* CDVD: initialize a temporary buffer
I'm not sure to understand why Valgrind reports it as we populate the buffer
during the ReadAsync. Maybe Valgrind doesn't like async IO from the kernel.
In doubt, the init will avoid those warnings
==19897== Thread 6 EE Core:
==19897== Conditional jump or move depends on uninitialised value(s)
==19897== at 0x80FE9E1: BlockdumpFileReader::DetectBlockdump(AsyncFileReader*) (BlockdumpFileReader.cpp:40)
==19897== by 0x8109EE5: InputIsoFile::Open(wxString const&, bool) (InputIsoFile.cpp:229)
==19897== by 0x810939E: ISOopen(char const*) (CDVDisoReader.cpp:57)
==19897== by 0x810194E: DoCDVDopen() (CDVDaccess.cpp:359)
==19897== by 0x80B651C: SysCorePlugins::OpenPlugin_CDVD() (PluginManager.cpp:1219)
* pcsx2:linux: leaking allocation isn't necessary
* gui: add a destructor to CtrlRegisterList object
So we can free allocated memory
* pcsx2 gui: fix a pseudo memory leak on SavestateEntryPack
It is a pseudo leak as it is a global object. Nevertheless it pollutes
the valgrind log.
v2:
* use an array of unique pointer
* use ArraySize instead of a constant
Download: PCSX2 Git (2016/07/23)
Source: Here
0 Comments
Post a Comment