- 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