IPC refactor part 3+4: New server HIPC message processor (#4188)

* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization

* Make types match on calls to AlignUp/AlignDown

* Formatting

* Address some PR feedback

* Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations

* Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory

* Implement EventType

* Address more PR feedback

* Log request processing errors since they are not normal

* Rename waitable to multiwait and add missing lock

* PR feedback

* Ac_K PR feedback
This commit is contained in:
gdkchan
2023-01-04 19:15:45 -03:00
committed by GitHub
parent c6a139a6e7
commit 08831eecf7
213 changed files with 9762 additions and 1010 deletions

View File

@ -1,4 +1,6 @@
namespace Ryujinx.Graphics.Vic.Types
using Ryujinx.Common.Utilities;
namespace Ryujinx.Graphics.Vic.Types
{
struct SlotSurfaceConfig
{
@ -6,16 +8,16 @@
private long _word1;
public PixelFormat SlotPixelFormat => (PixelFormat)_word0.Extract(0, 7);
public int SlotChromaLocHoriz => _word0.Extract(7, 2);
public int SlotChromaLocVert => _word0.Extract(9, 2);
public int SlotBlkKind => _word0.Extract(11, 4);
public int SlotBlkHeight => _word0.Extract(15, 4);
public int SlotCacheWidth => _word0.Extract(19, 3);
public int SlotSurfaceWidth => _word0.Extract(32, 14);
public int SlotSurfaceHeight => _word0.Extract(46, 14);
public int SlotLumaWidth => _word1.Extract(64, 14);
public int SlotLumaHeight => _word1.Extract(78, 14);
public int SlotChromaWidth => _word1.Extract(96, 14);
public int SlotChromaHeight => _word1.Extract(110, 14);
public int SlotChromaLocHoriz => (int)_word0.Extract(7, 2);
public int SlotChromaLocVert => (int)_word0.Extract(9, 2);
public int SlotBlkKind => (int)_word0.Extract(11, 4);
public int SlotBlkHeight => (int)_word0.Extract(15, 4);
public int SlotCacheWidth => (int)_word0.Extract(19, 3);
public int SlotSurfaceWidth => (int)_word0.Extract(32, 14);
public int SlotSurfaceHeight => (int)_word0.Extract(46, 14);
public int SlotLumaWidth => (int)_word1.Extract(64, 14);
public int SlotLumaHeight => (int)_word1.Extract(78, 14);
public int SlotChromaWidth => (int)_word1.Extract(96, 14);
public int SlotChromaHeight => (int)_word1.Extract(110, 14);
}
}