From 2e1640a6c50fc2b347a1e792ddcc7e1e382fcfa4 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Thu, 5 Dec 2024 13:17:27 +0000 Subject: [PATCH] LibWeb/WebGL: Implement deleteBuffer --- Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl | 2 +- .../LibWeb/GenerateWebGLRenderingContext.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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];