Commit Graph

39 Commits

Author SHA1 Message Date
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
Ryan Houdek c4e7a288e5 Add in the Windows fix. 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
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 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 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 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
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 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
Ryan Houdek 904adb9e3d More for Billiard <3 2012-10-09 23:41:05 -05:00
Ryan Houdek ce7a54f32a Firin ma lazer 2012-10-09 23:41:05 -05:00
Ryan Houdek b105d70339 Firin ma lazer 2012-10-09 23:41:05 -05:00
Ryan Houdek c82b92bfc2 Fix one error. 2012-10-09 23:41:05 -05:00
Ryan Houdek 2fbca145cb Remove bSupportsGLSLLocation since it won't work how I expect it. 2012-10-09 23:41:05 -05:00
Ryan Houdek 4a84c6f742 Add in UBOs, doesn't work yet. Still debugging here. 2012-10-09 23:41:05 -05:00
Ryan Houdek 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