ソースを参照

LibWeb/WebGL: Implement deleteFramebuffer

Luke Wilde 7 ヶ月 前
コミット
2e1702a14b

+ 1 - 1
Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl

@@ -78,7 +78,7 @@ interface mixin WebGLRenderingContextBase {
     undefined cullFace(GLenum mode);
     undefined cullFace(GLenum mode);
 
 
     undefined deleteBuffer(WebGLBuffer? buffer);
     undefined deleteBuffer(WebGLBuffer? buffer);
-    [FIXME] undefined deleteFramebuffer(WebGLFramebuffer? framebuffer);
+    undefined deleteFramebuffer(WebGLFramebuffer? framebuffer);
     undefined deleteProgram(WebGLProgram? program);
     undefined deleteProgram(WebGLProgram? program);
     [FIXME] undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
     [FIXME] undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
     undefined deleteShader(WebGLShader? shader);
     undefined deleteShader(WebGLShader? shader);

+ 8 - 0
Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp

@@ -726,6 +726,14 @@ public:
             continue;
             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) {
         if (function.name == "deleteTexture"sv) {
             function_impl_generator.append(R"~~~(
             function_impl_generator.append(R"~~~(
     auto handle = texture ? texture->handle() : 0;
     auto handle = texture ? texture->handle() : 0;