a0720b5681
* Refactoring HOS folder structure Refactoring HOS folder structure: - Added some subfolders when needed (Following structure decided in private). - Added some `Types` folders when needed. - Little cleanup here and there. - Add services placeholders for every HOS services (close #766 and #753). * Remove Types namespaces
37 lines
No EOL
1.1 KiB
C#
37 lines
No EOL
1.1 KiB
C#
using Ryujinx.Common;
|
|
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Android
|
|
{
|
|
struct GbpBuffer
|
|
{
|
|
public GraphicBufferHeader Header { get; private set; }
|
|
public NvGraphicBuffer Buffer { get; private set; }
|
|
|
|
public int Size => Marshal.SizeOf<NvGraphicBuffer>() + Marshal.SizeOf<GraphicBufferHeader>();
|
|
|
|
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>();
|
|
}
|
|
|
|
public void Write(BinaryWriter writer)
|
|
{
|
|
writer.WriteStruct(Header);
|
|
writer.WriteStruct(Buffer);
|
|
}
|
|
}
|
|
} |