diff --git a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl index 1466f56abe1..fd814a442dd 100644 --- a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl +++ b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl @@ -78,7 +78,7 @@ interface mixin WebGLRenderingContextBase { undefined cullFace(GLenum mode); undefined deleteBuffer(WebGLBuffer? buffer); - [FIXME] undefined deleteFramebuffer(WebGLFramebuffer? framebuffer); + undefined deleteFramebuffer(WebGLFramebuffer? framebuffer); undefined deleteProgram(WebGLProgram? program); [FIXME] undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer); undefined deleteShader(WebGLShader? shader); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp index 07faeb8b334..cd97afe91bf 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp @@ -726,6 +726,14 @@ public: continue; } + if (function.name == "deleteFramebuffer"sv) { + function_impl_generator.append(R"~~~( + auto handle = framebuffer ? framebuffer->handle() : 0; + glDeleteFramebuffers(1, &handle); +)~~~"); + continue; + } + if (function.name == "deleteTexture"sv) { function_impl_generator.append(R"~~~( auto handle = texture ? texture->handle() : 0;