Commit graph

378 commits

Author SHA1 Message Date
Ryan Houdek
fbbea9bb9b These checks aren't needed when using CG. 2011-12-29 00:01:50 -06:00
Ryan Houdek
6f729f8cbf Woops, better not forget the ing 2011-12-26 04:09:36 -06:00
Ryan Houdek
3773d29b6d Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending. 2011-12-26 03:54:44 -06:00
Shawn Hoffman
4bc14c3473 fix formatting uglies introduced in glsl-master branch 2011-12-26 00:15:54 -05:00
Ryan Houdek
8349cc2551 Only use explicit attribute locations when we are supporting GLSL > 1.2 since we need in/out instead of attribute variable types. This was brought to my attention from MESA. MESA supports GL_ARB_explicit_attrib_location, but yets to support GLSL 1.3, so basically useless extension to MESA right now? 2011-12-24 08:58:51 -06:00
Ryan Houdek
9bc6b83fd0 If CG isn't available, still compile and fallback on GLSL 2011-12-24 00:24:13 -06:00
Ryan Houdek
8e0172374c Give OSX users more of a chance of supporting Single pass DSB in the future. 2011-12-21 01:29:29 -06:00
Ryan Houdek
a10656b1b2 Implement Program shaders cache. Seems to reduce a small amount of stuttering when F-Zero starts. Did it because I can :| 2011-12-21 00:15:48 -06:00
Ryan Houdek
31a9b6c322 Go back to using glGetString with GL_EXTENSIONS because glew 1.7 is required to check for newer 4.2 extensions that way. 2011-12-20 23:07:42 -06:00
Ryan Houdek
dc134b9bac Move the GLSL extension checks over here so it is nicer. 2011-12-20 21:55:11 -06:00
Ryan Houdek
636d6a915d Remove this silliness 2011-12-18 01:51:15 -06:00
Ryan Houdek
1724385c8c Actually have Dual Source blending work for people. Forgot about this change. 2011-12-11 03:10:03 -06:00
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