Commit graph

147 commits

Author SHA1 Message Date
NeoBrainX
0cd94b5bc7 VertexShaderGen: Cleanup. 2013-08-14 11:47:23 +00:00
NeoBrainX
c05aa0141d ShaderGen: Optimize out most function calls for uid generation. 2013-08-12 18:30:42 +02:00
NeoBrainX
fe2ca814c5 LightingShaderGen: Use macro magic instead of snprintf. Should fix performance problems. 2013-08-12 18:30:42 +02:00
NeoBrainX
1f92ccc228 ShaderGen: Use u8 as uid storage base type. Fixes an off-by-one error introduced in revision bdc28106ee that caused some lighting issues. 2013-07-02 14:48:08 +02:00
NeoBrainX
c34c82e7ae VertexShaderGen: Fix a potential bug where vertex shader uids don't change when
pixel lighting is toggled.

Same as revision f524312fd1 but done properly (why is our shader gen code this dumb?).
2013-06-30 14:27:04 +02:00
NeoBrainX
b8b5427ba4 VertexShaderGen: Fix a dumb regression from revision f524312fd1. 2013-06-30 11:36:45 +00:00
NeoBrainX
f524312fd1 VertexShaderGen: Fix a potential bug where vertex shader uids don't change when pixel lighting is toggled. 2013-06-29 23:01:42 +02:00
NeoBrainX
166a9c5637 Finishing touches. 2013-06-28 17:43:53 +02:00
NeoBrainX
597a6b34cb Compactify VertexShader uid struct. 2013-06-23 19:29:02 +02:00
NeoBrainX
bdc28106ee Optimize shader uid checks by checking the number of uid values which are actually used. 2013-06-22 21:47:22 +02:00
NeoBrainX
ca22872dae 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/VertexShaderGen.cpp
2013-06-17 12:05:47 +02:00
Armada
9594cac42c Build fix: Android NDK doesn't support any locale switching.
Also, Mac OS X doesn't support DX9.
2013-06-16 14:51:38 +02:00
Armada
fc7099a905 Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.
This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-06-16 12:33:13 +02:00
Ryan Houdek
9df3dbe13c Build Fix 2013-06-11 08:38:45 -05:00
Ryan Houdek
703a51e4c0 [Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still. 2013-06-11 08:33:56 -05:00
NeoBrainX
02afec5076 Polish shader uid checking. 2013-04-29 21:00:39 +02:00
NeoBrainX
adab4e37f7 Fix some mistakes from the master merge; some cleanups. 2013-04-29 19:37:32 +02:00
NeoBrainX
5e6b712651 Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/BPMemory.h
	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
2013-04-25 14:05:54 +02:00
Lioncash
8da425b008 Formatting cleanup for VideoCommon.
Block braces on new lines.

Also killed off trailing whitespace and dangling elses.

Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).
2013-04-24 09:21:54 -04:00
degasus
4a48485482 Revert "Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.""
This reverts commit 8b7141d3de.

GLSL120 can't handle integer attributes :-(
2013-04-24 03:03:52 +02:00
Lioncash
bab9963b00 New license header introduced for DiscIO, AudioCommon, InputCommon, VideoCommon, and Common projects. 2013-04-17 23:09:55 -04:00
NeoBrainX
e7a5847c30 ShaderGen: Build fix. 2013-04-10 14:44:09 +02:00
NeoBrainX
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
NeoBrainX
154c533e76 VertexShaderGen: Fix a small GLSL regression in emboss mapping. 2013-04-10 11:44:49 +00:00
NeoBrainX
ec08914905 Move Shader UID mismatch checking to VideoCommon. 2013-04-10 12:54:22 +02:00
NeoBrainX
ec5f596b31 VertexShaderGen: More per-pixel-lighting fixes. 2013-04-10 12:17:28 +02:00
Pierre Bourdon
0ca7ea6c3f D3D11: Fix glitched polygon edges when MSAA is enabled (this time without breaking OpenGL) 2013-04-07 20:58:48 +02:00
Grant Paul
9f8841e960 Revert "D3D11: Fix glitched polygon edges when MSAA is enabled."
This reverts commit 61c327ba8b.
2013-04-03 21:17:09 -07:00
NeoBrainX
61c327ba8b D3D11: Fix glitched polygon edges when MSAA is enabled. 2013-04-03 18:56:33 +02:00
NeoBrainX
a60e1a3db8 ShaderGen: Remove some TODOs and fix an issue with per pixel lighting. 2013-03-31 23:57:39 +02:00
NeoBrainX
f6d65a636e ShaderGen: Fix per pixel lighting. 2013-03-31 23:29:33 +02:00
NeoBrainX
248d56d930 ShaderGen: Small optimization. 2013-03-31 20:55:57 +02:00
NeoBrainX
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
NeoBrainX
e31c2aa601 ShaderGen: Cleanup uid data writing. 2013-03-29 21:53:57 +01:00
NeoBrainX
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
NeoBrainX
11fae2e1cb Fix Windows build, try 4. 2013-03-27 00:17:46 +01:00
NeoBrainX
364a5093d9 ShaderGenCommon: Replace the GenOutput enum by using typeid instead. 2013-03-26 23:21:08 +01:00
NeoBrainX
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
NeoBrainX
b75a617d8a VertexShaderGen: De-uglify VS output structure writing 2013-03-26 19:36:59 +01:00
NeoBrainX
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
lioncash
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
degasus
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
degasus
642eab92bc disable per pixel depth if depth textures aren't used 2013-03-04 20:12:58 +01:00
Jordan Woyak
dea1e2827d Open std::fstream in a unicode-safe manner. 2013-02-28 19:33:39 -06:00
degasus
8b7141d3de Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer."
This reverts commit 380f22ca0e.

Yeah, reverting a revert.
2013-02-26 08:57:35 +01:00
Jordan Woyak
380f22ca0e Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.
This reverts commit 52dacaa3e3.
2013-02-25 20:52:30 -06:00
degasus
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
Jordan Woyak
52dacaa3e3 Make the posmtx vertex attribute an int instead of converting to and from a float. 2013-02-23 20:54:30 -06:00
degasus
4653adecf1 remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords 2013-02-17 22:37:00 +01:00
degasus
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00