 e44a43c7e1
			
		
	
	
		e44a43c7e1
		
			
		
	
	
	
	
		
			
			* Implement VMAD shader instruction and improve InvocationInfo and ISBERD handling * Shader cache version bump * Fix typo
		
			
				
	
	
		
			40 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| namespace Ryujinx.Graphics.Shader
 | |
| {
 | |
|     public enum InputTopology : byte
 | |
|     {
 | |
|         Points,
 | |
|         Lines,
 | |
|         LinesAdjacency,
 | |
|         Triangles,
 | |
|         TrianglesAdjacency
 | |
|     }
 | |
| 
 | |
|     static class InputTopologyExtensions
 | |
|     {
 | |
|         public static string ToGlslString(this InputTopology topology)
 | |
|         {
 | |
|             return topology switch
 | |
|             {
 | |
|                 InputTopology.Points => "points",
 | |
|                 InputTopology.Lines => "lines",
 | |
|                 InputTopology.LinesAdjacency => "lines_adjacency",
 | |
|                 InputTopology.Triangles => "triangles",
 | |
|                 InputTopology.TrianglesAdjacency => "triangles_adjacency",
 | |
|                 _ => "points"
 | |
|             };
 | |
|         }
 | |
| 
 | |
|         public static int ToInputVertices(this InputTopology topology)
 | |
|         {
 | |
|             return topology switch
 | |
|             {
 | |
|                 InputTopology.Points => 1,
 | |
|                 InputTopology.Lines or
 | |
|                 InputTopology.LinesAdjacency => 2,
 | |
|                 InputTopology.Triangles or
 | |
|                 InputTopology.TrianglesAdjacency => 3,
 | |
|                 _ => 1
 | |
|             };
 | |
|         }
 | |
|     }
 | |
| } |