# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.87" name = "wgpu-hal" version = "29.0.0" authors = ["gfx-rs developers"] build = "build.rs" autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = "Hardware abstraction layer for wgpu, the cross-platform, safe, pure-rust graphics API" homepage = "https://wgpu.rs/" readme = "README.md" keywords = ["graphics"] license = "MIT OR Apache-2.0" repository = "https://github.com/gfx-rs/wgpu" [package.metadata.docs.rs] features = [ "metal", "vulkan", "gles", "renderdoc", ] rustdoc-args = [ "--cfg", "docsrs", ] targets = [ "x86_64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "wasm32-unknown-unknown", ] [package.metadata.cargo-machete] ignored = ["cfg_aliases"] [features] device_lost_panic = [] dx12 = [ "naga/hlsl-out", "dep:arrayvec", "dep:bit-set", "dep:bytemuck", "dep:hashbrown", "dep:libloading", "dep:ordered-float", "dep:once_cell", "dep:parking_lot", "dep:profiling", "dep:range-alloc", "dep:windows-core", "dep:gpu-allocator", "gpu-allocator/d3d12", "windows/Win32_Devices_DeviceAndDriverInstallation", "windows/Win32_Graphics_Direct3D_Fxc", "windows/Win32_Graphics_Direct3D_Dxc", "windows/Win32_Graphics_Direct3D", "windows/Win32_Graphics_Direct3D12", "windows/Win32_Graphics_DirectComposition", "windows/Win32_Graphics_Dxgi_Common", "windows/Win32_Security", "windows/Win32_System_Diagnostics_Debug", "windows/Win32_System_Kernel", "windows/Win32_System_Performance", "windows/Win32_System_Threading", "windows/Win32_UI_WindowsAndMessaging", ] fragile-send-sync-non-atomic-wasm = ["wgpu-types/fragile-send-sync-non-atomic-wasm"] gles = [ "naga/glsl-out", "dep:arrayvec", "dep:bytemuck", "dep:glow", "dep:glutin_wgl_sys", "dep:hashbrown", "dep:js-sys", "dep:khronos-egl", "dep:wayland-sys", "dep:libloading", "dep:ndk-sys", "dep:objc2", "dep:parking_lot", "dep:profiling", "dep:wasm-bindgen", "dep:web-sys", "wgpu-types/web", "windows/Win32_Graphics_OpenGL", "windows/Win32_Graphics_Gdi", "windows/Win32_System_LibraryLoader", "windows/Win32_UI_WindowsAndMessaging", ] internal_error_panic = [] metal = [ "naga/msl-out", "dep:arrayvec", "dep:block2", "dep:bytemuck", "dep:hashbrown", "dep:libc", "dep:objc2", "dep:objc2-core-foundation", "dep:objc2-foundation", "dep:objc2-metal", "dep:objc2-quartz-core", "dep:parking_lot", "dep:profiling", "dep:smallvec", "dep:raw-window-metal", ] portable-atomic = [ "dep:portable-atomic", "dep:portable-atomic-util", ] renderdoc = [ "dep:libloading", "dep:renderdoc-sys", ] static-dxc = ["dep:mach-dxcompiler-rs"] validation_canary = ["dep:parking_lot"] vulkan = [ "naga/spv-out", "dep:android_system_properties", "dep:arrayvec", "dep:ash", "dep:bytemuck", "dep:gpu-descriptor", "dep:hashbrown", "dep:libc", "dep:libloading", "dep:ordered-float", "dep:parking_lot", "dep:profiling", "dep:raw-window-metal", "dep:smallvec", "dep:windows", "gpu-allocator/vulkan", "windows/Win32", ] [lib] name = "wgpu_hal" path = "src/lib.rs" [[example]] name = "halmark" path = "examples/halmark/main.rs" [[example]] name = "raw-gles" path = "examples/raw-gles.rs" required-features = ["gles"] [[example]] name = "ray-traced-triangle" path = "examples/ray-traced-triangle/main.rs" [dependencies.arrayvec] version = "0.7.1" optional = true default-features = false [dependencies.bitflags] version = "2.9" [dependencies.bytemuck] version = "1.22" features = [ "extern_crate_alloc", "min_const_generics", "derive", ] optional = true [dependencies.cfg-if] version = "1" [dependencies.glow] version = "0.17" optional = true [dependencies.hashbrown] version = "0.16" features = [ "default-hasher", "inline-more", ] optional = true default-features = false [dependencies.log] version = "0.4.29" [dependencies.naga] version = "29.0.0" path = "../naga" [dependencies.ordered-float] version = ">=3, <6.0" optional = true default-features = false [dependencies.parking_lot] version = "0.12.3" optional = true [dependencies.profiling] version = "1.0.1" optional = true default-features = false [dependencies.raw-window-handle] version = "0.6.2" default-features = false [dependencies.thiserror] version = "2.0.12" default-features = false [dependencies.wgpu-naga-bridge] version = "29.0.0" path = "../wgpu-naga-bridge" [dependencies.wgpu-types] version = "29.0.0" path = "../wgpu-types" default-features = false [dev-dependencies.env_logger] version = "0.11" default-features = false [dev-dependencies.glam] version = "0.32.0" [dev-dependencies.naga] version = "29.0.0" path = "../naga" features = [ "wgsl-in", "termcolor", ] [dev-dependencies.winit] version = "0.30.8" features = ["android-native-activity"] [build-dependencies.cfg_aliases] version = "0.2.1" [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.js-sys] version = "0.3.85" optional = true default-features = true [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.wasm-bindgen] version = "0.2.108" optional = true default-features = false [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.web-sys] version = "0.3.85" features = [ "default", "Window", "HtmlCanvasElement", "WebGl2RenderingContext", "OffscreenCanvas", ] optional = true default-features = false [target.'cfg(all(windows, not(target_arch = "aarch64"), target_env = "msvc"))'.dependencies.mach-dxcompiler-rs] version = "0.1.4" optional = true default-features = false [target.'cfg(any(not(target_has_atomic = "64"), not(target_has_atomic = "ptr")))'.dependencies.portable-atomic] version = "1.10" optional = true [target.'cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "visionos", target_env = "ohos")))'.dev-dependencies.glutin] version = "0.32" features = [ "egl", "wgl", "wayland", "x11", ] default-features = false [target.'cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "visionos", target_env = "ohos")))'.dev-dependencies.glutin-winit] version = "0.5" features = [ "egl", "wgl", "wayland", "x11", ] default-features = false [target.'cfg(not(target_arch = "wasm32"))'.dependencies.ash] version = "0.38" optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.gpu-allocator] version = "0.28" features = ["hashbrown"] optional = true default-features = false [target.'cfg(not(target_arch = "wasm32"))'.dependencies.gpu-descriptor] version = "0.3.2" optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.khronos-egl] version = "6" features = ["dynamic"] optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.libloading] version = "0.8" optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.renderdoc-sys] version = "1" optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.smallvec] version = "1.14" features = ["union"] optional = true [target.'cfg(not(target_has_atomic = "ptr"))'.dependencies.portable-atomic-util] version = "0.2.4" features = ["alloc"] optional = true [target.'cfg(target_os = "android")'.dependencies.android_system_properties] version = "0.1.1" optional = true [target.'cfg(target_os = "android")'.dependencies.ndk-sys] version = "0.6" optional = true [target.'cfg(target_os = "emscripten")'.dependencies.khronos-egl] version = "6" features = [ "static", "no-pkg-config", ] optional = true [target.'cfg(target_os = "emscripten")'.dependencies.libloading] version = "0.8" optional = true [target.'cfg(target_vendor = "apple")'.dependencies.block2] version = "0.6.2" optional = true [target.'cfg(target_vendor = "apple")'.dependencies.bytemuck] version = "1.22" features = [ "extern_crate_alloc", "min_const_generics", ] optional = true [target.'cfg(target_vendor = "apple")'.dependencies.objc2] version = "0.6.3" optional = true [target.'cfg(target_vendor = "apple")'.dependencies.objc2-core-foundation] version = "0.3.2" features = [ "std", "CFCGTypes", ] optional = true default-features = false [target.'cfg(target_vendor = "apple")'.dependencies.objc2-foundation] version = "0.3.2" features = [ "std", "NSError", "NSProcessInfo", "NSRange", "NSString", ] optional = true default-features = false [target.'cfg(target_vendor = "apple")'.dependencies.objc2-metal] version = "0.3.2" features = [ "std", "block2", "MTLAllocation", "MTLBlitCommandEncoder", "MTLBlitPass", "MTLBuffer", "MTLCaptureManager", "MTLCaptureScope", "MTLCommandBuffer", "MTLCommandEncoder", "MTLCommandQueue", "MTLComputeCommandEncoder", "MTLComputePass", "MTLComputePipeline", "MTLCounters", "MTLDepthStencil", "MTLDevice", "MTLDrawable", "MTLEvent", "MTLLibrary", "MTLPipeline", "MTLPixelFormat", "MTLRenderCommandEncoder", "MTLRenderPass", "MTLRenderPipeline", "MTLResource", "MTLSampler", "MTLStageInputOutputDescriptor", "MTLTexture", "MTLTypes", "MTLVertexDescriptor", "MTLAccelerationStructure", "MTLAccelerationStructureTypes", "MTLAccelerationStructureCommandEncoder", "MTLResidencySet", ] optional = true default-features = false [target.'cfg(target_vendor = "apple")'.dependencies.objc2-quartz-core] version = "0.3.2" features = [ "std", "objc2-core-foundation", "CALayer", "CAMetalLayer", "objc2-metal", ] optional = true default-features = false [target.'cfg(target_vendor = "apple")'.dependencies.raw-window-metal] version = "1.0" optional = true [target."cfg(unix)".dependencies.libc] version = "0.2.172" optional = true default-features = false [target."cfg(unix)".dependencies.wayland-sys] version = "0.31.3" features = [ "client", "dlopen", "egl", ] optional = true [target."cfg(windows)".dependencies.bit-set] version = "0.9" optional = true default-features = false [target."cfg(windows)".dependencies.glutin_wgl_sys] version = "0.6" optional = true [target."cfg(windows)".dependencies.once_cell] version = "1.21" optional = true default-features = false [target."cfg(windows)".dependencies.range-alloc] version = "0.1" optional = true [target."cfg(windows)".dependencies.windows] version = "0.62" optional = true default-features = false [target."cfg(windows)".dependencies.windows-core] version = "0.62" optional = true default-features = false [lints.rust.unexpected_cfgs] level = "warn" priority = 0 check-cfg = [ 'cfg(feature, values("cargo-clippy"))', "cfg(web_sys_unstable_apis)", ]