wgpu 0.13.1

Rusty WebGPU API wrapper
Documentation
[package]

name = "wgpu"

version = "0.13.1"

authors = ["wgpu developers"]

edition = "2021"

description = "Rusty WebGPU API wrapper"

homepage = "https://wgpu.rs/"

repository = "https://github.com/gfx-rs/wgpu/tree/v0.13"

keywords = ["graphics"]

license = "MIT OR Apache-2.0"

exclude = [

    "etc/**/*",

    "examples/**/*.png",  # Image comparison test

    "examples/**/*.dds",  # Compressed textures

    "examples/**/*.ktx2", # Compressed textures

    "examples/**/*.mtl",  # Material files

    "examples/**/*.obj",  # Model files

    "tests/**/*",

    "Cargo.lock",

    "target/**/*"

]

autotests = false



[package.metadata.docs.rs]

all-features = true

rustdoc-args = ["--cfg", "docsrs"]



[lib]



[[test]]

name = "wgpu-tests"

path = "tests/root.rs"



[[example]]

name = "boids"

test = true



[[example]]

name = "bunnymark"

test = true



[[example]]

name = "conservative-raster"

test = true



[[example]]

name = "cube"

test = true



[[example]]

name = "hello-compute"

test = true



[[example]]

name = "mipmap"

test = true



[[example]]

name = "msaa-line"

test = true



[[example]]

name = "shadow"

test = true



[[example]]

name = "skybox"

test = true



[[example]]

name = "texture-arrays"

test = true



[[example]]

name = "water"

test = true



[features]

default = []

spirv = ["naga/spv-in"]

glsl = ["naga/glsl-in"]

trace = ["serde", "wgc/trace"]

replay = ["serde", "wgc/replay"]

angle = ["wgc/angle"]

webgl = ["wgc"]

emscripten = ["webgl"]

vulkan-portability = ["wgc/vulkan-portability"]



[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc]

package = "wgpu-core"

path = "../wgpu-core"

version = "0.13"

features = ["raw-window-handle"]



[target.'cfg(target_arch = "wasm32")'.dependencies.wgc]

package = "wgpu-core"

path = "../wgpu-core"

version = "0.13"

features = ["raw-window-handle"]

optional = true



[dependencies.wgt]

package = "wgpu-types"

path = "../wgpu-types"

version = "0.13"



[target.'cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))'.dependencies.hal]

package = "wgpu-hal"

path = "../wgpu-hal"

version = "0.13"



[dependencies]

arrayvec = "0.7"

log = "0.4"

# parking_lot 0.12 switches from `winapi` to `windows`; permit either

parking_lot = ">=0.11,<0.13"

raw-window-handle = "0.4"

serde = { version = "1", features = ["derive"], optional = true }

smallvec = "1"



[dev-dependencies]

bitflags = "1"

bytemuck = { version = "1.4", features = ["derive"] }

glam = "0.20.2"

ddsfile = "0.5"

futures-intrusive = "0.4"

log = "0.4"

# Opt out of noise's "default-features" to avoid "image" feature as a dependency count optimization.

# This will not be required in the next release since it has been removed from the default feature in https://github.com/Razaekel/noise-rs/commit/1af9e1522236b2c584fb9a02150c9c67a5e6bb04#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542

noise = { version = "0.7", default-features = false }

obj = "0.10"

png = "0.17"

nanorand = { version = "0.7", default-features = false, features = ["wyrand"] }

winit = "0.26"



[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]

async-executor = "1.0"

pollster = "0.2"

env_logger = "0.9"



[dependencies.naga]

#git = "https://github.com/gfx-rs/naga"

#rev = "27d38aae"

version = "0.9"

optional = true



# used to test all the example shaders

[dev-dependencies.naga]

#git = "https://github.com/gfx-rs/naga"

#rev = "27d38aae"

version = "0.9"

features = ["wgsl-in"]



[target.'cfg(target_arch = "wasm32")'.dependencies.naga]

#git = "https://github.com/gfx-rs/naga"

#rev = "27d38aae"

version = "0.9"

features = ["wgsl-out"]



[target.'cfg(target_arch = "wasm32")'.dependencies]

