Ryan Houdek 
							
						 
					 
					
						
						
							
						
						447b1b09e3 
					 
					
						
						
							
							Support OpenGL ES 3.2.  
						
						 
						
						... 
						
						
						
						OpenGL ES 3.2 adds a few things we care about supporting in core. In particular:
- GL_{ARB,EXT,OES}_draw_elements_base_vertex
- KHR_Debug
- Sample Shading
- GL_{ARB,EXT,OES,NV}_copy_image
- Geometry shaders
- Geometry shader instancing (If they support GL_{EXT,OES}_geometry_point_size)
Nvidia was the first to release an OpenGL ES 3.2 driver which I uesd to test this on.
This also enables GS Instancing on GLES 3.1 hardware if it supports all of the required extensions. 
						
						
					 
					
						2015-08-26 17:57:51 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						c375111076 
					 
					
						
						
							
							Options: merge SCoreStartupParameter into SConfig  
						
						 
						
						
						
						
					 
					
						2015-06-12 19:07:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								JosJuice 
							
						 
					 
					
						
						
							
						
						95a2abc1ce 
					 
					
						
						
							
							Use PanicAlertT instead of PanicAlert when appropriate  
						
						 
						
						... 
						
						
						
						I tried to change messages that contained instructions for users,
while avoiding messages that are so technical that most users
wouldn't understand them even if they were in the right language. 
						
						
					 
					
						2015-06-04 13:25:06 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tillmann Karras 
							
						 
					 
					
						
						
							
						
						30ebb2459e 
					 
					
						
						
							
							Set copyright year to when a file was created  
						
						 
						
						
						
						
					 
					
						2015-05-25 13:22:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tillmann Karras 
							
						 
					 
					
						
						
							
						
						cefcb0ace9 
					 
					
						
						
							
							Update license headers to GPLv2+  
						
						 
						
						
						
						
					 
					
						2015-05-25 13:22:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						b0f61201c3 
					 
					
						
						
							
							Merge pull request  #2142  from Sonicadvance1/fix_gles31_non_nvidia  
						
						 
						
						... 
						
						
						
						Fix OpenGL ES 3.1 on non-Nvidia devices. 
						
						
					 
					
						2015-03-08 09:03:05 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						3c5e99c777 
					 
					
						
						
							
							Fix OpenGL ES 3.1 on non-Nvidia devices.  
						
						 
						
						... 
						
						
						
						We are declaring we require ARB_shader_image_load_store in the shader, this isn't an extension on GLES because it is part of the GLSL ES 3.1 spec.
If we are running as GLES then just not put it in the shaders. 
						
						
					 
					
						2015-03-08 08:49:53 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						728081dad2 
					 
					
						
						
							
							ProgramShaderCache: Do plenty of error checking before writing shaders to the disk.  
						
						 
						
						
						
						
					 
					
						2015-03-02 17:03:49 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						ac7102918d 
					 
					
						
						
							
							OGL: support palette texture decoding  
						
						 
						
						
						
						
					 
					
						2015-02-24 22:51:55 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						1b9fe70d7c 
					 
					
						
						
							
							VideoCommon: Make IsPassthrough() a function of the ShaderUid.  
						
						 
						
						
						
						
					 
					
						2014-12-19 14:10:53 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						7e8f96f0d3 
					 
					
						
						
							
							OGL: Don't generate a geometry shader if the backend doesn't support it.  
						
						 
						
						... 
						
						
						
						This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag. 
						
						
					 
					
						2014-12-18 00:36:49 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						bd6d229733 
					 
					
						
						
							
							GeometryShader: Disable the geometry shader stage if it is a pass-through shader.  
						
						 
						
						
						
						
					 
					
						2014-12-18 00:36:48 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						382e1c22db 
					 
					
						
						
							
							GeometryShaderGen: Support multiple primitive types.  
						
						 
						
						... 
						
						
						
						And make more stereoscopy code optional. 
						
						
					 
					
						2014-12-15 22:47:41 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						aa4242fd9c 
					 
					
						
						
							
							GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy.  
						
						 
						
						
						
						
					 
					
						2014-12-14 21:23:20 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						b406e4e1f2 
					 
					
						
						
							
							VideoCommon: Add a separate constants buffer for the geometry shader.  
						
						 
						
						
						
						
					 
					
						2014-12-14 21:23:13 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								skidau 
							
						 
					 
					
						
						
							
						
						d02eb3ca59 
					 
					
						
						
							
							Merge pull request  #1640  from rohit-n/switch-default  
						
						 
						
						... 
						
						
						
						Silence some -Wswitch-default warnings. 
						
						
					 
					
						2014-12-13 19:47:06 +11:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rohit Nirmal 
							
						 
					 
					
						
						
							
						
						b030d29067 
					 
					
						
						
							
							Silence some -Wswitch-default warnings.  
						
						 
						
						
						
						
					 
					
						2014-12-11 22:23:05 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						ce7c52eca0 
					 
					
						
						
							
							Enables stereo rendering with OpenGL ES 3.1 + AEP.  
						
						 
						
						... 
						
						
						
						If the host device supports GLES 3.1 and AEP we can have stereo rendering.
