Commit graph

366 commits

Author SHA1 Message Date
Ryan Houdek
b20176b74f Add in GLSL setting again.
PS and VS making. Untested and won't work for now.

Add in program shader cache files.

Readd NativeVertexFormat stuffs.

Add in PS and VS cache things.

SetShaders in places.

Fixed EFB cache index computations in OpenGL renderer.

The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.

Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2011-11-30 22:02:25 -06: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
NeoBrainX
2df4811807 More buildfixes.. 2011-09-12 17:58:05 +02:00
Glenn Rice
e4b358d0a7 Build fix for the linux libav build. 2011-09-08 22:24:11 -05:00
NeoBrainX
5eb1e55f80 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-08 17:09:24 +02:00
NeoBrainX
1c85be8625 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-08 15:39:03 +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
baby.lueshi
d8fc690838 New "TAS Input" feature for precise joystick inputs. The feature is still a work in progress, but is functional. Currently overwrites any joystick/keyboard analog inputs and does so for all controllers.
Renamed OnFrame.cpp/h to a more accurate Movie.cpp/h. Made some small changes that may improve movie synchronization.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7620 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-24 06:50:50 +00:00
Nolan Check
8024783502 Don't resize render target to handle out-of-bounds viewports. Instead, adjust the projection matrix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7538 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-12 02:14:45 +00:00
NeoBrainX
e29e317580 OGL: Fix changing MSAA mode during emulation.
Fixes issue 4469.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7525 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-07 22:00:05 +00:00
donkopunchstania
77a4a64909 Fix an error introduced in r7083. In the pixel shader manager the farZ and zRange of the z bias were flipped. Switched to using the viewport struct rather than a raw float array to hopefully avoid such confusion in the future. Fixes issue 4060.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7446 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-11 01:49:32 +00:00
Glenn Rice
c99c247ed5 When using the "Start Renderer in Fullscreen" option, really start in fullscreen. In other words this now switches to fullscreen before the renderer is initiated instead of after. This is a partial fix for issue 4316.
Also, if the render window size changes while frame dumping, scale the resulting video to prevent clipping on linux.  This is a complete fix for issue 4316 on linux.  I don't know how to implement this on windows though.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7412 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-25 18:12:40 +00:00
Glenn Rice
c39e3c17e1 Fix a few issues with the size of the logger pane.
Also some other general clean up issues.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7401 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-23 02:06:40 +00:00
Jordan Woyak
f8620fcd0b Fixed some memory leaks. Only one was mine ;P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7392 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-22 07:27:23 +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
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
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
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
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
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
pierre
7a7a71d3fa VideoOGL: reinitialize some more global variables,
so VideoOGL always is in the same state when starting a guest program.

Also constify the RasterFont, while we are at it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7166 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 19:05:24 +00:00
Soren Jorvang
cf6632c0f1 Fix SCons build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7137 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 21:47:18 +00:00
Glenn Rice
cb832f2298 Make sure the audio dump directory exists when dumping audio. Otherwise a segmentation fault ensues after several panic alerts.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7135 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 21:30:53 +00:00
Glenn Rice
6cbaa360a1 Fix frame dumping for linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7134 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 21:07:51 +00:00
smelenchuk
16c4ffd89b OGL plugin: Include AVIDump.h unconditionally in Render.h so that Linux builds without libav don't break.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7133 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 20:10:22 +00:00
smelenchuk
b0fa0a83f8 * Dump AVI output on every VI (fixes issue #4064).
* Add audio dumping (fixes issue #1638).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7131 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 18:59:42 +00:00
NeoBrainX
6391393c06 D3D9: Fix wireframe rendering.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7095 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-06 18:43:56 +00:00
NeoBrainX
2b2f060cdf OGL: Fix wireframe rendering.
Fixes issue 4062.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7094 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-06 18:29:01 +00:00
Glenn Rice
5a800b765a Some more work on renaming variables and files to reflect that the plugins are no longer plugins.
Fix another minor issue with frame dumping.
Add the graphics config dialog button back to the main config.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7041 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 16:34:12 +00:00
Glenn Rice
8b309e26dc Remove PluginSpecs.h. Merge the few needed enums from that file into Common.h for now. I am up for suggestions on a better place for those.
Fix frame dumping on linux.
Make sure that on screen messages get cleared between games.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7039 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 04:40:27 +00:00
Jordan Woyak
7a6c9df8ea Fix Windows build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7005 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 03:30:24 +00:00
Soren Jorvang
8822674653 Fix *BSD build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7002 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 03:02:23 +00:00
Jordan Woyak
fbaf965995 Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:28:32 +00:00
gnick79
3078db08c7 * Changed the Projection Hack option in game properties to "Custom Projection Hack"
- dislocating all sensible stuff related to "values per game/pattern" outside the sourcecode.
  - giving more control to end-users across the user-friendly interface.
  - deleting/cleaning some dead variables.
  - updating all gameconfig.ini data to reflect new PHack concept (pending upload).

* Updated Italian translation
  - Includes corrections, a better strings translating and suggestions directly by Google Code's people.

+ Minor old pending changes...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6973 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 21:13:56 +00:00
hrydgard
7f97ce79bb Put some stuff in the gfx plugins into namespaces, so that the symbols won't collide if someone decides to merge the gfx plugins into dolphin too. still more things left to do though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6972 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 20:16:51 +00:00
Soren Jorvang
976420b9d5 Vertical sync on OS X.
Fixes issue 3996.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6946 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 09:39:28 +00:00
Soren Jorvang
1c7ca86940 Gah, missed still more files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6937 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 22:20:30 +00:00
Soren Jorvang
955e3abe9e Clean out the long since bit-rotted video profiling code.
Profiler.{cpp,h} also happened to be the only dupliated
filenames left in Source, the absence of which should make
link-time optimization easier to get working.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6935 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 21:57:36 +00:00
Jordan Woyak
2c05c49a04 Replaced Common::Thread with a partial implementation of std::thread. (rvalue references are used if available, <thread> is used if possible) Eliminates the need to use dynamic memory allocation for threads, so it's impossible to forget to delete a thread or set a pointer to NULL. Enables use of type-safe thread functions, no need to cast to and from void*. I've made sure the code compiles in vs08 and tested the functionality of "StdThread.h" on Linux so I'm hoping everything will work :p. In the future "StdThread.h" can be removed (maybe when OS X ships with gcc 4.4 and vs2015 is released :p).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6933 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 20:47:58 +00:00
Glenn Rice
3ce1f73f73 Migrate the "Adjust window size" option to the main configuration dialog (under the "Display" tab, in "Emulator Display Settings", after "Window Size"). Also rework the way that the option works. When using render to main and the auto resize option, the application window will be resized and then resized back when the emulator stops. This looks much better than the box in the corner look before. Also only resize when it would actually change the size of the window. This fixes the hang on emulation stop on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6910 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 03:30:12 +00:00
Glenn Rice
d2544158df Fix the "Adjust window size" option on linux. Previously this option caused flickering when using render to main, and an application hang when stopping emulation via the GUI Stop button.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6907 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 17:27:04 +00:00
j4ck.fr0st
bedc889a56 Fix alpha reads (hurray for the ZWW Pictograph quest and Killer 7)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6778 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 19:51:28 +00:00
donkopunchstania
d16357cd5c Add anvideo config option to automatically resize the render window to the size of the game's output resolution. This avoids artifacts that appear when the render target is scaled to fit a window of a different size.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6764 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 04:57:59 +00:00