1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-14 09:46:40 +00:00
Ryujinx/Ryujinx.Graphics.Gpu/Shader/Cache/Definition/GuestShaderCacheTransformFeedbackHeader.cs
Mary 48f6570557
Salieri: shader cache (#1701)
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.
2020-11-13 00:15:34 +01:00

38 lines
1.1 KiB
C#

using System.Runtime.InteropServices;
namespace Ryujinx.Graphics.Gpu.Shader.Cache.Definition
{
/// <summary>
/// Header for transform feedback.
/// </summary>
[StructLayout(LayoutKind.Sequential, Pack = 1, Size = 0x10)]
struct GuestShaderCacheTransformFeedbackHeader
{
/// <summary>
/// The buffer index of the transform feedback.
/// </summary>
public int BufferIndex;
/// <summary>
/// The stride of the transform feedback.
/// </summary>
public int Stride;
/// <summary>
/// The length of the varying location buffer of the transform feedback.
/// </summary>
public int VaryingLocationsLength;
/// <summary>
/// Reserved/unused.
/// </summary>
public int Reserved1;
public GuestShaderCacheTransformFeedbackHeader(int bufferIndex, int stride, int varyingLocationsLength) : this()
{
BufferIndex = bufferIndex;
Stride = stride;
VaryingLocationsLength = varyingLocationsLength;
}
}
}