Commit graph

6867 commits

Author SHA1 Message Date
skidau
cc6f90c7d5 Enabled memory breakpoints under JIT in the debugger. 2011-11-05 19:42:06 +11:00
skidau
9eaf20cc44 Fixed the slowdown that occurred under JIT32. Fixes issue 4969. 2011-11-05 13:04:46 +11:00
skidau
3d2a2abb49 Made the JIT bypass the icache when it is executing the external interrupt
exception handler.

Fixed by comwiz.k
2011-11-03 20:55:47 +11:00
Pierre Bourdon
7f055d6b56 UI: refactor the game list sorting code 2011-11-02 02:45:51 +01:00
skidau
1387da7900 Merge branch 'JitCache' of https://skidau@code.google.com/p/dolphin-emu/ 2011-11-01 20:45:50 +11:00
Pierre Bourdon
8f31968466 Revert "Merge branch 'zcomploc-support'"
This reverts commit 9dad9ebe89, reversing
changes made to e76bc71efe.
2011-11-01 01:37:54 +01:00
skidau
78b74101b0 Added code to invalidate the JIT cache on dcbf. This fixes Monster House and Scooby Doo: Mystery Mayhem. 2011-10-29 17:21:20 +11:00
crudelios
dd551814c9 Bounding Box bugfixes.
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.

This should also be a (very very little) bit faster than the previous version.
2011-10-28 21:12:12 +01:00
skidau
e03fd9a942 Added code to invalidate the JIT cache on dcbi and writes to memory. 2011-10-27 21:08:35 +11:00
Brad Gearon
9a627e89fb Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932. 2011-10-26 14:28:57 -05:00
crudelios
852fe9c4be Added proper Bounding Box support.
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360.

Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games.

BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
2011-10-26 01:19:10 +01:00
Shawn Hoffman
105e7e4eb4 Added TaruKonga (DK Bongos) support.
Separated SI Device IDs from the enums used for config/gui since quite a few device types all have the gc controller SI ID.
2011-10-23 07:01:17 -07:00
Shawn Hoffman
ba119e8c05 Set the correct bit for "trap" program exception. Fixes http://wiibrew.org/wiki/Descent 2011-10-23 02:53:31 -07:00
skidau
3cdcdba25f Merge branch 'SaveStates' 2011-10-22 16:18:02 +11:00
skidau
599c3ccd7b Fixed save states for games which use the MMU Speed Hack 2011-10-22 16:14:34 +11:00
kostamarino@hotmail.com
8d9061ac39 Possible fix for random crashes with plenty of games(like Mario Galaxy) and issue 4568 (please test).
Gameini database changes that affects Black & Bruised, BLOODY ROAR(R): PRIMAL FURY, CASPER, Karaoke Revolution Party, Wii Music, TMNT.
2011-10-19 21:03:08 +03:00
skidau
5b2c5c9ce3 Removed the icache invalidation code as it is causing frequent code clearing. 2011-10-19 02:36:30 +11:00
Pierre Bourdon
1e558aedeb Added an EFB peek cache to the GL video plugin
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.

Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
2011-10-17 18:30:13 +02:00
Shawn Hoffman
3fc5d8d7cf Merge branch 'gc-mic'
Added GameCube Microphone support.  Uses your default audio recording device.  The Microphone is selectable from the Slot A/Slot B pulldowns under the GameCube tab.  The Microphone button can be set under GCPad configuration for pad 1 and 2. Thanks to MooglyGuy and skidau.
2011-10-17 03:21:11 -07:00
Shawn Hoffman
45eb9f0e7a fix some logic errors in the mic code and decrease latency a bit. emulate the buffer_overflow bit. 2011-10-17 03:14:20 -07:00
Shawn Hoffman
c528978608 use callback model instead of blocking read/write.
fixes delay on linux.
currently not implementing the overflow bit, not sure it's needed since we manage our own buffer now.
2011-10-16 23:20:37 -07:00
Shawn Hoffman
1d6bd3248c It is safe to call Pa_Initialize and Pa_Terminate more than once. 2011-10-16 13:29:10 -07:00
skidau
18d9a275e7 Invalidated a wider range in the JIT cache to force recompile updated code in the ICache. This fixes the crashes in Mario Power Tennis and the remaining games in Mario & Sonic at the Olympic Winter Games.
Fixes issue 2102.
Fixes issue 2751.
2011-10-16 23:23:17 +11:00
Shawn Hoffman
46afefb14f Merge branch 'master' into gc-mic 2011-10-16 02:22:21 -07:00
Shawn Hoffman
676822891d ups, exi slots are on whole different channels... 2011-10-16 02:08:51 -07:00
skidau
f6b9ae534e Merge branch 'master' of https://skidau@code.google.com/p/dolphin-emu/ into SaveStates 2011-10-16 17:51:41 +11:00
skidau
c0498ca831 Synchronised the JIT cache with the ICache by invalidating the JIT block when the ICache is updated. This fixes Mario & Sonic at the Olympic Winter Games. Thanks to DimitriPilot3 for the tip.
Fixes issue 1610.
2011-10-16 16:43:32 +11:00
skidau
5d14bb5e70 Changed the save state system to load/save only after the screen has been drawn. This should help stabilise the save states. 2011-10-15 22:19:42 +11:00
skidau
da9bd95a68 Renamed the "Disable Wiimote Speaker" option to "Alternate Wiimote Timing". 2011-10-09 22:10:47 +11:00
skidau
0ceb3cba36 Adjusted the system timing as DKCR was still getting disconnects with DSP HLE. 2011-10-09 22:10:46 +11:00
skidau
58cbe9cbd9 Adjusted the System Timing of the IPC HLE period for Wiimotes when used with DSP HLE. 2011-10-09 22:10:45 +11:00
skidau
a09e859b3a Adjusted IPC HLE period to allow for four emulated wiimotes. 2011-10-09 22:10:45 +11:00
Shawn Hoffman
3556069f9f Also allow JitIL to update EXI exceptions much more frequently.
At this point, the mic branch is ready for testing by windows people at least. cmake/scons may work already, not sure.
2011-10-09 03:41:31 -07:00
Shawn Hoffman
41424d98e8 Make the mic button respect which slot it's plugged into.
*You need to open the Gamecube config page and reselect the devices in slot A and B after this commit*

