Stenzek 
							
						 
					 
					
						
						
							
						
						d54ca2a16a 
					 
					
						
						
							
							PixelShaderGen: Don't include host early z support in UID  
						
						 
						
						... 
						
						
						
						Disable it at shader generation time instead. This way the UIDs are
sharable. 
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						e968c191ff 
					 
					
						
						
							
							Ubershaders: Support per-pixel lighting  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						e17efb1d8d 
					 
					
						
						
							
							ShaderGen: Use consistent variable names for texture coordinates  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						81b4ed2a81 
					 
					
						
						
							
							Vulkan: Uber shader support  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						7d78cf0f6f 
					 
					
						
						
							
							ShaderGen: Implement pixel ubershaders  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						07591e7d5c 
					 
					
						
						
							
							PixelShaderGen: Move header generation to seperate function  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						479abde9f4 
					 
					
						
						
							
							BPMemory: Convert a number of unions to BitFields  
						
						 
						
						
						
						
					 
					
						2017-07-30 17:43:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						3ea9d86faa 
					 
					
						
						
							
							ShaderGen: Pass host config to shader generation functions  
						
						 
						
						... 
						
						
						
						Also moves the host config checks to common. 
						
						
					 
					
						2017-07-20 17:54:33 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						82c27182a8 
					 
					
						
						
							
							ShaderGen: Remove host state from shader uids  
						
						 
						
						
						
						
					 
					
						2017-07-20 17:46:59 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						8476d0271d 
					 
					
						
						
							
							PixelShaderGen: Add missing inputs.  
						
						 
						
						... 
						
						
						
						This fixes a linkage warning in D3D because of mismatched inputs. 
						
						
					 
					
						2017-07-05 22:43:39 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonathan Hamilton 
							
						 
					 
					
						
						
							
						
						35caf48d7d 
					 
					
						
						
							
							Add a workaround for a PowerVR glsl compiler bug  
						
						 
						
						... 
						
						
						
						It seems it doesn't like negating arguments for bitops, so suff like
