Commit Graph

264 Commits

Author SHA1 Message Date
abde070f63 LightingShaderGen: Use a float4 array for lights instead of a struct (uniform management in the non-UBO path is a mess otherwise).
Also fix a small bug (cf. revision  154c533e76).
2013-04-10 14:25:18 +02:00
ec08914905 Move Shader UID mismatch checking to VideoCommon. 2013-04-10 12:54:22 +02:00
a60e1a3db8 ShaderGen: Remove some TODOs and fix an issue with per pixel lighting. 2013-03-31 23:57:39 +02:00
f57b902d33 PixelShaderGen: Cleanups. 2013-03-31 23:53:46 +02:00
f6d65a636e ShaderGen: Fix per pixel lighting. 2013-03-31 23:29:33 +02:00
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
e31c2aa601 ShaderGen: Cleanup uid data writing. 2013-03-29 21:53:57 +01:00
9eccd56ef0 PixelShaderGen: Some cleanups. 2013-03-29 20:59:03 +01:00
3c02f227db PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).
ShaderGen: Replace typeid usage with more general code.
2013-03-29 20:35:31 +01:00
f2a8fbb314 PixelShaderGen: Slightly reduce the number of redundant shader compilations. 2013-03-29 14:54:13 +01:00
a171525df6 Fix Windows crash. 2013-03-27 01:33:27 +01:00
364a5093d9 ShaderGenCommon: Replace the GenOutput enum by using typeid instead. 2013-03-26 23:21:08 +01:00
3253603ae7 Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/LightingShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.h
	Source/Core/VideoCommon/Src/PixelShaderManager.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
30f1a4b4fe Partially revert "Now CG plays nice with this new stuff."
This reverts commit 3943840d5c.

Suppport for old GLSL versions has been dropped, so to make things less ugly we can use a structure for lights again.
2013-03-26 19:36:59 +01:00
edd9d0e0ef Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
6962929356 GLSL: fix nfs-hp2 2013-03-15 23:32:01 +01:00
8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
203b1748a3 PixelShaderGen: Force depth textures to be emulated when the result is needed for fog calculation. 2013-03-15 01:01:00 +01:00
a1c5e90083 Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/CMakeLists.txt
	Source/Core/DolphinWX/Src/GLInterface.h
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
642eab92bc disable per pixel depth if depth textures aren't used 2013-03-04 20:12:58 +01:00
dea1e2827d Open std::fstream in a unicode-safe manner. 2013-02-28 19:33:39 -06:00
c86b892f95 Revert "remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords"
This reverts commit 4653adecf1.

Also dx9 isn't able to hanlde more than 11 varying registers.
More frustrating is the lightning issue by this commit. I don't know why it happens...
2013-02-24 20:51:44 +01:00
0a05fcade4 fix glsl compilation error on intel 2013-02-22 12:19:52 +01:00
d9adc26332 real Star Fox fix 2013-02-22 12:14:39 +01:00
e270c8b153 fix Star Fox 2013-02-22 09:54:19 +01:00
d0e8217714 remove intel pixel shader hack
did not work correctly and made warnings on dx11
2013-02-21 17:44:56 +01:00
4653adecf1 remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords 2013-02-17 22:37:00 +01:00
334bd52f2c NaNs handling in pixel shader 2013-02-15 15:46:31 +01:00
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
dae1226e1b workaround for division by zero on fog calculation 2013-02-07 02:21:30 +01:00
76148a52b8 Fix a few other things 2013-01-28 22:51:15 +01:00
0fdeb81038 Add some code for generating a shader constant usage profile. 2013-01-28 22:15:23 +01:00
700cce9588 More work on making new pixel shader uids work 2013-01-28 22:10:07 +01:00
67be1e939a PixelShaderGen: Some more work... 2013-01-28 21:59:49 +01:00
8902c6e38b Some cleanups, add more fields to pixel shader uid. 2013-01-28 21:56:27 +01:00
b519d37128 Move new lighting shader uids to LightingShaderGen.h 2013-01-28 21:52:03 +01:00
dc0f470215 Added new shader cache uids for pixel shader gen. 2013-01-28 21:44:39 +01:00
e0ffdda26e Merge branch 'immediate-removal' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp

immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
6c0f6ffecf Fix a dumb regression from revision 4925a28f94. 2013-01-19 22:40:20 +01:00
8a6f747408 glsl: remove usage of old texture2D* function 2013-01-19 11:07:06 +01:00
9165ac5a67 Fix clipPos not being declared in DX backends. 2013-01-15 10:48:01 -06:00
2f78986e2c Merge branch 'Graphic_Update' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
4c2dd093a3 fix d3d error 2013-01-14 19:17:07 +01:00
2cd415dd83 Fix the signed/unsigned comparison warnings created by a recent commit. 2013-01-11 22:00:36 -06:00
dfc0c4b08d Fix two signed/unsigned mismatch warnings.
Also tidied up SDCardUtil - made the variables make more sense (typewise)
2013-01-11 19:38:04 -05:00
ad05d568b9 PixelShaderGen: Change error strings to be unique so that we can identify unexpected behavior more easily. 2013-01-11 15:49:20 +01:00
4925a28f94 PixelShaderGen: Shader uid maintainance 2013-01-08 18:56:01 +01:00
be706a3977 Disable color writing when alpha test always fails. 2013-01-08 18:56:01 +01:00
d26bcb0847 Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff 2013-01-08 18:56:01 +01:00
c80f6e8b84 Reword a comment about early_ztest a bit. 2013-01-08 18:55:45 +01:00