Commit Graph

7089 Commits

Author SHA1 Message Date
8479d5bdf7 Some code clean up. I am terrible at coding styles... 2012-03-18 21:50:07 +13:00
6fe495e1aa Fixed Pokepark 2! Maybe... :D Don't trust save states, although I think they are correct. File fd's were too large. Let me know if file related loading stops working in some games. fds are many to 1, not 1 to 1. ES has two instances available at a time. Sadly a clean up requires changing IWII_IPC_HLE_Device Constructor, as a deviceID doesn't make much sense per device. I won't do this until we have less branches :| 2012-03-18 21:00:23 +13:00
8bdf93a15c fix logwindow crash 2012-03-17 21:51:24 -07:00
1fbf2e38c4 wxw implements wxEVT_THREAD itself now 2012-03-17 21:50:40 -07:00
a648aca65c wxWidgets3: update to svn r70933 2012-03-17 21:47:47 -07:00
05692b1e7e Sped up to the Dolphin debugger by not checking for breakpoints when stepping.
Fixed the JIT cache, invalidating one instruction length at a time.
Fixed a bug where the JIT cache did not get invalidated when stepping.
Disabled fused instructions in the debugger.
2012-03-16 20:08:05 +11:00
8ed6ea3b07 Sped up the Dolphin debugger in JIT mode by splitting a block only while stepping or when it contains a breakpoint. The block is invalidated when a breakpoint is set or cleared.
Fixed a bug in the JitCache where the JIT icache was not being invalidated when a block containing the instruction was destroyed.
2012-03-15 21:48:19 +11:00
0ed8af2287 Forced reload of the native Gecko Code handler if the game overwrites it.
Fixes issue 5225.
2012-03-13 23:41:40 +11:00
dc79d68e72 Added the corresponding change from r352ab2ba4394 into JITIL.
Tidied some code.
2012-03-13 22:35:11 +11:00
b37c468039 Fixes issue 5269
Sorry guys but I needed to disable stfs so that Pokepark 2 would not freeze(?). Feel free to put some effort in to finding out why, I do not understand Jit sorry.
2012-03-13 23:42:30 +13:00
352ab2ba43 Improved the CheckException for the GatherPipe writes in JIT, now only the External Exceptions are processed.
We Didn't Check 0x0008000 in PowerPC::ppcState.msr this was killing the performance, this also fix a hang when this check is performed.
SMG for example.
Deleted the HiWatermark condition from GPFifo.
Please test games affected in this  Revision 9e649ce798, and games affected in this Revision b0f75f17ae.
I do not want to excite the game players of 'The Las Story', but Could test again the random hangs with this rev?

Thanks
2012-03-13 01:44:10 -03:00
fedf6055ce I've fixed Super Monkey Ball in some cases when the game write the WriteReadDistance need to be safe like the SafeCPRead.
This fix is not related with the previous commits, but the previous commits help me to see that because in the new scenery SMB was hanging. May be in the past also doesn't boot some times because of that.

Please Test FZero boot also. Thanks.
2012-03-11 12:40:39 -03:00
bf76b802a7 Fixed the in-built Dolphin profiler. 2012-03-10 16:24:13 +11:00
104603467b This commit fix games hanging because of my prior Revision c2e6fdf09f
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.