"var <<= (-othervar);"
fails to compile 
						
						
					 
					
						2017-05-03 19:33:56 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Maltese 
							
						 
					 
					
						
						
							
						
						134317e07f 
					 
					
						
						
							
							videoconfig: add BBoxPreferStencilImplementation  
						
						 
						
						... 
						
						
						
						@JMC47 requested this to be able to do performance comparisons. 
						
						
					 
					
						2017-03-15 17:41:33 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Maltese 
							
						 
					 
					
						
						
							
						
						de940a5fd6 
					 
					
						
						
							
							VideoConfig: add bSupportsFragmentStoresAndAtomics  
						
						 
						
						
						
						
					 
					
						2017-03-15 17:20:47 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tillmann Karras 
							
						 
					 
					
						
						
							
						
						8a72e84ece 
					 
					
						
						
							
							VideoCommon: remove unnecessary trunc()  
						
						 
						
						
						
						
					 
					
						2017-03-05 01:53:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						273ace7bb7 
					 
					
						
						
							
							LightingShaderGen: Remove unnecessary includes  
						
						 
						
						
						
						
					 
					
						2017-02-01 01:06:00 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						41b0c74e30 
					 
					
						
						
							
							VideoCommon: Make dst_alpha state implicit.  
						
						 
						
						
						
						
					 
					
						2017-01-04 20:02:31 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						5aaa5141ed 
					 
					
						
						
							
							PixelShaderGen: Fix incorrect indexing of tevLerpBias  
						
						 
						
						... 
						
						
						
						Fixes the white box in the fortune street fifolog. 
						
						
					 
					
						2016-12-13 00:03:25 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						2058a49465 
					 
					
						
						
							
							PixelShaderGen: Remove unused global variable.  
						
						 
						
						
						
						
					 
					
						2016-10-31 15:02:08 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						086f839435 
					 
					
						
						
							
							DriverDetails: Make the bug identifiers humanly readable.  
						
						 
						
						
						
						
					 
					
						2016-10-31 15:02:08 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						d0e60492cf 
					 
					
						
						
							
							PixelShaderGen: Don't use a global variable.  
						
						 
						
						
						
						
					 
					
						2016-10-30 00:48:02 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						ce9f717045 
					 
					
						
						
							
							OGL: Fall back to the old dual-source blending behaviour.  
						
						 
						
						
						
						
					 
					
						2016-10-29 18:00:22 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						122ce96ed1 
					 
					
						
						
							
							PixelShaderGen: Don't use dual source blend if unsupported.  
						
						 
						
						
						
						
					 
					
						2016-10-24 00:11:55 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						5c406b5ef0 
					 
					
						
						
							
							PixelShaderGen: Fix implicit type conversions.  
						
						 
						
						
						
						
					 
					
						2016-10-23 19:54:28 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						93109df654 
					 
					
						
						
							
							PixelShaderGen: Use dual source blending to do 8-bit blending.  
						
						 
						
						
						
						
					 
					
						2016-10-10 15:34:55 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						d61ae5a88a 
					 
					
						
						
							
							PixelShaderGen: Only set dither uid bit if actually used.  
						
						 
						
						
						
						
					 
					
						2016-10-10 14:32:21 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						365e88e311 
					 
					
						
						
							
							VideoConfig: Add an option to force RGB8 EFB format.  
						
						 
						
						
						
						
					 
					
						2016-10-10 14:31:53 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						31a4ee7bfc 
					 
					
						
						
							
							PixelShaderGen: Always truncate the alpha channel to 6-bit.  
						
						 
						
						
						
						
					 
					
						2016-10-10 14:30:14 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						9bc466a443 
					 
					
						
						
							
							PixelShaderGen: Add support for dithering.  
						
						 
						
						
						
						
					 
					
						2016-10-10 14:30:14 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						b958457e51 
					 
					
						
						
							
							PixelShaderGen: Add support for RGBA6 EFB format truncation.  
						
						 
						
						
						
						
					 
					
						2016-10-10 14:27:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						6d2827ff6b 
					 
					
						
						
							
							PixelShader: Drop redundant warning.  
						
						 
						
						... 
						
						
						
						This warning was raised both on UID generation and on shader generation. 
						
						
					 
					
						2016-10-04 10:13:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						083be0832f 
					 
					
						
						
							
							LightingShader: Drop xfmem usage.  
						
						 
						
						... 
						
						
						
						Our shaders must only depend on the UID, not on any global state. 
						
						
					 
					
						2016-10-04 10:13:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						829fc8f0ad 
					 
					
						
						
							
							PixelShaderGen: Drop dstAlphaMode constant in shader generation.  
						
						 
						
						... 
						
						
						
						It is already stored within the UID. 
						
						
					 
					
						2016-10-04 10:13:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						bac8c2d441 
					 
					
						
						
							
							Vulkan: Work around indexed fragment output bug on AMD drivers  
						
						 
						
						
						
						
					 
					
						2016-10-01 02:40:02 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						a71381e80a 
					 
					
						
						
							
							VideoCommon: Add APIType entry for Vulkan  
						
						 
						
						
						
						
					 
					
						2016-10-01 01:09:11 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stenzek 
							
						 
					 
					
						
						
							
						
						d9c034e8cc 
					 
					
						
						
							
							ShaderGen: Specify attribute/output locations/bindings explicitly  
						
						 
						
						... 
						
						
						
						This also shifts the SSBO index from index 3 to index 0. 
						
						
					 
					
						2016-10-01 01:09:11 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jules Blok 
							
						 
					 
					
						
						
							
						
						da43f9a156 
					 
					
						
						
							
							PixelShaderGen: Always divide the texture coordinates by q.  
						
						 
						
						... 
						
						
						
						Some games will set q to a different value than 1.0 through
