Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
fe9645f
cargo: remove unused `editor/ron` feature
Firestar99 Aug 28, 2025
8ae6cf0
cargo: add wgpu-executor as a member, sort list
Firestar99 Aug 28, 2025
2b7bcd2
cargo: test every crate by default
Firestar99 Aug 28, 2025
0d81b4e
cargo: disable testing of `graphite-proc-macros`
Firestar99 Aug 28, 2025
4d0d722
Try providing cargo-rust-gpu to nix devs
timon-schelling Aug 7, 2025
a54fa86
Try providing cargo-rust-gpu to nix devs
timon-schelling Aug 7, 2025
0fd1e87
Add exec with rust-gpu env script to flake
timon-schelling Aug 8, 2025
d60f9e5
shaders: shader compilation setup
Firestar99 Aug 4, 2025
8853d4e
nix: use rustc_codegen_spirv.so from nix
timon-schelling Aug 8, 2025
f0174b1
shaders: codegen for per_pixel_adjust shader nodes
Firestar99 Jul 30, 2025
e6c391b
shaders: disable nodes needing bool
Firestar99 Aug 3, 2025
14a4b55
shaders: `#[repr(u32)]` some enums
Firestar99 Aug 3, 2025
1b6987a
shaders: add lint ignores from rust-gpu
Firestar99 Aug 3, 2025
7e496bd
shaders: fix node-macro tests
Firestar99 Aug 19, 2025
d312fd2
gcore-shaders: toml cleanup
Firestar99 Aug 27, 2025
bddfb24
shader-rt: initial
Firestar99 Aug 14, 2025
eff2370
shader-rt: fix recursion when generating shader node
Firestar99 Aug 19, 2025
fa83935
shader-rt: replace gpu node's args and ret types with `Raster<GPU>`
Firestar99 Aug 19, 2025
236e63b
shader-rt: properly cfg out the gpu node
Firestar99 Aug 19, 2025
aa84a82
shader-rt: fix `impl Context` in the wrong places
Firestar99 Aug 19, 2025
bbe5d46
shader-rt: disable gpu blend node, needs two images
Firestar99 Aug 19, 2025
e5e865a
shader-rt: connect shader runtime
Firestar99 Aug 21, 2025
34f327b
shader-rt: pass WgpuExecutor by reference
Firestar99 Aug 20, 2025
fef2894
shader-rt: correct bindings with derpy arg buffer
Firestar99 Aug 20, 2025
acedce2
shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd
Firestar99 Aug 20, 2025
d7fa215
shader-rt: correct RT format, working invert gpu node
Firestar99 Aug 20, 2025
766d7f1
shader-rt: cleanup codegen with common sym struct
Firestar99 Aug 21, 2025
a8ba74e
shader-rt: correct arg buffer handling
Firestar99 Aug 21, 2025
cb24655
shader-node feature: put shader nodes behind `shader-node` feature
Firestar99 Aug 27, 2025
904de62
shader-node feature: rename any `gpu_node` to `shader-node`
Firestar99 Aug 27, 2025
babf85d
shader-node feature: forward feature to `wasm` crate
Firestar99 Aug 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-dev-and-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:

- name: 🧪 Run Rust tests
run: |
mold -run cargo test --all-features --workspace
mold -run cargo test --all-features

- name: 📃 Generate code documentation info for website
if: github.ref == 'refs/heads/master'
Expand Down
50 changes: 46 additions & 4 deletions .nix/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,52 @@
inherit system overlays;
};

rustc-wasm = pkgs.rust-bin.stable.latest.default.override {
rustExtensions = [ "rust-src" "rust-analyzer" "clippy" "cargo" ];
rust = pkgs.rust-bin.stable.latest.default.override {
targets = [ "wasm32-unknown-unknown" ];
extensions = [ "rust-src" "rust-analyzer" "clippy" "cargo" ];
extensions = rustExtensions;
};

rustGPUToolchainPkg = pkgs.rust-bin.nightly."2025-06-23".default.override {
extensions = rustExtensions ++ [ "rustc-dev" "llvm-tools" ];
};
rustGPUToolchainRustPlatform = pkgs.makeRustPlatform {
cargo = rustGPUToolchainPkg;
rustc = rustGPUToolchainPkg;
};
rustc_codegen_spirv = rustGPUToolchainRustPlatform.buildRustPackage (finalAttrs: {
pname = "rustc_codegen_spirv";
version = "0-unstable-2025-08-04";
src = pkgs.fetchFromGitHub {
owner = "Rust-GPU";
repo = "rust-gpu";
rev = "df1628a032d22c864397417c2871b74d602af986";
hash = "sha256-AFt3Nc+NqK8DxNUhDBcOUmk3XDVcoToVeFIMYNszdbY=";
};
cargoHash = "sha256-en3BYJWQabH064xeAwYQrvcr6EuWg/QjvsG+Jd6HHCk";
cargoBuildFlags = [ "-p" "rustc_codegen_spirv" "--features=use-installed-tools" "--no-default-features" ];
doCheck = false;
});

# Wrapper script for running rust commands with the rust toolchain used by rust-gpu.
# For example `rust-gpu cargo --version` or `rust-gpu rustc --version`.
execWithRustGPUEnvironment = pkgs.writeShellScriptBin "rust-gpu" ''
#!${pkgs.lib.getExe pkgs.bash}

filtered_args=()
for arg in "$@"; do
case "$arg" in
+nightly|+nightly-*) ;;
*) filtered_args+=("$arg") ;;
esac
done

export PATH="${pkgs.lib.makeBinPath [ rustGPUToolchainPkg pkgs.spirv-tools ]}:$PATH"
export RUSTC_CODEGEN_SPIRV_PATH="${rustc_codegen_spirv}/lib/librustc_codegen_spirv.so"

exec ${"\${filtered_args[@]}"}
'';

libcef = pkgs.libcef.overrideAttrs (finalAttrs: previousAttrs: {
version = "139.0.17";
gitRevision = "6c347eb";
Expand All @@ -51,7 +92,6 @@
strip $out/lib/*
'';
});

libcefPath = pkgs.runCommand "libcef-path" {} ''
mkdir -p $out

Expand Down Expand Up @@ -85,7 +125,7 @@

# Development tools that don't need to be in LD_LIBRARY_PATH
buildTools = [
rustc-wasm
rust
pkgs.nodejs
pkgs.nodePackages.npm
pkgs.binaryen
Expand All @@ -97,6 +137,8 @@

# Linker
pkgs.mold

execWithRustGPUEnvironment
];
# Development tools that don't need to be in LD_LIBRARY_PATH
devTools = with pkgs; [
Expand Down
Loading