Commit Graph

9189 Commits

Author SHA1 Message Date
Gregory Hainaut ef9a144437 gsdx hw: extra trick for the mipmap
Ratchet & Clank (the third) uses an address of 0 for invalid mipmap.

It would be very awkward to put the middle layer of texture in start of
memory. So let's use this information to correct the lod.

It make the game more robust on the lod rounding
2016-09-25 11:54:00 +02:00
Gregory Hainaut 78b2848622 gsdx: factorize the TEX0 generation for mipmap 2016-09-25 11:51:48 +02:00
Gregory Hainaut ccd9ce1728 gsdx hack: move tales of legendia hack to full move
Also remove the OI hack which is handled by the generic double half clear
2016-09-25 10:17:08 +02:00
Gregory Hainaut e229dc1549 gsdx hack: move Resident Evil 4 to full level
The CRC hack removes the fog, without the hack the screen turns green with D3D,, but the fog emulates correctly on OGL with hardware depth.
2016-09-25 10:13:21 +02:00
Gregory Hainaut 307c4a22ed Merge pull request #1579 from PCSX2/gsdx-generic-double-half-clear
Gsdx generic double half clear
2016-09-25 10:09:24 +02:00
Gregory Hainaut ad8a84a532 gsdx hw: reduce hack of Spyro series
Based on the comment, it ought to be fixed with previous commit.
2016-09-25 10:08:55 +02:00
Gregory Hainaut 7f871b0cc6 gsdx hw: remove various CRC hack that ought to be fixed with previous commit
* SpidermanWoS
* TyTasmanianTiger
* TyTasmanianTiger2
* DigimonRumbleArena2
* XmenOriginsWolverine
* CallofDutyFinalFronts
* GoW2 (only in openGL)
2016-09-25 10:08:54 +02:00
Gregory Hainaut 1e343084e2 gsdx hw: group the double half clear with gs mem clear hack
It avoid redundant check of the GS context

You can disable the extra clear with UserHacks_DisableGsMemClear = 1
2016-09-25 10:08:54 +02:00
Gregory Hainaut 6c6ed5f443 gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written (#1588)
* gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written

It will work for both Jak and Ratchet&Clank and without CRC
2016-09-25 10:05:44 +02:00
Robert 5e460c57f8 psxmode: add all the rest on core side. psx mode works now.
- include a small game exe detection so pcsx2 doesn't believe it's running the bios
- cdrom.cpp has a hack to account for pcsx2's wrong iop dma timing when mixing mdec and cdrom dmas. This should be properly fixed for the benefit of all ps2 / psx software!
- dmasif2 is disabled since pgpu already handles it
2016-09-24 20:11:32 +02:00
Robert 277b8f3503 psxmode:EE: Plug SBUS PGIF register
v2: improve code integration
v3: fix conflict between sif2/pgif code
2016-09-24 20:11:32 +02:00
Robert 43e8796b2c psxmode:IOP: Init mdec and pgif 2016-09-24 20:11:32 +02:00
Robert 4047e34050 psxmode:IOP: plug in hardware read / write handlers for PGIF and MDEC
v2:
* Update sioRead8() to read a single byte  and add a comment on it
* Better code integration IOP REG

v3:
* only log the bad 16 bit access
2016-09-24 20:11:16 +02:00
Robert 35fa20d965 psxmode: changes to sio that allow psx pads to work 2016-09-24 20:08:46 +02:00
Robert 95be7cf505 build: cmake/MSVC add mdec.cpp/h files 2016-09-24 20:08:46 +02:00
Robert Neumann f22a8126ed psxmode: prepare mdec 2016-09-24 20:08:46 +02:00
Robert Neumann 236c0c78c3 psxmode:MDEC: use dedicated MDEC_LOG 2016-09-24 20:08:46 +02:00
Robert Neumann 58fe959f85 build: cmake/MSVC add the 2 new files 2016-09-24 20:08:46 +02:00
Robert 280b036b91 psxmode: add PGPU.cpp/h code by user wise on the assemblergames.com forums. 2016-09-24 20:08:45 +02:00
Gregory Hainaut 6e2bf98d5f gsdx hw: round mipmap lod value
Will avoid some corruption based on distance/angle
2016-09-24 20:05:39 +02:00
Gregory Hainaut 719982e4a3 gsdx hw: forget to update a parameter
OMG, fixes various mipmap issues
2016-09-24 18:57:47 +02:00
Gregory Hainaut 76494e5f9c gsdx hw: add an userhack for hw mipmap 2016-09-24 12:39:31 +02:00
Gregory Hainaut e38aba0dff gsdx: rename SW texture dump filename
* Use texraw for the unconverted texture (keep index fmt)
  => avoid bad filename order with the multiple texture layers
* add the real mipmap address
* Use a nice string format
2016-09-24 09:15:40 +02:00
Gregory Hainaut f26842faa7 Of course I screwed up in the rebase!
It is a shame!
2016-09-23 18:08:51 +02:00
Gregory Hainaut 816e38db8e Merge branch 'pcsx2-gif-fifo' 2016-09-23 17:50:55 +02:00
refractionpcsx2 2734f53a79 GIF: Implement GIF FIFO on GIF MFIFO mode.
-Removed some obsolete code
-Tiny optimisation for the gifUnit
-Fixed a tiny bug on GIF MFIFO
2016-09-23 17:48:13 +02:00
refractionpcsx2 71601b88ff Fix & symbols in GameFixesPanel 2016-09-23 17:41:48 +02:00
refractionpcsx2 97a8cc7ce5 PCSX2/GameDB: Savestate version bump, Added GIFFIFO entries to GameDB
-RE Savestate version: Sorry, not sorry ;)
2016-09-23 17:41:48 +02:00
refractionpcsx2 0b83b849e7 GIF: Implement GIF FIFO - Enabled as hack as it is slow
-Fixes DJ Hero, Wallace & Gromit (properly), Hot Wheels (closer)
2016-09-23 17:41:48 +02:00
Gregory Hainaut d89b09427f gsdx: gl logging is only available in MTGS thread
Fix crash in debug build
2016-09-22 17:54:44 +02:00
Gregory Hainaut b00ae974d2 gsdx ogl: fix bad interaction between accurate blending and geometry shader
Recent optimization allow to use triangle to render sprite even when gs is supported