texture matrix manipulations. It seems the console will still
do the division in that case. 
						
						
					 
					
						2016-09-07 21:13:16 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						14e0b48ae4 
					 
					
						
						
							
							VideoCommon: Make API_TYPE an enum class  
						
						 
						
						... 
						
						
						
						Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers. 
						
						
					 
					
						2016-07-29 19:20:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						d958388617 
					 
					
						
						
							
							VideoCommon: Fix some warnings.  
						
						 
						
						
						
						
					 
					
						2016-06-26 23:10:31 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						24e5d21780 
					 
					
						
						
							
							Multithreadded Shadergen: Second pass over Pixel Shadergen.  
						
						 
						
						... 
						
						
						
						Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.
Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future. 
						
						
					 
					
						2016-06-26 16:13:21 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						1a831cfc7d 
					 
					
						
						
							
							Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens  
						
						 
						
						... 
						
						
						
						As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID. 
						
						
					 
					
						2016-06-26 16:13:21 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						4969415f38 
					 
					
						
						
							
							Remove global refrences from common code.  
						
						 
						
						... 
						
						
						
						Bug Fix: Previously vertex shaders and geometery shaders didn't track
         antialaising state in their UIDs, which could cause AA bugs
	 on directx. 
						
						
					 
					
						2016-06-26 16:13:20 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						0d996f512b 
					 
					
						
						
							
							Multithreadded Shadergen: First pass over pixel Shadergen  
						
						 
						
						... 
						
						
						
						Bug Fix: It was theoretically possible for a shader with depth writes
         disabled to map to the same UID as a shader with late depth
	 writes.
	 No known test cases trigger this. 
						
						
					 
					
						2016-06-26 16:13:20 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						e99364c7c9 
					 
					
						
						
							
							UID Change: Fix bug with indirect stage UIDs  
						
						 
						
						... 
						
						
						
						Bug Fix: The normal stage UIDs were randomly overwriting indirect
         stage texture map UID fields. It was possible for multiple
	 shaders with diffrent indirect texture targets to map to
	 the same UID.
         Once again, it dpesn't look like this bug was ever triggered. 
						
						
					 
					
						2016-06-26 16:13:19 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						03f2c9648d 
					 
					
						
						
							
							Shader UID change: Only store the two bits of components we need.  
						
						 
						
						... 
						
						
						
						This frees up 21 bits and allows us to shorten the UID struct by an entire
32 bits.
It's not strictly needed (as it's encoded into the length) but I added a
bit for per-pixel lighiting to make my life easier in the following
commits. 
						
						
					 
					
						2016-06-26 16:13:19 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Scott Mansell 
							
						 
					 
					
						
						
							
						
						53c402dbc5 
					 
					
						
						
							
							Multithreadded Shadergen: First Pass over vertex/lighting Shadergens  
						
						 
						
						... 
						
						
						
						The only code which touches xfmem is code which writes directly into
uid_data.
All the rest now read their parameters out of uid_data.
I also simplified the lighting code so it always generated seperate
codepaths for alpha and color channels instead of trying to combine
them on the off-chance that the same equation works for all 4 channels.
As modern (post 2008) GPUs generally don't calcualte all 4 channels
in a single vector, this optimisation is pointless. The shader compiler
will undo it during the GLSL/HLSL to IR step.
Bug Fix: The about optimisation was also broken, applying the color light
         equation to the alpha light channel instead of the alpha light
	 euqation. But doesn't look like anything trigged this bug. 
						
						
					 
					
						2016-06-26 16:13:19 +12:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pierre Bourdon 
							
						 
					 
					
						
						
							
						
						5fcb4bb3ab 
					 
					
						
						
							
							Further fixes to the formatting change. WX sucks.  
						
						 
						
						
						
						
					 
					
						2016-06-24 12:16:10 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pierre Bourdon 
							
						 
					 
					
						
						
							
						
						3570c7f03a 
					 
					
						
						
							
							Reformat all the things. Have fun with merge conflicts.  
						
						 
						
						
						
						
					 
					
						2016-06-24 10:43:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jeffrey Pfau 
							
						 
					 
					
						
						
							
						
						d6517a761c 
					 
					
						
						
							
							VideoCommon: Simplify indirect texture lookup code slightly  
						
						 
						
						
						
						
					 
					
						2016-04-23 22:55:52 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jeffrey Pfau 
							
						 
					 
					
						
						
							
						
						aa736bf258 
					 
					
						
						
							
							Revert "VideoBackend: Remove extraneous shifts from indirect texture lookups"  
						
						 
						
						... 
						
						
						
						This reverts commit 1f1b127b69 . 
						
						
					 
					
						2016-04-23 22:55:42 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								degasus 
							
						 
					 
					
						
						
							
						
						ef01f234df 
					 
					
						
						
							
							PixelShaderGen: Fixes implicit type conversion or PR  #3772 .  
						
						 
						
						... 
						
						
						
						This regression did only happen on OpenGL ES. 
						
						
					 
					
						2016-04-10 12:49:32 +02:00