- changed the KH2 fix in GetTextureMinMax to my taste, should give the same results, when the used texture rect is to the left/above the clamped area, it returns [min, min+1], and [max-1, max] for right/below
- m_mem.m_clut.Read32 was returned to its original place from GetAlphaMinMax
- UserHacks_WildHack was moved up to GSState, special UV handlers are only used when this setting is active
- updated xbyak to the latest available (avx2 seems incomplete, the 256-bit promoted old instructions are missing)
- changed vtune's include path to the 2013 edition
Some other not yet commited changes from a year ago:
- WriteImageX overflow crash-fix
- moved colclamp after dithering (sw mode), it makes more sense, no visible changes noticed
- Gif_Tag::analyzeTag(), there was a conditional I didn't like, split the loop into two parts
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5649 96395faa-99c1-11dd-bbfe-3dabce05a288
It wasn't the suspicious code, that actually seems to be correct. The rempty() case should now be unnecessary except in case of bad register settings, but that's outside of our control so it needs to stay until code's added for that case. A console warning would be appropriate.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5612 96395faa-99c1-11dd-bbfe-3dabce05a288
Thanks for reporting.
(Also replaced broken Chinese characters in comments.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5330 96395faa-99c1-11dd-bbfe-3dabce05a288
GSdx Hackfixes: Lego Batman changed to aggressive list, doesn't really fix ingame and breaks the title screens.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5328 96395faa-99c1-11dd-bbfe-3dabce05a288
* properly delete program and vertex array. Avoid a crash on plugin reload
* reset shader state. Avoid to reuse invalid data on plugin reload
gsdx:
* add an hack to unattach/attach the gl context from different thread. Help to solve some crashes. The best will be to move gpu operation out of gsreadfifo but it would need more works
* implement logz for test purpose (don't seem to help)
gsdx replay:
* use default xdg location
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5289 96395faa-99c1-11dd-bbfe-3dabce05a288
Also set the auto deinterlace mode in GSdx when the .ini isn't present (instead of "none").
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5270 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added "Aggressive-CRC" checkbox at the HW hacks section of the config dialog.
- The following hacks are now activated only in aggressive mode:
- God of War 2: disable water effect/lines, disable global haze.
- FFX, FFX2, SSX3 (the full crc hack from r5214).
- Shadow of the Colossus: disable (over)bloom.
- Reverted the Valkyrie Profile 2 hack to pre- r5214.
- Some CRC fixes by comments on r5214.
- Regression fix of dynamic crc hack (INITIAL_MODE = 0 didn't compile)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5221 96395faa-99c1-11dd-bbfe-3dabce05a288
.
Allows to have a single dynaCRC DLL for several games, differentiated by their CRCs by using the new utility IsCRC(0x12345678, 0x87654321, ...).
Note: With old GSdx (and updated new DynaCrcHack.c), IsCRC always returns false.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5215 96395faa-99c1-11dd-bbfe-3dabce05a288
- 14 Updated hacks, 41 new hacks (See full list at the first comment).
- New crc-hacks might have patial crc lists, so it's possible that some copies won't get the benefit (yet).
- Non crc-hacks code was NOT imported from Cutie, so some crc hacks might not be as effective as within Cutie itself.
- New region: CH, few more CRCs.
Note:
Due to the very big list of affected games, I couldn't test the vast majority of them, and so your help would be appreciated in testing. Please report (even if someone else already reported with the same result as yours) with the following format:
<game name> - <better/worse/same> (reason) - tested <little/medium/much>
e.g.:
Tomb Raider Legend - Better (removes garbage graphics) - tested a little.
GTA San Andreas - Better (removes ghosts) - tested a little.
And of course, big thank you goes to the author of Cutie, for the time put into improving PCSX2, and for respecting the GPL license and releasing the code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5214 96395faa-99c1-11dd-bbfe-3dabce05a288
Another refinement to the Wild Arms hack by KrossX.
The hack now only applies to one kind of geometry (sent using the unpacked UV handler).
This works nicer in Wild Arms as it fixes "jumpy" characters.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5124 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: compilation fix on debian sid (and potentially ubuntu)
i18n: add some comment for potential language change in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5088 96395faa-99c1-11dd-bbfe-3dabce05a288
- 0: no multi-threading
- 1: gif packet processing and texture uploads run parallel with rendering, the slowest decides the fps, dual-cores can still suffer by the spin loops, I'll check that when I compile pcsx2 on my notebook
- 2: two rendering threads, on a decent cpu packet processing is going to be slower now, this is probably going to increase fps the most on quads
- 3: small fps increase
- 4+: even smaller.
If you have a quad cpu with HT, 6 is the max, 1 + 1 is needed for pcsx2 and gsdx's basic tasks.
Also hacked palette writes to not force a read-back in hw mode (added in previous rev), it hit render targets in a surprising large number of games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4998 96395faa-99c1-11dd-bbfe-3dabce05a288
- Use float instead of int for the video framerate.
- Use 59.94 instead of 60 for the ntsc framerate.
This replaces a previous hackfix with a better one, but it's still not ideal.
The ideal solution for the video encoding side would be to use an actual fraction (60000/1001) and pass this fraction to the encoder.
The ideal solution for the gsdx side would be to deduce the real framerate from the timing parameters.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4925 96395faa-99c1-11dd-bbfe-3dabce05a288
Skygunner crashing on boot.
James Bond 007: Everything or Nothing doing a huge Vram usage when opening the weapons screen and making the system crawl at it. Couldn't test much with this one and only added the US version for now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4921 96395faa-99c1-11dd-bbfe-3dabce05a288
See tools/dynacrchack/DynaCrcHack.c for full instructions.
For development of CRC hacks (and just for the fun of creating such a system), Allows GSdx to load and use CRC hack logic from an external DLL, and reload it, at runtime, whenever this DLL changes (but act normally if this DLL isn't found).
This external DLL is compiled from a single C source file (a sample is provided, containing the current MGS3 CRC hack logic). There's also a system to automatically compile this C file into the DLL whenever the C file is modified, thus creating a system of instant [save C file] -> [GSdx switches to the new logic].
It's actually a pretty cool system, and might have other usages where it's useful, for the sake of tests/development/tweaking, to modify code logic during runtime. The overhead of such system compared to pre-compiled code is very low (e.g., in the case of CRC hacks which are called thousands of times/sec, I couldn't notice any difference in performance).
Compilation of the C file is currently done using TCC (Tiny C Compiler - http://bellard.org/tcc/ - extremely fast, light and powerful). TCC itself needs to be downloaded separately (~250K download, no install required). The system currently supports Windows only.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4914 96395faa-99c1-11dd-bbfe-3dabce05a288
Summary of changes...
Fixed menus and HUD for Spyro: A New Beginning and Spyro: the Eternal Night.
Fixed missing dialogs and reduced the VRam usage a bit for Tales of Legendia ("8-bit textures" help a bit more with Vram/speed). Should be playable now in hardware mode. Thanks to rama for figuring it could be hackfixed this way and the initial patch :)
Half-screen fixes for Ty the Tasmanian Tiger 2, X-men Origins: Wolverine, Call of Duty: World at War - Final Fronts.
Modified the Star Wars: Force Unleashed hackfix a bit, shouldn't have the see-thru objects anymore.
Also modified the Metal Gear Solid 3 and Gran Turismo 4 hackfixes as they needed different skip values for each region (PAL/NTSC). Thanx to avih for the region code... and the free C/C++ lessons :P
The hackfix for Sly 3 was still showing stripes for 3-D and two-player modes, fixed for NTSC version now and hopefully works for PAL one too.
Couple GameDB updates after the gif rewrite.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4833 96395faa-99c1-11dd-bbfe-3dabce05a288
it kinda works better if you make the hackfix use the function...
GSdx: Dragon Ball Z Budokai Tenkaichi 2's hackfix works with NTSC version now too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4792 96395faa-99c1-11dd-bbfe-3dabce05a288
Adjusted the SW Battlefront hackfix for the PAL versions (NTSC-U and PAL versions have the same CRC but use slighty different buffer/texture addresses...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4787 96395faa-99c1-11dd-bbfe-3dabce05a288
The Lord of the Rings: the Third Age (Removing fat stripes on screen).
Digimon Rumble Arena 2 (Half screen issue).
Star Wars - The Force Unleashed (Hiding HUD and 3d issues. Not perfect and NTSC-U only, not sure if it works with PAL).
Star Wars Battlefront 1/2 (Huge VRAM usage issue. NTSC-U only, not sure if it works with others).
Black Hawk Down - Team Sabre (Half screen issue and removes the night vision filter which was broken and using a lot of VRAM).
Minimal changes to other CRC hackfixes and GameDB.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4766 96395faa-99c1-11dd-bbfe-3dabce05a288
zzogl-pg win: Patch by Kosmos in the forums, corrects a typo that was causing window size to appear as height x height instead of width x height in windows OS (was breaking fullscreen at it too). Thanks :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4734 96395faa-99c1-11dd-bbfe-3dabce05a288
New define "NO_CRC_HACKS", for testing how games work without hacks easily.
Gets enabled together with the no cache define but can be toggled individually as well.
Also I've been told to mention that these changes are not directly benefiting the end user.
Gamers: This doesn't fix your DragonBall, okay? :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4636 96395faa-99c1-11dd-bbfe-3dabce05a288
- Allow filtering setting for native resolution hardware rendering, as it's not tied to the resolution.
- Add ST / UV coordinate tweaking defines to more easily debug small rendering glitches.
- Add a define to bypass the hardware renderer texture cache. With this enabled, speed drops to slower than software rendering.
It fixes nearly all hardware rendering issues though and can be used to see how games *would* look if we had a new cache ;)
Thanks for the help, sudonim :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4635 96395faa-99c1-11dd-bbfe-3dabce05a288
Small change to the Metal Gear Solid 3 hackfix. Portraits in codec conversations show now without much of a performance hit, lemme know if this one breaks anything in the game.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4631 96395faa-99c1-11dd-bbfe-3dabce05a288
Also a few changes for Tekken 5, "City at sunset" stage, hopefully there's nothing else wrong with this game anymore.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4585 96395faa-99c1-11dd-bbfe-3dabce05a288
Also removed the effect in the burning temple stage which had thin lines over it when using high res.
GameDB: More updates ~_~
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4562 96395faa-99c1-11dd-bbfe-3dabce05a288
Added Haunting Ground to the list of games that get their post processing automatically removed.
The game still shows a badly blended fog but is otherwise nicely playable now.
Hacks are from an unknown coder. Thanks for figuring it out! ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3642 96395faa-99c1-11dd-bbfe-3dabce05a288
Apply hackfix for Wild Arms 4. Thanks Lana and 89CamaroIROCZ :)
We're still missing the PAL and JAP CRCs though. Issue 185 collects them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3557 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented support for legacy GS plugins (considered anything prior to the Reordering merge).
* Added a lot of 'const' qualifiers to the GSgifTransfer functions in both GSdx and zzogl.
DevNote: GS plugins shouldn't be modifying the data provided to them from PCSX2 -- zzogl wasn't, GSdx was. I had to do a little bit of juggling to remove the mem modifications from GSdx's TEX0/TEX2 handlers. With luck, nothing's broken. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3536 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNote for zzOgl coders: Implementation of this callback can just double up on m_path[0]. I used a separate instance at m_path[3] mostly because it was easier than trying to fight around the existing PATH1 nloop hack, which is still needed for backward compat with existing and earlier versions of PCSX2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3454 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix BIOS graphical errors by re-introducing part of the PATH1 hacks, which is still needed until further notice.
* Likely fix for DX10+ cards crashing on Configure... (still can't test directly because MSI sucks, sorry folks)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3370 96395faa-99c1-11dd-bbfe-3dabce05a288
32-bit depth buffers for D3D9 users if available. Lots of code shuffling for reasons I don't even remember. Stuff. Pretty much just the 32-bit depth buffers. That's good though, you don't have to envy D3D10 users half as much now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3002 96395faa-99c1-11dd-bbfe-3dabce05a288
- Disabling all post processing removal hacks for Shadow of the Colossus. Can't see what they fix(ed).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2815 96395faa-99c1-11dd-bbfe-3dabce05a288
- Hopefully hacked up the "wall of fog" problem in GoW2. Used an adapted patch from ZeroGravity.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2687 96395faa-99c1-11dd-bbfe-3dabce05a288
- Feal87 found and fixed a problem with shadows in Silent Hill Origins. Might help other games as well.
- Bit better fix for GoW's "wall of fog" problem. Patch originally from ZeroGravity.
Thanks guys :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2647 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added multi sample anti aliasing options to the gui. Remember those aren't tested much, and we have reports of memory leaking with it enabled. Those could be outdated by now though.
- Removed the "enable output merger blur effect option", since I can't imagine anyone wanting to enable it anyway. :p
- Cropped one more pixel on the final output image, should fix some issues with msaa enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2607 96395faa-99c1-11dd-bbfe-3dabce05a288
- Finally made some user hacks available in the configuration dialog.
There are no warnings yet, and I don't like the placement either, but that'll have to wait.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2606 96395faa-99c1-11dd-bbfe-3dabce05a288
- Depth texture removal hack can now be configured via gamefix_skipdraw = x. (Front Mission 5)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2423 96395faa-99c1-11dd-bbfe-3dabce05a288
- Reduced the overhead of the new scaler. Instead of just using 1024*1024 blindly, it tries to adapt to games native resolutions.
- Yet another change to IncAge(), since it seems to be (mis)used to do texture invalidation. (Fixes Disgaea 2 when booting through the BIOS)
- Added some comments
Note:
Before working on the texture cache GetDisplayRect(),GetFrameRect() and GetDeviceSize() really need fixing. It's useless to try and find surfaces when not knowing the real size of things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2174 96395faa-99c1-11dd-bbfe-3dabce05a288
- More work on the configuration, preparing for some reorganization.
- 8 Bit textures default to off again, since there are issue reports (mainly from ATI users).
- Add a gamefix that allows users to set an amount of "bad" frames to be skipped.
Add gamefix_skipdraw = x to the GSdx.ini to enable. (More work on this soon)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2085 96395faa-99c1-11dd-bbfe-3dabce05a288
- Worked on the configuration dialog, bringing in the scaler option
- Changed the DeviceSize code to use Jake's kinda better method. Fixes some odd resolution games :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2061 96395faa-99c1-11dd-bbfe-3dabce05a288
- trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn't much but still... (not tested, don't have ati)
- may fix the intel gma "no output" bug (don't have gma either :P)
- and the usual small code optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1549 96395faa-99c1-11dd-bbfe-3dabce05a288
- more thorough blur detection
- makesnapshot delayed until the next vsync (so shift+f8 won't crash randomly)
xpad:
- fixed "Issue 38: Bad performance with Xpad"
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@834 96395faa-99c1-11dd-bbfe-3dabce05a288
GSdx: nothing new just committing a few cleanups and my findings on AA1 before doing it, tested a few things with ps2dev on a real machine, got really strange results when not using the standard 0 1 0 1 blending mode, but it doesn't seem harder to implement than a line drawing (which it is), and only adds a few extra pixels here and there, should be fast at least.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@694 96395faa-99c1-11dd-bbfe-3dabce05a288
Added interface.cpp (plugin/pcsx2 interface) and savestate.cpp to SPU2ghz, to help clean up SPU2.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@463 96395faa-99c1-11dd-bbfe-3dabce05a288