public void Unflatten(Parcel parcel) { Header = parcel.ReadUnmanagedType <GraphicBufferHeader>(); if (Header.IntsCount != 0x51) { throw new NotImplementedException($"Unexpected Graphic Buffer ints count (expected 0x51, found 0x{Header.IntsCount:x}"); } Buffer = parcel.ReadUnmanagedType <NvGraphicBuffer>(); }
public void Unflatten(Parcel parcel) { Header = parcel.ReadUnmanagedType <GraphicBufferHeader>(); int expectedSize = Unsafe.SizeOf <NvGraphicBuffer>() / 4; if (Header.IntsCount != expectedSize) { throw new NotImplementedException($"Unexpected Graphic Buffer ints count (expected 0x{expectedSize:x}, found 0x{Header.IntsCount:x})"); } Buffer = parcel.ReadUnmanagedType <NvGraphicBuffer>(); }
public GbpBuffer(BinaryReader reader) { Header = reader.ReadStruct <GraphicBufferHeader>(); // ignore fds // TODO: check if that is used in official implementation reader.BaseStream.Position += Header.FdsCount * 4; if (Header.IntsCount != 0x51) { throw new NotImplementedException($"Unexpected Graphic Buffer ints count (expected 0x51, found 0x{Header.IntsCount:x}"); } Buffer = reader.ReadStruct <NvGraphicBuffer>(); }