|
@@ -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;
|