Ryujinx-uplift/Ryujinx.Graphics.GAL/Extents2D.cs
Andrey Sukharev 4da44e09cb
Make structs readonly when applicable (#4002)
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies

* Make structs with trivial boilerplate equality code record structs

* Remove unnecessary readonly modifiers from TextureCreateInfo

* Make BitMap structs readonly too
2022-12-05 14:47:39 +01:00

31 lines
689 B
C#

using Ryujinx.Common;
namespace Ryujinx.Graphics.GAL
{
public readonly struct Extents2D
{
public int X1 { get; }
public int Y1 { get; }
public int X2 { get; }
public int Y2 { get; }
public Extents2D(int x1, int y1, int x2, int y2)
{
X1 = x1;
Y1 = y1;
X2 = x2;
Y2 = y2;
}
public Extents2D Reduce(int level)
{
int div = 1 << level;
return new Extents2D(
X1 >> level,
Y1 >> level,
BitUtils.DivRoundUp(X2, div),
BitUtils.DivRoundUp(Y2, div));
}
}
}