Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Houdek 53398ca5d8 Remove GLSL option from video options 2012-12-24 12:22:02 -06:00
Ryan Houdek 9209253e0d Initial removal of Nvidia CG. Still some more cleanup to go 2012-12-24 11:09:52 -06:00
Ryan Houdek 57426ee726 Forced commit 2012-10-13 13:00:04 -05:00
Ryan Houdek 3f0d7312fa A couple missed lines on the rebase. 2012-10-13 12:43:00 -05:00
Ryan Houdek 10666a9b87 More 'stuff' 2012-10-09 23:56:00 -05:00
Ryan Houdek eb7a0c485a More "stuff" for SS, also a small fix in the program shader cache cache setup." 2012-10-09 23:56:00 -05:00
Ryan Houdek 71f6b1eec6 Change 'stuff' 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
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
Ryan Houdek 3a5b6aed91 Missed a line here 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
Ryan Houdek 04836705b7 Show a bit of information when using GLSL shaders. 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
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
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 76e5766a1b Put Vertex Uniforms in to the correct places to get ready for UBOs. 2012-10-09 23:41:04 -05:00
Ryan Houdek d897491f94 Few compiler errors that got exposed once I got Dual Source Blending working. Seems it isn't working quite 100% either. Good chance I missed something anyway. 2012-10-09 23:41:04 -05:00
Ryan Houdek d83ead5914 Support Dual Source Blending in OGL plugin with GLSL. 2012-10-09 23:39:16 -05:00
Ryan Houdek eff019442f Playing through SSBM story made me find this. 2012-10-09 23:37:52 -05:00
Ryan Houdek b24990ca28 Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now. 2012-10-09 23:37:52 -05:00
Ryan Houdek cf68cc0c61 Add support for GL_ARB_shading_language_420pack so we don't have to binding sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating. 2012-10-09 23:37:52 -05:00
Ryan Houdek 081ad949ce Welp, just fixed that problem. 2012-10-09 23:35:45 -05:00
Ryan Houdek 3c9c5de722 Missed a spot. Most games work now, Still have a problem with viewtiful joe. Destination Alpha pass doesn't work yet, going to use Dual source blending on that. 2012-10-09 23:35:45 -05:00
Ryan Houdek 8058f2f32f Missed one 2012-10-09 23:33:02 -05:00
Ryan Houdek 9064b76deb Shader Compile fixes. Played SMS for two shines. 2012-10-09 23:33:02 -05:00
Ryan Houdek 3160da1289 This lets us see stuff with GLSL shaders. Just need to take care of some compile errors now. 2012-10-09 23:33:02 -05:00
Ryan Houdek 7cec31dbf3 Almost there. 2012-10-09 23:33:02 -05:00
Ryan Houdek 8123b137aa This is the terrible bit that can't be removed until we use UBOs in the GLSL shaders. 2012-10-09 23:31:31 -05:00
Ryan Houdek 0fc755c4df More stuff 2012-10-09 23:31:31 -05:00
Ryan Houdek 66a5334158 moe 2012-10-09 23:30:48 -05:00
Ryan Houdek 7a4c080c70 mah 2012-10-09 23:29:30 -05:00
Ryan Houdek 411357b54a Compile 2012-10-09 23:29:30 -05:00
Ryan Houdek 34c7b3fd73 meh 2012-10-09 23:29:30 -05:00
Ryan Houdek 3943840d5c Now CG plays nice with this new stuff. 2012-10-09 23:27:59 -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
Sonicadvance1 8fed3b76c8 If setting videobackend back to null strings, Just set it to the front of the list. Fixes loading game specific INI files that don't load back the "default" video backend which is nothing. 2012-09-25 00:47:37 +00:00
Ryan Houdek 41266129ba Should fix issue 5630. 2012-09-24 17:16:34 -05:00
Ryan Houdek 3229bf824c Should actually load the backend when it changes via game INI 2012-09-23 17:54:23 -05:00
Ryan Houdek f8f8aea577 Allow the user to set graphics backend from Game INI. Zero GUI option available for setting. 2012-09-23 16:02:11 -05:00
Ryan Houdek b4ae200d0d This changes a mmap in MemArena so you don't need 786MB of memory free to actually allocate the 1GB memory space in Linux 32bit. I was also running in to this issue in my development. Kudos to plbl4ster to actually taking the time to research this. Closes issue 5625. 2012-09-23 10:08:13 -05:00
Ryan Houdek be200074e9 [Linux] Change from using /tmp to /dev/shm in MemArena so we don't cause any disk IO, also unlink file while it is open to allow multiple instances running. This was discussed months ago, but was never implemented for whatever reason. 2012-08-22 23:39:50 -05:00
Ryan Houdek d355ad7055 More 'stuff' 2012-01-11 16:00:30 -06:00
Ryan Houdek 0b74ead13f More "stuff" for SS, also a small fix in the program shader cache cache setup." 2012-01-11 04:10:43 -06:00
Ryan Houdek 38f9820905 Merge branch 'GLSL-master' of https://code.google.com/p/dolphin-emu into GLSL-master 2012-01-11 01:19:14 -06:00
Ryan Houdek 576955c145 Change 'stuff' 2012-01-11 01:18:54 -06:00
Ryan Houdek 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
Ryan Houdek 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
Ryan Houdek fbbea9bb9b These checks aren't needed when using CG. 2011-12-29 00:01:50 -06:00
Ryan Houdek 2cb53854f7 Merge branch 'GLSL-master' of https://code.google.com/p/dolphin-emu into GLSL-master 2011-12-27 12:36:23 -06:00
Ryan Houdek 88d20f1a2b Had a few vec4 and float4(0) calls floating around. 2011-12-27 12:35:35 -06:00
Ryan Houdek 6f729f8cbf Woops, better not forget the ing 2011-12-26 04:09:36 -06:00
Ryan Houdek 3773d29b6d Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending. 2011-12-26 03:54:44 -06:00
Ryan Houdek 8266a56486 Missed a line here 2011-12-25 12:44:31 -06:00
Ryan Houdek b607695103 Add in the Windows fix. 2011-12-25 12:21:31 -06:00
Ryan Houdek 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
Ryan Houdek 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
Ryan Houdek 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
Ryan Houdek 9bc6b83fd0 If CG isn't available, still compile and fallback on GLSL 2011-12-24 00:24:13 -06:00
Sonicadvance1 7c558df283 Missed a if, don't want people crashing now do we? 2011-12-21 22:33:33 +00:00
Ryan Houdek 8e0172374c Give OSX users more of a chance of supporting Single pass DSB in the future. 2011-12-21 01:29:29 -06:00
Ryan Houdek 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
Ryan Houdek 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
Ryan Houdek dc134b9bac Move the GLSL extension checks over here so it is nicer. 2011-12-20 21:55:11 -06:00
Ryan Houdek 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