Commit Graph

1756 Commits

Author SHA1 Message Date
6a446efd5f Second Stage: re implement zcomplock and correct all the logic error in PixelShaderGen.cpp. i disable fastzcomlock for the moment to avoid confusions.
please test for regressions
2012-04-03 00:08:36 -03:00
a0d60210fd First Stage:
Fix depth related errors in dstalpha pass.
best place to test: water splash effect in super mario galaxy
2012-04-02 14:26:12 -03:00
460610ea0e Revert Rodolfo's recent zcomploc commits until they actually work correctly.
This reverts commit 402006a83a.
This reverts commit 48d8d71391.
This reverts commit 450dcc9d2c.
2012-03-30 01:57:53 +02:00
402006a83a more fixes to zcomplock and opengl implementation 2012-03-29 18:26:58 -03:00
450dcc9d2c As requested, this is my implementation of zcomploc using a multi-pass algorithm. My apologize to the others devs for committing in the main branch but is the only way to get this tested as soon as possible.
please test for regressions, speed and for other issues fixed, as a example, the black color in water splash in super mario galaxy are fixed with this rev.
please as soon as yo find a bug let me know.
2012-03-27 15:44:58 -03:00
fee98b426b Revert r41bcf657f89d, r3a9fed0ba285, r9adc119e3c2f and re58692653afd (all of them are wrong). 2012-03-24 15:58:44 +01:00
9adc119e3c PixelShaderGen: For custom textures and scaled EFB copies, use correct texel to pixel mapping when sampling textures
(D3D9 only)

This is basically the same as revision e58692653a, just for scaled textures and with a LOT more work...
2012-02-20 20:32:08 +01:00
eb01a110c9 Implement texture preloading 2012-02-03 21:21:13 +01:00
1446fb33d5 TextureCacheBase: Replace the efbcopy_state member variable of texture cache entries with a more general "texture type" 2012-01-31 19:52:02 +01:00
cc54ee7d94 TextureCache: Move EFB copy cache code from TextureConverter to TextureCache 2012-01-31 19:51:32 +01:00
a02df43e6d TextureConverter (OGL/D3D9): Kill EncodeToRam because it wasn't used anywhere and it basically does the same as EncodeToRamFromTexture anyway 2012-01-31 18:09:35 +01:00
3b38295cbd TextureCacheBase: De-uglify hybrid EFB copies (documentation needs updating though)
TextureCacheBase: Fixed dynamic EFB copies being set to normal textures.
2012-01-31 18:09:35 +01:00
5239ba88c9 TextureCache: Remove unsafe texture cache 2012-01-31 18:09:35 +01:00
c5008fe9de TextureCache: Renaming some variables
OGL: Fix a possible bug at texture dumping
OGL: Add a TODO about a possible bug
2012-01-31 18:09:34 +01:00
f57f654b59 set ProgramShaderCache program format correctly. 2012-01-18 10:22:03 -08:00
0b74ead13f More "stuff" for SS, also a small fix in the program shader cache cache setup." 2012-01-11 04:10:43 -06:00
39613a95a8 initialize the uninitialized 2012-01-04 01:36:09 -08:00
bd5cf88686 let us try normal c++ static init instead... 2011-12-29 16:25:03 +01:00
6a5b56d25f Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen. 2011-12-29 01:35:50 -06:00
8a48b42e4c 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. 2011-12-29 00:32:06 -06:00
fbbea9bb9b These checks aren't needed when using CG. 2011-12-29 00:01:50 -06:00
c8d0c8e217 oops, forgot to make sure the gl program is actually free'd. 2011-12-26 10:27:18 -05:00
6f729f8cbf Woops, better not forget the ing 2011-12-26 04:09:36 -06:00
3773d29b6d Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending. 2011-12-26 03:54:44 -06:00
5f296d0be7 refactor ProgramShaderCache::PCacheEntry 2011-12-26 02:58:52 -05:00
16f9d8e06d Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways. 2011-12-26 00:43:47 -05:00
4bc14c3473 fix formatting uglies introduced in glsl-master branch 2011-12-26 00:15:54 -05:00
b607695103 Add in the Windows fix. 2011-12-25 12:21:31 -06:00
8349cc2551 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? 2011-12-24 08:58:51 -06:00
aa2032af2c Write all shaders to disk on emulator stop instead of constantly. Also change pair from u64 to u32. 2011-12-24 02:19:30 -06:00
b90fa37c60 If user doesn't compile with glew 1.6, cut out program binaries so everything still compiles. 2011-12-24 00:37:13 -06:00
9bc6b83fd0 If CG isn't available, still compile and fallback on GLSL 2011-12-24 00:24:13 -06:00
7c558df283 Missed a if, don't want people crashing now do we? 2011-12-21 22:33:33 +00:00
8e0172374c Give OSX users more of a chance of supporting Single pass DSB in the future. 2011-12-21 01:29:29 -06:00
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
31a9b6c322 Go back to using glGetString with GL_EXTENSIONS because glew 1.7 is required to check for newer 4.2 extensions that way. 2011-12-20 23:07:42 -06:00
dc134b9bac Move the GLSL extension checks over here so it is nicer. 2011-12-20 21:55:11 -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
3e773f093d fixed a freeze on emu shutdown in windows build 2011-12-19 15:13:26 -08: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
636d6a915d Remove this silliness 2011-12-18 01:51:15 -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