Cargo Features

RafxApi has no features set by default.

[dependencies]
rafx-api = { version = "0.0.16", features = ["rafx-empty", "rafx-dx12", "rafx-vulkan", "rafx-metal", "rafx-gles2", "rafx-gles3", "static-vulkan", "serde-support", "track-device-contexts"] }
rafx-empty

Affects backends::empty, shader::RafxShaderModuleDefEmpty, shader::RafxShaderModuleDef.empty

rafx-dx12 = gpu-allocator, hassle-rs, windows

Enables d3d12 of gpu-allocator ^0.22.0

vulkan/dx12

Affects backends::dx12, definitions::RafxApiDef.dx12_options, shader::RafxShaderModuleDefDx12, shader::RafxShaderModuleDef.dx12

rafx-vulkan = ash, ash-window, gpu-allocator

Enables vulkan of gpu-allocator ^0.22.0

Affects backends::vulkan, util::RafxBlendStateVkCreateInfo, definitions::RafxApiDef.vk_options, shader::RafxShaderModuleDefVulkan, shader::RafxShaderModuleDef.vk

rafx-metal = block, cocoa, cocoa-foundation, core-foundation, core-graphics, core-graphics-types, dispatch, foreign-types-shared, metal_rs, objc, raw-window-metal

Affects backends::metal, definitions::RafxApiDef.metal_options, shader::RafxShaderModuleDefMetal, shader::RafxShaderModuleDef.metal

rafx-gles2 = cocoa, core-foundation, objc, winapi, x11

Affects backends::gles2, definitions::RafxApiDef.gles2_options, shader::RafxShaderModuleDefGles2, shader::RafxShaderModuleDef.gles2, internal_shared::gl_window, format::GlTextureFormatInfo

rafx-gles3 = cocoa, core-foundation, objc, winapi, x11

Affects backends::gles3, definitions::RafxApiDef.gles3_options, shader::RafxShaderModuleDefGles3, shader::RafxShaderModuleDef.gles3, internal_shared::gl_window, format::GlTextureFormatInfo

static-vulkan
serde-support = serde, serde_bytes
track-device-contexts = backtrace

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.

serde serde-support?
serde_bytes serde-support?
backtrace track-device-contexts?

Enables backtrace

Used for debug-only tracking of resources

gpu-allocator rafx-dx12? rafx-vulkan?

Enables gpu-allocator ^0.22.0

ash rafx-vulkan?

Enables ash ^0.37

vulkan

ash-window rafx-vulkan?

Enables ash-window ^0.12

windows rafx-dx12?

Enables windows ^0.44

dx12

hassle-rs rafx-dx12?

Enables hassle-rs ^0.10.0

block mac rafx-metal?
cocoa-foundation mac rafx-metal?
core-graphics mac rafx-metal?

Enables core-graphics =0.22.3

core-graphics-types mac rafx-metal?
dispatch mac rafx-metal?
foreign-types-shared mac rafx-metal?

Enables foreign-types-shared ^0.1

metal_rs mac rafx-metal?

Enables metal ^0.25

raw-window-metal mac rafx-metal?

Enables raw-window-metal ^0.3.1

winapi not wasm32 win rafx-gles2? rafx-gles3?
x11 not wasm32 linux rafx-gles2? rafx-gles3?
cocoa not wasm32 mac rafx-gles2? rafx-gles3? rafx-metal?

Enables cocoa ^0.24.0

core-foundation not wasm32 mac rafx-gles2? rafx-gles3? rafx-metal?
objc mac not wasm32 mac rafx-gles2? rafx-gles3? rafx-metal?