Cargo Features

[dependencies]
librashader-capi = { version = "0.5.1", default-features = false, features = ["runtime-all", "runtime-opengl", "runtime-d3d11", "runtime-d3d12", "runtime-d3d9", "runtime-vulkan", "runtime-metal", "reflect-unstable", "stable", "docsrs"] }
default = runtime-all

The runtime-all feature is set by default whenever librashader-capi is added without default-features = false somewhere in the dependency tree.

runtime-all default __cbindgen_internal? = runtime-d3d11, runtime-d3d12, runtime-d3d9, runtime-metal, runtime-opengl, runtime-vulkan
runtime-opengl runtime-all = glow

Enables runtime-gl of librashader

librashader:

runtimes

Affects ctypes::libra_gl_filter_chain_t, runtime::gl

runtime-d3d11 runtime-all = windows

Enables runtime-d3d11 of librashader, Win32_Graphics_Direct3D11 of windows

Affects ctypes::libra_d3d11_filter_chain_t, runtime::d3d11

runtime-d3d12 runtime-all = windows

Enables runtime-d3d12 of librashader, Win32_Graphics_Direct3D12 of windows

Affects ctypes::libra_d3d12_filter_chain_t, runtime::d3d12

runtime-d3d9 runtime-all = windows

Enables runtime-d3d9 of librashader, Win32_Graphics_Direct3D9 of windows

Affects ctypes::libra_d3d9_filter_chain_t, runtime::d3d9

runtime-vulkan runtime-all = ash

Enables runtime-vk of librashader

Affects ctypes::libra_vk_filter_chain_t, runtime::vk

runtime-metal runtime-all = __cbindgen_internal_objc

Enables runtime-metal of librashader

Affects ctypes::libra_mtl_filter_chain_t, runtime::mtl

reflect-unstable

Affects librashader-capi::reflect

stable

Enables stable of librashader

__cbindgen_internal = runtime-all

Affects ctypes::libra_d3d11_filter_chain_t, ctypes::libra_d3d12_filter_chain_t, ctypes::libra_d3d9_filter_chain_t, runtime::d3d11, runtime::d3d9, runtime::d3d12, ctypes::libra_mtl_filter_chain_t, runtime::mtl

docsrs
__cbindgen_internal_objc runtime-metal? = objc2, objc2-metal

make runtime-metal depend on this, so its automatically implied.
this will make cbindgen generate __OBJC__ ifdefs for metal functions.

Affects ctypes::libra_mtl_filter_chain_t, runtime::mtl

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

glow runtime-opengl?

Enables glow ^0.14.1

ash runtime-vulkan?
objc2 apple __cbindgen_internal_objc?
objc2-metal apple __cbindgen_internal_objc?
windows win runtime-d3d11? runtime-d3d12? runtime-d3d9?