LibWeb/WebGL2: Implement invalidateFramebuffer

This commit is contained in:
Luke Wilde
2024-12-16 19:26:26 +00:00
committed by Alexander Kalenik
parent 2983ad10bc
commit e26b524721
2 changed files with 14 additions and 2 deletions

View File

@@ -29,7 +29,11 @@ static bool is_webgl_object_type(StringView type_name)
static bool gl_function_modifies_framebuffer(StringView function_name)
{
return function_name == "clearColor"sv || function_name == "drawArrays"sv || function_name == "drawElements"sv;
return function_name == "clearColor"sv
|| function_name == "drawArrays"sv
|| function_name == "drawElements"sv
|| function_name == "blitFramebuffer"sv
|| function_name == "invalidateFramebuffer"sv;
}
static ByteString to_cpp_type(const IDL::Type& type, const IDL::Interface& interface)
@@ -576,6 +580,14 @@ public:
continue;
}
if (function.name == "invalidateFramebuffer"sv) {
function_impl_generator.append(R"~~~(
glInvalidateFramebuffer(target, attachments.size(), attachments.data());
needs_to_present();
)~~~");
continue;
}
if (function.name == "createVertexArray"sv) {
function_impl_generator.append(R"~~~(
GLuint handle = 0;