1787 Commits

Author SHA1 Message Date
Ryan Houdek
4342efe712 Some shader programs don't come with Vertex shaders attached, don't try to bind a Vertex Uniform block then. 2011-12-17 01:17:11 -06:00
Ryan Houdek
b837ae25fc Set Sampler values at program make time instead of every frame. Fix an issue when The user had UBO support but not Binding support. 2011-12-17 01:06:55 -06:00
Ryan Houdek
73c3f198f4 Only delete this buffer if we support it. 2011-12-16 23:37:22 -06:00
Ryan Houdek
fe6fb55389 Add a GUI option to use GLSL shaders. Also fix a small typo. 2011-12-16 23:18:24 -06:00
Ryan Houdek
800e1c9e09 Let compiling work on OSX. 2011-12-16 00:00:08 -06:00
Ryan Houdek
9ff48ac6eb Make sure not to try and bind UBO locations when it isn't supported 2011-12-15 15:48:21 -06:00
Ryan Houdek
ad13f2d23d Instead of querying the vertex attribute location. Let's bind it to where CG expects it to be as well. Was causing problems when we were trying to activate the components below and they weren't available. This fixes cubivore with GLSL shader. Also any other game that uses 3 normal pointers. 2011-12-11 06:18:01 -06:00
Jordan Woyak
c908e1173d glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now 2011-12-11 06:11:38 -06:00
Jordan Woyak
a613012d08 try combining vs/ps ubo 2011-12-11 06:02:47 -06:00
Jordan Woyak
5ae1f674f5 make use of glMapBuffer to set ubo data 2011-12-11 05:29:15 -06:00
Ryan Houdek
16b58a8825 Show a bit of information when using GLSL shaders. 2011-12-11 05:15:08 -06:00
Jordan Woyak
bcb2abbcf1 fix stupid indentation 2011-12-11 04:32:57 -06:00
Jordan Woyak
031c523fba have separate variables/functions for VS/PS ubo stuff, array was confusing. 2011-12-11 04:28:02 -06:00
Ryan Houdek
fbef258dab Disable UBO buffer generation if hardware doesn't support it. 2011-12-11 04:19:11 -06:00
Pierre Bourdon
df283a56a0 More coding style fixes because I suck at sed 2011-12-11 11:14:02 +01:00
Pierre Bourdon
014c474024 8 spaces indentation -> tabs 2011-12-11 11:08:18 +01:00
Ryan Houdek
1724385c8c Actually have Dual Source blending work for people. Forgot about this change. 2011-12-11 03:10:03 -06:00
Ryan Houdek
2907ffd72c Make this pretty 2011-12-10 15:58:44 -06:00
Ryan Houdek
c678172f32 Make sure our UBO buffers are always aligned correctly. 2011-12-10 15:52:20 -06:00
Ryan Houdek
97c3c156e6 Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs. 2011-12-10 15:40:10 -06:00
Ryan Houdek
c72a244809 Make sure to support everything even if GPU doesn't. 2011-12-10 14:35:37 -06:00
Ryan Houdek
5925feb6e0 yay, UBOs work 100% now. 2011-12-10 08:07:13 -06:00
Ryan Houdek
7ab38cff68 UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now. 2011-12-10 07:38:30 -06:00
Ryan Houdek
49664bff61 More for Billiard <3 2011-12-10 02:02:22 -06:00
Ryan Houdek
24336171f1 Firin ma lazer 2011-12-10 01:57:27 -06:00
Ryan Houdek
126dfa073b Firin ma lazer 2011-12-10 01:56:37 -06:00
Ryan Houdek
54a90d08ce Fix one error. 2011-12-09 21:15:15 -06:00
Ryan Houdek
e8087aa1a9 Remove bSupportsGLSLLocation since it won't work how I expect it. 2011-12-09 19:14:02 -06:00
Ryan Houdek
4fe9792760 Merge branch 'GLSL-master' of https://code.google.com/p/dolphin-emu into GLSL-master 2011-12-09 17:30:50 -06:00
Ryan Houdek
8e5bb59cb6 Add in UBOs, doesn't work yet. Still debugging here. 2011-12-09 17:30:05 -06:00
LPFaint99
87c3c37ba7 add ProgramShaderCache.* to visual studio project files 2011-12-09 14:28:59 -08:00
Ryan Houdek
0ccba2b581 Support Dual Source Blending in OGL plugin with GLSL. 2011-12-08 05:09:48 -06:00
Ryan Houdek
cecc3c3873 Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now. 2011-12-08 03:20:31 -06:00
Ryan Houdek
1201988fe4 Add support for GL_ARB_shading_language_420pack so we don't have to binding sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating. 2011-12-08 01:51:08 -06:00
Ryan Houdek
f77d54ff52 Welp, just fixed that problem. 2011-12-07 23:23:00 -06:00
Ryan Houdek
4c136c4efc Missed a spot. Most games work now, Still have a problem with viewtiful joe. Destination Alpha pass doesn't work yet, going to use Dual source blending on that. 2011-12-07 23:20:55 -06:00
Ryan Houdek
ed18b82d2f This lets us see stuff with GLSL shaders. Just need to take care of some compile errors now. 2011-12-07 22:11:41 -06:00
Ryan Houdek
33c24f0a15 Almost there. 2011-12-07 22:04:34 -06:00
Maarten ter Huurne
8c3775ee6f Under OS X, link GL plugin against Cg framework instead of Cg library. 2011-12-05 01:12:09 +01:00
Pierre Bourdon
252093295b Do not fail with strict drivers when compiling a not SM2.0 shader
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.

This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
2011-12-03 23:24:10 +01:00
Ryan Houdek
804938e9fc More stuff 2011-12-02 20:17:26 -06:00
Ryan Houdek
8a18a110b7 mah 2011-12-02 18:46:07 -06:00
Ryan Houdek
6882e00d5e Compile 2011-12-02 18:31:06 -06:00
Ryan Houdek
49b6e4beed meh 2011-12-02 18:26:15 -06:00
Jordan Woyak
575814895c Merge branch 'clearscreen-kill-immediate-mode' 2011-12-01 20:16:23 -06:00
Ryan Houdek
f8eb45637f Now CG plays nice with this new stuff. 2011-12-01 00:33:12 -06:00
Ryan Houdek
b20176b74f Add in GLSL setting again.
PS and VS making. Untested and won't work for now.

Add in program shader cache files.

Readd NativeVertexFormat stuffs.

Add in PS and VS cache things.

SetShaders in places.

Fixed EFB cache index computations in OpenGL renderer.

The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.

Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2011-11-30 22:02:25 -06:00
Maarten ter Huurne
98981cc724 Fixed EFB cache index computations in OpenGL renderer.
The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.

Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2011-12-01 02:46:59 +01:00
Jordan Woyak
4fcd6994c6 fix wireframe setting toggling 2011-11-29 22:21:43 -06:00
Jordan Woyak
0dfca1cf2b remove now unnecessary glPolygonMode from ResetAPIState 2011-11-29 22:02:18 -06:00