{"id":19647788,"url":"https://github.com/chances/wgpu-d","last_synced_at":"2026-02-19T14:04:49.961Z","repository":{"id":39978621,"uuid":"306824990","full_name":"chances/wgpu-d","owner":"chances","description":"Idiomatic D wrapper around wgpu-native.","archived":false,"fork":false,"pushed_at":"2024-06-30T22:54:40.000Z","size":28609,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-11T11:08:31.765Z","etag":null,"topics":["3d-graphics","dlang","webgpu","wgpu"],"latest_commit_sha":null,"homepage":"https://chances.github.io/wgpu-d","language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chances.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-24T06:57:33.000Z","updated_at":"2025-07-23T13:30:07.000Z","dependencies_parsed_at":"2024-02-13T05:31:12.830Z","dependency_job_id":"95922e6e-ef5f-417b-9bd2-f799db165166","html_url":"https://github.com/chances/wgpu-d","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/chances/wgpu-d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chances%2Fwgpu-d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chances%2Fwgpu-d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chances%2Fwgpu-d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chances%2Fwgpu-d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chances","download_url":"https://codeload.github.com/chances/wgpu-d/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chances%2Fwgpu-d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29616960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-graphics","dlang","webgpu","wgpu"],"created_at":"2024-11-11T14:45:59.269Z","updated_at":"2026-02-19T14:04:44.949Z","avatar_url":"https://github.com/chances.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wgpu-d\n\n[![DUB Package](https://img.shields.io/dub/v/wgpu-d.svg)](https://code.dlang.org/packages/wgpu-d)\n![wgpu-d CI](https://github.com/chances/wgpu-d/workflows/wgpu-d%20CI/badge.svg)\n[![codecov](https://codecov.io/gh/chances/wgpu-d/branch/master/graph/badge.svg)](https://codecov.io/gh/chances/wgpu-d)\n\nD bindings to [wgpu-native](https://github.com/gfx-rs/wgpu-native) as an idiomatic wrapper around the library.\n\nTargets wgpu-native [`v0.17.0.2`](https://github.com/gfx-rs/wgpu-native/releases/tag/v0.17.0.2).\n\n## Usage\n\n```json\n\"dependencies\": {\n    \"wgpu-d\": \"0.3.1\"\n}\n```\n\n### Examples\n\nYou can try the examples before installing:\n\n#### Headless\n\n`dub run wgpu-d:headless`\n\n#### Triangle\n\n`dub run wgpu-d:triangle`\n\n#### Cube\n\n`dub run wgpu-d:cube`\n\n## Development\n\nBindings to [`wgpu.h`](https://github.com/gfx-rs/wgpu-native/tree/v0.10.4.1/ffi) are generated dynamically on your host system and loaded by D with [ImportC](https://dlang.org/spec/importc.html). See the [`wgpu`](https://github.com/chances/wgpu-d/blob/v0.1.0/Makefile#L31-L39) Makefile task. The `wgpu` task is automatically performed as a Dub [pre-generate command](https://github.com/chances/wgpu-d/blob/v0.1.0/dub.json#L46).\n\n### Testing\n\nThe 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.\n\nSee this [StackOverflow answer](https://stackoverflow.com/a/54723461/1363247).\n\n### Upgrading wgpu-native\n\n1. `make clean`\n2. Bump the version constraint in [subprojects/wgpu.Makefile](https://github.com/chances/wgpu-d/blob/master/subprojects/wgpu.Makefile#L1).\n3. `dub test`\n4. Ensure the examples compile:\n    - `dub build wgpu-d:headless`\n    - `dub build wgpu-d:triangle`\n    - `dub build wgpu-d:cube`\n5. Fix any errors in the idiomatic wrapper\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchances%2Fwgpu-d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchances%2Fwgpu-d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchances%2Fwgpu-d/lists"}