2019-10-13 07:02:07 +01:00
|
|
|
namespace Ryujinx.Graphics.Gpu.State
|
|
|
|
{
|
2019-12-31 16:32:06 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Graphics shader stage state.
|
|
|
|
/// </summary>
|
2019-10-13 07:02:07 +01:00
|
|
|
struct ShaderState
|
|
|
|
{
|
|
|
|
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 18:50:52 +01: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;
|
2019-10-13 07:02:07 +01:00
|
|
|
|
2019-12-31 16:32:06 +00: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-13 07:02:07 +01:00
|
|
|
public bool UnpackEnable()
|
|
|
|
{
|
|
|
|
return (Control & 1) != 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|