Just jitil left...
2011-10-09 03:18:15 -07:00
Jordan Woyak
ceef98b882 Added mic button to gcpad 1 and 2 diags. Both mic slots use gcpad 1 currently. Totally untested. 2011-10-09 04:27:43 -05:00
Shawn Hoffman
3790a16ece billliarrddd...here is how to set the button bit 2011-10-09 01:11:49 -07:00
Shawn Hoffman
ade9485aac ok...just need to update the button... 2011-10-09 01:11:48 -07:00
Shawn Hoffman
a751b627fd remove a now-unneeded comment 2011-10-09 01:11:44 -07:00
Shawn Hoffman
ad508ab8fb Let's go ahead and throw this in here, should bring support of Intel IGP back in with DX9.... I can't actually test this for an obvious reason, but I figure while Windows is broken anyway, go ahead with it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7707 8ced0084-cf51-0410-be5f-012b33b47a6e

That should fix the seg faults on IGP chipsets.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7715 8ced0084-cf51-0410-be5f-012b33b47a6e

Compile fix.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7716 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-10-08 15:29:04 -07:00
Pierre Bourdon
59072adc32 Align stack variables on a 16-bytes boundary in SSSE3 functions
Fixes issue 4450. Thanks to pholklore1 for his patch.
2011-10-08 17:36:01 +02:00
LPFaint99
03b65f3d89 Merge branch 'GCMemcardUpdates' 2011-10-04 13:18:22 -07:00
LPFaint99
5316c6d97b Move GCMemcard from DolphinWX/Memorycards to Core/HW 2011-10-04 13:14:18 -07:00
LPFaint99
8d91f1e0c1 EXI_Memcard: HLE memcard Formatting, GCMemcard: Add static format function, cleanup checksums code 2011-10-04 13:14:17 -07:00
LPFaint99
86950e7cce fix gcmemcard format broken by 5f9591cf9d
small cleanup to format, now works for slot a and b and any memcard size
2011-10-04 13:14:17 -07:00
Shawn Hoffman
5dc866bfc9 Fix gamecube microphone (button not implemented, yet :p).
Calls ExpansionInterface::UpdateInterrupts just before checking exceptions now.
2011-10-03 23:46:00 -07:00
Shawn Hoffman
856972f808 remove hacky old MicButton stuff 2011-10-03 23:46:00 -07:00
Shawn Hoffman
d8def74dd1 add portaudio headers and windows static libs to Externals, enable by default in windows build. 2011-10-03 23:45:59 -07:00
Shawn Hoffman
b4d751e43c Merge branch 'fix-icc-unsafe-string' 2011-10-03 23:44:35 -07:00
Jordan Woyak
a65385d995 Merge branch 'fix-3rd-party-wiimote' 2011-10-04 01:36:10 -05:00
Pierre Bourdon
9dad9ebe89 Merge branch 'zcomploc-support'
zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.

