ameerj 
							
						 
					 
					
						
						
							
						
						fb75d122a2 
					 
					
						
						
							
							glsl: Use std::string_view for Emit function args.  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						115c162b9a 
					 
					
						
						
							
							glsl: Pass IR::Inst& to Emit functions  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						78f5eb90d7 
					 
					
						
						
							
							glsl: INeg and IAdd negate tests  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						e221baccdd 
					 
					
						
						
							
							glsl: Reusable typed variables. IADD32  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						faf4cd72c5 
					 
					
						
						
							
							glsl: Fix program linking and cbuf  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						64337f004d 
					 
					
						
						
							
							glsl: Fix "reg" allocing  
						
						... 
						
						
						
						based on glasm with some tweaks 
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						eaff1030de 
					 
					
						
						
							
							glsl: Initial backend  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						3d822faea1 
					 
					
						
						
							
							spirv: Reduce log severity of mismatching denorm rules  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						61cd7dd301 
					 
					
						
						
							
							shader: Add logging  
						
						
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						373f75d944 
					 
					
						
						
							
							shader: Add shader loop safety check settings  
						
						... 
						
						
						
						Also add a setting for enable Nsight Aftermath. 
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ameerj 
							
						 
					 
					
						
						
							
						
						d52bacf6f0 
					 
					
						
						
							
							spirv/convert: Catch more signed operations oversights  
						
						... 
						
						
						
						The sign bit on integers of size < 32 was not properly preserved in casts 
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8554a644df 
					 
					
						
						
							
							spirv/convert: Catch more broken signed operations on Nvidia OpenGL  
						
						... 
						
						
						
						BitCast U32 to S32 before converting to float on drivers with broken
signed operations. 
						
						
					 
					
						2021-07-22 21:51:35 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						79f2fe1a39 
					 
					
						
						
							
							glasm: Use ARB_derivative_control conditionally  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						22f0c4f002 
					 
					
						
						
							
							emit_glasm_context_get_set: Remove unused variable  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						5539b13c5a 
					 
					
						
						
							
							shader,glasm: Implement legacy texcoord loads  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						cf9f88e5a7 
					 
					
						
						
							
							glasm: Implement legacy varyings  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						05d41fa9b7 
					 
					
						
						
							
							shader: Add support for "negative" and unaligned offsets  
						
						... 
						
						
						
						"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4. 
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						adc43297c5 
					 
					
						
						
							
							spirv: Fix output generics with components  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						916ca74324 
					 
					
						
						
							
							opengl: Declare fragment outputs even if they are not used  
						
						... 
						
						
						
						Fixes Ori and the Blind Forest's menu on GLASM. For some reason
(probably high level optimizations) it is not sanitized on SPIR-V for
OpenGL. Vulkan is unaffected by this change. 
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						d738ad4d0b 
					 
					
						
						
							
							spirv: Fix image and image buffer descriptor index usage  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						eb8464cb3d 
					 
					
						
						
							
							glasm: Fix immediate texture coordinate  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						b6c087496b 
					 
					
						
						
							
							glasm: Reduce reg allocation leaks from an exception to a log  
						
						
						
						
					 
					
						2021-07-22 21:51:34 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						83db7abae6 
					 
					
						
						
							
							glasm: Use integer lod for TXQ  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						e240a62017 
					 
					
						
						
							
							glasm: Fix global memory fallbacks  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8f3043c3cf 
					 
					
						
						
							
							Revert "glasm: Skip phi moves on undefined instructions"  
						
						... 
						
						
						
						Causes regressions on Bowser's Fury. 
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						2aa30353b7 
					 
					
						
						
							
							glasm: Remove unintentional '\n' on Undef32  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						adb591a757 
					 
					
						
						
							
							glasm: Use storage buffers instead of global memory when possible  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						f58f79c85d 
					 
					
						
						
							
							glasm: Implement Y direction  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						586c785366 
					 
					
						
						
							
							glasm: Skip phi moves on undefined instructions  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						b9c8814ea9 
					 
					
						
						
							
							glasm: Implement undef instructions  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						8763cc1ff7 
					 
					
						
						
							
							glasm: Fix global memory callbacks  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						48aafe0961 
					 
					
						
						
							
							glasm: Release phi node registers after they are no longer needed  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						70c9281fbf 
					 
					
						
						
							
							glasm: Fix INeg32 on negative immediates  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						75fd0079db 
					 
					
						
						
							
							glasm: Remove unnecessary value types  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						379b305b4b 
					 
					
						
						
							
							glasm: Throw when there are register leaks  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						ca05a13c62 
					 
					
						
						
							
							glasm: Catch more register leaks  
						
						... 
						
						
						
						Add support for null registers. These are used when an instruction has
no usages.
This comes handy when an instruction is only used for its CC value, with
the caveat of having to invalidate all pseudo-instructions before
defining the instruction itself in the register allocator. This commits
changes this.
Workaround a bug on Nvidia's condition codes conditional execution using
branches. 
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						9fbfe7d676 
					 
					
						
						
							
							glasm: Fix usage counting on phi nodes  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						c721767bcc 
					 
					
						
						
							
							glasm: Implement global memory fallbacks  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						0794273870 
					 
					
						
						
							
							glasm: Implement int64 add and subtract  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								lat9nq 
							
						 
					 
					
						
						
							
						
						7fdf0d7d33 
					 
					
						
						
							
							emit_glasm_context_get_set: Remove unused variable  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						e30d4fa976 
					 
					
						
						
							
							glasm: Implement indirect attribute loads  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						c8414e686f 
					 
					
						
						
							
							glasm: Implement image atomics  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						3a7ca6a7db 
					 
					
						
						
							
							glasm: Reorder unreachable image atomic insts  
						
						... 
						
						
						
						Reorder them to the bottom of the file for readability. 
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						e565eb361a 
					 
					
						
						
							
							glasm: Implement gl_Layer stores  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						89e341d56a 
					 
					
						
						
							
							glasm: Implement SampleId  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						77d8c44b68 
					 
					
						
						
							
							glasm: Implement IsHelperInvocation  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						ddf601919f 
					 
					
						
						
							
							glasm: Fix EmitVertex's optimization  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						c31521512f 
					 
					
						
						
							
							gl_shader_cache,glasm: Conditionally use typeless image reads extension  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						84feabac88 
					 
					
						
						
							
							glasm: Implement forced early Z  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
							
						
						7dadb2bef3 
					 
					
						
						
							
							glasm: Simplify patch reads  
						
						
						
						
					 
					
						2021-07-22 21:51:33 -04:00