Jordan Woyak
78d9f927e1
Eliminated memory leaks of the save state code and put it in a namespace. It is prettier than before, but it could be better (less global usage). Other minor stuff.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7366 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 10:17:45 +00:00
Glenn Rice
cab5fdb44b
Make sure that the video software backend doesn't get stuck in an infinite loop on shutdown.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7364 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 01:42:13 +00:00
sl1nk3.s
aabb542d47
Fix the framerate counter of the software graphic backend.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7363 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 23:57:13 +00:00
Soren Jorvang
9198e83ae1
Hack Misc.cpp into building on OS X.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7362 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 22:58:24 +00:00
sl1nk3.s
571013acd8
Fix the video software backend. (closes issue 4269)
...
Some warning fixes and cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7361 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 22:48:17 +00:00
Glenn Rice
bca4f94b47
More work on making dialogs close when escape is pressed, and some general GUI code clean up.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7360 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 22:22:21 +00:00
Nolan Check
aa19fa97d9
DX11: Preserve w coordinates of lines and points. Fixes glitches when a line is partially behind the camera.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7357 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 03:02:25 +00:00
Jordan Woyak
41c98f982e
A bit of cleanup to Core Init/Stop, Frame, and Main. Cleanup XAudio2 to attempt to fix the crash on stop(didn't help :p). For some reason CFrame::DoStop is called twice.(might be the issue)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7353 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 23:09:12 +00:00
Nolan Check
c83e5ee35b
DX11: Don't apply culling to lines and points. Fixes Metroid Prime beam-charging effects.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7346 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 03:51:31 +00:00
Nolan Check
580cd2539c
Yikes, I have no idea how this happened.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7341 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-14 09:48:12 +00:00
Nolan Check
7c536b8f15
DX11: Support thick lines and large points with geometry shaders. Lines still aren't drawn with correct thickness, see Twilight Princess map. But the map corners are drawn with correct shadow "blobs" for the first time!
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7340 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-14 09:38:29 +00:00
Nolan Check
344c4019db
Attempt to fix issue 4234.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7337 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-12 18:13:54 +00:00
Glenn Rice
1b583a0441
Fix things so that those who wish to compile with -std=c++0x can. To active this with the cmake build add CXXFLAGS="-std=c++0x" before cmake on the command line, or export that variable. This enables the experimental features like std::thread, std::mutex, etc., that are provided by g++ instead of using the implementation in dolphin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7333 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-12 00:01:33 +00:00
Glenn Rice
2a694edf93
Probably should use the IOFile built in mechanism to check if the file is open.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7332 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 18:13:08 +00:00
Glenn Rice
e5f7c5c58a
Make sure the frame dumping file is closed when emulation stops as it should be for the non avi dump build.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7331 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 18:04:42 +00:00
Soren Jorvang
ccf3158da4
Make the non-HAVE_LIBAV case compile.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7330 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 16:38:54 +00:00
Glenn Rice
5706abf4a1
Hack up hack number 7328, just to get things to compile.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7329 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 12:56:26 +00:00
Jordan Woyak
59fd1008ca
Wrapped fopen/close/read/write functions inside a simple "IOFile" class. Reading, writing, and error checking became simpler in most cases. It should be near impossible to forget to close a file now that the destructor takes care of it. (I hope this fixes Issue 3635) I have tested the functionality of most things, but it is possible I broke something. :p
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7328 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 10:21:46 +00:00
Soren Jorvang
610df4ab78
Fix OS X nowx.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7321 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-08 23:25:37 +00:00
Nolan Check
6e348a2731
DX11: Add real XFB mode support. May not work perfectly yet. I'm working on a set of fairly big VI-related changes. When I'm done, it should improve animation smoothness for all the backends, especially when virtual or real XFB mode is enabled.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7319 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-08 07:39:36 +00:00
Nolan Check
9abf449e7c
DX11: Eliminate most int-to-float conversions and use float math in more places. GPUs are more efficient with float operations. This gives a slight speed-up.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7303 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 20:40:17 +00:00
Jordan Woyak
e16e177148
Missed a critical section.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7295 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 12:05:58 +00:00
Jordan Woyak
423018f811
Replaced Common::CriticalSection with a std::mutex implementation. 64bit Windows builds now use SRWLocks and ConditionVariables(requires Vista/7, x64 builds will no longer work on Windows XP x64). Tell me if you hate that. Removed Common::EventEx. Common::Event now uses a std::condition_variable impl.(using ConditionVariables on Windows x64, Events on x86, or posix condition variables elsewhere). I experience slight speed improvements with these changes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7294 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 06:11:26 +00:00
sl1nk3.s
e8a1c04abf
Fix a typo in BPFunctions causing a PanicAlert in SW:RS2.
...
Really minor bugfix in DX9.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7285 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-04 23:14:21 +00:00
Soren Jorvang
05719ac81a
Move SConscript files out from the Src subdirectories to be
...
consistent with the other build systems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7282 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 19:44:56 +00:00
Soren Jorvang
540238cf79
Prepare for the release of Xcode 4, which has working LTO
...
with static libraries.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7280 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 04:35:03 +00:00
Glenn Rice
3ffdcf1aec
Put the video prepare code back, and use the existence of the g_renderer to determine if video prepare has been run or not.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7274 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 15:13:13 +00:00
Glenn Rice
3af93e8cf3
If the DSP LLE can not find the needed ROM files exit the emulator without crashing the application. Also reimplement soren's revision 7195 in a way that works on linux and windows. (This makes it easier to clean up the video backend if the DSP emulator fails to initialize.)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7271 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 05:16:49 +00:00
Nolan Check
74f22a57d1
DX11: Simpler depth-fetch. All DX10+ cards should have enough float precision to make this safe.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7269 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 05:32:13 +00:00
Nolan Check
7be1080dff
DX11: Implement the rest of the EFB encode formats, but beware: I don't have any games to test them.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7267 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 05:07:23 +00:00
Glenn Rice
a5b471f490
More conversion from char * to std::string.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7266 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 03:06:14 +00:00
Glenn Rice
ba54fac9eb
Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
Nolan Check
e926b28480
DX11: Improve efb-encode shader some more.
...
According to AMD's GPU ShaderAnalyzer, most combinations of shaders have about 1.5x-2x higher peak per-clock throughput after this commit. For those concerned about performance, I do intend to make this at least as fast as the other backends. This is one more step toward that goal.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7262 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 20:07:59 +00:00
Nolan Check
54078ef9cc
Improve DX11 efb-encoder shader code generation a little
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7258 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 09:33:03 +00:00
Nolan Check
449e79aea5
Fix a brain-fart....
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7256 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 01:51:03 +00:00
Shawn Hoffman
47efe0fc82
add new files from r7253 to vs2010 projects.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7254 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 00:13:28 +00:00
Nolan Check
f0c5cc76a9
Add EFB encode-to-RAM support in DX11 backend. It could probably be simplified a lot, and not all the possible formats are implemented. I tried to use the dynamic-linking feature of shader model 5, but Microsoft's HLSL compiler is broken. "Dynamic mode" is implemented, but disabled for now.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7253 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-26 23:41:02 +00:00
Glenn Rice
992f8be5b0
If video backend initialization fails, have the emulator die gracefully instead of crashing the application. Also a little clean up of the passage of the video window handle to the backend and back.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7248 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 21:14:13 +00:00
Rodolfo Osvaldo Bogado
c40ca6553f
little commit to dx9 add generation mode to RestoreAPIState to avoid possible errors, don't know if this fix anything but now is more correct.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7245 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 20:24:48 +00:00
NeoBrainX
7dc3a6cc92
D3D9/11: Fix that "Disable Dest. Alpha Pass" option...
...
Thanks to NaturalViolence for reporting ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7244 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 18:22:04 +00:00
sl1nk3.s
18b85b9cd5
Just a small accuracy fix for r6819, fixes the pixel line in the volumetric fog effect of Metroid Prime (closes issue 4162)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7236 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-24 15:04:24 +00:00
Shawn Hoffman
6e4923399e
revert r7212 (express users must modify a single line, instead)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7220 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 15:17:41 +00:00
Shawn Hoffman
62cb8ebe46
Force dolphin to use the windows7.1sdk (the windows7.1sdk installer is silly and refuses to recognize that vs2010 exists).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7212 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 18:08:20 +00:00
Shawn Hoffman
685d3c1f50
windows: fix crash on close
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7209 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 02:04:14 +00:00
Soren Jorvang
d2910912a4
XInitThreads() must be the very first Xlib function called or else
...
some X state will have initialized mutexes and some won't, leading
to unpredictable results depending on the feature set compiled into
wxWidgets and so on.
wxGTK starts by calling Xlib functions indirectly through gdk very
early on, so we must hook into wxApp::Initialize().
I believe this should properly fix issue 1540. In case of problems,
please reopen that issue. If you see XLockMutex in a backtrace,
that's a pretty good indication.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7205 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:53:53 +00:00
Soren Jorvang
febd967907
Back out r7195 pending a closer look at thread safety in the
...
video backends.
This would be considerably easier if there was a way for me to have
fully working video in some sort of VM. If anyone has achieved that,
preferably with Linux but failing that with Windows, I would
appreciate any tips on how to set it up. VideoSoftware used to more
or less work in a VM, but I've never been able to get OpenGL to do
much more than open the window and display OSD messages.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7201 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 13:45:13 +00:00
Soren Jorvang
c6c0137df4
Combine the two halves of video backend initialization
...
in Initialize() and Video_Prepare(). Video_Prepare()
then becomes the entry point for associating the current
thread with the rendering context, which is currently
only known to be necessary for OpenGL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7195 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 01:23:56 +00:00
Soren Jorvang
2ce4b29ae2
Initialize video before HW as required by non-USE_WX platforms.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7189 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 19:13:44 +00:00
smelenchuk
fbcd2dbd5c
Linux build fix in response to r7185.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7187 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:38:06 +00:00
skidau
855bcfa40c
Added an option for input display. This option shows the controls read by the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:12:36 +00:00