web-sys = { version = "0.3.58", features = [

    "Document",

    "Navigator",

    "Node",

    "NodeList",

    "Gpu",

    "GpuAdapter",

    "GpuAddressMode",

    "GpuAutoLayoutMode",

    "GpuBindGroup",

    "GpuBindGroupDescriptor",

    "GpuBindGroupEntry",

    "GpuBindGroupLayout",

    "GpuBindGroupLayoutDescriptor",

    "GpuBindGroupLayoutEntry",

    "GpuBlendComponent",

    "GpuBlendFactor",

    "GpuBlendOperation",

    "GpuBlendState",

    "GpuBuffer",

    "GpuBufferBinding",

    "GpuBufferBindingLayout",

    "GpuBufferBindingType",

    "GpuBufferDescriptor",

    "GpuCanvasContext",

    "GpuCanvasConfiguration",

    "GpuColorDict",

    "GpuColorTargetState",

    "GpuCommandBuffer",

    "GpuCommandBufferDescriptor",

    "GpuCommandEncoder",

    "GpuCommandEncoderDescriptor",

    "GpuCompareFunction",

    "GpuCompilationInfo",

    "GpuCompilationMessage",

    "GpuCompilationMessageType",

    "GpuComputePassDescriptor",

    "GpuComputePassEncoder",

    "GpuComputePipeline",

    "GpuComputePipelineDescriptor",

    "GpuCullMode",

    "GpuDepthStencilState",

    "GpuDevice",

    "GpuDeviceDescriptor",

    "GpuDeviceLostInfo",

    "GpuDeviceLostReason",

    "GpuError",

    "GpuErrorFilter",

    "GpuExtent3dDict",

    "GpuFeatureName",

    "GpuFilterMode",

    "GpuFragmentState",

    "GpuFrontFace",

    "GpuImageCopyBuffer",

    "GpuImageCopyTexture",

    "GpuImageDataLayout",

    "GpuIndexFormat",

    "GpuLoadOp",

    "gpu_map_mode",

    "GpuMipmapFilterMode",

    "GpuMultisampleState",

    "GpuObjectDescriptorBase",

    "GpuOrigin2dDict",

    "GpuOrigin3dDict",

    "GpuOutOfMemoryError",

    "GpuPipelineDescriptorBase",

    "GpuPipelineLayout",

    "GpuPipelineLayoutDescriptor",

    "GpuPowerPreference",

    "GpuPrimitiveState",

    "GpuPrimitiveTopology",

    "GpuProgrammableStage",

    "GpuQuerySet",

    "GpuQuerySetDescriptor",

    "GpuQueryType",

    "GpuQueue",

    "GpuRenderBundle",

    "GpuRenderBundleDescriptor",

    "GpuRenderBundleEncoder",

    "GpuRenderBundleEncoderDescriptor",

    "GpuRenderPassColorAttachment",

    "GpuRenderPassDepthStencilAttachment",

    "GpuRenderPassDescriptor",

    "GpuRenderPassEncoder",

    "GpuRenderPipeline",

    "GpuRenderPipelineDescriptor",

    "GpuRequestAdapterOptions",

    "GpuSampler",

    "GpuSamplerBindingLayout",

    "GpuSamplerBindingType",

    "GpuSamplerDescriptor",

    "GpuShaderModule",

    "GpuShaderModuleDescriptor",

    "GpuStencilFaceState",

    "GpuStencilOperation",

    "GpuStorageTextureAccess",

    "GpuStorageTextureBindingLayout",

    "GpuStoreOp",

    "GpuSupportedFeatures",

    "GpuSupportedLimits",

    "GpuTexture",

    "GpuTextureAspect",

    "GpuTextureBindingLayout",

    "GpuTextureDescriptor",

    "GpuTextureDimension",

    "GpuTextureFormat",

    "GpuTextureSampleType",

    "GpuTextureView",

    "GpuTextureViewDescriptor",

    "GpuTextureViewDimension",

    "GpuUncapturedErrorEvent",

    "GpuUncapturedErrorEventInit",

    "GpuValidationError",

    "GpuVertexAttribute",

    "GpuVertexBufferLayout",

    "GpuVertexFormat",

    "GpuVertexState",

    "GpuVertexStepMode",

    "HtmlCanvasElement",

    "OffscreenCanvas",

    "ImageBitmap",

    "ImageBitmapRenderingContext",

    "Window"

] }

wasm-bindgen = "0.2.81"

js-sys = "0.3.58"

wasm-bindgen-futures = "0.4.31"

# parking_lot 0.12 switches from `winapi` to `windows`; permit either

parking_lot = ">=0.11,<0.13"



[target.'cfg(target_arch = "wasm32")'.dev-dependencies]

console_error_panic_hook = "0.1.6"

console_log = "0.1.2"

# We need the Location feature in the framework examples

web-sys = { version = "0.3.58", features = ["Location"] }