Structural and Memory Safety Improvements, Analyzer Cleanup (ryubing/ryujinx!47)

See merge request ryubing/ryujinx!47
This commit is contained in:
MrKev 2025-06-11 17:58:27 -05:00 committed by LotP
parent d03ae9c164
commit ea027d65a7
309 changed files with 1018 additions and 1247 deletions

View file

@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVCodec
{
#pragma warning disable CS0649 // Field is never assigned to
public unsafe byte* Name;
public unsafe byte* LongName;
public int Type;
@ -19,6 +19,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public nint Profiles;
public unsafe byte* WrapperName;
public nint ChLayouts;
#pragma warning restore CS0649
}
}

View file

@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVCodec501
{
#pragma warning disable CS0649 // Field is never assigned to
public unsafe byte* Name;
public unsafe byte* LongName;
public int Type;
@ -18,6 +18,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public unsafe nint PrivClass;
public nint Profiles;
public unsafe byte* WrapperName;
#pragma warning restore CS0649
}
}

View file

@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVCodecContext
{
#pragma warning disable CS0649 // Field is never assigned to
public unsafe nint AvClass;
public int LogLevelOffset;
public int CodecType;
@ -165,6 +165,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public long MaxSamples;
public int ExportSideData;
public nint GetEncodeBuffer;
#pragma warning restore CS0649
}
}

View file

@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVFrame
{
#pragma warning disable CS0649 // Field is never assigned to
public Array8<nint> Data;
public Array8<int> LineSize;
public nint ExtendedData;
@ -29,7 +29,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public long ReorderedOpaque;
public int SampleRate;
public ulong ChannelLayout;
#pragma warning restore CS0649
// NOTE: There is more after, but the layout kind of changed a bit and we don't need more than this. This is safe as we only manipulate this behind a reference.
}

View file

@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVPacket
{
#pragma warning disable CS0649 // Field is never assigned to
public unsafe AVBufferRef* Buf;
public long Pts;
public long Dts;
@ -19,6 +19,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public AVBufferRef Opaque;
public unsafe AVBufferRef* OpaqueRef;
public AVRational TimeBase;
#pragma warning restore CS0649
}
}

View file

@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct FFCodec<T> where T : struct
{
#pragma warning disable CS0649 // Field is never assigned to
public T Base;
public int CapsInternalOrCbType;
public int PrivDataSize;
@ -12,7 +12,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public nint InitStaticData;
public nint Init;
public nint CodecCallback;
#pragma warning restore CS0649
// NOTE: There is more after, but the layout kind of changed a bit and we don't need more than this. This is safe as we only manipulate this behind a reference.
}

View file

@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct FFCodecLegacy<T> where T : struct
{
#pragma warning disable CS0649 // Field is never assigned to
public T Base;
public uint CapsInternalOrCbType;
public int PrivDataSize;
@ -14,7 +14,6 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
public nint EncodeSub;
public nint Encode2;
public nint Decode;
#pragma warning restore CS0649
// NOTE: There is more after, but the layout kind of changed a bit and we don't need more than this. This is safe as we only manipulate this behind a reference.
}