using Ryujinx.Graphics.Gpu.Image; using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Shader.Cache.Definition { /// /// Contains part of TextureDescriptor from used for shader codegen. /// [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 1)] struct GuestTextureDescriptor : ITextureDescriptor { public uint Handle; public uint Format; public TextureTarget Target; [MarshalAs(UnmanagedType.I1)] public bool IsSrgb; [MarshalAs(UnmanagedType.I1)] public bool IsTextureCoordNormalized; public byte Reserved; public uint UnpackFormat() { return Format; } public bool UnpackSrgb() { return IsSrgb; } public bool UnpackTextureCoordNormalized() { return IsTextureCoordNormalized; } public TextureTarget UnpackTextureTarget() { return Target; } } }