diff --git a/samples/ControlCatalog/Pages/OpenGlPage.xaml.cs b/samples/ControlCatalog/Pages/OpenGlPage.xaml.cs index 791c49ed8f..f2a0d9a03e 100644 --- a/samples/ControlCatalog/Pages/OpenGlPage.xaml.cs +++ b/samples/ControlCatalog/Pages/OpenGlPage.xaml.cs @@ -243,9 +243,8 @@ namespace ControlCatalog.Pages GL.UseProgram(0); // Delete all resources. - GL.DeleteBuffer(_vertexBufferObject); - GL.DeleteBuffer(_indexBufferObject); - GL.DeleteVertexArray(_vertexArrayObject); + GL.DeleteBuffers(2, new[] { _vertexBufferObject, _indexBufferObject }); + GL.DeleteVertexArrays(1, new[] { _vertexArrayObject }); GL.DeleteProgram(_shaderProgram); GL.DeleteShader(_fragmentShader); GL.DeleteShader(_vertexShader); diff --git a/src/Avalonia.OpenGL/GlEntryPointAttribute.cs b/src/Avalonia.OpenGL/GlEntryPointAttribute.cs index 62bf3567e4..c37caa06c1 100644 --- a/src/Avalonia.OpenGL/GlEntryPointAttribute.cs +++ b/src/Avalonia.OpenGL/GlEntryPointAttribute.cs @@ -6,7 +6,7 @@ namespace Avalonia.OpenGL public class GlEntryPointAttribute : Attribute { public string[] EntryPoints { get; } - public bool Optional { get; } + public bool Optional { get; set; } public GlEntryPointAttribute(string entryPoint, bool optional = false) { diff --git a/src/Avalonia.OpenGL/GlInterface.cs b/src/Avalonia.OpenGL/GlInterface.cs index 33208f8e6c..77cbe4cc72 100644 --- a/src/Avalonia.OpenGL/GlInterface.cs +++ b/src/Avalonia.OpenGL/GlInterface.cs @@ -320,13 +320,13 @@ namespace Avalonia.OpenGL [GlEntryPoint("glEnable")] public GlEnable Enable { get; } - public delegate void GlDeleteBuffer(int buffer); - [GlEntryPoint("glDeleteBuffer")] - public GlDeleteBuffer DeleteBuffer { get; } + public delegate void GlDeleteBuffers(int count, int[] buffers); + [GlEntryPoint("glDeleteBuffers")] + public GlDeleteBuffers DeleteBuffers { get; } - public delegate void GlDeleteVertexArray(int array); - [GlEntryPoint("glDeleteVertexArray", "glDeleteVertexArrayOES")] - public GlDeleteVertexArray DeleteVertexArray { get; } + public delegate void GlDeleteVertexArrays(int count, int[] buffers); + [GlEntryPoint("glDeleteVertexArrays", "glDeleteVertexArraysOES")] + public GlDeleteVertexArrays DeleteVertexArrays { get; } public delegate void GlDeleteProgram(int program); [GlEntryPoint("glDeleteProgram")]