 48f6570557
			
		
	
	
		48f6570557
		
			
		
	
	
	
	
		
			
			Here come Salieri, my implementation of a disk shader cache! "I'm sure you know why I named it that." "It doesn't really mean anything." This implementation collects shaders at runtime and cache them to be later compiled when starting a game.
		
			
				
	
	
		
			30 lines
		
	
	
		
			No EOL
		
	
	
		
			983 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			No EOL
		
	
	
		
			983 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.ObjectModel;
 | |
| 
 | |
| namespace Ryujinx.Graphics.Shader
 | |
| {
 | |
|     public class ShaderProgramInfo
 | |
|     {
 | |
|         public ReadOnlyCollection<BufferDescriptor>  CBuffers { get; }
 | |
|         public ReadOnlyCollection<BufferDescriptor>  SBuffers { get; }
 | |
|         public ReadOnlyCollection<TextureDescriptor> Textures { get; }
 | |
|         public ReadOnlyCollection<TextureDescriptor> Images   { get; }
 | |
| 
 | |
|         public bool UsesInstanceId { get; }
 | |
| 
 | |
|         public ShaderProgramInfo(
 | |
|             BufferDescriptor[]  cBuffers,
 | |
|             BufferDescriptor[]  sBuffers,
 | |
|             TextureDescriptor[] textures,
 | |
|             TextureDescriptor[] images,
 | |
|             bool                usesInstanceId)
 | |
|         {
 | |
|             CBuffers = Array.AsReadOnly(cBuffers);
 | |
|             SBuffers = Array.AsReadOnly(sBuffers);
 | |
|             Textures = Array.AsReadOnly(textures);
 | |
|             Images   = Array.AsReadOnly(images);
 | |
| 
 | |
|             UsesInstanceId = usesInstanceId;
 | |
|         }
 | |
|     }
 | |
| } |