Ver código fonte

LibWeb/WebGL: Implement deleteTexture

Luke Wilde 7 meses atrás
pai
commit
111c4495d9

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

@@ -82,7 +82,7 @@ interface mixin WebGLRenderingContextBase {
     undefined deleteProgram(WebGLProgram? program);
     [FIXME] undefined deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
     undefined deleteShader(WebGLShader? shader);
-    [FIXME] undefined deleteTexture(WebGLTexture? texture);
+    undefined deleteTexture(WebGLTexture? texture);
 
     undefined depthFunc(GLenum func);
     undefined depthMask(GLboolean flag);

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

@@ -726,6 +726,14 @@ public:
             continue;
         }
 
+        if (function.name == "deleteTexture"sv) {
+            function_impl_generator.append(R"~~~(
+    auto handle = texture ? texture->handle() : 0;
+    glDeleteTextures(1, &handle);
+)~~~");
+            continue;
+        }
+
         Vector<ByteString> gl_call_arguments;
         for (size_t i = 0; i < function.parameters.size(); ++i) {
             auto const& parameter = function.parameters[i];