close #1574
2016-09-20 09:30:24 +02:00
Jonathan Li c64e8f944e cdvdgigaherz: Fix printf sign mismatch warnings
Fixes warning C6340: printf sign mismatch

Only remaining warnings for cdvdGigaherz (using level 4 warning
settings) are:
C6258: TerminateThread does not allow proper thread clean up
C4201: nonstandard extension used: nameless struct/union (from the
lo/hi u128 struct in common/include/Pcsx2Types.h)
2016-09-20 01:24:23 +01:00
Jonathan Li 57d029f34a cdvdgigaherz: Use INT_PTR for dialog handler return type
BOOL is not the correct return type (though it works for 32-bit).
2016-09-20 01:23:47 +01:00
Jonathan Li 0ca36e8943 cdvdgigaherz: Fix value truncation warnings
Fixes warning C4244: conversion to smaller data type, possible loss of
data.
2016-09-20 00:47:15 +01:00
Jonathan Li a61aa8ff0b cdvdgigaherz: Remove unreachable return
Fixes warning C4702: unreachable code
2016-09-20 00:46:33 +01:00
Jonathan Li 49cd751acf format-check: enable checking cdvdGigaherz 2016-09-19 19:53:06 +01:00
Clang Format 2967d5d3f1 cdvdgigaherz: Reformat with clang-format 2016-09-19 19:53:00 +01:00
Jonathan Li 60da39712c cdvdgigaherz: Remove unused code/macros/variables/etc
The SPTI code is unused, and it's simpler to just use the Windows
ioctls/API if they work (only raw disk sector reading is an issue and
the SPTI workaround is already in place).
2016-09-19 19:50:55 +01:00
Avi Halachmi (:avih) 52fbfdc5ab Revert most of "Updated some entries in the GameIndex (#1487)"
This reverts commit 07d54587 except for the updates of SCUS-97150 (Formula
One 2001 NTSC-U) - where we have a record of compatibility 5, and also
there's an agreement that the patch is not required anymore since ad61503 .

The reverted compatibility values are because we don't have any kind of
records to support them, no one tested them, and they also don't appear at
our online compatibility list.
2016-09-19 20:47:08 +03:00
Gregory Hainaut b91bd3ea01 gsdx dx/gl: fix potential bug in alpha test handling
Depth test must remain disabled if write were masked.

Bug was detected on ICO (sea/sky) but the previous commit removes
the wrong ATE draw call.
2016-09-19 08:56:49 +02:00
Gregory Hainaut 6966e08306 gsdx: move alpha test optimization in base class
One code for all renderers :)
2016-09-19 08:48:32 +02:00
Gregory Hainaut 38b77397e0 gsdx hw: remove custom Ty Tasmanian Tiger / Simposons OI hack
Replaced by the generic OI_DoubleHalfClear. If OI_DoubleHalfClear is fast/safe enough, it
will enabled by default in the future.
2016-09-18 18:50:16 +02:00
Gregory Hainaut 6558317a7e gsdx: s/m_eq.xzyf & 4/m_eq.z/
Much better this way
2016-09-18 18:50:15 +02:00
Gregory Hainaut 7a40b27931 gsdx CRC: move GTA hack to full level
You can now emulate the radiosity effect with the UserHacks_AutoFlush hack.
2016-09-18 18:50:15 +02:00
Gregory Hainaut 0f387a8e3c Merge pull request #1535 from PCSX2/clang-tidy-macro-parenthesis
clang-tidy: use parenthesis around macro parameters
2016-09-18 18:48:04 +02:00
Jonathan Li 15fbd6fbf4 cdvdgigaherz: Remove ISO file reader (#1569)
It doesn't support dual layer ISO images, and the ini has to be edited
manually so it loads an ISO image ("$" has to be prepended to the ISO
path as well). The PCSX2 internal ISO file reader is probably better in
most/all aspects and I don't think it's worth copying the logic from
PCSX2 into the plugin.
2016-09-18 18:38:21 +02:00
Gregory Hainaut 310f13a2f7 gsdx ogl: only use geometry shader to convert big enough draw call (#1554)
gsdx ogl: only use geometry shader to convert big enough draw call

The purpose of geometry shader is to reduce bandwidth (72 bytes by sprite)
and CPU load.

Unfortunately it increases CPU load due to extra shader validations.

So geometry shader will only be enabled for draw call with more than
16 sprites (arbitrarily, smallest number before shadow hearts plummet)

v2: don't disable geometry shader in replayer.
It is easier to spot sprite rendering and to manually read vertex info.
2016-09-18 16:58:02 +02:00
Gregory Hainaut 2a60264e40 gsdx replayer: improve error message when file is corrupted 2016-09-18 16:52:35 +02:00
Gregory Hainaut 6e6eae7844 pcsx2:gsdx:spu2x: use parenthesis around macro parameters
For safety reasons.
2016-09-18 16:13:55 +02:00
Gregory Hainaut b3d31869d6 recompiler: use a function to replace HWADDR macro 2016-09-18 16:13:55 +02:00