diff --git a/Libraries/LibWeb/WebGL/WebGL2RenderingContextBase.idl b/Libraries/LibWeb/WebGL/WebGL2RenderingContextBase.idl index 2d934e4c0a1..52389fc2367 100644 --- a/Libraries/LibWeb/WebGL/WebGL2RenderingContextBase.idl +++ b/Libraries/LibWeb/WebGL/WebGL2RenderingContextBase.idl @@ -368,7 +368,7 @@ interface mixin WebGL2RenderingContextBase { [FIXME] undefined drawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLintptr offset); // Multiple Render Targets - [FIXME] undefined drawBuffers(sequence buffers); + undefined drawBuffers(sequence buffers); [FIXME] undefined clearBufferfv(GLenum buffer, GLint drawbuffer, Float32List values, optional unsigned long long srcOffset = 0); [FIXME] undefined clearBufferiv(GLenum buffer, GLint drawbuffer, Int32List values, optional unsigned long long srcOffset = 0); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp index 182be28937a..b453babd8bf 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp @@ -670,6 +670,13 @@ public: continue; } + if (function.name == "drawBuffers"sv) { + function_impl_generator.append(R"~~~( + glDrawBuffers(buffers.size(), buffers.data()); +)~~~"); + continue; + } + if (function.name.starts_with("uniformMatrix"sv)) { auto number_of_matrix_elements = function.name.substring_view(13, 1); function_impl_generator.set("number_of_matrix_elements", number_of_matrix_elements);