Trim main task queue, recording label, and canvas draw callbacks

This commit is contained in:
2026-06-16 08:57:15 +02:00
parent 667589f1f6
commit ad76aeb751
8 changed files with 130 additions and 50 deletions

View File

@@ -529,7 +529,25 @@ template <typename LayerMergeT, typename SamplerT, typename FacePlaneT, typename
.unbind_layer_texture = [layer_merge, plane_index] {
layer_merge->rtt(plane_index).unbindTexture();
},
});
});
};
}
template <typename LayerT, typename FacePlaneT, typename SetActiveTextureUnit>
[[nodiscard]] inline auto make_legacy_canvas_draw_merge_layer_frame_draw(
LayerT* layer,
FacePlaneT* face_plane,
SetActiveTextureUnit set_active_texture_unit,
int plane_index,
float layer_opacity)
{
return [layer, face_plane, set_active_texture_unit, plane_index, layer_opacity](int frame, float onion_alpha) {
ShaderManager::u_float(kShaderUniform::Alpha, layer_opacity * onion_alpha);
set_active_texture_unit(0);
layer->rtt(plane_index, frame).bindTexture();
face_plane->draw_fill();
set_active_texture_unit(0);
layer->rtt(plane_index, frame).unbindTexture();
};
}