Commit Graph

23 Commits

Author SHA1 Message Date
c3aafc77b3 upload complete uniform buffer at once
this is the way of dx11. it would upload more per draw, but uses less calls.
will be faster if many uniforms are changed, but slower else
2013-01-14 13:58:11 +01:00
c2898748ac bind locations _before_ link program, fix dest alpha 2012-12-31 02:34:27 +01:00
1a8005d948 set ProgramShaderCache program format correctly. 2012-10-09 23:56:00 -05:00
eb7a0c485a More "stuff" for SS, also a small fix in the program shader cache cache setup." 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
108722bed0 oops, forgot to make sure the gl program is actually free'd. 2012-10-09 23:54:18 -05:00
4cd748bbec Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending. 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
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
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
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
73a29bf6a1 have separate variables/functions for VS/PS ubo stuff, array was confusing. 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
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