2019-10-12 23:02:07 -07:00
|
|
|
namespace Ryujinx.Graphics.Gpu.State
|
|
|
|
{
|
2019-12-31 08:32:06 -08:00
|
|
|
/// <summary>
|
|
|
|
/// Graphics shader stage state.
|
|
|
|
/// </summary>
|
2019-10-12 23:02:07 -07:00
|
|
|
struct ShaderState
|
|
|
|
{
|
2020-04-20 14:59:59 -07:00
|
|
|
#pragma warning disable CS0649
|
2019-10-12 23:02:07 -07:00
|
|
|
public uint Control;
|
|
|
|
public uint Offset;
|
|
|
|
public uint Unknown0x8;
|
|
|
|
public int MaxRegisters;
|
|
|
|
public ShaderType Type;
|
|
|
|
public uint Unknown0x14;
|
|
|
|
public uint Unknown0x18;
|
|
|
|
public uint Unknown0x1c;
|
2019-10-26 10:50:52 -07:00
|
|
|
public uint Unknown0x20;
|
|
|
|
public uint Unknown0x24;
|
|
|
|
public uint Unknown0x28;
|
|
|
|
public uint Unknown0x2c;
|
|
|
|
public uint Unknown0x30;
|
|
|
|
public uint Unknown0x34;
|
|
|
|
public uint Unknown0x38;
|
|
|
|
public uint Unknown0x3c;
|
2020-04-20 14:59:59 -07:00
|
|
|
#pragma warning restore CS0649
|
2019-10-12 23:02:07 -07:00
|
|
|
|
2019-12-31 08:32:06 -08:00
|
|
|
/// <summary>
|
|
|
|
/// Unpacks shader enable information.
|
|
|
|
/// Must be ignored for vertex shaders, those are always enabled.
|
|
|
|
/// </summary>
|
|
|
|
/// <returns>True if the stage is enabled, false otherwise</returns>
|
2019-10-12 23:02:07 -07:00
|
|
|
public bool UnpackEnable()
|
|
|
|
{
|
|
|
|
return (Control & 1) != 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|