mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2025-06-28 17:40:48 -07:00
Spanify Graphics Abstraction Layer (#1226)
* Spanify Graphics Abstraction Layer * Be explicit about BufferHandle size
This commit is contained in:
22
Ryujinx.Graphics.GAL/BufferHandle.cs
Normal file
22
Ryujinx.Graphics.GAL/BufferHandle.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Ryujinx.Graphics.GAL
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential, Size = 8)]
|
||||
public struct BufferHandle : IEquatable<BufferHandle>
|
||||
{
|
||||
private readonly ulong _value;
|
||||
|
||||
public static BufferHandle Null => new BufferHandle(0);
|
||||
|
||||
private BufferHandle(ulong value) => _value = value;
|
||||
|
||||
public override bool Equals(object obj) => obj is BufferHandle handle && Equals(handle);
|
||||
public bool Equals([AllowNull] BufferHandle other) => other._value == _value;
|
||||
public override int GetHashCode() => _value.GetHashCode();
|
||||
public static bool operator ==(BufferHandle left, BufferHandle right) => left.Equals(right);
|
||||
public static bool operator !=(BufferHandle left, BufferHandle right) => !(left == right);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user