diff --git a/Directory.Packages.props b/Directory.Packages.props
index 86fb6c688..ff91da5ba 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -38,10 +38,10 @@
-
-
-
-
+
+
+
+
@@ -52,4 +52,4 @@
-
\ No newline at end of file
+
diff --git a/src/Ryujinx.Graphics.OpenGL/Effects/FsrScalingFilter.cs b/src/Ryujinx.Graphics.OpenGL/Effects/FsrScalingFilter.cs
index aff20db2f..ba98a6574 100644
--- a/src/Ryujinx.Graphics.OpenGL/Effects/FsrScalingFilter.cs
+++ b/src/Ryujinx.Graphics.OpenGL/Effects/FsrScalingFilter.cs
@@ -120,10 +120,10 @@ namespace Ryujinx.Graphics.OpenGL.Effects
var textureView = _intermediaryTexture.CreateView(_intermediaryTexture.Info, 0, 0) as TextureView;
- uint previousProgram = (uint)_gd.Api.GetInteger(GetPName.CurrentProgram);
- int previousUnit = _gd.Api.GetInteger(GetPName.ActiveTexture);
+ uint previousProgram = (uint)_gd.Api.GetInteger(GLEnum.CurrentProgram);
+ int previousUnit = _gd.Api.GetInteger(GLEnum.ActiveTexture);
_gd.Api.ActiveTexture(TextureUnit.Texture0);
- uint previousTextureBinding = (uint)_gd.Api.GetInteger(GetPName.TextureBinding2D);
+ uint previousTextureBinding = (uint)_gd.Api.GetInteger(GLEnum.TextureBinding2D);
_gd.Api.BindImageTexture(0, textureView.Handle, 0, false, 0, BufferAccessARB.ReadWrite, InternalFormat.Rgba8);
diff --git a/src/Ryujinx.Graphics.OpenGL/Effects/FxaaPostProcessingEffect.cs b/src/Ryujinx.Graphics.OpenGL/Effects/FxaaPostProcessingEffect.cs
index 1f54ad2aa..511897a00 100644
--- a/src/Ryujinx.Graphics.OpenGL/Effects/FxaaPostProcessingEffect.cs
+++ b/src/Ryujinx.Graphics.OpenGL/Effects/FxaaPostProcessingEffect.cs
@@ -49,10 +49,10 @@ namespace Ryujinx.Graphics.OpenGL.Effects
var textureView = _textureStorage.CreateView(view.Info, 0, 0) as TextureView;
- uint previousProgram = (uint)_gd.Api.GetInteger(GetPName.CurrentProgram);
- int previousUnit = _gd.Api.GetInteger(GetPName.ActiveTexture);
+ uint previousProgram = (uint)_gd.Api.GetInteger(GLEnum.CurrentProgram);
+ int previousUnit = _gd.Api.GetInteger(GLEnum.ActiveTexture);
_gd.Api.ActiveTexture(TextureUnit.Texture0);
- uint previousTextureBinding = (uint)_gd.Api.GetInteger(GetPName.TextureBinding2D);
+ uint previousTextureBinding = (uint)_gd.Api.GetInteger(GLEnum.TextureBinding2D);
_gd.Api.BindImageTexture(0, textureView.Handle, 0, false, 0, BufferAccessARB.ReadWrite, InternalFormat.Rgba8);
_gd.Api.UseProgram(_shaderProgram);
diff --git a/src/Ryujinx.Graphics.OpenGL/Effects/SmaaPostProcessingEffect.cs b/src/Ryujinx.Graphics.OpenGL/Effects/SmaaPostProcessingEffect.cs
index 94fbe1673..37951d168 100644
--- a/src/Ryujinx.Graphics.OpenGL/Effects/SmaaPostProcessingEffect.cs
+++ b/src/Ryujinx.Graphics.OpenGL/Effects/SmaaPostProcessingEffect.cs
@@ -184,14 +184,14 @@ namespace Ryujinx.Graphics.OpenGL.Effects.Smaa
var areaTexture = _areaTexture.DefaultView as TextureView;
var searchTexture = _searchTexture.DefaultView as TextureView;
- uint previousFramebuffer = (uint)_gd.Api.GetInteger(GetPName.DrawFramebufferBinding);
- int previousUnit = _gd.Api.GetInteger(GetPName.ActiveTexture);
+ uint previousFramebuffer = (uint)_gd.Api.GetInteger(GLEnum.DrawFramebufferBinding);
+ int previousUnit = _gd.Api.GetInteger(GLEnum.ActiveTexture);
_gd.Api.ActiveTexture(TextureUnit.Texture0);
- uint previousTextureBinding0 = (uint)_gd.Api.GetInteger(GetPName.TextureBinding2D);
+ uint previousTextureBinding0 = (uint)_gd.Api.GetInteger(GLEnum.TextureBinding2D);
_gd.Api.ActiveTexture(TextureUnit.Texture1);
- uint previousTextureBinding1 = (uint)_gd.Api.GetInteger(GetPName.TextureBinding2D);
+ uint previousTextureBinding1 = (uint)_gd.Api.GetInteger(GLEnum.TextureBinding2D);
_gd.Api.ActiveTexture(TextureUnit.Texture2);
- uint previousTextureBinding2 = (uint)_gd.Api.GetInteger(GetPName.TextureBinding2D);
+ uint previousTextureBinding2 = (uint)_gd.Api.GetInteger(GLEnum.TextureBinding2D);
var framebuffer = new Framebuffer(_gd.Api);
framebuffer.Bind();
@@ -209,7 +209,7 @@ namespace Ryujinx.Graphics.OpenGL.Effects.Smaa
uint dispatchX = (uint)BitUtils.DivRoundUp(view.Width, IPostProcessingEffect.LocalGroupSize);
uint dispatchY = (uint)BitUtils.DivRoundUp(view.Height, IPostProcessingEffect.LocalGroupSize);
- uint previousProgram = (uint)_gd.Api.GetInteger(GetPName.CurrentProgram);
+ uint previousProgram = (uint)_gd.Api.GetInteger(GLEnum.CurrentProgram);
_gd.Api.BindImageTexture(0, edgeOutput.Handle, 0, false, 0, BufferAccessARB.ReadWrite, InternalFormat.Rgba8);
_gd.Api.UseProgram(_edgeShaderPrograms[Quality]);
view.Bind(0);
diff --git a/src/Ryujinx.Graphics.OpenGL/EnumConversion.cs b/src/Ryujinx.Graphics.OpenGL/EnumConversion.cs
index 75528e67b..2f360c78d 100644
--- a/src/Ryujinx.Graphics.OpenGL/EnumConversion.cs
+++ b/src/Ryujinx.Graphics.OpenGL/EnumConversion.cs
@@ -14,9 +14,9 @@ namespace Ryujinx.Graphics.OpenGL
switch (mode)
{
case AddressMode.Clamp:
-#pragma warning disable CS0618 // Type or member is obsolete
+#pragma warning disable CS0612 // Type or member is obsolete
return TextureWrapMode.Clamp;
-#pragma warning restore CS0618 // Type or member is obsolete
+#pragma warning restore CS0612 // Type or member is obsolete
case AddressMode.Repeat:
return TextureWrapMode.Repeat;
case AddressMode.MirrorClamp:
@@ -35,9 +35,9 @@ namespace Ryujinx.Graphics.OpenGL
Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(AddressMode)} enum value: {mode}.");
-#pragma warning disable CS0618 // Type or member is obsolete
+#pragma warning disable CS0612 // Type or member is obsolete
return TextureWrapMode.Clamp;
-#pragma warning restore CS0618 // Type or member is obsolete
+#pragma warning restore CS0612 // Type or member is obsolete
}
public static NV Convert(this AdvancedBlendOp op)
@@ -455,9 +455,9 @@ namespace Ryujinx.Graphics.OpenGL
case PrimitiveTopology.Quads:
return PrimitiveType.Quads;
case PrimitiveTopology.QuadStrip:
-#pragma warning disable CS0618 // Type or member is obsolete
+#pragma warning disable CS0612 // Type or member is obsolete
return PrimitiveType.QuadStrip;
-#pragma warning restore CS0618 // Type or member is obsolete
+#pragma warning restore CS0612 // Type or member is obsolete
case PrimitiveTopology.Polygon:
return PrimitiveType.TriangleFan;
case PrimitiveTopology.LinesAdjacency:
diff --git a/src/Ryujinx.Graphics.OpenGL/FormatTable.cs b/src/Ryujinx.Graphics.OpenGL/FormatTable.cs
index 6492aa7f4..5a26a51cd 100644
--- a/src/Ryujinx.Graphics.OpenGL/FormatTable.cs
+++ b/src/Ryujinx.Graphics.OpenGL/FormatTable.cs
@@ -1,5 +1,6 @@
using Ryujinx.Graphics.GAL;
using Silk.NET.OpenGL.Legacy;
+using Silk.NET.OpenGL.Legacy.Extensions.NV;
using System;
namespace Ryujinx.Graphics.OpenGL
@@ -21,7 +22,7 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R8Snorm, new FormatInfo(1, true, false, InternalFormat.R8SNorm, PixelFormat.Red, PixelType.Byte));
Add(Format.R8Uint, new FormatInfo(1, false, false, InternalFormat.R8ui, PixelFormat.RedInteger, PixelType.UnsignedByte));
Add(Format.R8Sint, new FormatInfo(1, false, false, InternalFormat.R8i, PixelFormat.RedInteger, PixelType.Byte));
- Add(Format.R16Float, new FormatInfo(1, false, false, InternalFormat.R16f, PixelFormat.Red, PixelType.HalfFloat));
+ Add(Format.R16Float, new FormatInfo(1, false, false, InternalFormat.R16f, PixelFormat.Red, (PixelType)NV.HalfFloatNV));
Add(Format.R16Unorm, new FormatInfo(1, true, false, InternalFormat.R16, PixelFormat.Red, PixelType.UnsignedShort));
Add(Format.R16Snorm, new FormatInfo(1, true, false, InternalFormat.R16SNorm, PixelFormat.Red, PixelType.Short));
Add(Format.R16Uint, new FormatInfo(1, false, false, InternalFormat.R16ui, PixelFormat.RedInteger, PixelType.UnsignedShort));
@@ -33,7 +34,7 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R8G8Snorm, new FormatInfo(2, true, false, InternalFormat.RG8SNorm, PixelFormat.RG, PixelType.Byte));
Add(Format.R8G8Uint, new FormatInfo(2, false, false, InternalFormat.RG8ui, PixelFormat.RGInteger, PixelType.UnsignedByte));
Add(Format.R8G8Sint, new FormatInfo(2, false, false, InternalFormat.RG8i, PixelFormat.RGInteger, PixelType.Byte));
- Add(Format.R16G16Float, new FormatInfo(2, false, false, InternalFormat.RG16f, PixelFormat.RG, PixelType.HalfFloat));
+ Add(Format.R16G16Float, new FormatInfo(2, false, false, InternalFormat.RG16f, PixelFormat.RG, (PixelType)NV.HalfFloatNV));
Add(Format.R16G16Unorm, new FormatInfo(2, true, false, InternalFormat.RG16, PixelFormat.RG, PixelType.UnsignedShort));
Add(Format.R16G16Snorm, new FormatInfo(2, true, false, InternalFormat.RG16SNorm, PixelFormat.RG, PixelType.Short));
Add(Format.R16G16Uint, new FormatInfo(2, false, false, InternalFormat.RG16ui, PixelFormat.RGInteger, PixelType.UnsignedShort));
@@ -45,7 +46,7 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R8G8B8Snorm, new FormatInfo(3, true, false, InternalFormat.Rgb8SNorm, PixelFormat.Rgb, PixelType.Byte));
Add(Format.R8G8B8Uint, new FormatInfo(3, false, false, InternalFormat.Rgb8ui, PixelFormat.RgbInteger, PixelType.UnsignedByte));
Add(Format.R8G8B8Sint, new FormatInfo(3, false, false, InternalFormat.Rgb8i, PixelFormat.RgbInteger, PixelType.Byte));
- Add(Format.R16G16B16Float, new FormatInfo(3, false, false, InternalFormat.Rgb16f, PixelFormat.Rgb, PixelType.HalfFloat));
+ Add(Format.R16G16B16Float, new FormatInfo(3, false, false, InternalFormat.Rgb16f, PixelFormat.Rgb, (PixelType)NV.HalfFloatNV));
Add(Format.R16G16B16Unorm, new FormatInfo(3, true, false, InternalFormat.Rgb16, PixelFormat.Rgb, PixelType.UnsignedShort));
Add(Format.R16G16B16Snorm, new FormatInfo(3, true, false, InternalFormat.Rgb16SNorm, PixelFormat.Rgb, PixelType.Short));
Add(Format.R16G16B16Uint, new FormatInfo(3, false, false, InternalFormat.Rgb16ui, PixelFormat.RgbInteger, PixelType.UnsignedShort));
@@ -57,7 +58,7 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R8G8B8A8Snorm, new FormatInfo(4, true, false, InternalFormat.Rgba8SNorm, PixelFormat.Rgba, PixelType.Byte));
Add(Format.R8G8B8A8Uint, new FormatInfo(4, false, false, InternalFormat.Rgba8ui, PixelFormat.RgbaInteger, PixelType.UnsignedByte));
Add(Format.R8G8B8A8Sint, new FormatInfo(4, false, false, InternalFormat.Rgba8i, PixelFormat.RgbaInteger, PixelType.Byte));
- Add(Format.R16G16B16A16Float, new FormatInfo(4, false, false, InternalFormat.Rgba16f, PixelFormat.Rgba, PixelType.HalfFloat));
+ Add(Format.R16G16B16A16Float, new FormatInfo(4, false, false, InternalFormat.Rgba16f, PixelFormat.Rgba, (PixelType)NV.HalfFloatNV));
Add(Format.R16G16B16A16Unorm, new FormatInfo(4, true, false, InternalFormat.Rgba16, PixelFormat.Rgba, PixelType.UnsignedShort));
Add(Format.R16G16B16A16Snorm, new FormatInfo(4, true, false, InternalFormat.Rgba16SNorm, PixelFormat.Rgba, PixelType.Short));
Add(Format.R16G16B16A16Uint, new FormatInfo(4, false, false, InternalFormat.Rgba16ui, PixelFormat.RgbaInteger, PixelType.UnsignedShort));
@@ -67,11 +68,11 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R32G32B32A32Sint, new FormatInfo(4, false, false, InternalFormat.Rgba32i, PixelFormat.RgbaInteger, PixelType.Int));
Add(Format.S8Uint, new FormatInfo(1, false, false, InternalFormat.StencilIndex8, PixelFormat.StencilIndex, PixelType.UnsignedByte));
Add(Format.D16Unorm, new FormatInfo(1, false, false, InternalFormat.DepthComponent16, PixelFormat.DepthComponent, PixelType.UnsignedShort));
- Add(Format.S8UintD24Unorm, new FormatInfo(1, false, false, InternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, PixelType.UnsignedInt248));
+ Add(Format.S8UintD24Unorm, new FormatInfo(1, false, false, InternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, (PixelType)NV.UnsignedInt248NV));
Add(Format.X8UintD24Unorm, new FormatInfo(1, false, false, InternalFormat.DepthComponent24, PixelFormat.DepthComponent, PixelType.UnsignedInt));
Add(Format.D32Float, new FormatInfo(1, false, false, InternalFormat.DepthComponent32f, PixelFormat.DepthComponent, PixelType.Float));
- Add(Format.D24UnormS8Uint, new FormatInfo(1, false, false, InternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, PixelType.UnsignedInt248));
- Add(Format.D32FloatS8Uint, new FormatInfo(1, false, false, InternalFormat.Depth32fStencil8, PixelFormat.DepthStencil, PixelType.Float32UnsignedInt248Rev));
+ Add(Format.D24UnormS8Uint, new FormatInfo(1, false, false, InternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, (PixelType)NV.UnsignedInt248NV));
+ Add(Format.D32FloatS8Uint, new FormatInfo(1, false, false, InternalFormat.Depth32fStencil8, PixelFormat.DepthStencil, (PixelType)NV.Float32UnsignedInt248RevNV));
Add(Format.R8G8B8A8Srgb, new FormatInfo(4, false, false, InternalFormat.Srgb8Alpha8, PixelFormat.Rgba, PixelType.UnsignedByte));
Add(Format.R4G4B4A4Unorm, new FormatInfo(4, true, false, InternalFormat.Rgba4, PixelFormat.Rgba, PixelType.UnsignedShort4444Rev));
Add(Format.R5G5B5X1Unorm, new FormatInfo(4, true, false, InternalFormat.Rgb5, PixelFormat.Rgb, PixelType.UnsignedShort1555Rev));
@@ -79,8 +80,8 @@ namespace Ryujinx.Graphics.OpenGL
Add(Format.R5G6B5Unorm, new FormatInfo(3, true, false, InternalFormat.Rgb565, PixelFormat.Rgb, PixelType.UnsignedShort565Rev));
Add(Format.R10G10B10A2Unorm, new FormatInfo(4, true, false, InternalFormat.Rgb10A2, PixelFormat.Rgba, PixelType.UnsignedInt2101010Rev));
Add(Format.R10G10B10A2Uint, new FormatInfo(4, false, false, InternalFormat.Rgb10A2ui, PixelFormat.RgbaInteger, PixelType.UnsignedInt2101010Rev));
- Add(Format.R11G11B10Float, new FormatInfo(3, false, false, InternalFormat.R11fG11fB10f, PixelFormat.Rgb, PixelType.UnsignedInt10f11f11fRev));
- Add(Format.R9G9B9E5Float, new FormatInfo(3, false, false, InternalFormat.Rgb9E5, PixelFormat.Rgb, PixelType.UnsignedInt5999Rev));
+ Add(Format.R11G11B10Float, new FormatInfo(3, false, false, InternalFormat.R11fG11fB10f, PixelFormat.Rgb, (PixelType)0x8C3B)); // GL_UNSIGNED_INT_10F_11F_11F_REV Defined in Updated Silk.NET
+ Add(Format.R9G9B9E5Float, new FormatInfo(3, false, false, InternalFormat.Rgb9E5, PixelFormat.Rgb, (PixelType)0x8C3E)); // GL_UNSIGNED_INT_5_9_9_9_REV Defined in Updated Silk.NET
Add(Format.Bc1RgbaUnorm, new FormatInfo(4, true, false, InternalFormat.CompressedRgbaS3TCDxt1Ext));
Add(Format.Bc2Unorm, new FormatInfo(4, true, false, InternalFormat.CompressedRgbaS3TCDxt3Ext));
Add(Format.Bc3Unorm, new FormatInfo(4, true, false, InternalFormat.CompressedRgbaS3TCDxt5Ext));
diff --git a/src/Ryujinx.Graphics.OpenGL/HardwareCapabilities.cs b/src/Ryujinx.Graphics.OpenGL/HardwareCapabilities.cs
index 5e0ece3bf..f0d1fc546 100644
--- a/src/Ryujinx.Graphics.OpenGL/HardwareCapabilities.cs
+++ b/src/Ryujinx.Graphics.OpenGL/HardwareCapabilities.cs
@@ -111,7 +111,7 @@ namespace Ryujinx.Graphics.OpenGL
public static unsafe bool HasExtension(GL api, string name)
{
- int numExtensions = api.GetInteger(GetPName.NumExtensions);
+ int numExtensions = api.GetInteger(GLEnum.NumExtensions);
for (uint extension = 0; extension < numExtensions; extension++)
{
diff --git a/src/Ryujinx.Graphics.OpenGL/Pipeline.cs b/src/Ryujinx.Graphics.OpenGL/Pipeline.cs
index 2c49511ab..9e160565b 100644
--- a/src/Ryujinx.Graphics.OpenGL/Pipeline.cs
+++ b/src/Ryujinx.Graphics.OpenGL/Pipeline.cs
@@ -150,7 +150,7 @@ namespace Ryujinx.Graphics.OpenGL
if (stencilMaskChanged)
{
- _gd.Api.StencilMaskSeparate(TriangleFace.Front, (uint)stencilMask);
+ _gd.Api.StencilMaskSeparate(StencilFaceDirection.Front, (uint)stencilMask);
}
if (depthMaskChanged)
@@ -176,7 +176,7 @@ namespace Ryujinx.Graphics.OpenGL
if (stencilMaskChanged)
{
- _gd.Api.StencilMaskSeparate(TriangleFace.Front, (uint)_stencilFrontMask);
+ _gd.Api.StencilMaskSeparate(StencilFaceDirection.Front, (uint)_stencilFrontMask);
}
if (depthMaskChanged)
@@ -193,11 +193,11 @@ namespace Ryujinx.Graphics.OpenGL
}
else if (depthMask)
{
- _gd.Api.ClearBuffer(BufferKind.Depth, 0, ref depthValue);
+ _gd.Api.ClearBuffer(BufferKind.Depth, 0, in depthValue);
}
else if (stencilMask != 0)
{
- _gd.Api.ClearBuffer(BufferKind.Stencil, 0, ref stencilValue);
+ _gd.Api.ClearBuffer(BufferKind.Stencil, 0, in stencilValue);
}
}
@@ -238,9 +238,9 @@ namespace Ryujinx.Graphics.OpenGL
{
DrawQuadsImpl(vertexCount, instanceCount, firstVertex, firstInstance);
}
-#pragma warning disable CS0618 // Type or member is obsolete
+#pragma warning disable CS0612 // Type or member is obsolete
else if (_primitiveType == PrimitiveType.QuadStrip && !_gd.Capabilities.SupportsQuads)
-#pragma warning restore CS0618 // Type or member is obsolete
+#pragma warning restore CS0612 // Type or member is obsolete
{
DrawQuadStripImpl(vertexCount, instanceCount, firstVertex, firstInstance);
}
@@ -378,9 +378,9 @@ namespace Ryujinx.Graphics.OpenGL
firstVertex,
firstInstance);
}
-#pragma warning disable CS0618 // Type or member is obsolete
+#pragma warning disable CS0612 // Type or member is obsolete
else if (_primitiveType == PrimitiveType.QuadStrip && !_gd.Capabilities.SupportsQuads)
-#pragma warning restore CS0618 // Type or member is obsolete
+#pragma warning restore CS0612 // Type or member is obsolete
{
DrawQuadStripIndexedImpl(
indexCount,
@@ -436,7 +436,7 @@ namespace Ryujinx.Graphics.OpenGL
_gd.Api.DrawElementsInstancedBaseInstance(
PrimitiveType.TriangleFan,
4,
- _elementsType,
+ (GLEnum)_elementsType,
(void*)(indexBaseOffset + quadIndex * 4 * indexElemSize),
(uint)instanceCount,
(uint)firstInstance);
@@ -577,7 +577,7 @@ namespace Ryujinx.Graphics.OpenGL
_gd.Api.DrawElementsInstancedBaseInstance(
_primitiveType,
(uint)indexCount,
- _elementsType,
+ (GLEnum)_elementsType,
(void*)indexBaseOffset,
(uint)instanceCount,
(uint)firstInstance);
@@ -783,6 +783,7 @@ namespace Ryujinx.Graphics.OpenGL
_tfEnabled = false;
}
+#pragma warning disable CS0612 // Type or member is obsolete
#pragma warning disable CS0618 // Type or member is obsolete
public void SetAlphaTest(bool enable, float reference, CompareOp op)
{
@@ -795,8 +796,9 @@ namespace Ryujinx.Graphics.OpenGL
_gd.Api.AlphaFunc((AlphaFunction)op.Convert(), reference);
_gd.Api.Enable(EnableCap.AlphaTest);
}
+#pragma warning restore CS0612 // Type or member is obsolete
#pragma warning restore CS0618 // Type or member is obsolete
-
+
public void SetBlendState(AdvancedBlendDescriptor blend)
{
if (_gd.Capabilities.SupportsBlendEquationAdvanced)
@@ -1112,12 +1114,12 @@ namespace Ryujinx.Graphics.OpenGL
{
if (frontMode == backMode)
{
- _gd.Api.PolygonMode(TriangleFace.FrontAndBack, frontMode.Convert());
+ _gd.Api.PolygonMode(MaterialFace.FrontAndBack, frontMode.Convert());
}
else
{
- _gd.Api.PolygonMode(TriangleFace.Front, frontMode.Convert());
- _gd.Api.PolygonMode(TriangleFace.Back, backMode.Convert());
+ _gd.Api.PolygonMode(MaterialFace.Front, frontMode.Convert());
+ _gd.Api.PolygonMode(MaterialFace.Back, backMode.Convert());
}
}
@@ -1260,7 +1262,7 @@ namespace Ryujinx.Graphics.OpenGL
}
}
- _gd.Api.ScissorArray(0, (uint)count, ref v[0]);
+ _gd.Api.ScissorArray(0, (uint)count, in v[0]);
}
public void SetStencilTest(StencilTestDescriptor stencilTest)
@@ -1274,32 +1276,32 @@ namespace Ryujinx.Graphics.OpenGL
}
_gd.Api.StencilOpSeparate(
- TriangleFace.Front,
+ StencilFaceDirection.Front,
stencilTest.FrontSFail.Convert(),
stencilTest.FrontDpFail.Convert(),
stencilTest.FrontDpPass.Convert());
_gd.Api.StencilFuncSeparate(
- TriangleFace.Front,
+ StencilFaceDirection.Front,
(StencilFunction)stencilTest.FrontFunc.Convert(),
stencilTest.FrontFuncRef,
(uint)stencilTest.FrontFuncMask);
- _gd.Api.StencilMaskSeparate(TriangleFace.Front, (uint)stencilTest.FrontMask);
+ _gd.Api.StencilMaskSeparate(StencilFaceDirection.Front, (uint)stencilTest.FrontMask);
_gd.Api.StencilOpSeparate(
- TriangleFace.Back,
+ StencilFaceDirection.Back,
stencilTest.BackSFail.Convert(),
stencilTest.BackDpFail.Convert(),
stencilTest.BackDpPass.Convert());
_gd.Api.StencilFuncSeparate(
- TriangleFace.Back,
+ StencilFaceDirection.Back,
(StencilFunction)stencilTest.BackFunc.Convert(),
stencilTest.BackFuncRef,
(uint)stencilTest.BackFuncMask);
- _gd.Api.StencilMaskSeparate(TriangleFace.Back, (uint)stencilTest.BackMask);
+ _gd.Api.StencilMaskSeparate(StencilFaceDirection.Back, (uint)stencilTest.BackMask);
_gd.Api.Enable(EnableCap.StencilTest);
diff --git a/src/Ryujinx.Graphics.OpenGL/VertexArray.cs b/src/Ryujinx.Graphics.OpenGL/VertexArray.cs
index 854bdf976..398a2bb7c 100644
--- a/src/Ryujinx.Graphics.OpenGL/VertexArray.cs
+++ b/src/Ryujinx.Graphics.OpenGL/VertexArray.cs
@@ -1,5 +1,6 @@
using Ryujinx.Graphics.GAL;
using Silk.NET.OpenGL.Legacy;
+using Silk.NET.OpenGL.Legacy.Extensions.NV;
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
@@ -107,7 +108,7 @@ namespace Ryujinx.Graphics.OpenGL
int size = fmtInfo.Components;
bool isFloat = fmtInfo.PixelType == PixelType.Float ||
- fmtInfo.PixelType == PixelType.HalfFloat;
+ fmtInfo.PixelType == (PixelType)NV.HalfFloatNV;
if (isFloat || fmtInfo.Normalized || fmtInfo.Scaled)
{