40b21cc3c4
* 3D engine now uses DeviceState too, plus new state modification tracking * Remove old methods code * Remove GpuState and friends * Optimize DeviceState, force inline some functions * This change was not supposed to go in * Proper channel initialization * Optimize state read/write methods even more * Fix debug build * Do not dirty state if the write is redundant * The YControl register should dirty either the viewport or front face state too, to update the host origin * Avoid redundant vertex buffer updates * Move state and get rid of the Ryujinx.Graphics.Gpu.State namespace * Comments and nits * Fix rebase * PR feedback * Move changed = false to improve codegen * PR feedback * Carry RyuJIT a bit more
22 lines
528 B
C#
22 lines
528 B
C#
namespace Ryujinx.Graphics.Gpu.Engine.Types
|
|
{
|
|
/// <summary>
|
|
/// Split GPU virtual address.
|
|
/// </summary>
|
|
struct GpuVa
|
|
{
|
|
#pragma warning disable CS0649
|
|
public uint High;
|
|
public uint Low;
|
|
#pragma warning restore CS0649
|
|
|
|
/// <summary>
|
|
/// Packs the split address into a 64-bits address value.
|
|
/// </summary>
|
|
/// <returns>The 64-bits address value</returns>
|
|
public ulong Pack()
|
|
{
|
|
return Low | ((ulong)High << 32);
|
|
}
|
|
}
|
|
}
|