 7e967d796c
			
		
	
	
		7e967d796c
		
			
		
	
	
	
	
		
			
			* Stop using glTransformFeedbackVarying and use explicit layout on the shader * This is no longer needed * Shader cache version bump * Fix gl_PerVertex output for tessellation control shaders
		
			
				
	
	
		
			72 lines
		
	
	
		
			No EOL
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			No EOL
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using Ryujinx.Graphics.GAL;
 | |
| using Ryujinx.Graphics.Gpu.Engine.Threed;
 | |
| 
 | |
| namespace Ryujinx.Graphics.Gpu.Shader
 | |
| {
 | |
|     /// <summary>
 | |
|     /// State used by the <see cref="GpuAccessor"/>.
 | |
|     /// </summary>
 | |
|     struct GpuAccessorState
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// GPU virtual address of the texture pool.
 | |
|         /// </summary>
 | |
|         public ulong TexturePoolGpuVa { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Maximum ID of the texture pool.
 | |
|         /// </summary>
 | |
|         public int TexturePoolMaximumId { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Constant buffer slot where the texture handles are located.
 | |
|         /// </summary>
 | |
|         public int TextureBufferIndex { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Early Z force enable.
 | |
|         /// </summary>
 | |
|         public bool EarlyZForce { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Primitive topology of current draw.
 | |
|         /// </summary>
 | |
|         public PrimitiveTopology Topology { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Tessellation mode.
 | |
|         /// </summary>
 | |
|         public TessMode TessellationMode { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Transform feedback information, if the shader uses transform feedback. Otherwise, should be null.
 | |
|         /// </summary>
 | |
|         public TransformFeedbackDescriptor[] TransformFeedbackDescriptors { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Creates a new instance of the GPU accessor state.
 | |
|         /// </summary>
 | |
|         /// <param name="texturePoolGpuVa">GPU virtual address of the texture pool</param>
 | |
|         /// <param name="texturePoolMaximumId">Maximum ID of the texture pool</param>
 | |
|         /// <param name="textureBufferIndex">Constant buffer slot where the texture handles are located</param>
 | |
|         /// <param name="earlyZForce">Early Z force enable</param>
 | |
|         /// <param name="topology">Primitive topology</param>
 | |
|         /// <param name="tessellationMode">Tessellation mode</param>
 | |
|         public GpuAccessorState(
 | |
|             ulong texturePoolGpuVa,
 | |
|             int texturePoolMaximumId,
 | |
|             int textureBufferIndex,
 | |
|             bool earlyZForce,
 | |
|             PrimitiveTopology topology,
 | |
|             TessMode tessellationMode)
 | |
|         {
 | |
|             TexturePoolGpuVa = texturePoolGpuVa;
 | |
|             TexturePoolMaximumId = texturePoolMaximumId;
 | |
|             TextureBufferIndex = textureBufferIndex;
 | |
|             EarlyZForce = earlyZForce;
 | |
|             Topology = topology;
 | |
|             TessellationMode = tessellationMode;
 | |
|             TransformFeedbackDescriptors = null;
 | |
|         }
 | |
|     }
 | |
| } |