Commit Graph

1465 Commits

Author SHA1 Message Date
NeoBrainX 3b38295cbd TextureCacheBase: De-uglify hybrid EFB copies (documentation needs updating though)
TextureCacheBase: Fixed dynamic EFB copies being set to normal textures.
2012-01-31 18:09:35 +01:00
NeoBrainX 5239ba88c9 TextureCache: Remove unsafe texture cache 2012-01-31 18:09:35 +01:00
NeoBrainX c5008fe9de TextureCache: Renaming some variables
OGL: Fix a possible bug at texture dumping
OGL: Add a TODO about a possible bug
2012-01-31 18:09:34 +01:00
Shawn Hoffman f57f654b59 set ProgramShaderCache program format correctly. 2012-01-18 10:22:03 -08:00
Ryan Houdek 0b74ead13f More "stuff" for SS, also a small fix in the program shader cache cache setup." 2012-01-11 04:10:43 -06:00
nitsuja 39613a95a8 initialize the uninitialized 2012-01-04 01:36:09 -08:00
Shawn Hoffman bd5cf88686 let us try normal c++ static init instead... 2011-12-29 16:25:03 +01:00
Ryan Houdek 6a5b56d25f Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen. 2011-12-29 01:35:50 -06:00
Ryan Houdek 8a48b42e4c Add support for Dual source blending to older ATI cards that don't support 420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways. 2011-12-29 00:32:06 -06:00
Ryan Houdek fbbea9bb9b These checks aren't needed when using CG. 2011-12-29 00:01:50 -06:00
Shawn Hoffman c8d0c8e217 oops, forgot to make sure the gl program is actually free'd. 2011-12-26 10:27:18 -05: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 5f296d0be7 refactor ProgramShaderCache::PCacheEntry 2011-12-26 02:58:52 -05:00
Shawn Hoffman 16f9d8e06d Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways. 2011-12-26 00:43:47 -05:00
Shawn Hoffman 4bc14c3473 fix formatting uglies introduced in glsl-master branch 2011-12-26 00:15:54 -05:00
Ryan Houdek b607695103 Add in the Windows fix. 2011-12-25 12:21:31 -06: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 aa2032af2c Write all shaders to disk on emulator stop instead of constantly. Also change pair from u64 to u32. 2011-12-24 02:19:30 -06:00
Ryan Houdek b90fa37c60 If user doesn't compile with glew 1.6, cut out program binaries so everything still compiles. 2011-12-24 00:37:13 -06:00
Ryan Houdek 9bc6b83fd0 If CG isn't available, still compile and fallback on GLSL 2011-12-24 00:24:13 -06:00
Sonicadvance1 7c558df283 Missed a if, don't want people crashing now do we? 2011-12-21 22:33:33 +00: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 f6b33cf0be Add a define back so we work without GLEW 1.6, Also I missed a line when I was fixing binding sampler locations last night when I was tired. 2011-12-19 19:10:05 -06:00
nitsuja 3e773f093d fixed a freeze on emu shutdown in windows build 2011-12-19 15:13:26 -08:00
Ryan Houdek 9ce17a43ec There we go, actually found the issue. 2011-12-19 00:15:07 -06:00
Ryan Houdek 768a683f04 This thing fails when we don't support binding. Not 100% sure why I need to set this multiple times. 2011-12-18 23:31:00 -06:00
Ryan Houdek 636d6a915d Remove this silliness 2011-12-18 01:51:15 -06:00
Maarten ter Huurne ed1bfdf293 Merge branch 'cmake-osx2' 2011-12-17 16:30:02 +01:00
Ryan Houdek 4342efe712 Some shader programs don't come with Vertex shaders attached, don't try to bind a Vertex Uniform block then. 2011-12-17 01:17:11 -06:00
Ryan Houdek b837ae25fc Set Sampler values at program make time instead of every frame. Fix an issue when The user had UBO support but not Binding support. 2011-12-17 01:06:55 -06:00
Ryan Houdek 73c3f198f4 Only delete this buffer if we support it. 2011-12-16 23:37:22 -06:00
Ryan Houdek fe6fb55389 Add a GUI option to use GLSL shaders. Also fix a small typo. 2011-12-16 23:18:24 -06:00
Ryan Houdek 800e1c9e09 Let compiling work on OSX. 2011-12-16 00:00:08 -06:00
Ryan Houdek 9ff48ac6eb Make sure not to try and bind UBO locations when it isn't supported 2011-12-15 15:48:21 -06:00
Ryan Houdek ad13f2d23d Instead of querying the vertex attribute location. Let's bind it to where CG expects it to be as well. Was causing problems when we were trying to activate the components below and they weren't available. This fixes cubivore with GLSL shader. Also any other game that uses 3 normal pointers. 2011-12-11 06:18:01 -06:00
Jordan Woyak c908e1173d glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now 2011-12-11 06:11:38 -06:00
Jordan Woyak a613012d08 try combining vs/ps ubo 2011-12-11 06:02:47 -06:00
Jordan Woyak 5ae1f674f5 make use of glMapBuffer to set ubo data 2011-12-11 05:29:15 -06:00
Ryan Houdek 16b58a8825 Show a bit of information when using GLSL shaders. 2011-12-11 05:15:08 -06:00
Jordan Woyak bcb2abbcf1 fix stupid indentation 2011-12-11 04:32:57 -06:00
Jordan Woyak 031c523fba have separate variables/functions for VS/PS ubo stuff, array was confusing. 2011-12-11 04:28:02 -06:00
Ryan Houdek fbef258dab Disable UBO buffer generation if hardware doesn't support it. 2011-12-11 04:19:11 -06:00
Pierre Bourdon df283a56a0 More coding style fixes because I suck at sed 2011-12-11 11:14:02 +01:00
Pierre Bourdon 014c474024 8 spaces indentation -> tabs 2011-12-11 11:08:18 +01: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 2907ffd72c Make this pretty 2011-12-10 15:58:44 -06:00
Ryan Houdek c678172f32 Make sure our UBO buffers are always aligned correctly. 2011-12-10 15:52:20 -06:00
Ryan Houdek 97c3c156e6 Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs. 2011-12-10 15:40:10 -06:00
Ryan Houdek c72a244809 Make sure to support everything even if GPU doesn't. 2011-12-10 14:35:37 -06:00
Ryan Houdek 5925feb6e0 yay, UBOs work 100% now. 2011-12-10 08:07:13 -06:00
Ryan Houdek 7ab38cff68 UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now. 2011-12-10 07:38:30 -06:00
Ryan Houdek 49664bff61 More for Billiard <3 2011-12-10 02:02:22 -06:00
Ryan Houdek 24336171f1 Firin ma lazer 2011-12-10 01:57:27 -06:00
Ryan Houdek 126dfa073b Firin ma lazer 2011-12-10 01:56:37 -06:00
Ryan Houdek 54a90d08ce Fix one error. 2011-12-09 21:15:15 -06:00
Ryan Houdek e8087aa1a9 Remove bSupportsGLSLLocation since it won't work how I expect it. 2011-12-09 19:14:02 -06:00
Ryan Houdek 4fe9792760 Merge branch 'GLSL-master' of https://code.google.com/p/dolphin-emu into GLSL-master 2011-12-09 17:30:50 -06:00
Ryan Houdek 8e5bb59cb6 Add in UBOs, doesn't work yet. Still debugging here. 2011-12-09 17:30:05 -06:00
LPFaint99 87c3c37ba7 add ProgramShaderCache.* to visual studio project files 2011-12-09 14:28:59 -08:00
Ryan Houdek 0ccba2b581 Support Dual Source Blending in OGL plugin with GLSL. 2011-12-08 05:09:48 -06:00
Ryan Houdek cecc3c3873 Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now. 2011-12-08 03:20:31 -06:00
Ryan Houdek 1201988fe4 Add support for GL_ARB_shading_language_420pack so we don't have to binding sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating. 2011-12-08 01:51:08 -06:00
Ryan Houdek f77d54ff52 Welp, just fixed that problem. 2011-12-07 23:23:00 -06:00
Ryan Houdek 4c136c4efc Missed a spot. Most games work now, Still have a problem with viewtiful joe. Destination Alpha pass doesn't work yet, going to use Dual source blending on that. 2011-12-07 23:20:55 -06:00
Ryan Houdek ed18b82d2f This lets us see stuff with GLSL shaders. Just need to take care of some compile errors now. 2011-12-07 22:11:41 -06:00
Ryan Houdek 33c24f0a15 Almost there. 2011-12-07 22:04:34 -06:00
Maarten ter Huurne 8c3775ee6f Under OS X, link GL plugin against Cg framework instead of Cg library. 2011-12-05 01:12:09 +01:00
Pierre Bourdon 252093295b Do not fail with strict drivers when compiling a not SM2.0 shader
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.

