# EmbarkStudios/rust-gpu

🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

Repository: https://github.com/EmbarkStudios/rust-gpu
Canonical: https://ross.abutalabs.com/products/rust-gpu
Homepage: https://shader.rs
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: rust, shaders, gpu-programming
Archived: true
Last push: 2025-10-31T14:58:57+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 49, release rhythm 8, longevity 100
- inputs: {"age_days": 2231, "days_push": 306, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7568, forks 247 (observed 2026-08-28T04:10:01.673169+00:00)

## What it is
rust-gpu is a compiler toolchain that makes Rust a first-class language for writing GPU graphics and compute shaders, compiling Rust code to SPIR-V through a custom rustc codegen backend. Originally created by Embark Studios, the project has moved to the community-owned Rust-GPU organization, with this original repository archived as read-only.

## Use cases
- write GPU shaders in Rust instead of HLSL or GLSL
- compile Rust code to SPIR-V for Vulkan graphics and compute pipelines
- get memory safety and race-condition protection in shader code
- share types and logic between CPU and GPU code in one language
- use a modern package/module ecosystem for large shader codebases
- replace vendor-locked options like CUDA for GPU programming

## When to choose
- You are building a Rust game engine or renderer and want shaders in the same language as your engine
- You want compile-time safety checks (bounds, races) that HLSL/GLSL do not provide
- You target Vulkan/SPIR-V and want to share crates and types between CPU and GPU
- You want to experiment with the future of shader authoring and can track a fast-moving toolchain

## When to avoid
- You need stable, guaranteed APIs - the project explicitly makes no backwards-compatibility promises and expects user-facing code to change
- You primarily target DirectX or Metal directly rather than Vulkan/SPIR-V
- You need mature debugging, profiling, and ecosystem parity with established HLSL/GLSL workflows for shipping production titles
- You require long-term maintenance of a pinned toolchain, since only building from the latest main branch is supported

## Facets
- artifact type: library
- maturity: active
- function: compiler, gpu-computing, graphics, programming-language
- domain: graphics, compilers, programming-languages, gpu-computing
- platform: rust, cross-platform, windows
- tags: spirv, vulkan, shaders, compute-shaders, rustc-codegen-backend, gamedev, hlsl-alternative, glsl-alternative, game-development, gpu, linux, macos

## Member repositories
- EmbarkStudios/rust-gpu (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:01.673169+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:37:22.003802+00:00, confidence not recorded.
  - readme: https://github.com/EmbarkStudios/rust-gpu (fetched 2026-08-28T04:10:01.673169+00:00, sha 23c065be8b45)
  - homepage: https://shader.rs (fetched 2026-08-29T08:32:21.593874+00:00, sha 90ea8b588472)
- Data as of 2026-08-30T08:39:29.467469+00:00.
