a10656b1b2
Implement Program shaders cache. Seems to reduce a small amount of stuttering when F-Zero starts. Did it because I can :|
2011-12-21 00:15:48 -06:00
f6b33cf0be
Add a define back so we work without GLEW 1.6, Also I missed a line when I was fixing binding sampler locations last night when I was tired.
2011-12-19 19:10:05 -06:00
9ce17a43ec
There we go, actually found the issue.
2011-12-19 00:15:07 -06:00
768a683f04
This thing fails when we don't support binding. Not 100% sure why I need to set this multiple times.
2011-12-18 23:31:00 -06:00
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
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
73c3f198f4
Only delete this buffer if we support it.
2011-12-16 23:37:22 -06:00
fe6fb55389
Add a GUI option to use GLSL shaders. Also fix a small typo.
2011-12-16 23:18:24 -06:00
9ff48ac6eb
Make sure not to try and bind UBO locations when it isn't supported
2011-12-15 15:48:21 -06:00
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
c908e1173d
glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now
2011-12-11 06:11:38 -06:00
a613012d08
try combining vs/ps ubo
2011-12-11 06:02:47 -06:00
5ae1f674f5
make use of glMapBuffer to set ubo data
2011-12-11 05:29:15 -06:00
bcb2abbcf1
fix stupid indentation
2011-12-11 04:32:57 -06:00
031c523fba
have separate variables/functions for VS/PS ubo stuff, array was confusing.
2011-12-11 04:28:02 -06:00
fbef258dab
Disable UBO buffer generation if hardware doesn't support it.
2011-12-11 04:19:11 -06:00
df283a56a0
More coding style fixes because I suck at sed
2011-12-11 11:14:02 +01:00
014c474024
8 spaces indentation -> tabs
2011-12-11 11:08:18 +01:00
2907ffd72c
Make this pretty
2011-12-10 15:58:44 -06:00
c678172f32
Make sure our UBO buffers are always aligned correctly.
2011-12-10 15:52:20 -06:00
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
c72a244809
Make sure to support everything even if GPU doesn't.
2011-12-10 14:35:37 -06:00
5925feb6e0
yay, UBOs work 100% now.
2011-12-10 08:07:13 -06:00
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
49664bff61
More for Billiard <3
2011-12-10 02:02:22 -06:00
24336171f1
Firin ma lazer
2011-12-10 01:57:27 -06:00
126dfa073b
Firin ma lazer
2011-12-10 01:56:37 -06:00
54a90d08ce
Fix one error.
2011-12-09 21:15:15 -06:00
e8087aa1a9
Remove bSupportsGLSLLocation since it won't work how I expect it.
2011-12-09 19:14:02 -06:00
8e5bb59cb6
Add in UBOs, doesn't work yet. Still debugging here.
2011-12-09 17:30:05 -06:00
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