Commit Graph

3866 Commits

Author SHA1 Message Date
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 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
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
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 64d499af6e pcsx2|spu2x: remove unused macro 2016-09-18 16:13:29 +02:00
Gregory Hainaut b1d446895b GSdx: replace IsTopLeftAligned macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut f0a54bf6e3 spu2x: replace EMITC macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut 5ef2d538a0 gsdx hw: only keep a single half clear implementation 2016-09-18 13:16:59 +02:00
Gregory Hainaut a0c1719695 gsdx hw: DoC takes 3
Add support for 16 bits format too. Fix shadows.
2016-09-17 12:06:43 +02:00
Gregory Hainaut ebdf54a60b gsdx sw: don't enable auto flush hack in replayer
Otherwise we don't have same number of draw call in HW/SW which is
awful to compare
2016-09-17 12:05:05 +02:00
Gregory Hainaut 3546d54e3b gsdx hw: improve the vertical half clear for DoC
Previous assumption that crazyness was used to clear the buffer is wrong.

It was also used to write a constant color to the buffer.
2016-09-17 10:34:35 +02:00
Jonathan Li 4d5e051387 gsdx: Fix missing "\n" in rc file
It stops Visual Studio from asking to normalise the line endings
everytime the resource editor is used.
2016-09-16 23:42:54 +01:00
Jonathan Li 91b2e5bdbb Merge pull request #1564 from FlatOutPS2/master
GSdx: Add Windows UI options for HW hacks
2016-09-16 23:35:45 +01:00
Gregory Hainaut 7b9654f164 gsdx hw: CRC based solution to solve half screen issue on FFVII Dirge Of Cerberus
The trick is that the depth buffer is actually the right of the frame buffer
2016-09-17 00:02:32 +02:00
FlatOutPS2 55b0be36cd GSdx: Add cancel button to Hacks dialog
Add a cancel button to the Hacks dialog to make it easier for the user
to exit the window without making changes.
2016-09-16 23:22:13 +02:00
FlatOutPS2 5420fcaf3a GSdx: Add Windows UI options for HW hacks
Add UI options for Auto Flush and Unscale Point Line HW hacks.
2016-09-16 23:19:05 +02:00
Gregory Hainaut 3994141d40 gsdx sw: always enable the auto flush hack on the SW renderer
There are enough option. Will remove it if too slow.

Positively impact Jak, GTA, Battlefield 2
2016-09-15 17:24:40 +02:00
Gregory Hainaut 1a1d6ab478 gsdx: handle the invalid format 0x3
International Super Star Soccer seems to use it.

It could be a core bug, in doubt uses the likely expected standard 0x13
2016-09-14 19:22:45 +02:00
Gregory Hainaut 4796803c33 pcsx2: Remove == true/false for boolean logic (#1556)
As discussed in #1553

Clang Tidy reports goes from 156 to 9.

Remain some macro in spu2x + a deadcode line
2016-09-10 20:08:14 +02:00
Jonathan Li 77e128aa11 Merge pull request #1557 from turtleli/freetype
3rdparty: Add Freetype and link to GSdx
2016-09-10 14:04:26 +01:00
Jonathan Li 72d3e4e03f windows: Add freetype to solution and link to GSdx 2016-09-10 12:36:56 +01:00
Gregory Hainaut 4ebe739b44 pcsx2: remove various unused variable
Warning can be reenabled on GCC

A warning isn't fixed as potentially the code is wrong
../pcsx2/gui/MemoryCardFolder.cpp: In member function ‘void FolderMemoryCard::FlushFileEntries(u32, u32, const wxString&, MemoryCardFileMetadataReference*)’:
../pcsx2/gui/MemoryCardFolder.cpp:1027:10: warning: unused variable ‘filenameCleaned’ [-Wunused-variable]
     bool filenameCleaned = FileAccessHelper::CleanMemcardFilename( cleanName );
2016-09-10 00:09:05 +02:00
Gregory Hainaut ccf198a80b gsdx ogl: fix a regression on Okami
Strangely the game uses large texture to handle texture buffer.

I think it plays with WMS/WMT. I'm not sure texture shuffling is 100%
correct here. But without it, it's completely broken.
2016-09-09 21:51:23 +02:00
Gregory Hainaut 8c1722faa2 gsdx: add a note that Jak shadows can be handled with HW GL without auto flush hack 2016-09-09 21:08:15 +02:00
Gregory Hainaut 64a97483fb gsdx: add Jak3 US too 2016-09-09 21:05:00 +02:00
Gregory Hainaut de480ec0f5 gsdx: add crc hack for Jak
* 0x9C712FF0, Jak1, EU
* 0x472E7699, Jak1, US
* 0x2479F4A9, Jak2, EU
* 0x12804727, Jak3, EU
* 0xDF659E77, JakX, EU

Please report me the CRC of the US version too so I can add them.

Please test the shadows rendering (openGL HW + accurate blending at least basic)
2016-09-09 19:44:04 +02:00
Jonathan Li d540dbec79 cdvdgigaherz: Fix event handle memory leak
Also bump the version to 0.10.0.
2016-09-08 23:46:05 +01:00
Jonathan Li 303996818c cdvdgigaherz: Delete duplicate PlainIso file 2016-09-08 23:14:26 +01:00
Gregory Hainaut d27d2dd520 fix compilation issue 2016-09-09 00:11:02 +02:00
Gregory Hainaut c2b67ccb78 gsdx ogl: implement an alternate shader for Jak Shadows
The game sets the framebuffer as an input texture. So I did the same for
openGL. Code is protected with a CRC. It is working because the game want to sample
pixels.

For the record, I tested it GTA too, it doesn't work as expected because
the game will resize the framebuffer to a smaller one. So you don't have
the guarantee that pixel will be read before a data write.

Note: it requires at least accurate blending set on basic

Note: I need CRC of all Jak games that suffers of this issue. Thanks you :)
2016-09-08 23:58:13 +02:00
Gregory Hainaut c03b388786 Merge pull request #1551 from PCSX2/clang-format-v2
Clang format v2
2016-09-08 22:53:21 +02:00
Clang Format e503534ff4 reformat CDVDiso 2016-09-08 21:54:50 +02:00
Clang Format d6ae5bfafa reformat lilypad
Note: I'm worried on the EXPORT/CALLBACK behavior on multiple OS
2016-09-08 21:54:49 +02:00
Clang Format f06f44c30a reformat onepad 2016-09-08 21:52:49 +02:00