Shawn Hoffman
|
210ecad15f
|
let us try normal c++ static init instead...
|
2012-10-09 23:56:00 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
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 |
Ryan Houdek
|
5085cebaf3
|
These checks aren't needed when using CG.
|
2012-10-09 23:55:59 -05:00 |
Ryan Houdek
|
e88d35d1c1
|
Had a few vec4 and float4(0) calls floating around.
|
2012-10-09 23:55:59 -05:00 |
Shawn Hoffman
|
108722bed0
|
oops, forgot to make sure the gl program is actually free'd.
|
2012-10-09 23:54:18 -05:00 |
Ryan Houdek
|
e3854ded73
|
Woops, better not forget the ing
|
2012-10-09 23:54:18 -05:00 |
Ryan Houdek
|
4cd748bbec
|
Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending.
|
2012-10-09 23:54:18 -05:00 |
Shawn Hoffman
|
4c1fef8f98
|
refactor ProgramShaderCache::PCacheEntry
|
2012-10-09 23:54:18 -05:00 |
Shawn Hoffman
|
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 |
Shawn Hoffman
|
31a8424bcc
|
fix formatting uglies introduced in glsl-master branch
|
2012-10-09 23:54:17 -05:00 |
Shawn Hoffman
|
4a4833e617
|
default to GLSL instead of Cg
|
2012-10-09 23:43:22 -05:00 |
Ryan Houdek
|
c4e7a288e5
|
Add in the Windows fix.
|
2012-10-09 23:43:22 -05:00 |
Ryan Houdek
|
ee529b7125
|
Only use explicit attribute locations when we are supporting GLSL > 1.2 since we need in/out instead of attribute variable types. This was brought to my attention from MESA. MESA supports GL_ARB_explicit_attrib_location, but yets to support GLSL 1.3, so basically useless extension to MESA right now?
|
2012-10-09 23:43:22 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
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 |
Ryan Houdek
|
189d12b61c
|
If CG isn't available, still compile and fallback on GLSL
|
2012-10-09 23:43:22 -05:00 |
Sonicadvance1
|
7c91476650
|
Missed a if, don't want people crashing now do we?
|
2012-10-09 23:42:41 -05:00 |
Ryan Houdek
|
9996f27120
|
Give OSX users more of a chance of supporting Single pass DSB in the future.
|
2012-10-09 23:42:41 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
ef1e157786
|
Go back to using glGetString with GL_EXTENSIONS because glew 1.7 is required to check for newer 4.2 extensions that way.
|
2012-10-09 23:42:40 -05:00 |
Ryan Houdek
|
ac77bbd47b
|
Move the GLSL extension checks over here so it is nicer.
|
2012-10-09 23:42:40 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
1aad2e9e56
|
There we go, actually found the issue.
|
2012-10-09 23:42:40 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
c76593f6a2
|
Looky, OSX found an issue for me.
|
2012-10-09 23:42:40 -05:00 |
Ryan Houdek
|
66a245dd68
|
Remove this silliness
|
2012-10-09 23:42:40 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
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 |
Ryan Houdek
|
ddd4360d6d
|
Only delete this buffer if we support it.
|
2012-10-09 23:42:39 -05:00 |
Ryan Houdek
|
7aad45658e
|
Add a GUI option to use GLSL shaders. Also fix a small typo.
|
2012-10-09 23:42:39 -05:00 |
Ryan Houdek
|
076c1a5aa7
|
Make sure not to try and bind UBO locations when it isn't supported
|
2012-10-09 23:41:49 -05:00 |
Ryan Houdek
|
7f12daa014
|
Looks like we make use of fmod, make a GLSL function for it!
|
2012-10-09 23:41:49 -05:00 |
Ryan Houdek
|
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 |
Jordan Woyak
|
d70726b035
|
glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now
|
2012-10-09 23:41:48 -05:00 |
Jordan Woyak
|
d9117ab6a1
|
try combining vs/ps ubo
|
2012-10-09 23:41:48 -05:00 |
Jordan Woyak
|
e641ede232
|
make use of glMapBuffer to set ubo data
|
2012-10-09 23:41:48 -05:00 |
Ryan Houdek
|
04836705b7
|
Show a bit of information when using GLSL shaders.
|
2012-10-09 23:41:48 -05:00 |
Jordan Woyak
|
8e80771670
|
fix stupid indentation
|
2012-10-09 23:41:48 -05:00 |
Jordan Woyak
|
73a29bf6a1
|
have separate variables/functions for VS/PS ubo stuff, array was confusing.
|
2012-10-09 23:41:48 -05:00 |
Ryan Houdek
|
a809feae1a
|
Disable UBO buffer generation if hardware doesn't support it.
|
2012-10-09 23:41:48 -05:00 |
Pierre Bourdon
|
3bcec51334
|
More coding style fixes because I suck at sed
|
2012-10-09 23:41:48 -05:00 |
Pierre Bourdon
|
3c6d0fc710
|
8 spaces indentation -> tabs
|
2012-10-09 23:41:48 -05:00 |
Ryan Houdek
|
a5257c1a0a
|
Actually have Dual Source blending work for people. Forgot about this change.
|
2012-10-09 23:41:06 -05:00 |
Ryan Houdek
|
a304af75fd
|
Make this pretty
|
2012-10-09 23:41:06 -05:00 |
Ryan Houdek
|
67687a7b6d
|
Make sure our UBO buffers are always aligned correctly.
|
2012-10-09 23:41:06 -05:00 |
Ryan Houdek
|
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 |
Ryan Houdek
|
5bcbf92f43
|
Make sure to support everything even if GPU doesn't.
|
2012-10-09 23:41:06 -05:00 |
Ryan Houdek
|
d4a80ca3ec
|
yay, UBOs work 100% now.
|
2012-10-09 23:41:05 -05:00 |
Ryan Houdek
|
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 |