This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
2011-12-03 23:24:10 +01:00
Ryan Houdek 804938e9fc More stuff 2011-12-02 20:17:26 -06:00
Ryan Houdek 8a18a110b7 mah 2011-12-02 18:46:07 -06:00
Ryan Houdek 6882e00d5e Compile 2011-12-02 18:31:06 -06:00
Ryan Houdek 49b6e4beed meh 2011-12-02 18:26:15 -06:00
Jordan Woyak 575814895c Merge branch 'clearscreen-kill-immediate-mode' 2011-12-01 20:16:23 -06:00
Ryan Houdek f8eb45637f Now CG plays nice with this new stuff. 2011-12-01 00:33:12 -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
Maarten ter Huurne 98981cc724 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-12-01 02:46:59 +01:00
Jordan Woyak 4fcd6994c6 fix wireframe setting toggling 2011-11-29 22:21:43 -06:00
Jordan Woyak 0dfca1cf2b remove now unnecessary glPolygonMode from ResetAPIState 2011-11-29 22:02:18 -06:00
Jordan Woyak 88700e817a make OpenGL ClearScreen use glClear 2011-11-29 21:50:31 -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 81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX 08af37509e More buildfixes.. 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 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 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 3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +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
Ryan a5a2562e59 Put this hotfix in since some combination of hardware and drivers returns zero here. 2011-08-25 02:58:37 -05:00
Jordan Woyak e8fe15c3f7 Make titlebar and about dialog fancy for cmake build.
Windows needs fixing.
2011-08-21 17:43:05 -05:00
NeoBrainX 0655ee571d Shader compilation error message modified to contain some helpful information for noobs (includes a reference to the full bad shader dump).
Removed the "Hide Shader Errors" option; hide shader errors if panic handlers are disabled now.
Removed superfluous error messages about shader compilations; display only one error message instead.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7688 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-29 22:18:11 +00:00
Glenn Rice a5a45992ad Add a new type of message box (CRITICAL style) which can not be disabled. Then use that message box to display shader compilation errors in the OpenGL backend to maintain consistency with the behaviour of the DirectX backends.
Also fix the wxMessageAlert called from non-gui threads in the WXGTK build to use the passed caption.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7678 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-15 14:49:34 +00:00
Glenn Rice a154df1e7c On linux use the current desktop resolution for the default fullscreen resolution, instead of the hard coded 640x480 resolution.
Also if the OpenGL backend throw a panic alert if the RGB to/from YUYV shaders fail to compile instead of an error log.  If these shaders fail to compile it should be reported.  I am not sure that a panic alert should be thrown in general when any shader fails to compile (as was discussed on IRC).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7677 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-15 02:17:14 +00: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
NeoBrainX 84906edf61 Fix applying anti-aliasing without having to open the gfx config. Thanks to skid for pointing out the VerifyValidity problem to me ;)
Fixes issue 4498.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7574 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-31 20:16:59 +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
NeoBrainX fe2d09576d Fix "Disable Lighting" in D3D9 and D3D11.
Fixes issue 3185.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7498 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-30 17:34:08 +00:00
NeoBrainX a779b92a09 Remove configuration profile support.
I.e. revert most of the video configuration dialog changes since r7483.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7484 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-25 20:06:45 +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
smelenchuk 7a9a47376f roll back r7431
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7432 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 01:46:18 +00:00
smelenchuk 15c51c37f3 Add a "force no texture filter" option, useful for some 2D games (like Mega Man 10) and people who like their pixelated graphics.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7431 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 01:35:07 +00:00
Jordan Woyak 44b4198d17 Fixed issue 4141.(key press beeping) Initializing the video backend in the GUI thread seemed to be the cause for whatever reason. Hopefully other platforms don't hate this change.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7425 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-31 05:36:54 +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
gnick79 017735b9ff * GUI Video-Settings changes:
- Removed recent ghanges about separate per-game Video Settings
  - Added "One Window 3-State Support" (very close to full implementation)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7391 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-21 19:57:31 +00:00
Jordan Woyak 068855bbd6 Moved per-game graphics configuration to the game-list right click menu. It will be too difficult to make the "profiles" drop-down thing work with 3-state vs 2-state checkboxes. The per-game settings now have "undetermined" states, except for the radio buttons(I'll fix that later). It's super hacky right now. Video config (probably all config stuff) could be redone.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7386 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-21 05:46:33 +00:00
skidau 4079523346 Game-specific video settings:
* Moved the config validity check to reflect the emulator enforced settings at the config dialog
* Removed some obsolete validity checks
* Corrected "EnablePixelLighting" typo in the ini files

Fixes issue 4277.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 00:50:34 +00:00
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
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
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
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
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 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
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
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
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
Glenn Rice 0ae8d33149 Some work on changing comments, log messages, and variable and function names to reflect that the plugins are not plugins anymore.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 02:18:03 +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
Glenn Rice a8992b7960 Move debugger ui files into a subdirectory. Primarily to make it easy to keep debugger strings out of translations, but also because it is more organized.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7163 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 06:06:32 +00:00
Shawn Hoffman b9ace6d501 windows: buildfix for non-release configs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7140 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 22:27:50 +00:00
Glenn Rice c45a430649 Fix the cmake build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7138 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 21:49:29 +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