Experimental direct Metal renderer for MoUI: no Skia, no wgpu
@runtime.run_app("MoUI Showcase", runtime)
.render(
@render_metal.metal(
text_engine=@render_metal.native_platform_text_engine(
@text_coretext.coretext_text_engine(),
),
),
)
.backend(@macos_backend.entry())
.run()moon test moui_metal_renderer --target native
moon run moui_tests/metal_renderer_smoke/macos --target native
MOUI_MACOS_METAL_EXIT_AFTER_FIRST_PRESENT=1 \
moon run examples/showcase/macos_metal --target nativepub struct MetalFrameReport {
items : Int
vertices : Int
approximated_clips : Int
clipped_away : Int
text_dropped_glyphs : Int
text_runs_dropped : Int
image_textures_released : Int
image_ops_unresolved : Int
layers : Int
blend_modes_unsupported : Int
blend_modes_approximated : Int
filter_approximations : Int
retained_layers_rebuilt : Int
retained_layers_cached : Int
retained_layers_updated : Int
retained_layers_evicted : Int
shader_effects_fallback_painted : Int
}fn metal_frame_report(commands~ : Array[DrawCommand], width~ : Double, height~ : Double, scale_factor? : Double, text_engine? : NativeTextEngine) -> MetalFrameReportfn metal_proof_pixels(width~ : Int, height~ : Int, commands~ : Array[DrawCommand], clear~ : Color, text_engine? : NativeTextEngine, image_source? : HostImageSource, scale_factor? : Double) -> Bytes?fn metal_renderer_descriptor(capabilities : Array[RendererBackendFeatureCapability]) -> RendererDescriptorfn native_platform_text_engine_with_fallback(provider : NativePlatformTextProvider, fallback~ : NativeTextEngine) -> NativeTextEngineInstall
Download zipExperimental direct Metal renderer for MoUI: no Skia, no wgpu