The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.

According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3

And probably other games too.

Conflicts (because of new-shadercache-uids):
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2011-10-04 07:56:13 +02:00
Jordan Woyak
15d6c6e9fc fix 3rd party wiimotes, patch by pholklore 2011-10-01 21:36:16 -05:00
Jordan Woyak
d3e639a397 fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05:00
skidau
e76bc71efe Fixed the controller config so that it lists DInput controllers with special characters (like the Registered (R) sign) in their name. UTF8 is used to match the encoding used by the Wx GUI. 2011-10-01 21:50:15 +10:00
Pierre Bourdon
266cafb82d Add a call to VertexManager::Flush() when changing TC gen settings
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:

Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
2011-10-01 02:36:03 +02:00
NeoBrainX
7eb06430ed Only sync shader caches to disk on stop. 2011-09-29 23:16:42 +02:00
NeoBrainX
0e1383b788 Bump disk cache version. 2011-09-29 22:55:28 +02:00
NeoBrainX
2b3b32872d Fix Windows build. 2011-09-29 22:54:52 +02:00
NeoBrainX
81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX
ddfe219293 Fixup line endings. 2011-09-29 23:32:39 +02:00
NeoBrainX
ca7e8a9e88 Fix pixel lighting. 2011-09-29 23:32:39 +02:00
NeoBrainX
cfba35f7e5 Only link against libav if it's available. 2011-09-29 23:32:38 +02:00
NeoBrainX
08af37509e More buildfixes.. 2011-09-29 23:32:38 +02:00
NeoBrainX
f041eee23b Compile fix. 2011-09-29 23:32:38 +02:00
Glenn Rice
6ccfd85f42 Build fix for the linux libav build. 2011-09-29 23:32:38 +02:00
NeoBrainX
913bc6d15f D3D11: Disable some redundant shader compilation errors. 2011-09-29 23:32:38 +02:00
NeoBrainX
6d8f641cc9 Fix D3D11 frame dumping. 2011-09-29 23:32:38 +02:00
NeoBrainX
c710ea33f9 Merge some frame dumping code to VideoCommon, fixes a memory leak in D3D9 and OpenGL if emulation is stopped while dumping frames.
Breaks D3D11 frame dumping for some weird reason (memory corruption or whatever?).
2011-09-29 23:32:38 +02:00
NeoBrainX
bd4a5b5ef6 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
NeoBrainX
5dcb212fc7 Fix Windows build. 2011-09-29 23:32:38 +02:00
NeoBrainX
8c691767da Various changes which improve FreeBSD support.
Patches by martymac, all credits go to him ;)
2011-09-29 23:32:38 +02:00
NeoBrainX
5d075ce507 - D3D9: pass the correct API type to ValidatePixelShaderIDs
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch

