Rodolfo Osvaldo Bogado
2c7a08fc61
after a good commit lets make some experiments:
...
implemented fixed efb scale to improve alignment and discard some error caused by incorrect scale.
make both plugins work similar. this must improve opengl image quality a lot.
also implemented dynamic resizing in opengl, this way the resolution math the windows resolution on resize.
this is highly experimental so please test a lot.
implemented shader dumping on error thinking in future experiments with shaders.
enjoy :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5458 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-19 03:15:36 +00:00
Rodolfo Osvaldo Bogado
7947543d98
a little optimization in shaders constants setting , based on the same idea of nodchip changes.
...
a MAYORRRRRR change in pixel shader generation, please review all games you can and leave comments this must improve accuracy in graphic emulation a lot.
for example: mario eyes in super mario galaxy, water pod transparency an water transparency on game intro in super mario sunshine, etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5457 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-17 22:17:46 +00:00
Glenn Rice
154bc956ad
Some code clean up, and take care of some compiler warnings.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5090 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-20 04:18:19 +00:00
Rodolfo Osvaldo Bogado
811cfb059e
D3D and Opengl:
...
reverted a tiny leftover of my safe texture cache commit
D3D
renamed the SSAA modes to use samples as MSAA now they are 2,25x and 4x.
OpenGL:
fixed a nasty logical bug introduced in 4984 that causes efb corruption when efb to texture is used
re enabled shader caching as it was not producing errors.
fixed efb misalignment caused by integer rounding still a bit misaligned but many games will look better now
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5020 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:05:48 +00:00
Glenn Rice
feba09f7a3
Linux global build. At least the basic footwork is done here.
...
Basic usage: "sudo scons install=global install"
Hopefully this doesn't break builds on Macs. I have tested this on linux and windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4994 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-02 21:56:29 +00:00
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
5e31f22e50
small code reorganization.
...
Now efb to ram display correctly but still is misaligned by one pixel
please test and give me feedback
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4618 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-27 19:42:27 +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
78fa929c70
Some errors in the values passed to e pixel shader caused the menu error, no they are fixed, thanks to LordMark for help me with the testing.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4490 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-31 13:40:53 +00:00
Rodolfo Osvaldo Bogado
ec77ba3e99
fixed z textures, don't know where this is used but a fix is a fix
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4486 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-31 03:35:36 +00:00
Rodolfo Osvaldo Bogado
dd7f6f991f
small code cleanup, and little fixing of errors introduced by mi in my first commit :(
...
fixed scissor test in direct 3d
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4480 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-30 04:14:43 +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
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
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
hrydgard
fd70f99f04
Roll back r3833 for render targets but keep it for static textures. Most mirroring issues are OK and we shouldn't see any slowdown.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3844 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 08:17:41 +00:00
hrydgard
3ad0db6830
GL: Delete code for GL_TEXTURE_RECTANGLE_ARB in case of non-pow2 textures - all modern GFX cards that can run Dolphin should support non-pow2 textures anyway. This removes some complexity and reduces the numbers of pixel shaders that need to be generated in some situations. Also fixes some texture mirroring problems. Let me know if this breaks things on ATI for some reason.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3833 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-18 11:26:58 +00:00
hrydgard
df91fc8648
Post-processing: Added options to graphics config dialog.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-09 19:40:47 +00:00
sl1nk3.s
c9b5fbd9bd
Change the screenshots rescale function to always work according to the A/R setting, and not just on native res: fixes 16/9 wii games.
...
remove IsATIDrawBuffer(), this might have been fixed in the drivers since some years already ?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3359 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-07 21:10:02 +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
nakeee
ad76edd157
Fixed some log messages
...
Fixed a crash when no game ini exists
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2690 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-20 15:01:49 +00:00
donkopunchstania
90254bd924
Change destination alpha handling. The blending method introduced in rev 1921 was not the correct way to do it. This way was suggested by hrydgard in October and I should have listened. A simple pixel shader as hrydgard suggested cannot be used because the alpha is not set if the pixel is discarded due to failing depth (after z texture) or alpha (result of tev stages) tests. There is a bit of a performance hit so there should be an option to disable the second render pass which sets the alpha because it is probably not needed most of the time.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2662 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-16 02:47:48 +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
hrydgard
8bf3d83107
rename some files
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1695 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 17:26:18 +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