Cargo Features

skia-safe = { version = "0.71.0", default-features = false, features = ["all-linux", "all-windows", "all-macos", "gl", "egl", "x11", "wayland", "vulkan", "metal", "d3d", "textlayout", "svg", "webp", "webp-encode", "webp-decode", "use-system-jpeg-turbo", "binary-cache", "embed-icudtl", "embed-freetype", "gpu", "shaper"] }
default = binary-cache, embed-icudtl

These default features are set whenever skia-safe is added without default-features = false somewhere in the dependency tree.

all-linux = egl, gl, svg, textlayout, vulkan, wayland, webp, x11
all-windows = d3d, gl, svg, textlayout, vulkan, webp
all-macos = gl, metal, svg, textlayout, vulkan, webp
gl all-linux? all-macos? all-windows? egl? x11? = gpu

Enables gl of skia-bindings

Affects ganesh::gl, gpu::gl

egl all-linux? wayland? = gl

Enables egl of skia-bindings

x11 all-linux? = gl

Enables x11 of skia-bindings

wayland all-linux? = egl

Enables wayland of skia-bindings

vulkan all-linux? all-macos? all-windows? = gpu

Enables vulkan of skia-bindings

Affects ganesh::vk, gpu::vk

metal all-macos? = gpu

Enables metal of skia-bindings

Affects surface_metal::wrap_mtk_view, ganesh::mtl, gpu::mtl

d3d all-windows? = gpu, windows

Enables d3d of skia-bindings

Affects gpu::d3d

textlayout all-linux? all-macos? all-windows? shaper?

Enables textlayout of skia-bindings

Affects modules::shaper, modules::textlayout

svg all-linux? all-macos? all-windows? = base64, ureq

Enables svg of skia-bindings


textlayout because SkSVGTextContext::SkSVGTextContext() invokes SkShaper::Make.

Affects modules::svg

webp all-linux? all-macos? all-windows? = webp-decode, webp-encode
webp-encode webp?

Enables webp-encode of skia-bindings

Affects encode_::webp_encoder

webp-decode webp?

Enables webp-decode of skia-bindings

Affects decoders::webp_decoder


Enables use-system-jpeg-turbo of skia-bindings


sys libraries

binary-cache default

Enables binary-cache of skia-bindings

embed-icudtl default

Enables embed-icudtl of skia-bindings


Enables embed-freetype of skia-bindings

gpu d3d? gl? metal? vulkan?

implied only, do not use

Affects drawable::gpu_draw_handler, types::Budgeted, skia-safe::gpu

shaper = textlayout

Enables shaper of skia-bindings

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

windows d3d?

Enables windows ^0.52.0

D3D types & ComPtr

ureq svg?

Enables ureq


base64 svg?