From 40b21cc3c4d2622bbd4f88d43073341854d9a671 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 11 Jul 2021 17:20:40 -0300 Subject: Separate GPU engines (part 2/2) (#2440) * 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 --- Ryujinx.Graphics.Gpu/State/MemoryLayout.cs | 37 ------------------------------ 1 file changed, 37 deletions(-) delete mode 100644 Ryujinx.Graphics.Gpu/State/MemoryLayout.cs (limited to 'Ryujinx.Graphics.Gpu/State/MemoryLayout.cs') diff --git a/Ryujinx.Graphics.Gpu/State/MemoryLayout.cs b/Ryujinx.Graphics.Gpu/State/MemoryLayout.cs deleted file mode 100644 index c98831f9..00000000 --- a/Ryujinx.Graphics.Gpu/State/MemoryLayout.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace Ryujinx.Graphics.Gpu.State -{ - /// - /// Memory layout parameters, for block linear textures. - /// - struct MemoryLayout - { -#pragma warning disable CS0649 - public uint Packed; -#pragma warning restore CS0649 - - public int UnpackGobBlocksInX() - { - return 1 << (int)(Packed & 0xf); - } - - public int UnpackGobBlocksInY() - { - return 1 << (int)((Packed >> 4) & 0xf); - } - - public int UnpackGobBlocksInZ() - { - return 1 << (int)((Packed >> 8) & 0xf); - } - - public bool UnpackIsLinear() - { - return (Packed & 0x1000) != 0; - } - - public bool UnpackIsTarget3D() - { - return (Packed & 0x10000) != 0; - } - } -} -- cgit v1.2.3