Commit Graph
7866 Commits
Author SHA1 Message Date
marcosvitali 41652d6b1f I've fixed Metroid Prime 3 and 2 desync. And other games with desync because of FIFO Reset.
That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right way.
I didn't test Metroid 2 desync reported in Issue 4336 but I think is the same.
About the flickering in MP2, I don't know for my is not related or yes, but you can test anyway.

Fixed Issue 3902

Well now the FIFO is 99.99% finished :)
2012-03-09 01:33:29 -03:00
marcosvitali c2e6fdf09f - I've fixed possibles random hangs in DC mode.
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)

Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.

I was working with Skid_AU together, especially thanks for him.

Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
2012-03-08 02:47:55 -03:00
LPFaint99 6fc8cdf12d revert r90a2096a24f4 behavior changes in PixelEngine.cpp. Thanks to Autoran1 for finding the responsible commit. Fixes Scrubbing Serena Beach Countdown in both SC and DC.
Fixes issue 1498.
2012-03-07 20:08:14 -08:00
Matthew Parlane 880992b10f Fixed DoState and removed unneeded class variable. 2012-03-07 00:22:55 +13:00
Matthew Parlane b49b4bb614 Fixed DoState and removed unneeded class variable. 2012-03-07 00:21:31 +13:00
Matthew Parlane 53d2d9718f Fixes issue 2917 and possibly others like 5232 2012-03-06 23:32:13 +13:00
Matthew Parlane e8e2c241d7 delroth pointed out that it should be "starts with" not "contains". Unlikely this has ever affected anyone.... 2012-03-06 23:31:59 +13:00
Matthew Parlane 614c43029f fixed files so they can have more than one handle opened at a time. 2012-03-06 23:31:48 +13:00
Matthew Parlane 095b9de85e Fixes issue 2917 and possibly others like 5232 2012-03-06 23:10:04 +13:00
marcosvitali b0f75f17ae This release still fixed the hangs produced by fifo overflow without sacrifice performance.
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
2012-03-05 02:40:10 -03:00
skidau a53916ff5d Changed the detection of FIFO write addresses to writes at the gather pipe boundary. This speeds up games which frequently write to the gather pipe like the pre-rendered movies in The Last Story.
Added some code to unlink invalidated blocks so that the recompiled block can be linked (speed-up).
2012-03-04 23:42:33 +11:00
skidau 5de8366db2 Made the invalidation of the FIFO write JIT blocks more selective (efficient). Fixes the slowdown in the House of the Dead: Overkill cutscenes. 2012-03-04 08:10:46 +11:00
Henrik Rydgard f5d4fe0bfe Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
skidau 874e17e504 Added the corresponding change from r9e649ce79850 to JITIL. 2012-03-03 15:41:55 +11:00
skidau 9e649ce798 Added additional checks to ensure that only a FIFO breakpoint exception is handled. This fixes the hangs in games like de Blob, Xenoblade and Super Mario Galaxy introduced by r9e398fd41802. 2012-03-03 14:26:39 +11:00
NeoBrainX 9276b76fbc VideoSoftware: Implement zfreeze (GXSetCoPlanar).
Fixes Mario Golf: Toadstool Tour's menus.

