Commit Graph

4321 Commits

Author SHA1 Message Date
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
ramapcsx2 a2dd83b419 Make the CDVD speedhack safer by excluding full seek delays.
Tales of the Abyss should work with the hack now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4980 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-05 07:58:11 +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
gregory.hainaut 6cf12e5721 i18n: refresh sv_SE and it_IT.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4968 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-16 19:19:16 +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 54688f1f98 Reverted r4942 as some games need this to work..
Fixes Metal Saga menus and should fix Fahrenheit, too.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4962 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 16:08:30 +00:00
ramapcsx2 278e4af235 Ateste worked on the Time Crisis fix some more and figured out the (hopefully) right flags in the (hopefully) right places.
Thanks for helping out! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4961 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 12:33:12 +00:00
cottonvibes f423a9c41d microVU:
- Rewrote and simplified the TriAce gamefix
VU interpreter:
- Implemented a TriAce gamefix for vu0 interpreter

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4960 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 10:20:56 +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
sudonim1@gmail.com 66db797478 Added CRCs to the DoA2 patches because pirate game copies are often based on DoA2. If your game identifies as DoA2 and it isn't, you're going to hell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4958 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-06 22:20:50 +00:00
sudonim1@gmail.com 7c6c2cfd98 Game patch: Dead or Alive 2 (J) [SLPS-25002) playable with the R5900 recompiler. Does not make other versions playable, there seems to be a separate issue with them.
A proper fix for this is not happening nor is it even desirable because of the performance impact it would have, the game seems to unintentionally rely on the RPC arguments remaining in cache until sceSifCallRpc.  A slightly better patch is possible, this one eats some extra EE cycles and might theoretically make the game emulate at less than full speed (but probably won't in practice).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4957 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-06 21:43:26 +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
refraction 14a7816e28 IPU bug fix by Shalma, well spotted ;p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4954 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-01 18:44:34 +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
ramapcsx2 425f6779f1 Following shalma's recommendation, CDVD Status reads now also return the CDVD_STATUS_SPIN flag.
Apparently this is a common game breaker in PSX titles and it carried over to the PS2.
This fixes Time Crisis 2 loading and the frozen input in a horror game I have a dump of.

Please report any other titles you find fixed / broken! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4952 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-31 16:12:38 +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
gregory.hainaut 93fe62f77e cmake: allow to easily set global compilation flags
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4948 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 11:39:06 +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
refraction 702f71d5f1 VIF: Removed the vu cycle counting craziness mentioned in r4941 comments. It was intended to pretend if the VU "ran" for longer than the VIF did, but it didn't really change a lot :P
Savestate version bump again

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4942 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-18 18:16:27 +00:00
ramapcsx2 d3f286e120 Fixed pretty bad bug of us counting cycles only for one VIF when the system has 2.
Also added a couple important global variables to be savestated (breaks old state compat).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4941 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-15 10:45:31 +00:00
cottonvibes 5488e082f5 microVU:
- Implemented an opcode profiler which prints statistics on how often VU opcodes are used (enabled with the mVUprofileProg macro)
- Get status flag conversion function to use EAX/ECX/EDX regs when being called from EE-rec (VU0 macro mode); this should play nicer with the EE-recs regalloc system.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4940 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-15 08:26:59 +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
refraction 45c573068e Removed Ace Combat hack as r4937 seems to have solved the problem.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4938 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-13 15:00:22 +00:00
sudonim1@gmail.com ecdc649694 mVU: Typo in CTC2 macro mode instruction for the status register case.
(Untested, unknown what if anything it fixes, possibly ace combat series but probably not.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4937 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-13 01:07:42 +00:00
sudonim1@gmail.com be1662074a Partial revert of r4935. REC_FUNC_DEL is functionally distinct from REC_FUNC. Fixed REC_FUNC_DEL definition.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4936 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-12 23:49:50 +00:00
refraction c04eaf0f73 COP2: Fix/hack for Ace Combat 4 sky, you will need to tick the VU Flag Hack Speedhack to enable it (not sure what else to put it on without adding another hack). This is more likely to do with odd COP2/VU0 sharing pipe behaviour, but ill leave that for cotton :P
Also altered some of the interpreter calls so the defines in config.h can be used again (example the #define ARITHMETICIMM)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4935 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-12 22:54:21 +00:00
refraction 81d3961352 EERec: Small changes so Constant Propagation can be turned off (for testing purposes)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4934 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-12 20:12:40 +00:00
avihal 6d215a86ca BUGFIX: GS window sometimes stayed hidden after pause/config.
This fixes at least the following bug: Run a game -> ESC (GS Windows hides) -> config Video plugin and click OK -> Emulation resumes but GS window is hidden. (Solution was to click pause and then resume again, now it re-shows as it should).

Let me know if it breaks other related scenarios or if there are other similar scenarios that got fixed (or that still need fixing). E.g. pausing/configuration while at full screen, etc.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4933 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-11 22:27:30 +00:00