hrydgard
3e01152793
Shader Disk Cache implementation for D3D. Saves generated shaders on disk. Eliminates "freeze jerks" in D3D plugin the _second_ and later times you play something.... not much to do about the first time. The D3D shader compiler is just slow.
...
Also assorted cleanup around the shader code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 17:44:09 +00:00
Rodolfo Osvaldo Bogado
8e204c659e
This is a "Try to fix" commit, reverted all the changes made by my first commit that could affect texturing, so please everyone with texture problems please test this, also in opengl let the viewport calculations the way they where, opengl can handle any values in the viewport.
...
in direct3d this is different, the only valid values are between 0.0 an 1.0 so fix this and let the shader handle the rest.
please test all this and let me know the results.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4494 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-02 21:09:48 +00:00
Rodolfo Osvaldo Bogado
0511d6e185
some work on zscale and zoffset, don't know if this is correct but at least it seem to fix one or two games.
...
thanks a lot to chaoscode he make possible to test this on nvidia. please test this a lot and give me feedback :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4468 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-25 23:10:30 +00:00
Rodolfo Osvaldo Bogado
227d363881
small code clean up:
...
d3d: remove the depth texture path it will not work so for now only lockable textures were available. i thing the only way will be a use a secondary render target and do a depth pass to mimic depth textures.
opengl: minor cleanup here and there and a possible fix to issue 1509, but not tested because in my system the errors remarked in the issue don't show.
commond: code reorganization an optimization in the pixel shader generator, trying to understand the tev stages, make some changes to make the generator faster (not much only started for the alpha test and fog).
this changes try start solving the diferences bethen the hardware plugins and the soft plugin.
i hope with i don't brake nothing but please test this a lot.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4465 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-25 02:35:21 +00:00
hrydgard
29808cdde2
OpenGL: commit rodolfoosvaldobogado's (what a name!) speedup patches.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4322 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-26 12:39:12 +00:00
hrydgard
7a8f6bdd6d
D3D various: "Safe texture cache" option, texture replace instead of destroy/create when possible, a commented out "optimization" that didn't speed things up (use DrawPrimitive instead of DrawIndexedPrimitive when possible), reduce code duplication in Flush(), don't periodically clean out the shader caches since it's not really beneficial - shaders are cheap to keep. some code cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4302 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-19 13:14:55 +00:00
hrydgard
dae1a68bfc
D3D: minor vs constant-setting optimization, remove a stupid memcpy that doesn't do anything, don't see much benefit though :/ At least the PIX logs will be cleaner.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4301 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-19 10:46:25 +00:00
rice1964
f7e15ec7f2
Fix some shader problems caused by my previous commits to reduce API calls (back screen after a while in Zelda WW intro, maybe also in other games).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4283 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-16 05:31:19 +00:00
Shawn Hoffman
a08c801256
psyjoe's patch to shader compilation. ector/some "shader person" check this please :) looks reasonable to me though.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4267 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-14 06:25:00 +00:00
hrydgard
2d93c654f0
Rename Config.cpp/h to VideoConfig.cpp/h.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4260 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 09:23:30 +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
891aa44dd0
OGL: API call reduction. Again, I don't see much a difference on my 9800GT, maybe make some games running faster.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4245 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-10 05:02:31 +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
XTra.KrazzY
c86d2e5129
Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
donkopunchstania
14a67bc8bc
Changing where depth is read. Trying to use the same depth buffer GL uses when copying depth to a texture. This eliminates some quirky code and gets depth copies working in AA, but may not work on older graphics cards.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3234 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-15 02:39:55 +00:00
omegadox
6736898486
OpenGL Plugin: code cleanup trying to follow code style wiki and updated copyright date
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2850 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-03 14:35:49 +00:00
hrydgard
e62b7f35ce
Clean up OpenGL plugin error handling macros. No longer bother with enabling TEXTURE_2D and TEXTURE_RECTANGLE_ARB - they don't apply when using shaders. Change a PanicAlert when looking for valid plugins into a LOG_WARN.
...
Let me know if this breaks anything - it shouldn't.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2726 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-22 11:21:44 +00:00
Shawn Hoffman
7572e0bf8d
remove newlines from OGL logging (they get added by logmanager)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2720 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-21 20:07:56 +00:00
XTra.KrazzY
05d06090fd
Minor D3D changes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2625 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 23:19:02 +00:00
hrydgard
c6ffcec991
First version of MSAA code added. No UI yet. No CSAA yet. Doesn't work in Zeldas and Metroids for unknown reason.
...
Automatic texture invalidation when using copy efb to ram (fixes weird flickery scanner in metroid 2).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2617 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 19:19:51 +00:00
hrydgard
75390c55bd
GL plugin: VSync option, some renaming, a little bit of MSAA preparations (not there yet)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2563 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-05 23:11:13 +00:00
donkopunchstania
e004800e68
An alert is displayed once per run if pixel shaders or vertex shaders fail to compile. Resources are cleaned up if shader compilation fails. Tev coords are zeroed in the pixel shader if there are no tex gens.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2493 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-01 00:57:39 +00:00
hrydgard
6dc4194767
OGL plugin: +Autoscale option (attempts to remove borders, even without XFB). Lots of cleanup, especially around aspect ratio and similar stuff. MP2 scanner still broken, wonder when that happened?
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2470 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-28 16:33:59 +00:00
hrydgard
4bdb4aa0d1
Merge large parts of nakeee's "Soap" branch into trunk, after fixing a few crash bugs in FileUtil.cpp.
...
Not really anything interesting, just some better comments, some slightly more portable/cleaner code in places.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2459 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-28 01:26:56 +00:00
LPFaint99
578c402d2c
Update svn:eol-style=native ( r1442 ) for Source/*.cpp
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2384 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-23 06:15:48 +00:00
Shawn Hoffman
7b7cfa940e
remove stuff from ogl debugger that did nothing. (copied from dsp hle a while ago)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2111 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-04 17:33:59 +00:00
XTra.KrazzY
dd6fe4889d
build fix for those non-WIP OGL people out there
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2040 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-30 07:35:47 +00:00
XTra.KrazzY
cd658ac755
More WIP OGL EventHandler work by shuffle2 and myself. Wiimote isn't implemented yet and OGL window is too small (should take window borders into account when creating window).
...
Not committing VideoOGL.vcproj so that project compiles with old OGL video window. In order to test just replace main.cpp/GLUtil.cpp/GLUtil.h with nmain.cpp/nGLUtil.cpp/nGLUtil.h in the project.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2038 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-29 23:35:31 +00:00
hrydgard
3db9fb4fc1
More renaming.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1696 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 17:33:53 +00:00
nakeee
fa69ed2836
compile fixes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1683 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 11:33:32 +00:00
hrydgard
6c916151ab
Split out the shader caches into their own files. The goal is to eventually be able to move the "Managers" to VideoCommon.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1681 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 11:23:59 +00:00