This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f and surely others games.
2012-03-09 18:58:23 -03:00
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
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
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
880992b10f Fixed DoState and removed unneeded class variable. 2012-03-07 00:22:55 +13:00
53d2d9718f Fixes issue 2917 and possibly others like 5232 2012-03-06 23:32:13 +13:00
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
614c43029f fixed files so they can have more than one handle opened at a time. 2012-03-06 23:31:48 +13:00
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
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
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
f5d4fe0bfe Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
874e17e504 Added the corresponding change from r9e649ce79850 to JITIL. 2012-03-03 15:41:55 +11:00
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
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
ee09def802 Merge branch 'cpp11' 2012-02-28 00:28:13 -06:00
38823b6371 Add comment here so people know what's up. 2012-02-28 00:27:16 -06:00
c3293b1a1c Improvement to revision b8bef29bcc .. :P 2012-02-25 10:59:00 +01:00
b8bef29bcc Fixed a divide by zero error in the hash functions 2012-02-25 20:36:49 +11:00
f92d1e1e93 fix some clang compilation errors 2012-02-24 14:25:02 -06:00
8a8dc77ef1 enable c++11 compilation in cmakelists 2012-02-24 14:19:24 -06:00
f15aeb26b3 Use an auto typed variable in IniFile.cpp 2012-02-24 19:20:17 -06:00
3a9fed0ba2 PixelShaderGen: Fix a bug introduced in revision 9adc119e3c.
D3D11: Fix shader constant mapping.
2012-02-21 12:51:41 +01:00
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
d068686a7f Revert revision f7d757b46e. 2012-02-20 11:51:40 +01:00
e58692653a PixelShaderGen: Use correct texel to pixel mapping when sampling textures
(D3D9 only)

Fixes issue 2068.
Fixes issue 5158.
2012-02-17 17:09:17 +01:00
bea635d1d5 Fixes issue 5214 for real! 2012-02-15 20:56:50 +00:00
fc3eb7c6a7 Fixed a few warnings. 2012-02-09 17:18:46 +13:00
c9dfcf8cf7 Add Support for Wii Motion Plus INSIDE Wii Remotes on Mac OS X.
This patch makes a few changes necessary for support for the new Wii
Remotes:

- For all OSes:
  - Adds a new bool member variable m_motion_plus_inside to identify
    the new Wii Remotes.
  - If we have a new Wii Remote, use a head byte of 0xa2. We could
    just change this behavior for all Wii Remotes, but an existing
    comment suggests that would break 3rd party Wii Remotes.

- On Mac OS X:
  - Expand the search criteria for the bluetooth scan. This is
    necessary because the new Wii Remote identifies with minor class
    kBluetoothDeviceClassMinorPeripheral2Gamepad, but the old Wii
    Remotes use minor class
    kBluetoothDeviceClassMinorPeripheral2Joystick (1).
  - Send commands on the interrupt channel, not the control
    channel. The new Wii Remotes require this; old ones are compatible
    with this. Note: 3rd party Wii Remots are untested with this
    change; the hope is they are still functional.
  - Get the name of the bluetooth device and see if it ends in
    "-TR". If so, set a member variable so we know it's the new kind
    of Wii Remote.

This should fix issue 5011 for Mac OS X:
http://code.google.com/p/dolphin-emu/issues/detail?id=5011
2012-02-09 11:42:42 -08:00
25eae39b7c Rearranged the SSE detection. Patch by lordlyhobo.
Fixes issue 5172.
2012-02-06 20:51:24 +11:00
8f83a89416 Removed the busy-wait from DSP LLE on thread. Reduces the CPU usage in this scenario by around a third. 2012-02-05 17:18:11 +11:00
c53283185d Added an error check for invalid contents in ES_OPENCONTENT. Fixes Jungle Speed and Doc's Punch Out.
Fixes issue 3035.
2012-02-05 16:16:33 +11:00
0bbb112298 Merge branch 'texcache-preload'
For further info, see revision 56ccfc5d9d4defb308e02a71d201aee9eef0a76e.
2012-02-04 13:19:48 +01:00
439613b833 TextureCacheBase: Remove a superfluous TODO (texture hashing takes care of that stuff) 2012-02-04 13:01:52 +01:00
ea2e0e9063 Added the HID2.WPE condition to dcbz. Fixes issue 5114. 2012-02-04 13:25:04 +11:00
eb01a110c9 Implement texture preloading 2012-02-03 21:21:13 +01:00
dabb35afce Prepare texture preloading support 2012-02-03 21:20:34 +01:00