Reference:
The OpenGL extension SGIX_reference_plane seems to provide the same functionality:
http://www.opengl.org/registry/specs/SGIX/reference_plane.txt
2012-03-02 18:43:44 +01:00
skidau 9e398fd418 Added an external exception check when the CPU writes to the FIFO. This allows the CPU time to service FIFO overflows. Fixes random hangs caused by FIFO overflows and desyncs like in "The Last Story" and "Battalion Wars 2". Thanks to marcosvitali for the research.
Fixes issue 5209.
Fixes issue 5150.
Fixes issue 5055.
Fixes issue 4889.
Fixes issue 4061.
Fixes issue 4010.
Fixes issue 3902.
2012-03-02 18:53:41 +11:00
Matthew Parlane fb062c4a0b Free ECC data. 2012-03-01 21:23:52 +13:00
Shawn Hoffman 6eb2cb2666 Merge branch 'master' into wii-network 2012-02-27 22:36:41 -08:00
Jordan Woyak ee09def802 Merge branch 'cpp11' 2012-02-28 00:28:13 -06:00
Jordan Woyak 38823b6371 Add comment here so people know what's up. 2012-02-28 00:27:16 -06:00
Matthew Parlane 6ccb30ac5f Forced timeout. 2012-02-28 19:17:05 +13:00
Matthew Parlane 1d16785590 Implement ES_Sign and GetDeviceCert and others 2012-02-28 19:17:04 +13:00
Matthew Parlane 57e3fbed91 Debug vprintf! 2012-02-28 19:17:02 +13:00
Matthew Parlane fea02b8dca Add SSL debug, everyone needs it! 2012-02-28 19:17:01 +13:00
Shawn Hoffman e5b7e81f44 openssl: enable ec/dsa and rearrange files in Externals a bit. 2012-02-27 00:51:50 -08:00
NeoBrainX c3293b1a1c Improvement to revision b8bef29bcc .. :P 2012-02-25 10:59:00 +01:00
skidau b8bef29bcc Fixed a divide by zero error in the hash functions 2012-02-25 20:36:49 +11:00
Jordan Woyak f92d1e1e93 fix some clang compilation errors 2012-02-24 14:25:02 -06:00
Jordan Woyak 8a8dc77ef1 enable c++11 compilation in cmakelists 2012-02-24 14:19:24 -06:00
Jordan Woyak f15aeb26b3 Use an auto typed variable in IniFile.cpp 2012-02-24 19:20:17 -06:00
Shawn Hoffman 9866cae4ff net: create directory for config file if it doesn't exist. 2012-02-23 12:48:54 -08:00
Shawn Hoffman f73c82c232 net: add inet_ntop 2012-02-23 12:38:11 -08:00
NeoBrainX 3a9fed0ba2 PixelShaderGen: Fix a bug introduced in revision 9adc119e3c.
D3D11: Fix shader constant mapping.
2012-02-21 12:51:41 +01:00
parlane 1c2004fe5d Wrong japan game value. 2012-02-20 20:26:48 +00:00
NeoBrainX 9adc119e3c PixelShaderGen: For custom textures and scaled EFB copies, use correct texel to pixel mapping when sampling textures
(D3D9 only)

This is basically the same as revision e58692653a, just for scaled textures and with a LOT more work...
2012-02-20 20:32:08 +01:00
NeoBrainX d068686a7f Revert revision f7d757b46e. 2012-02-20 11:51:40 +01:00
parlane c42a6f156e Added Korean handling of settings file.
Fixes issue 5215.
2012-02-19 23:02:01 +00:00
Pierre Bourdon b9aeba7f7c Make SO_POLL work on Linux (and probably better on Windows :P) 2012-02-19 19:39:47 +01:00
Pierre Bourdon 31788791e8 Logging messages change errno, save the return value from recv before logging 2012-02-19 19:39:46 +01:00
Pierre Bourdon 81d7eefd6a Correctly map Wii/native socket level and optname for GETSOCKOPT 2012-02-19 19:37:56 +01:00
Pierre Bourdon 87456054d6 Move the sockopt mapping to the toplevel (needed for GETSOCKOPT too) 2012-02-19 19:37:56 +01:00
Pierre Bourdon 2c9109936c Linux uses EAGAIN instead of EWOULDBLOCK (only used on Windows) 2012-02-19 19:37:56 +01:00
Matthew Parlane ef4ac51170 Added some error comments. 2012-02-19 14:29:57 +13:00
Matthew Parlane 40c9f481df Fixed some warnings, removed unneeded linux ifdefs 2012-02-19 13:06:05 +13:00
Pierre Bourdon 959d116530 Handle SSL_ERROR_WANT_WRITE too in the NET_SSL_READ ioctl handler (+ cleanup) 2012-02-18 23:25:42 +01:00
Pierre Bourdon 5fe49e4185 Implement SO_SETSOCKOPT for POSIX systems 2012-02-18 19:01:22 +01:00
Pierre Bourdon 6026f245c8 Make getNetErrorCode more generic between Windows and POSIX systems. Might break Windows build. 2012-02-18 17:51:06 +01:00
Pierre Bourdon 6cc02747a0 Implement SO_FCNTL correctly on Linux 2012-02-18 17:28:53 +01:00
Pierre Bourdon 60b8227df2 Display errno in Linux getNetErrorCode defautl case 2012-02-18 17:28:31 +01:00