Selaa lähdekoodia

LibWeb/WebGL: Implement deleteBuffer

Luke Wilde 7 kuukautta sitten
vanhempi
commit
2e1640a6c5

+ 1 - 1
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);

+ 8 - 0
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<ByteString> gl_call_arguments;
         for (size_t i = 0; i < function.parameters.size(); ++i) {
             auto const& parameter = function.parameters[i];