diff --git a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl index 980f183ec2d..9892c0d8216 100644 --- a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl +++ b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl @@ -77,7 +77,7 @@ interface mixin WebGLRenderingContextBase { undefined cullFace(GLenum mode); - [FIXME] undefined deleteBuffer(WebGLBuffer? buffer); + undefined deleteBuffer(WebGLBuffer? buffer); [FIXME] undefined deleteFramebuffer(WebGLFramebuffer? framebuffer); undefined deleteProgram(WebGLProgram? program); [FIXME] undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp index f7ecf2f1e03..67f5c898bca 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp @@ -699,6 +699,14 @@ public: continue; } + if (function.name == "deleteBuffer"sv) { + function_impl_generator.append(R"~~~( + auto handle = buffer ? buffer->handle() : 0; + glDeleteBuffers(1, &handle); +)~~~"); + continue; + } + Vector gl_call_arguments; for (size_t i = 0; i < function.parameters.size(); ++i) { auto const& parameter = function.parameters[i];