pub fn queue_material2d_meshes<M>(
    transparent_draw_functions: Res<'_, DrawFunctions<Transparent2d>>,
    material2d_pipeline: Res<'_, Material2dPipeline<M>>,
    pipelines: ResMut<'_, SpecializedMeshPipelines<Material2dPipeline<M>>>,
    pipeline_cache: Res<'_, PipelineCache>,
    msaa: Res<'_, Msaa>,
    render_meshes: Res<'_, RenderAssets<Mesh>>,
    render_materials: Res<'_, RenderMaterials2d<M>>,
    material2d_meshes: Query<'_, '_, (&Handle<M>, &Mesh2dHandle, &Mesh2dUniform), ()>,
    views: Query<'_, '_, (&ExtractedView, &VisibleEntities, Option<&Tonemapping>, Option<&DebandDither>, &mut RenderPhase<Transparent2d>), ()>
)where
    M: Material2d,
    <M as AsBindGroup>::Data: PartialEq<<M as AsBindGroup>::Data> + Eq + Hash + Clone,