 99445dd0a6
			
		
	
	
		99445dd0a6
		
			
		
	
	
	
	
		
			
			* Support coherent images * Add support for fragment shader interlock * Change to tree based match approach * Refactor + check for branch targets and external registers * Make detection more robust * Use Intel fragment shader ordering if interlock is not available, use nothing if both are not available * Remove unused field
		
			
				
	
	
		
			29 lines
		
	
	
		
			No EOL
		
	
	
		
			843 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			No EOL
		
	
	
		
			843 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
 | |
| {
 | |
|     static class InstGenFSI
 | |
|     {
 | |
|         public static string FSIBegin(CodeGenContext context)
 | |
|         {
 | |
|             if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock())
 | |
|             {
 | |
|                 return "beginInvocationInterlockARB()";
 | |
|             }
 | |
|             else if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderOrderingIntel())
 | |
|             {
 | |
|                 return "beginFragmentShaderOrderingINTEL()";
 | |
|             }
 | |
| 
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         public static string FSIEnd(CodeGenContext context)
 | |
|         {
 | |
|             if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock())
 | |
|             {
 | |
|                 return "endInvocationInterlockARB()";
 | |
|             }
 | |
| 
 | |
|             return null;
 | |
|         }
 | |
|     }
 | |
| } |