remove usage of reflection in device state

This commit is contained in:
Emmanuel Hansen 2023-06-25 12:18:52 +00:00
parent c3a3adbaeb
commit cea50d80c9
3 changed files with 14 additions and 65 deletions

View file

@ -79,7 +79,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
{
var field = fields[fieldIndex];
int sizeOfField = SizeCalculator.SizeOf(field.FieldType);
var cuurentFieldOffset = (int)Marshal.OffsetOf<TState>(field.Name);
var nextFieldOffset = fieldIndex + 1 == fields.Length ? Unsafe.SizeOf<TState>() : (int)Marshal.OffsetOf<TState>(fields[fieldIndex + 1].Name);
int sizeOfField = nextFieldOffset - cuurentFieldOffset;
if (fieldToDelegate.TryGetValue(field.Name, out int entryIndex))
{