Commit Graph

6480 Commits

Author SHA1 Message Date
NeoBrainX c0e90d4b39 DX11: Clean up AccessEFB and fix a crash. Thanks to pico554 for hinting at the wrong part ;)
Should fix SMG for NVIDIA users. Slightly changes behavior of the AccessEFB function, so test this for regressions, please (esp. in HD resolutions).

I tried to apply the same changes to Video_DX9, but for some reason EFB access didn't work anymore then. Might look into that later.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6247 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-02 11:50:50 +00:00
skidau 26c7a5303d Fixed a bug in JIT/JITIL. The size_of_merged_addresses variable was being used before it was initialised in certain cases (Rogue Leader).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6246 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-02 02:04:44 +00:00
pierre b80e207a8a Core/DSPCore: Make JIT work on 64 bit hosts
This is the safe variant that does not assume other
functions use R11 for &g_dsp.r, which they actually do.
So there is a lot unnecessary reloading of the register
getting emitted.

There are a few small changes exploiting pointers known
at emission time and making use of MComplex math.

Also renames m_LLEplaying to m_AIplaying in Core/AudioCommon.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6245 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 23:23:13 +00:00
Soren Jorvang c8c805f720 Remove unnecessary shadow variables and signed/unsigned comparisons.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6244 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 12:38:31 +00:00
skidau 23f8da4bf7 Fixed the glitches when an internal resolution other than Native was used in the OpenGL plug-in.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6243 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 11:03:37 +00:00
j4ck.fr0st 2a64643fdc Apply u-ra's patch to speed up CriticalSection on systems that use POSIX-threads (that is, not windows).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6242 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 17:17:13 +00:00
skidau 1450385a53 Undid the merges made to the OpenGL plug-in's Init and Shutdown functions as these changes broke non-Windows builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6241 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 16:11:31 +00:00
skidau 719521eeeb Added EFB Scale option to the OpenGL plug-in.
Renamed EFB Scale to Internal Resolution.
Removed Auto Scale option (it is now always on).
Added on-the-fly changing of the Internal Resolution in the OpenGL and Direct3D9 plug-ins.
Further consolidated the code in the video plug-ins.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6240 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 15:24:34 +00:00
pierre ce1057f17d Core/AudioCommon: Feed bigger audio chunks to the output devices in case of underrun.
This should eliminate the crackling with alsa and pulseaudio backends and replace it
with much nicer pauses. This is only interesting for audio backends that do not
respect Mixer::GetNumSamples() and should not impact users able to run the DSPLLE at
full speed.

The cost of this is an added LLE audio latency of about 0.06 s in the continuous
playback case. If that is too much, lower the low watermark.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6239 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 21:43:38 +00:00
skidau 7eb99b9088 Fixed r6235 for the Mac and Linux builds. Thanks, glennricster.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6238 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 21:28:49 +00:00
Shawn Hoffman 543c8926cc would help to have a vcproj for that.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6237 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 04:26:45 +00:00
Shawn Hoffman 4f534594cd add "asm" test to testsuite's sln
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6236 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 04:25:49 +00:00
skidau 88cd9f3df1 Minor code formatting:
First step to bring a level of consistency between the video plug-ins - variable names, spacing, function names, function order, comments, file names.  This will help us identify common code for VideoMerge.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6235 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 02:15:02 +00:00
Shawn Hoffman 73f4bc4598 Some more cleanup which should've been in r6232. Thanks Billiard.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6234 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-27 05:16:11 +00:00
Shawn Hoffman 986939f31a Make the memcheck log INFO level.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6233 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-27 04:30:23 +00:00
Shawn Hoffman 18be8ffa6e Replace all bitfields which were only declared with "(un)signed" with their actual types. Let me know if I missed any. It would also be a good idea to test this commit in both x64 and x86.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6232 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-27 04:29:51 +00:00
Shawn Hoffman 6cf51dbd66 Allow SI AM_Baseboard to be selected correctly in GUI.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6231 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-27 02:22:53 +00:00
nodchip a5333f80d1 Gecko code: Fixed the thread-safe problem reported in r6227.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6230 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-27 01:18:25 +00:00
pierre bc1e0c24e8 Add an PanicAlert in case we try to do an >32 bit displacement
If you see this alert, dolphin will probably crash in a few moments.