Just need to make sure to grab the correct function pointer that GL_EXT_geometry_shader provides, and enable AEP in the shaders.
We can't just check if AEP is in the extension list for support because Qualcomm has failed once more.
With the Nexus 6 it reports support for AEP but doesn't support OpenGL ES 3.1, which is an impossible combination.
From reports on their forum it seems that attempting to use any AEP things results in nothing happening, seems like a stub implementation. 
						
						
					 
					
						2014-12-07 11:14:35 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						38dfc970df 
					 
					
						
						
							
							Fixes OpenGL ES rendering.  
						
						 
						
						... 
						
						
						
						sampler2DArray doesn't have a default precision, so we need to set it ourselves. 
						
						
					 
					
						2014-11-29 01:27:47 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						4d075c2efb 
					 
					
						
						
							
							ProgramShaderCache: Abort shader compilation if geometry shader failed to compile.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:27:40 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						aa57feb9a8 
					 
					
						
						
							
							ProgramShaderCache: Don't call glAttachShader if no geometry shader was compiled.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:27:39 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						9b22e15180 
					 
					
						
						
							
							VideoConfigDiag: Add stereoscopy options group.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:27:38 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						f370cb386c 
					 
					
						
						
							
							ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:27:38 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						d583720a59 
					 
					
						
						
							
							GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:26:56 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						b005f61a2e 
					 
					
						
						
							
							Add geometry shader generator for stereo 3D.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:22:55 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						c211450b99 
					 
					
						
						
							
							OGL: implement bounding box support with ssbo  
						
						 
						
						... 
						
						
						
						This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw. 
						
						
					 
					
						2014-11-17 21:20:32 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						49b94e5285 
					 
					
						
						
							
							OGL: Get rid of error macros  
						
						 
						
						
						
						
					 
					
						2014-10-26 04:54:58 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rohit Nirmal 
							
						 
					 
					
						
						
							
						
						c0f7cab3f5 
					 
					
						
						
							
							Remove extra semicolons at the ends of some lines.  
						
						 
						
						
						
						
					 
					
						2014-09-10 12:17:38 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						32953fd968 
					 
					
						
						
							
							OGL: Clean up parameters for some functions.  
						
						 
						
						
						
						
					 
					
						2014-08-15 14:15:23 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						960b54670c 
					 
					
						
						
							
							OGL: Fix brace and body placements  
						
						 
						
						... 
						
						
						
						Also got rid of void argument specifiers. These are a carryover from C. 
						
						
					 
					
						2014-08-15 14:12:29 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						bc9ef95643 
					 
					
						
						
							
							Support Sampler binding in the shader.  
						
						 
						
						... 
						
						
						
						In the cases where we support the binding layout keyword, use it for more than binding UBO location.
