hrydgard
512053fa5e
Kill some horribly ugly hackery :( It's just not right to pass entire IniFile objects across DLLs. Only POD (plain-old-data, like int, float, char, char[] etc) are safe to pass across DLL boundaries.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4257 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 08:54:46 +00:00
hrydgard
700f2ff694
Lots of code and warning cleanup. OGL/D3D: Moved to a shared config class in VideoCommon. This lets VideoCommon code read the config without ugly hacks. Fixed various config race conditions by keeping a copy (g_ActiveConfig) of the g_Config struct which is updated once per frame.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4256 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 08:21:35 +00:00
hrydgard
52ea8a0fd1
D3D supports setting multiple shader constants at once, so let's add support for that. Very tiny speedup. Also remove the annoying black window in the background when configuring D3D before starting a game. Also make sure to write all values when converting normals - might help the cpu's write gather cache.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4255 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-12 15:00:08 +00:00
rice1964
e1a0f8884a
D3D: Projection hack feature. Have also moved related functions and constant definitions from OGL to VideoCommon, will clean up the code better if it works for D3D.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4252 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 05:50:02 +00:00
rice1964
5ffb48c33b
D3D, enables the EFBCopyDisable option.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4251 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 05:18:45 +00:00
rice1964
f46aab0d3f
D3d: safeTextureCache fix.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4250 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 05:05:00 +00:00
rice1964
f0d1278eff
D3D: load game ini options, to be used later.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4249 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 04:47:49 +00:00
rice1964
c046c27815
D3D: Minor bug fix and some code cleanup for DirectX API call reduction.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4244 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-10 03:36:32 +00:00
rice1964
c1665ec6cd
D3D: Reduce the number of DirectX API calls. However, it does not seem to give tiny speed up. If anyone find that this change actually slows DX9 down, I will revert it.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4237 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-09 05:22:16 +00:00
rice1964
4c36a5280c
D3D: Revert r4215, ector may come out a better way to do so in the future.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4221 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-07 00:04:32 +00:00
John Peterson
0206b68b9c
D3D: Double click to fullscreen
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4219 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-06 19:30:24 +00:00
rice1964
aef1f943f3
D3D viewport fix to get rid of the black borders. Seems to work fine in Window mode, not working yet for full screen mode.
...
Also a minor fix for the command line switches to specify pad and wiimote plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4215 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-06 17:47:48 +00:00
John Peterson
1320e21ded
OpenGL: OSD menu live resolution change fixes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4212 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-06 15:11:21 +00:00
rice1964
c30ed92e75
Add some command line options to directly specify plugins. You can use "dolphin /V Plugins/Plugin_Video???.dll" in the command line to start Dolphin with the ??? plugin. This can be done also for other plugins. There are a couple of reasons to do so. For example, Dolphin compiled in DEBUG would often crash if loaded with non-DEBUG plugins. Therefore, you may want use to DEBUG plugins when running the DEBUG dolphin by giving all the command switches.
...
Also add some code to show the version of the plugin in the plugin configuration window title, so we can see clearly which version of the plugin we are using.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4208 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-06 02:55:14 +00:00
hrydgard
0d1662e020
GL: Delete "exact-2x" feature. The way it's currently implemented it requires us to allocate double-sized buffers, which really hurt some GFX cards. So, it's gone for now but may return later in some form.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4201 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 17:29:16 +00:00
death2droid
0ccd9d1e8f
DiscIO:Fix the includes up Dolphin should now compile.
...
D3D and OGL: A minute clean up with texture dumping
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4199 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 13:46:04 +00:00
hrydgard
5345c98a9c
quickfix slowness caused by 4193
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4195 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 06:43:46 +00:00
sl1nk3.s
5a21d72693
Fix screen flickering with frameskip on D3D plugin, also fix occasional hang when turning frameskip off
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4194 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 06:09:21 +00:00
death2droid
08d3dee74c
D3D: Some more small texture dumping changes, It should be even more like the OpenGL now.
...
Need to find out a better way to check if a texture is already dumped.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4193 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 05:26:19 +00:00
rice1964
664d973dee
DX9 DEBUG and DEBUGFAST build fix, no big deal.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4190 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 22:27:47 +00:00
hrydgard
efc74c77a9
D3D: Basic EFB copy-to-texture support. Fixes star domes in SMG (but does not fix the pull star, need EFB reads for that) and some other things.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4188 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 21:56:08 +00:00
hrydgard
baede3a7f3
Moving more things out of GL into VideoCommon...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4187 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 20:37:35 +00:00
hrydgard
2b1022f152
More tidying up - share the stats print between the two plugins, etc
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4184 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:42:45 +00:00
hrydgard
562a4e25ac
Some housecleaning around the D3D plugin, start of preparations to share even more code with the GL plugin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4183 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:24:16 +00:00
rice1964
2091fb3ceb
D3D, revert the incorrect change I did in r4154 about D3DCREATE_MULTITHREADED
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4182 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 15:41:13 +00:00
rice1964
47a16da49a
Some shader manager changes, to avoid a shader be re-generated / re-compiled again, and again, if it is failed at the first time. There used to be cases that a vertex shader was failed, and Dolphin tried to generate/compile it forever, and caused the entire game slow down. It maybe not the case anymore after recent changes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4175 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 02:21:14 +00:00
hrydgard
1e016dd522
Fix a vertex shader generation bug that crashed Super Monkey Ball. Better shader error handling. Random warning fixes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4170 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 21:19:35 +00:00
Marcus Wanners
50593397f3
Got rid of all of jp's ////////////////////////////// lines (nearly 500 of them)!
...
Yes, I used a script :D
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4169 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 21:00:45 +00:00
hrydgard
c64b1ca5dc
D3D: Fix nonpow2 textures (simply turn off the rect texture stuff since it's not necessary under D3D). some cleanup. Add a TODO (tip from Orphis)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4168 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 19:59:41 +00:00
hrydgard
e97bc516e6
Warning fixes/suppressions(aui), assorted code cleanup, d3d vertex shader cache expiration interval increased.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4165 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 18:55:36 +00:00
daco65
dd7eba0bb9
nothing special >_>
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4161 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 15:38:04 +00:00
rice1964
7343382f80
Fix the DEBUG builds that were broken in r4154.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4155 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 07:25:22 +00:00
rice1964
d616f132d7
Debugger for DX9 plugin.
...
Debugger panel is displayed only if Dolphin is started with /d option.
Dump features are not implemented.
Pause/Resume buttons works, only if the plugin is built in DEBUG or DEBUGFAST configuration, not in RELEASE. These features are really only for devs, not for regular gamers.
You will be able to pause frame by frame, or by n frames, or by n primitive flushes. Other pausing options are not implemented yet.
When other pausing and dumping features are implemented, debugging will be much easier.
I have changed the DX9 project setting to use unicode character set in order to use wxWidge tools. If this causes Dolphin building problems for you, check your project setting.txt
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4154 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 06:33:41 +00:00
sl1nk3.s
3bba897799
D3D: Fixed dstAlpha, aka "when everything is broken, at least mario have a nice shadow", and removed Cg leftover from it.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4152 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 04:10:40 +00:00
hrydgard
246e0ec2fc
D3D: Don't request a multithreaded device. Minor speedup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4150 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 21:32:32 +00:00
hrydgard
96c2247fbe
D3D: Don't set mip filter to aniso, only min/mag. (trying to get rid of errors, looking at the debug d3d runtime log)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4149 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 20:56:19 +00:00
hrydgard
28495eae47
D3D: Fix IA4 textures
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4147 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 20:21:59 +00:00
hrydgard
2599659022
D3D: Fix bugs in the shader cache, fixes crashes on x64. added some debugging stuff (only active in debug builds). assorted code cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4145 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 19:48:45 +00:00
death2droid
14e9cf6d1f
Clean up some of the commenting by JPeterson.
...
There is no point of using ////////////////////////////////////////////////////////////////////////////////////////// to show that a section has ended when there is already commenting showing that a new one has started.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4138 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 13:06:37 +00:00
death2droid
bd227d3831
D3D: Change the dumping method to match the OpenGL one.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4136 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-01 11:14:58 +00:00
hrydgard
d149ac2be1
D3D: Fix spiky polygon junk
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4125 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 22:03:52 +00:00
hrydgard
0eb989431f
D3D: Fix a lot of bad colors
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4122 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 21:18:36 +00:00
sl1nk3.s
94bc6d7f36
Fixed broken CPU EFB access on DX plugin, helps Wind Waker and ZTP not to hang
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4116 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 16:10:36 +00:00
rice1964
0dcf03b898
This should fix the per-vertex PositionMatrix, the famous "Posmtx" problem, for DX9. My DX9 plugin still crashes, for some other reasons. Verified with Luigi's Mansion, it almost works.
...
BTW, this is Rice from emutalk, one of the 1964 emulator authors, and author of Rice video plugin for N64 emulators.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4115 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 06:35:43 +00:00
rice1964
718c88ff6a
Some optimization on the pixel and vertex shader generators. As tested on Zelda TP, these changes should be able to reduce the number of lines in the compiled pixel shader program by 20% to 30%, for example, from 38 lines to 28 lines after the generated cg/HLSL pixel shader compiled by the cg/HLSL compiler. These could means slightly faster rasterization on slower video cards.
...
Also fixed shader compilation errors for DX9 plugin by using correct pixel/vertex attribute names that are compatibile with DX9 HLSL shader compiler. Now the generated vertex or pixel shader programs will compile correctly in either OGL or DX9.
However, DX9 plugin is still not fixed, even though the shader programs can be compiled now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4113 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 04:23:30 +00:00
hrydgard
8827c22c60
vertex shader generator: don't multiply z by two in d3d mode (thanks drk|razi)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4098 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-29 12:15:59 +00:00
omegadox
5ac7105b66
GFX: New GlobalControl system - cleaner way to control hacks and for possible control over other parts of the video code (video debugger control).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3982 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-15 07:20:37 +00:00
hrydgard
d26690e027
fix build of the (broken) dx plugin..
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3953 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-09 12:12:29 +00:00
XTra.KrazzY
51ddedf512
Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3949 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-08 01:39:56 +00:00
sl1nk3.s
69c0613160
Fix the FPS counter to show the 'real' framerate, also clean up its mess a bit...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3920 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-01 18:16:12 +00:00