Lioncash 
							
						 
					 
					
						
						
							
						
						c2915d9f2f 
					 
					
						
						
							
							emit_spirv_instructions: Add missing header guard  
						
						
						
						
					 
					
						2021-07-26 04:28:35 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
						
						06ca911621 
					 
					
						
						
							
							shader_recompiler: Remove unnecessary [[nodiscard]] instances  
						
						... 
						
						
						
						[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings. 
						
						
					 
					
						2021-07-26 04:23:59 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
						
						0b67df1f7c 
					 
					
						
						
							
							control_flow: Fix duplicate switch case in OpcodeToken  
						
						... 
						
						
						
						This previously duplicated the case of the PBK case above it. 
						
						
					 
					
						2021-07-26 04:16:34 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
						
						89ad9df0e9 
					 
					
						
						
							
							object_pool: Add missing return in Chunk move assignment operator  
						
						... 
						
						
						
						Prevents undefined behavior from occurring. 
						
						
					 
					
						2021-07-26 04:01:05 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						66a0cedba3 
					 
					
						
						
							
							shader: Fold integer FMA from Nvidia's pattern  
						
						... 
						
						
						
						Fold shaders doing "a * b + c" on integers from the pattern generated by
Nvidia's GL compiler.
On a somewhat complex compute shader it reduces the code size by 16
instructions from 2 matches on Turing GPUs.
On Intel as extracted from KHR_pipeline_executable_properties:
Before the optimization:
```
Instruction Count: 2057
Basic Block Count: 45
Scratch Memory Size: 14752
Spill Count: 232
Fill Count: 261
SEND Count: 610
Cycle Count: 11325
```
After the optimization:
```
Instruction Count: 2046
Basic Block Count: 44
Scratch Memory Size: 13728
Spill Count: 219
Fill Count: 268
SEND Count: 604
Cycle Count: 11367
``` 
						
						
					 
					
						2021-07-26 04:58:02 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						09fb41dc63 
					 
					
						
						
							
							shader: Use TryInstRecursive on XMAD multiply folding  
						
						... 
						
						
						
						Simplify a bit the logic. 
						
						
					 
					
						2021-07-26 04:15:27 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						f6f0383b49 
					 
					
						
						
							
							shader: Add TryInstRecursive utility to values  
						
						
						
						
					 
					
						2021-07-26 01:31:05 -03:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						7f13104c17 
					 
					
						
						
							
							shader: Support out of bound local memory reads and immediate writes  
						
						... 
						
						
						
						Support ignoring immediate out of bound writes. Writing dynamically out
of bounds is not yet supported (e.g. R0+0x4).
Reading out of bounds yields zero. This is supported checking for the
size from the IR; if the input is immediate, the optimization passes
will drop it. 
						
						
					 
					
						2021-07-22 21:51:41 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						56478bc9ac 
					 
					
						
						
							
							shader: Fix disabled attribute default values  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						56c30dd9e0 
					 
					
						
						
							
							glsl: Simplify FCMP emission  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						79d2684261 
					 
					
						
						
							
							glsl: Update TessellationControl gl_in  
						
						... 
						
						
						
						Adheres to GL_ARB_separate_shader_objects requirements 
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						fc7bed21b5 
					 
					
						
						
							
							shader: Implement ISETP.X  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						bf2956d77a 
					 
					
						
						
							
							shader: Avoid usage of C++20 ranges to build in clang  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						94af0a00f6 
					 
					
						
						
							
							glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						49946cf780 
					 
					
						
						
							
							shader_recompiler, video_core: Resolve clang errors  
						
						... 
						
						
						
						Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors 
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						2235a51b5d 
					 
					
						
						
							
							shader: Manually convert from array<u32> to bitset instead of using bit_cast  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						41c6cb70f9 
					 
					
						
						
							
							glsl: Fix tracking of info.uses_shadow_lod  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						11f04f1022 
					 
					
						
						
							
							shader: Ignore global memory ops on devices lacking int64 support  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						57f222c56e 
					 
					
						
						
							
							dual_vertex_pass: Clang format  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8722668b3c 
					 
					
						
						
							
							emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia  
						
						... 
						
						
						
						Fix regression on Fire Emblem: Three Houses when using native fp16. 
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						2e5af95541 
					 
					
						
						
							
							shader: GCC fmt 8.0.0 fixes  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						b9069c7891 
					 
					
						
						
							
							shader: Account for 33-bit IADD3 scenario  
						
						
						
						
					 
					
						2021-07-22 21:51:40 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						b21bf79bd2 
					 
					
						
						
							
							shader: Only apply shift on register mode for IADD3  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						5643a909bc 
					 
					
						
						
							
							shader: Fix disabled and unwritten attributes and varyings  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						65daec8b75 
					 
					
						
						
							
							glsl: Fix shared and local memory declarations  
						
						... 
						
						
						
						account for the fact that program.*memory_size is in units of bytes. 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						8289eb108f 
					 
					
						
						
							
							opengl: Implement LOP.CC  
						
						... 
						
						
						
						Used by MH:Rise 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						5b2b0634a1 
					 
					
						
						
							
							spirv: Fix code emission when descriptor aliasing is unsupported  
						
						... 
						
						
						
						Fixes OpenGL. 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						00fa09dc45 
					 
					
						
						
							
							glsl: Declare local memory in main  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						f7352411f0 
					 
					
						
						
							
							glsl: Add passthrough geometry shader support  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8612b5fec5 
					 
					
						
						
							
							shader: Use std::bit_cast instead of Common::BitCast for passthrough  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8a3427a4c8 
					 
					
						
						
							
							glasm: Add passthrough geometry shader support  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						7dafa96ab5 
					 
					
						
						
							
							shader: Rework varyings and implement passthrough geometry shaders  
						
						... 
						
						
						
						Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's. 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						ecd6b4356b 
					 
					
						
						
							
							shader: Only verify shader when graphics debugging is enabled  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						395bed3a0a 
					 
					
						
						
							
							shader: Unify shader stage types  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						257d2aab74 
					 
					
						
						
							
							lower_int64_to_int32: Add missing include  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						fb166b5ff4 
					 
					
						
						
							
							shader: Emulate 64-bit integers when not supported  
						
						... 
						
						
						
						Useful for mobile and Intel Xe devices. 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						d8d5501459 
					 
					
						
						
							
							shader: Add int64 to int32 lowering pass  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						04ef2160f9 
					 
					
						
						
							
							shader: Teach global memory base tracker to follow vectors  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						97e80dda55 
					 
					
						
						
							
							shader: Add constant propagation to integer vectors  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						27ca8a0e13 
					 
					
						
						
							
							glsl: Better IAdd Overflow CC fix  
						
						... 
						
						
						
						This ensures the original operand values are not overwritten when being used in the overflow detection. 
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						4397053d5c 
					 
					
						
						
							
							shader: Remove IAbs64  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						bc6e399ae3 
					 
					
						
						
							
							glsl: Fix IADD CC  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						a7536825df 
					 
					
						
						
							
							shader_recompiler: Fix IADD3 input partitioning  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						808ef97a08 
					 
					
						
						
							
							shader: Move loop safety tests to code emission  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						cbce9ddd4a 
					 
					
						
						
							
							glsl: Remove frag color initialization  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						3a2dd1b483 
					 
					
						
						
							
							glasm: Implement SetAttribute ViewportMask  
						
						
						
						
					 
					
						2021-07-22 21:51:39 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						1c648f176c 
					 
					
						
						
							
							emit_glsl_special: Skip initialization of frag_color0  
						
						... 
						
						
						
						Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest. 
						
						
					 
					
						2021-07-22 21:51:38 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						1d182fc0f5 
					 
					
						
						
							
							shader: Calibrate loop safety threshold  
						
						
						
						
					 
					
						2021-07-22 21:51:38 -04:00 
						 
				 
			
				
					
						
							
							
								Morph 
							
						 
					 
					
						
						
							
						
						cfbc85839d 
					 
					
						
						
							
							glsl: Add missing ; in EmitSetSampleMask  
						
						... 
						
						
						
						Fixes shader compilation in Okami HD 
						
						
					 
					
						2021-07-22 21:51:38 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						9e066dcb15 
					 
					
						
						
							
							glsl: Fix output varying initialization when transform feedback is used  
						
						
						
						
					 
					
						2021-07-22 21:51:38 -04:00