Thanks to LordMark and [SS] for reporting those to me ;)
2011-09-10 03:10:28 +02:00
NeoBrainX
a021dd7b79 Small fix to the previous commit. 2011-09-09 21:45:11 +02:00
NeoBrainX
5c14a24ce1 Make shader ID validation optional by adding a gfx setting called "EnableShaderDebugging".
Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09 21:34:46 +02:00
NeoBrainX
b28348066e Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
NeoBrainX
349a3ae91d Merge remote-tracking branch 'remotes/origin/master' into new-shadercache-uids 2011-09-08 02:14:18 +02:00
NeoBrainX
6c7bda6851 Various fixes and cleanups. 2011-09-08 02:09:44 +02:00
NeoBrainX
98b62d8362 Track alpha blending paramaters in the pixel shader UID. 2011-09-07 21:15:14 +02:00
NeoBrainX
3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
NeoBrainX
4702de591e Added safe pixel shader UIDs for debugging purposes. 2011-09-07 21:10:06 +02:00
NeoBrainX
231c13d6ce Added safe vertex shader UIDs for debugging purposes. 2011-09-07 21:03:10 +02:00
NeoBrainX
df4e337ac9 Fix various pixel shader compilation errors caused by the Direct3D shader compiler going nuts due to uninitialized (and unused) shader variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7693 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-09-06 18:37:01 +02:00
NeoBrainX
17fcd406fc Merge some scissor rect related code to VideoCommon. 2011-09-05 22:04:28 +02:00
Shawn Hoffman
b867c21fea apply to dx9 and dx11 backends as well 2011-09-05 12:19:11 -07:00
NeoBrainX
6845a1596c Fix various cases in scissor rect emulation.
Patch by delroth.
2011-09-05 11:10:23 -07:00
Shawn Hoffman
95517a9741 vs2010: Disable LTCG for realz 2011-09-05 09:43:23 -07:00
Pierre Bourdon
d3ecf98213 Include the zcomploc bit in the shader UID
Fixes issues with switching zcomploc on/off during execution.
2011-09-04 05:38:32 +02:00
Pierre Bourdon
0bdf8646f0 Proof of concept zcomploc implementation
Fixes a few depth related graphics bugs. Example in Baten Kaitos (GKBEAF):

Before: http://i.imgur.com/EDdVA.png
After: http://i.imgur.com/h6GuY.png

Still a few bugs in this implementation: zcomploc switching is not yet
implemented, and the color is wrong with this test: http://codepad.org/7GpxklOi
(red on Dolphin, gray on Wii).
2011-09-04 05:08:09 +02:00
Pierre Bourdon
d710eda0c5 Clean up a bit the shader code generation for alpha test fails 2011-09-04 04:44:50 +02:00
NeoBrainX
bcb8d11c1b Reduced the number of redundant vertex shader compilations (possibly to zero).
That one was almost too easy ;P
2011-08-31 20:46:03 +02:00
NeoBrainX
4137f287fd Fix a critical bug which caused shaders to be redundantly recompiled when disabling per-pixel depth.
As a nice side effect, the number of redundant shader compilations is now next to zero ;)
2011-08-31 19:45:28 +02:00
NeoBrainX
7f01139d13 Replace the pixel shader UID generation algorithm with a better one which reduces the number of redundant shader compilations by around 30% (can be optimized even further though).
This should help some games which suffer from heavy stuttering like e.g. F-Zero GX or Red Steel 2.
2011-08-31 18:03:33 +02:00
NeoBrainX
08e06b2293 Partially revert revision d511b50612.
Slightly slows down emulation, but deobfuscates the pixel shader gen greatly...
2011-08-31 16:09:54 +02:00
NeoBrainX
8a17e15943 Various cleanups and TODOs. 2011-08-31 16:09:46 +02:00
Jordan Woyak
7812346c89 disable ltcg for release build 2011-08-30 19:30:04 -05:00
Shawn Hoffman
c0dd84cf7d buildfix ON MASTER!! :<
(I am sonic's babysitter)
2011-08-26 21:19:40 -07:00
Ryan Houdek
62e790f109 Have the ability to disable screensaver due to Nvidia + Displayport can cause annoying flickering
Bring up to standards guidelines and also support Windows

Switch this around...
2011-08-26 13:29:01 -07:00
LPFaint99
7737b2cef1 create the User/* dirs on windows
configuration/savestates/etc will now save
Fixes issue 4815.
2011-08-25 21:49:20 -07:00
Ryan
a5a2562e59 Put this hotfix in since some combination of hardware and drivers returns zero here. 2011-08-25 02:58:37 -05:00
Shawn
7f56842a79 fixup scons (osx) to generate scmrev.h and build.
hopefully this will be the last code change committed directly to master for a while... :/
next is cmake to replace scons on osx hopefully. pointers anyone? (soren?)
2011-08-23 03:50:06 -07:00
LPFaint99
5c15292fd8 BS2: check the hash of the loaded ipl.bin file
remove some extra + chars from a few ini files (copypasta from a patch?)
2011-08-22 20:49:21 -07:00