Jules Blok 
							
						 
					 
					
						
						
							
						
						27f3f804a0 
					 
					
						
						
							
							ShaderGen: Only pass VS_OUTPUT between shaders if stereo 3D is enabled.  
						
						 
						
						... 
						
						
						
						GLSL130 doesn't support passing structs between shaders.
This is not a problem for stereo 3D which has a GLSL150 requirement. 
						
						
					 
					
						2014-11-23 14:27:40 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						9b22e15180 
					 
					
						
						
							
							VideoConfigDiag: Add stereoscopy options group.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:27:38 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						63b37e29d1 
					 
					
						
						
							
							ShaderGen: Rename "eye" to "layer".  
						
						 
						
						... 
						
						
						
						Keeping things generic. 
						
						
					 
					
						2014-11-23 14:26:56 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						176191dc16 
					 
					
						
						
							
							ShaderGenCommon: Move uniforms into a common static string.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:24:09 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						fa32f751d3 
					 
					
						
						
							
							ShaderGen: Handle ShaderCode objects directly.  
						
						 
						
						... 
						
						
						
						ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly. 
						
						
					 
					
						2014-11-23 14:24:09 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						b236c363de 
					 
					
						
						
							
							ShaderGen: Add a stereoscopy flag in the UID data.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:23:42 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						d9e280e338 
					 
					
						
						
							
							PixelShaderGen: Sample the correct texture layer.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:23:41 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						f6ea293027 
					 
					
						
						
							
							VertexShaderManager: Compute stereoscopy projection matrices.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:23:41 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						2d8ec62beb 
					 
					
						
						
							
							Pass VS_OUTPUT structs between shaders.  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:23:41 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						6670cacddc 
					 
					
						
						
							
							use GL_TEXTURE_2D_ARRAY for most of our textures  
						
						 
						
						
						
						
					 
					
						2014-11-23 14:22:22 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ryan Houdek 
							
						 
					 
					
						
						
							
						
						6d4867e36a 
					 
					
						
						
							
							Fixes missing objects on Adreno hardware.  
						
						 
						
						... 
						
						
						
						This particular bug from our friends over at Qualcomm manifests itself due to our alpha testing code having a conditional if statement in it.
This is a fairly recent breakage this time around, it was introduced in the v95 driver which comes with Android 5.0 on the Nexus 5.
So to break this issue down; In our alpha testing code we have two comparisons that happen and if they are true we will continue rendering, but if
they aren't true we do an early discard and return. This is summed up with a fairly simple if statement.
if (!(condition_1 <logic op> condition_2)) { /* discard and return */ }
This particular issue isn't actually due to the conditions within the if statement, but the negation of the result. This is the particular issue that
causes Qualcomm to fall flat on its face while doing so.
I've got two simple test cases that demonstrate this.
Non-working: http://hastebin.com/evugohixov.avrasm 
Working: http://hastebin.com/afimesuwen.avrasm 
As one can see, the disassembled output between the two shaders is different even though in reality it should have the same visual result.
I'm currently writing up a simple test program for Qualcomm to enjoy, since they will be asking for one when I tell them about the bug.
It will be tracked in our video driver failure spreadsheet along with the others. 
						
						
					 
					
						2014-10-29 06:21:03 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								comex 
							
						 
					 
					
						
						
							
						
						5c2a470b97 
					 
					
						
						
							
							Fix 'sizeof' which broke in my reference-to-pointer conversion.  
						
						 
						
						
						
						
					 
					
						2014-10-25 15:02:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								comex 
							
						 
					 
					
						
						
							
						
						8492d04dfa 
					 
					
						
						
							
							Use pointers instead of references in GetUidData to avoid the undefined behavior of *(T *)nullptr (ewwww)  
						
						 
						
						
						
						
					 
					
						2014-10-21 21:20:05 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								skidau 
							
						 
					 
					
						
						
							
						
						3023abc1b5 
					 
					
						
						
							
							Merge pull request  #1285  from degasus/master  
						
						 
						
						... 
						
						
						
						PixelShaderGen: replace multiplication with shift 
						
						
					 
					
						2014-10-16 14:04:25 +11:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Markus Wick 
							
						 
					 
					
						
						
							
						
						1227bd2ba6 
					 
					
						
						
							
							PixelShaderGen: replace multiplication with shift  
						
						 
						
						... 
						
						
						
						iirc both nvidia and i965 doesn't optimize this 
						
						
					 
					
						2014-10-14 12:34:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								skidau 
							
						 
					 
					
						
						
							
						
						b4399dbdf3 
					 
					
						
						
							
							Fixed the "Undeclared identifier: uv0" OpenGL shader compile error that appears in NBA2K11.  
						
						 
						
						
						
						
					 
					
						2014-09-24 00:10:45 +10: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 
							
						 
					 
					
						
						
							
						
						01fd96ab31 
					 
					
						
						
							
							PixelShaderGen: fix indentation  
						
						 
						
						
						
						
					 
					
						2014-07-16 17:24:43 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						924ad1ee9f 
					 
					
						
						
							
							LightingShader: hard code const variable  
						
						 
						
						
						
						
					 
					
						2014-06-19 16:46:53 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						e456a5e64f 
					 
					
						
						
							
							PixelShader: remove the duplicated ppl constants  
						
						 
						
						
						
						
					 
					
						2014-06-19 16:33:33 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						d93f2973f7 
					 
					
						
						
							
							PixelShader: use the vertex const buffer for ppl  
						
						 
						
						
						
						
					 
					
						2014-06-19 16:33:33 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						0fac17da33 
					 
					
						
						
							
							Merge pull request  #269  from magumagu/swbackend-xfregisters  
						
						 
						
						... 
						
						
						
						SW backend: use VideoCommon XFRegisters struct. 
						
						
					 
					
						2014-05-17 10:40:57 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						1357277f40 
					 
					
						
						
							
							Video backends: mass-replace "xfregs" with "xfmem".  
						
						 
						
						
						
						
					 
					
						2014-05-16 18:58:07 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						8b82cea704 
					 
					
						
						
							
							Video backends: fix behavior of "konst" TEV inputs.  
						
						 
						
						... 
						
						
						
						Also fixes TEVCOLORARG_HALF.