Found in the course of fiddling with DSPLLEs JIT, which puts its data
structures and static code somewhere above 0x7fff00000000 on my machine, making
it unreachable via 32bit displacements from the created code at ~ 0x40000000.

Fixed all the offending places in DSPLLEs JIT to emit register indirect accesses,
only to find out that the generated code is slower than the interpreter and does
work just as good(or bad). Oh well, back to DSPHLE it is then.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6229 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-26 19:37:30 +00:00
nodchip 2f44464eef Fixed the build error in r6227.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6228 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-26 06:58:21 +00:00
nodchip 436a927566 Gecko codes: Implemented CT6 CST1 code type (insert asm code in the game). This function may need many tests.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6227 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-26 06:31:45 +00:00
nodchip e011b4a6a6 Jit64/JitIL: Removed a redundant MOV instruction. This commit suppresses alert windows of debug binary in windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6226 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-26 04:50:12 +00:00
pierre 91036ae160 Slightly adjust z-values calculated in the vertex shader so OGL does not clip the
final rendering of (at least) Sonic Unleashed.

This should be (nearly) invisible in Z16 depth copies and in games, but there is
some chance that it collides with other such border cases. There probably is some
room to decrease the adjustment but 9999999/10000000 is not enough. A static offset 
may be an option, too. I don't know if the game can/does set something like that.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6225 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-23 19:38:49 +00:00
Rodolfo Osvaldo Bogado e641323de2 i know still a lot to fix and much work to do but sometimes experiments are fun :)
for all the plugins implemented per pixel lighting, this will make games that uses lighting  a lot nice. (just look at mario sunshine and compare :))
for dx9: implemented temporal anaglyph stereo: just grab your red-cyan glasses  and enjoy.
stereo calibration: use stereo separation ( distance of the point from you are looking) and Focal Angle: the angle necessary to focus in one particular object.
this settings are different in every games as they use different depth ranges.
please for any regression and bug introduced by this commit.
if you ask why i did not implement stereo in dx11 and opengl the reason is one: they don't work right when i have more time will try to find a way to make them work.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6224 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-23 02:17:48 +00:00
nodchip 5e806eb7b2 Jit64/JitIL: Implemented simple function inlining for speedup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6223 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-23 02:05:04 +00:00
nodchip 97a9c375f9 JitIL/Jit64: Removed std::vector for speed up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6222 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-22 02:42:17 +00:00
Jordan Woyak 073899cb26 Forget about something. :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6221 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-20 23:24:05 +00:00
Jordan Woyak 32143f9457 Fix "Plugin_VideoMerge" dependencies.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6220 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-20 22:53:32 +00:00
Jordan Woyak 194493cc04 Some work on merging the video plugins: Added a new plugin to the solution(shouldn't build by default) which combines the DX9, DX11, and OGL plugins with their common code merged (and some things temporarily removed). In it's current state the plugin is hardly usable. Perhaps someone with knowledge of the video plugins will be able to fix the things I have broken more easily than me(or point me in the right direction). I will continue to work on it as well.
Main Issues:
DX11 is functional with a ~2MB/s mem leak.
OpenGL/DirectX9 have a black display while game runs. (DirectX 9 flashes good display on emulation stop)
Too many virtual function calls. (once everything is working, I will work on removing them)
Won't build on non-Windows in its current state. (mainly EmuWindow will need changes for Linux/OS X)
Probably other stuff.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6219 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-20 21:45:47 +00:00
pierre 6583a3f1e2 Plugin_VideoOGL: X11: Add another display connection to keep the two threads from
eating each others events.

Manifests itself in GPU thread waiting forever for a reply in GL library code(and thus 
a frozen emulation). Most of the time, this can be resolved by creating more events 
(clicking, changing focus), but sometimes it stays stuck.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6218 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-19 23:40:03 +00:00
pierre 236f75aac3 Make shader for copying from depth buffer to texture more resilent against precision loss.
The theoretical result is slightly different to the original shader because the
final adjustment is to the range [0/255..255/255] instead of 
[0/16777215..16777215/16777215].

The real result is vastly different on some gpus that were giving incorrect results
of bits 23..16 (y-component) wrapping around while bits 31..24 (z-component)
stayed the same, and bits 31..24 changing while in the middle of the value range
for bits 23..16 for large depth values.

This should fix issue #3123.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6217 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-19 20:01:17 +00:00
Jordan Woyak eda652b7a0 New Wiimote Plugin: Fix Emulated Wiimote Problem.(fixes issue 3230) Made the "Connected to X Wiimotes" text update on all tabs when clicking "Refresh"/"Pair Up". Some other cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6216 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-18 16:43:43 +00:00
anusko 7216699fc4 Seems like I broke something in r6127. I'll fix it asap but for now l'll just revert it. Sorry :-(
This closes issue 3180.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6215 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-17 20:01:09 +00:00
Jordan Woyak bac3eac629 New Wiimote Plugin: buildfix and minor tweak.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6214 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-17 00:27:37 +00:00
Jordan Woyak 19a50b3c51 New Wiimote Plugin: Added a real wiimote "Pair Up" button on Windows for the Microsoft bluetooth stack, like the old plugin. The PairUp function was copied from the old plugin and cleaned up. (Mostly untested because I'm not using the MS stack) Please test. Other minor changes to emu-wiimote and DInput. (Perhaps the "Refresh" button should call PairUp() followed by Refresh() to make the dialog simpler.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6213 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 22:50:18 +00:00
Jordan Woyak 2cddf48cde ControllerInterface: DirectInput: Added support for Ramp and various Periodic force types. Only Constant forces were supported prior. (only partially tested due to lack of hardware) This may improve performance for those experiencing emulated wiimote slowdowns when using DInput rumble.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6212 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 05:09:29 +00:00
Glenn Rice 7824855116 Silence some compiler warnings that have accumulated.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6211 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 04:22:27 +00:00
nodchip 72af7b3e5e Jit64/JitIL: Fixed the constant value used to control block merging.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6210 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 03:46:23 +00:00
nodchip 2774d4ffd4 Fxied the build error in r6207.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6209 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 02:38:28 +00:00
Glenn Rice b7ba3ffc84 Fix a segmentation fault if "Change Disc..." is selected and then the file chooser is cancelled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6208 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 02:12:00 +00:00
nodchip 26ab958ffb Jit64/JitIL: Corrected address information used for speed hack. This commit will prevent slow down with block merging in some games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6207 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 01:58:02 +00:00
skidau a3b59f6845 Change Disc functionality:
* Fixed the "Change disc..." command.  The filename of the disc was being lost between functions.
* Split the ChangeDisc function into two functions: EjectDisc and InsertDisc
* Moved the "Change disc..." command to the File menu.
* Removed some log messages that caused the debug build to crash when loaded with release build plug-ins.

Fixes issue 3036.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6206 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-15 12:30:56 +00:00
Rodolfo Osvaldo Bogado 73adab0ce1 Dlist Cache step 2:
include referenced array data in the hash to avoid problems in some games.
this version is a slower than the last version but is more stable, still much work to do but so little time to do it :)
Added Dlist Caching Option to the plugin configuration so anyone can compare the performance change.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6205 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-14 22:48:22 +00:00
nodchip 08b999dbfa VideoCommon: A minor optimization.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6204 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-14 13:52:17 +00:00
nodchip 412ce56f83 Added options to enable/disable Block Merging and DList Cache into game specific settings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6203 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-14 13:50:25 +00:00
skidau 4ec8f97154 Fixed channel loading from the System Menu. Also gave the menu a speed up by increasing the IPC_HLE_PERIOD.
After launching a channel, the wiimote has to be disconnected and reconnected for it to work.  The same also has to be done when returning back to the menu.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6202 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-14 12:32:02 +00:00
Shawn Hoffman 5c4c8ec07a bs2emu: load 32bytes of the disc header to memory instead of just 10bytes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6201 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-12 13:27:37 +00:00
j4ck.fr0st 51cd032af3 Clear m_TitleIDs when opening Device_ES (Fixes Issue 3205)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6200 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-11 10:41:57 +00:00
skidau 9d57903065 Emulation accuracy improvements
* Implemented HID4.SBE flag
* Implemented but disabled MSR[IR] and MSR[DR]
* In-lined ISI exception calls
* Fixed and verified exception handling according to docs
* Code clean-up in the memory functions


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6199 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-11 02:34:51 +00:00
Shawn Hoffman 18123251d1 allow multiple titles on sysmenu versions > 3.0
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6198 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-10 21:06:59 +00:00