Commit Graph

7238 Commits

Author SHA1 Message Date
Gregory Hainaut 03bf1ec7b3 gsdx-tc: extend preload frame hack to load target too
The goal is to check the impact on game that have wrong RT content.

It helps a bit Smash Court Tennis Pro Tournament 2 but the game suffers
another texture cache bug. (RT BW is 10 whereas texture BW is 8)

Note: Armored Core: Last Raven must be tested (only game so far
that rely on the option and I didn't want to add a new one).
2015-10-25 15:26:38 +01:00
Gregory Hainaut 295f867118 gsdx: invalid alpha after an EE write
Typical wrong draw:
1/ draw in 32 bits
2/ draw in 24 bits
3/ Use alpha as a texure. (Must reuse the GPU data)
4/ Write alpha from EE
5/ Use alpha as a texure. (Must upload new data)

This commit fixes the step 5.

Fix #917 (Conflict - Desert Storm)
2015-10-24 16:23:50 +02:00
refractionpcsx2 286769dc03 VIF MFifo: Simulate buffer filling time from Scratchpad.
-Fixes other Chessmaster hang.
-having it say it has data really quickly if the data incoming was huge seemed to throw it off.  I suspect it may actually be the time it takes to fill 16qw (or whatever is incoming if lower) is the wait time but it seems rather happy with the incoming data size.
2015-10-24 13:25:29 +01:00
Gregory Hainaut 5cbd0cf42a gsdx-debug: add more push/pop debug group on the init 2015-10-24 14:14:37 +02:00
Gregory Hainaut 9ba949c2d9 gsdx-debug: support correct logging on mesa
By default low severity message were disabled. (thanks to be open source)
2015-10-24 14:14:37 +02:00
Gregory Hainaut c26f2cc80a linux: remove an useless script 2015-10-24 14:14:37 +02:00
Gregory Hainaut e8fdd99962 spu2x-sdl: keep only C++11 code path
Linux supports C++11 completely.
2015-10-24 14:14:37 +02:00
refractionpcsx2 8d22006165 Vif MFIFO: Logic fix for Chessmaster. Game still needs EE Timing Fix to solve later hang in video, but game is playable now. Thanks to Ssakash for looking in to this :) 2015-10-24 03:30:29 +01:00
Gregory Hainaut e64bdbdb2c Merge pull request #920 from PCSX2/ee-recompiler-stack-alignment
Ee recompiler stack alignment
2015-10-23 22:49:55 +02:00
Gregory Hainaut 1f2d95db7e cmake: restore omit frame pointer optimization
Crash was related to unaligned stack in dyna_page_reset/dyna_block_discard
2015-10-23 22:17:14 +02:00
Gregory Hainaut b07621f1a1 cmake: drop ASAN workaround
It was used to mask stack issues. It seems to be fixed with previous commits.

I managed to boot a game without any crash ^^
2015-10-23 22:17:14 +02:00
Gregory Hainaut ccea764556 EE-rec: Don't jump directly to C++ function
On linux, it breaks the 16B stack alignment requirement.

2 dispatchers were added to handle the call to the function. It avoid
any performance impact and remove the extra inlined asm

Fix #506
2015-10-23 22:16:49 +02:00
Gregory Hainaut 40b5195f0e EE-rec: don't save useless variable
the 2 static variables are only used to debug stack issue.
It saves 2 move instructions by block
2015-10-23 22:02:41 +02:00
Gregory Hainaut 464aeecef8 EE-rec: use uptr for function pointer
Avoid potential issue on 64 bits port
2015-10-23 22:02:41 +02:00
Gregory Hainaut 3d5393a0e7 i10n: update template POT file
Nearly 1 year old but hopefully few strings where updated.
2015-10-23 20:00:16 +02:00
Gregory Hainaut 87001326f6 gsdx: remove 4Y-old unused code
It was never used.
2015-10-22 19:51:03 +02:00
Gregory Hainaut 56f2e74ff4 Merge pull request #893 from PCSX2/accurate-date-regression
gsdx-ogl: accurate date regression. Bad interaction between depth & DATE
2015-10-22 12:34:00 +02:00
Gregory Hainaut 92553add8e gsdx-ogl: accurate date regression. Bad interaction between depth & DATE
In the DATE42 algo, first pass must find the primitive that write the
bad alpha value. If depth test is fail, alpha value won't be written therefore
you mustn't keep the primitive id.