Values verified to match hardwarere. 
						
						
					 
					
						2014-05-16 12:19:35 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						b4e1ac5f08 
					 
					
						
						
							
							Merge pull request  #185  from degasus/shader-cleanup  
						
						 
						
						... 
						
						
						
						Shader cleanup 
						
						
					 
					
						2014-05-06 11:37:11 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						813e30ec2a 
					 
					
						
						
							
							ShaderGen: make uv readonly  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:38 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						6109958e68 
					 
					
						
						
							
							ShaderGen: OGL: don't make a copy of "Normal"  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						0e0da8c8fd 
					 
					
						
						
							
							ShaderGen: make clipPos readonly  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						c80717ac2e 
					 
					
						
						
							
							PixelShaderGen: extract iround  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						2bc2b73e03 
					 
					
						
						
							
							PixelShaderGen: drop fmod as it isn't used any more  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						c82991df5b 
					 
					
						
						
							
							ShaderGen: inline constant shaders  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						b0878c54b2 
					 
					
						
						
							
							ShaderGen: use cbuffers for D3D  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						fe9fcfdd07 
					 
					
						
						
							
							ShaderGen: merge early-z blocks of ogl+d3d  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						3e14bf511f 
					 
					
						
						
							
							ShaderGen/D3D: inline centroid  
						
						 
						
						
						
						
					 
					
						2014-05-05 17:06:36 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						52c42a2946 
					 
					
						
						
							
							VideoCommon: fix indirect texture coordinate computation in TEV.  
						
						 
						
						... 
						
						
						
						Even if an indirect texture stage doesn't actually sample a texture, we
still need to emit the relevant math.
Fixes Issue 7092. 
						
						
					 
					
						2014-05-04 22:12:57 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						b3a67821e4 
					 
					
						
						
							
							VideoCommon: fix rounding in TEV.  
						
						 
						
						... 
						
						
						
						The hardware backends pass the TEV tests in gxtest with this change. 
						
						
					 
					
						2014-04-15 16:47:01 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						068f26d2aa 
					 
					
						
						
							
							PixelShaderGen: Fix an issue with color combiner compare mode and simplify the affected line a bit.  
						
						 
						
						... 
						
						
						
						This was a mistake of mine when translating floating point values to integer values.
Also, the max() part of that line was just completely redundant because the sign of an absolute value is always greater than or equal to zero.
Fixes issue 7178. 
						
						
					 
					
						2014-04-15 23:41:07 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						a2150ef1f8 
					 
					
						
						
							
							PixelShaderGen: delete extra parenthesis.  
						
						 
						
						... 
						
						
						
						Without this patch, we can generate a pixel shader which doesn't compile
in some cases. 
						
						
					 
					
						2014-04-14 00:41:27 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								magumagu 
							
						 
					 
					
						
						
							
						
						fd9c1fa746 
					 
					
						
						
							
							VideoBackend: remove unused config vars.  
						
						 
						
						... 
						
						
						
						No point to keeping around variables which are always "true". 
						
						
					 
					
						2014-04-11 14:53:12 -07: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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						eb0f547a17 
					 
					
						
						
							
							PixelShaderGen: Cleanups.  
						
						 
						
						
						
						
					 
					
						2014-03-26 00:23:36 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						4f82d6f7af 
					 
					
						
						
							
							PixelShaderGen: Implement tev combiner lerping in a faster way which also reproduces hardware behavior perfectly.  
						
						 
						
						... 
						
						
						
						The new behavior has been verified to be correct by hardware tests. This is an improvement over the old code, which was just a guess. 
						
						
					 
					
						2014-03-26 00:17:04 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						fdad95c055 
					 
					
						
						
							
							PixelShaderGen: Cleanups and fixes for tev combiners.  
						
						 
						
						... 
						
						
						
						Fixes issue 4674. 
						
						
					 
					
						2014-03-26 00:17:03 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						0f81cbd6be 
					 
					
						
						
							
							PixelShaderGen: More code alignment fixes.  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:33:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						c1016205d3 
					 
					
						
						
							
							Pixel/LightingShaderGen: Fix code alignment issues.  
						
						 
						
						... 
						
						
						
						Most of these weren't even introduced by me, but hey - I'm nice and love wasting my time :p 
						
						
					 
					
						2014-03-14 22:33:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						2067f88e0f 
					 
					
						
						
							
							PixelShaderGen: Don't make local lookup tables "static".  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:33:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						0ce92e0162 
					 
					
						
						
							
							PixelShaderGen: Remove the "i" prefix for integer variables.  
						
						 
						
						... 
						
						
						
						The prefix was just required in the development stage to reduce the risk of regressions. 
						
						
					 
					
						2014-03-14 22:33:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						bdd629c598 
					 
					
						
						
							
							PixelShaderGen: Use spaces for alignment where appropriate.  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:33:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tony Wasserka 
							
						 
					 
					
						
						
							
						
						6e65e02c9e 
					 
					
						
						
							
							ConstantManager: Do not use single-element arrays.  
						
						 
						
						
						
						
					 
					
						2014-03-14 22:33:25 +01:00