/wgpu-d

Idiomatic D wrapper around wgpu-native.

Primary LanguageDMIT LicenseMIT

wgpu-d

DUB Package wgpu-d CI codecov

D bindings to wgpu-native as an idiomatic wrapper around the library.

Targets wgpu-native v0.17.0.2.

Usage

"dependencies": {
    "wgpu-d": "0.3.1"
}

Examples

You can try the examples before installing:

Headless

dub run wgpu-d:headless

Triangle

dub run wgpu-d:triangle

Cube

dub run wgpu-d:cube

Development

Bindings to wgpu.h are generated dynamically on your host system and loaded by D with ImportC. See the wgpu Makefile task. The wgpu task is automatically performed as a Dub pre-generate command.

Testing

The unit test executable is patched (patchelf for Posix and install_name_tool for mac OS) to correct the library load path such that libwgpu is found.

See this StackOverflow answer.

Upgrading wgpu-native

  1. make clean
  2. Bump the version constraint in subprojects/wgpu.Makefile.
  3. dub test
  4. Ensure the examples compile:
    • dub build wgpu-d:headless
    • dub build wgpu-d:triangle
    • dub build wgpu-d:cube
  5. Fix any errors in the idiomatic wrapper