Commit Graph

1547 Commits

Author SHA1 Message Date
gabest11 bc7a930409 GSdx: This fixes the flickering in Bully, and probably games with the same problem. Could not check Valkyrie Profile Silmeria, yet.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5012 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-24 07:00:16 +00:00
ramapcsx2 7dfff148b8 GSdx: Hack around a problem with the texture cache finding depth stencils when there can't be any.
This makes the Arc the Lad fog issue go away.

Review would be nice though :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5011 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-23 20:58:10 +00:00
gabest11 963a6a653a GSdx: changes of r5007 did not help as much as I thought, disabled it for the time being, plus other minor optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5010 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-23 15:53:53 +00:00
gabest11 da41bcd756 GSdx: Replaced condvar/srwlock imports with getprocaddress, it should work on XP and compile on vs2010 express again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5008 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-23 02:49:27 +00:00
gabest11 d5dbe7e7e9 GSdx: Moved filling up rendering threads on a new thread, to not block the main, it looks like now I can replace one of the spin loops with an event. Using events results in about -5% fps, but still pretty fast.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5007 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-22 14:36:54 +00:00
gabest11 2421c68bee GSdx: Saving the conditional var update (vista or better) before I try a new idea again. That Sync() call is wasting too much time, if there was only one queue then the main thread could also grab and process elements instead of just waiting for the workers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5005 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-22 01:48:16 +00:00
avihal 5e0e4ce6a8 Fix Dynamic CRC hacks (got broken on r4991 )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5004 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 23:35:30 +00:00
gabest11 1691ab2cf0 GSdx: fixed vs2008 build errors
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4999 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 00:08:00 +00:00
gabest11 0b62c17d9c GSdx: Renamed the sw thread setting to "extra threads".
- 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
2011-12-20 14:33:28 +00:00
gabest11 2f401da58c GSdx: fixed shared_ptr for GCC, but it does not seem to be thread-safe in 4.4.5.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4995 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-19 01:20:55 +00:00
gabest11 b7a70c9541 GSdx: Little bug slipped through.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4994 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-18 22:04:05 +00:00
gabest11 b86e3ebd19 GSdx: Polished the recent changes a bit. Single threaded mode should be back to normal, 2-4 threads might be faster or slower. All in all, it has a lot more potential now. Rendering is almost as separated as with d3d, everything needed is packed and copied for the worker threads, synchronization between local memory and the temporary buffers is properly done. This model could also be back-ported to d3d. Or the software rasterizers could be hardware assisted somehow, there are a lot less sync points where those buffers should match with the contents of the local memory.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4993 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-18 21:57:48 +00:00
gabest11 f318e84aca GSdx: Better multi-threading for the sw renderer. Threads must be synchronized lot less, 1/10th in average, can run parallel longer and uses more cpu (bit more empty spinning, too). There could be some new bugs, as usual.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4992 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-18 08:13:20 +00:00
gabest11 4b77052d21 GSdx: just saving minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4991 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-16 19:13:58 +00:00
gabest11 df42f468be GSdx: recent changes caused some errors in line drawing (SoTC loading screen)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4979 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-04 18:35:16 +00:00
gabest11 9f470962e5 GSdx: less gaps between triangles, it was more noticeable with psx games, having a lower resolution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4978 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-04 15:31:02 +00:00
gabest11 786f43a707 GSdx: more fixes to z-interpolation, THPS4 looks alright now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4977 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-04 09:49:55 +00:00
gabest11 0d7c58065a GSdx: this fixes some of the flickering in THPS, objects in the far distance still have some z-fighting problem, z values used are too large and too close to each other.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4976 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-03 21:04:46 +00:00
gabest11 f1537f53a2 GSdx: Found where the bypassed int z was destroyed. (bug appeared in r4967)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4975 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-01 17:08:10 +00:00
gabest11 9d54677055 GSdx: re-implemented the drawing pipeline in c++, just for reference and easier debugging.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4972 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-25 23:48:59 +00:00
gabest11 4f6f53c188 GSdx: Just remembered triangles were occasionally converted to sprites, need to set t.w there as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4967 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-14 03:34:24 +00:00
gabest11 ee9c9ac8f3 GSdx: Added a simple workaround for the 32-bit z problem talked about in the comments of r4956. Since sprites are flat and there was an unused vertex member (t.w), I just decided to pass the raw uint32 value in that to the scanline drawing function. It does not fix triangles and other primitive types, of course. The ideal solution would be to break z into two parts (like 8:24 bits, and only care about the upper part when not zero), interpolate separately and rejoin when needed, it is just too hard to add another variable when the assembly code is already so tightly optimized to use every register.
(HW mode z-test expects a float input, so this trick cannot be done there.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4966 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-14 03:08:13 +00:00
arcum42 c3536a1eb4 GSnull: More cleanup on the logging code. And lets actually put return characters in the log. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4965 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-12 04:09:46 +00:00
gabest11 f47ef5e644 GSdx: as usual, going back to msvc, suddenly wild errors appear.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4964 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-08 13:22:54 +00:00
gabest11 0cf87a943b GSdx: GSRendererHW.h and GCC are good friends now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4963 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-08 13:12:54 +00:00
ramapcsx2 c234e1f6dd Forum user ateste was so kind and found/fixed a savestate issue with Lilypad :)
The problem would cause lost controls or "Controller disconnected" messages in a few games.
This fix is temporary and only works with Lilypad, until we take care of the core issue.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4959 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 09:29:36 +00:00
gabest11 67b12b3f92 GSdx: Also wrapping CLUT writes now, previous revision broke SFEX. CLUT buffer overruns are very rare, tell me if you find any other game doing it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4956 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-02 21:15:44 +00:00
gabest11 b158f98fc7 GSdx: Bogus MSB bits of TEX0.CSA should be ignored as it looks. Only corrected where the palette is read (this fixes "Idol Janshi Suchie-Pai IV"), writes to the CLUT may be handled the same way, but so far no game has been found broken because of this.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4955 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-02 17:41:22 +00:00
ramapcsx2 3233952582 GSdx: CRC for FF12 Fr.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4953 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-01 10:15:52 +00:00
gregory.hainaut c9b1e3c1aa cmake:
* new dev option CMAKE_BUILD_PO: control regeneration of po file. By default true in release build
* Add a hack for multiarch version of wxwidget 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4951 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-31 10:25:24 +00:00
arcum42 d398e19b4d GSnull: Rework the logging code a bit. (The logging actually prints to the screen now, for one thing.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4950 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-30 01:39:43 +00:00
arcum42 5306b13472 More work on the compiler warnings. Removed the warning flags that are now set by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4949 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-30 00:32:22 +00:00
arcum42 251382aefe Change a few compiler options in Linux to remove a few warnings during compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4947 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 07:57:06 +00:00
ramapcsx2 b9d442d4f7 GSdx: CRC for Suikoden Tactics JP.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4946 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-27 17:19:55 +00:00
sudonim1@gmail.com 553635f00d SPU2-X: silly logic error in IRQA testing for DMA, fixes Atelier Iris, maybe others.
Thanks to rama for testing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4945 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-27 15:34:14 +00:00
gabest11 60939bd9dd GSdx: Another psx bug-fix for chrono cross. Not fully sure about it, have to be tested. It is about not drawing larger than 1024x512 polygons. Peops also skips them, but only when one of the coordinates is negative, not explained why.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4944 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-24 21:34:38 +00:00
gabest11 c5e99a05ca GSdx: Corrected the line data terminator for psx games (fixes wild arms 2).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4943 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-24 07:58:43 +00:00
ramapcsx2 2b3d5d0fa1 Lilypad: Fix wrong GUI description. Thanks bosit :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4939 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-14 10:17:19 +00:00
ramapcsx2 ae5ee1376c Lilypad:
Putting the tabulator keypress hack from r4916 on L3 instead of R3.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4929 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-09 16:20:13 +00:00
avihal 7f0f19ee02 Yakuza 1 CRC hack (seem to work better than previous one).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4928 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-09 07:43:10 +00:00
gigaherz e08e540eb8 GSDX: Whoops sorry I mixed two conflicting ideas into one.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4927 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-08 16:53:40 +00:00
gigaherz 4d12e1954f GSDX: I didn't even like that code when I changed it. Now I know why. And it looks much better this way.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4926 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-08 16:52:58 +00:00
gigaherz 119e9e7114 GSDX:
- 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
2011-10-08 13:05:15 +00:00
shadowladyngemu 1455517630 GameDB and CRC updates....
other updates are welcome on issue 881

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4922 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-05 11:45:00 +00:00
shadowladyngemu d953f053d8 GSdx fixes:
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
2011-10-05 09:19:32 +00:00
ramapcsx2 45ae2cb4e8 LilyPad:
Added a new option to the hacks section that sends a tabulator key press to PCSX2.
This toggles the turbo mode of the emulator, so users with pads don't have to reach out to the keyboard anymore when they want to switch between normal and turbo gameplay :)

Note: 
I choose R3 for now since most games don't use that button. This could be made configurable in the future though.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4916 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-11 20:18:08 +00:00
avihal d27f1877fc Oops. Now it's disabled by default ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4915 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-07 18:42:33 +00:00
avihal b4a0af9769 GSdx: New: Dynamic CRC Hacks system (disabled by default).
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
2011-09-07 18:38:27 +00:00
avihal 337153c9a6 GSdx: CRC Hacks: Yakuza 1/2 - remove blur.
Reminder: See r4894 if you wish to disable specific CRC hacks.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4912 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-06 01:22:40 +00:00
gregory.hainaut b5959076e5 linux: clean various linux file into 1 directory
cmake: automatically install desktop/doc/xpm file in package mode as requested by Rafael
debian: align on latest change


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4909 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-04 20:39:19 +00:00