This changes it so it is supported for samplers as well.
Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10. 
						
						
					 
					
						2014-07-18 17:04:03 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						6d3f249dcc 
					 
					
						
						
							
							mark all local variables as static  
						
						 
						
						
						
						
					 
					
						2014-07-11 16:10:20 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						22e1aa5bb4 
					 
					
						
						
							
							mark all local functions as static  
						
						 
						
						
						
						
					 
					
						2014-07-11 16:07:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						7db5a4b22d 
					 
					
						
						
							
							Statistics: Reformat stats string  
						
						 
						
						
						
						
					 
					
						2014-06-27 09:36:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						ce54c1e571 
					 
					
						
						
							
							Kill off replaceable usages of s[n]printf.  
						
						 
						
						
						
						
					 
					
						2014-06-18 19:53:38 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						c1b6fcc00b 
					 
					
						
						
							
							ogl: pixel format shader without resolving  
						
						 
						
						... 
						
						
						
						v2: Don't use std::to_string as this function is broken on android. 
						
						
					 
					
						2014-05-19 09:29:40 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						2d8cfb89d7 
					 
					
						
						
							
							Changes posmtx vertex attribute to integer.  
						
						 
						
						... 
						
						
						
						This makes it so we don't need to do some dumb casting from float to integer in our shaders.
Only tested in OpenGL, needs to be tested in D3D. 
						
						
					 
					
						2014-04-30 19:11:06 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						3251d78f89 
					 
					
						
						
							
							Add initial support for GLSL ES 3.10.  
						
						 
						
						... 
						
						
						
						GLSL ES 3.10 adds implicit support for the binding layout qualifier that we use.
Changes our GLSL version enums to bit values so we can check for both ES versions easily. 
						
						
					 
					
						2014-04-03 00:46:09 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pierre Bourdon 
							
						 
					 
					
						
						
							
						
						8d679e76d2 
					 
					
						
						
							
							Merge pull request  #164  from lioncash/cstr-cull  
						
						 
						
						... 
						
						
						
						Kill off some usages of c_str. 
						
						
					 
					
						2014-03-15 00:57:56 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						fa77e1d2b6 
					 
					
						
						
							
							PixelShaderGen: Use integer math for alpha testing.  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:26:48 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						2af50f04c2 
					 
					
						
						
							
							OGL: Force highp for integers.  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:26:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						a82675b7d5 
					 
					
						
						
							
							Kill off some usages of c_str.  
						
						 
						
						... 
						
						
						
						Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc). 
						
						
					 
					
						2014-03-14 13:51:23 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Matthew Parlane 
							
						 
					 
					
						
						
							
						
						31cfc73a09 
					 
					
						
						
							
							Fixes spacing for "for", "while", "switch" and "if"  
						
						 
						
						... 
						
						
						
						Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining. 
						
						
					 
					
						2014-03-11 00:35:07 +13:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tillmann Karras 
							
						 
					 
					
						
						
							
						
						d802d39281 
					 
					
						
						
							
							clang-modernize -use-nullptr  
						
						 
						
						... 
						
						
						
						and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine 
						
						
					 
					
						2014-03-09 21:14:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tillmann Karras 
							
						 
					 
					
						
						
							
						
						c89f04a7c5 
					 
					
						
						
							
							clang-modernize -loop-convert  
						
						 
						
						... 
						
						
						
						and some manual adjustments 
						
						
					 
					
						2014-03-09 21:11:59 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						f628695d31 
					 
					
						
						
							
							comment fixes  
						
						 
						
						
						
						
					 
					
						2014-02-26 12:48:52 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						aaaa5af0b2 
					 
					
						
						
							
							remove (ATTR|VARY)(IN|OUT) macros  
						
						 
						
						
						
						
					 
					
						2014-02-26 11:37:29 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pierre Bourdon 
							
						 
					 
					
						
						
							
						
						425f9dcd51 
					 
					
						
						
							
							Fix more header sorting issues in VideoBackends/ (now check-includes clean).  
						
						 
						
						
						
						
					 
					
						2014-02-20 01:01:11 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						2afe215271 
					 
					
						
						
							
							Convert all includes to relative paths.  
						
						 
						
						
						
						
					 
					
						2014-02-18 02:19:10 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						6089e4470a 
					 
					
						
						
							
							OGL: remove ubo workaround  
						
						 
						
						... 
						
						
						
						This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year. 
						
						
					 
					
						2014-02-01 22:33:45 +01:00