b38b62afc6
remove glsl binding support. convert every shader to version 130
2013-01-02 16:56:08 +01:00
c2898748ac
bind locations _before_ link program, fix dest alpha
2012-12-31 02:34:27 +01:00
d9f3fc4495
fix ubo for intel cards (also amd?)
2012-12-28 17:06:08 +01:00
1a8005d948
set ProgramShaderCache program format correctly.
2012-10-09 23:56:00 -05:00
210ecad15f
let us try normal c++ static init instead...
2012-10-09 23:56:00 -05:00
03b09bed5d
Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen.
2012-10-09 23:56:00 -05:00
2e15440896
Add support for Dual source blending to older ATI cards that don't support 420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways.
2012-10-09 23:56:00 -05:00
108722bed0
oops, forgot to make sure the gl program is actually free'd.
2012-10-09 23:54:18 -05:00
4c1fef8f98
refactor ProgramShaderCache::PCacheEntry
2012-10-09 23:54:18 -05:00
aaa405c973
Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways.
2012-10-09 23:54:18 -05:00
31a8424bcc
fix formatting uglies introduced in glsl-master branch
2012-10-09 23:54:17 -05:00
c4e7a288e5
Add in the Windows fix.
2012-10-09 23:43:22 -05:00
5c486587a6
Write all shaders to disk on emulator stop instead of constantly. Also change pair from u64 to u32.
2012-10-09 23:43:22 -05:00
4eb227bd4c
If user doesn't compile with glew 1.6, cut out program binaries so everything still compiles.
2012-10-09 23:43:22 -05:00
7c91476650
Missed a if, don't want people crashing now do we?
2012-10-09 23:42:41 -05:00
9996f27120
Give OSX users more of a chance of supporting Single pass DSB in the future.
2012-10-09 23:42:41 -05:00
d012c75005
Implement Program shaders cache. Seems to reduce a small amount of stuttering when F-Zero starts. Did it because I can :|
2012-10-09 23:42:41 -05:00
7cb3d86e31
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.
2012-10-09 23:42:40 -05:00
1aad2e9e56
There we go, actually found the issue.
2012-10-09 23:42:40 -05:00
6759ee701d
This thing fails when we don't support binding. Not 100% sure why I need to set this multiple times.
2012-10-09 23:42:40 -05:00
9c09e1973a
Some shader programs don't come with Vertex shaders attached, don't try to bind a Vertex Uniform block then.
2012-10-09 23:42:40 -05:00
f8d0c28e53
Set Sampler values at program make time instead of every frame. Fix an issue when The user had UBO support but not Binding support.
2012-10-09 23:42:40 -05:00
ddd4360d6d
Only delete this buffer if we support it.
2012-10-09 23:42:39 -05:00
7aad45658e
Add a GUI option to use GLSL shaders. Also fix a small typo.
2012-10-09 23:42:39 -05:00
076c1a5aa7
Make sure not to try and bind UBO locations when it isn't supported
2012-10-09 23:41:49 -05:00
ba12c0b4f5
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.
2012-10-09 23:41:48 -05:00
d70726b035
glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now
2012-10-09 23:41:48 -05:00
d9117ab6a1
try combining vs/ps ubo
2012-10-09 23:41:48 -05:00
e641ede232
make use of glMapBuffer to set ubo data
2012-10-09 23:41:48 -05:00
8e80771670
fix stupid indentation
2012-10-09 23:41:48 -05:00
73a29bf6a1
have separate variables/functions for VS/PS ubo stuff, array was confusing.
2012-10-09 23:41:48 -05:00
a809feae1a
Disable UBO buffer generation if hardware doesn't support it.
2012-10-09 23:41:48 -05:00
3bcec51334
More coding style fixes because I suck at sed
2012-10-09 23:41:48 -05:00
3c6d0fc710
8 spaces indentation -> tabs
2012-10-09 23:41:48 -05:00
a304af75fd
Make this pretty
2012-10-09 23:41:06 -05:00
67687a7b6d
Make sure our UBO buffers are always aligned correctly.
2012-10-09 23:41:06 -05:00
5b06bbf87d
Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs.
2012-10-09 23:41:06 -05:00
5bcbf92f43
Make sure to support everything even if GPU doesn't.
2012-10-09 23:41:06 -05:00
d4a80ca3ec
yay, UBOs work 100% now.
2012-10-09 23:41:05 -05:00
1f75ee49bf
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.
2012-10-09 23:41:05 -05:00
904adb9e3d
More for Billiard <3
2012-10-09 23:41:05 -05:00
ce7a54f32a
Firin ma lazer
2012-10-09 23:41:05 -05:00
b105d70339
Firin ma lazer
2012-10-09 23:41:05 -05:00
c82b92bfc2
Fix one error.
2012-10-09 23:41:05 -05:00
2fbca145cb
Remove bSupportsGLSLLocation since it won't work how I expect it.
2012-10-09 23:41:05 -05:00
4a84c6f742
Add in UBOs, doesn't work yet. Still debugging here.
2012-10-09 23:41:05 -05:00
a357c77257
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).
2012-10-09 23:23:37 -05:00