In theory to ensure 100% correctness, depth would need to be fully executed
(currently depth write is disabled). However it requires to copy the depth buffer.
It is likely bad for the perf.

Issue reported on DBZInfWorld
2015-10-22 12:31:51 +02:00
Gregory Hainaut 059d4a1306 Merge pull request #898 from PCSX2/gsdx-aniso-hw-unit
gsdx-ogl: only enable aniso when sampling from the HW texture unit
2015-10-22 12:22:21 +02:00
Gregory Hainaut 6561fbc831 gsdx-ogl: only enable aniso when sampling from the HW texture unit
Potentially help issue #884
2015-10-22 12:21:43 +02:00
micove b13a1ff3dd Merge pull request #908 from micove/WX_PIZZA
Linux GUI: Fix invalid cast from 'wxPizza' to 'GtkBin'.
2015-10-21 16:38:21 -04:00
Gregory Hainaut ffdc914c71 linux: SDL2
For older distribution you can still use SDL1.2

./build.sh ... --sdl12 ...
or
cmake ... -DSDL2_API=FALSE ...

Note: there is a hard dependency between WxWidget and SDL. If Wx is linked against
SDL1.2, you must use SDL1.2. Crashes are expected otherwise.
2015-10-21 22:35:38 +02:00
Gregory Hainaut b6d9ea86ee spu2x-sdl: memset the stream buffer in SDL2
Fix #382
2015-10-21 22:13:29 +02:00
Gregory Hainaut 53c38ef2cc spu2-sdl: move the ifdef to support automatic indentation 2015-10-21 20:54:09 +02:00
Gregory Hainaut 281c5e4c66 Properly swap the argument of the good option
AKA: redo commit d7afd7aae0 with the eye open...
2015-10-21 20:41:40 +02:00
Gregory Hainaut 96bf714d85 spu2x-sdl: unique_ptr is always supported
So let's drop various ifdef
2015-10-21 20:36:07 +02:00
Gregory Hainaut 2b06d34279 pcsx2: use Reassign of the scoped pointer to improve readability
Note: it is equivalent to a basic assignment due to operator overloading
2015-10-21 20:10:16 +02:00
Gregory Hainaut 826319ce34 gsdx-ogl: check null pointer
CID 151735 (#1 of 1): Dereference after null check (FORWARD_NULL)
61. var_deref_model: Passing null pointer rt to CopyRectConv, which dereferences it
2015-10-21 20:10:16 +02:00
Gregory Hainaut d7afd7aae0 pcsx2:debug: swap 2 arguments
It changes nothing but it is more consistent

CID 146916 (#1 of 1): Arguments in wrong order i
(SWAPPED_ARGUMENTS)swapped_arguments: The positions of arguments in the call to disBranch do not match the ordering of the parameters:

    rt is passed to rs
    rs is passed to rt
2015-10-21 20:10:16 +02:00
Jonathan Li aff1467ea3 debugger:linux: Fix wx2.8 compilation
Bind doesn't work on wx2.8. Replace with event tables and Connect.
wxString::Format also requires the format string to be L"something".
const char* requires an explicit conversion to wxString.
The show 128/64/32 bit menu column stuff doesn't have a direct wx2.8
replacement so just omit it - I'm not sure it's useful functionality
anyway.
2015-10-21 17:34:02 +01:00
Jonathan Li ccb261a8a3 debugger: Set wxGrid label font as well
It makes the debugger window more vertically compact.
2015-10-21 17:34:02 +01:00
Jonathan Li 9d23fc222a Merge pull request #885 from byehi5299/ctrlregisterlist
Rewrite CtrlRegisterList to allow scrolling and fix size issues.
It now works better on small screens and has simpler code.
2015-10-21 17:33:10 +01:00
Gregory Hainaut e5015faafa Merge pull request #906 from PCSX2/try-catch-register-allocation-error
pcsx2: generate an exception when recompilation failed
2015-10-21 15:16:45 +02:00
Gregory Hainaut a4c37d7f51 pcsx2: fallback to the interpreter if bad register allocation 2015-10-21 13:16:51 +02:00
Miguel A. Colón Vélez 8cf51c5cf4 Linux GUI: Fix invalid cast from 'wxPizza' to 'GtkBin'.
(PCSX2:32189): GLib-GObject-WARNING **: invalid cast from 'wxPizza' to 'GtkBin'
.
Cast the wxPizza directly to a GtkWidget. Looking at the wx3.0 source code the pizza
constructor returns a GtkWidget. Also GetHandle() returns a GtkWidget:
http://docs.wxwidgets.org/trunk/classwx_window.html#a185e6cd7065367b552748cb722651b27
2015-10-20 18:23:48 -04:00
refractionpcsx2 2a21224ab8 Merge pull request #907 from ssakash/gameDB_update
GameDB: Update compatibility status of games.
2015-10-20 22:43:30 +01:00
Akash 78890f925c GameDB: Update compatibility status of games. 2015-10-21 03:08:43 +05:30
Gregory Hainaut 796f831296 pcsx2: generate an exception when recompilation failed
Avoid the cost of checking -1 for a very rare case.

It misses currently a good fallback
2015-10-20 18:23:38 +02:00
Gregory Hainaut 5f78644bb6 Merge pull request #902 from PCSX2/convert-auto_ptr-unique_ptr
pcsx2: auto_ptr is deprecated in favor of auto_ptr
2015-10-19 15:37:35 +02:00
Gregory Hainaut c42f46eba4 pcsx2: auto_ptr is deprecated in favor of unique_ptr 2015-10-19 13:41:34 +02:00
byehi5299 369a6a30da A few small formatting changes. 2015-10-18 22:01:30 -04:00
Gregory Hainaut 395b4c25f3 Merge pull request #899 from ssakash/gsdx_nullcheck
gsdx: use old size of target if ds and rt is null
2015-10-18 19:25:39 +02:00
Jonathan Li 26de185f54 pcsx2: Fix OpenSUSE 13.2 wx3.0 compile
I have no idea why it fails to convert the wxString to a const wxChar *.
2015-10-18 15:13:59 +01:00
Jonathan Li 7fac189ab3 spu2-x:linux: Fix potential null deference
Coverity CID 146911: Dereference before null check (REVERSE_INULL)
2015-10-18 14:01:27 +01:00
Gregory Hainaut d5e0899955 oups collision with ref commit 2015-10-18 11:19:39 +02:00
Gregory Hainaut f99882c61c gsdx-ogl: keep gl_ActiveTexture & gl_BlendColor (fix MS compilation)
It seems openGL ABI isn't exactly the same between Windows and my PC.
2015-10-18 11:18:19 +02:00
refractionpcsx2 42a4c7d368 GameDB: Add comment for hack required for Dakar 2 on OPM Demo Disc 33 2015-10-18 02:38:58 +01:00
refractionpcsx2 179a4cead5 GSdx: Fix compilation 2015-10-18 02:01:56 +01:00
refractionpcsx2 b132557f04 GameDB: Fixed entry for PBPX-9505, serial incorrect, updated name 2015-10-18 01:26:13 +01:00
Akash 294b8d3c6e gsdx: use old size of target if ds and rt is null
CID 146843 (#1 of 1): Dereference after null check (FORWARD_NULL)6. var_deref_model: Passing null pointer ds to GetSize, which dereferences it.
2015-10-17 22:47:44 +05:30