Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1d4d102
Desktop: Make embedded resources optional (#3094)
timon-schelling Aug 28, 2025
c14e67e
Fix outside stroke alignment not using masks when transparent (#3060)
mTvare6 Aug 28, 2025
ce1cd17
Disable `proc-macros` crate from being tested due to cargo bug (#3103)
Firestar99 Aug 29, 2025
91ca11b
Try providing cargo-rust-gpu to nix devs
timon-schelling Aug 7, 2025
2a66b9c
Try providing cargo-rust-gpu to nix devs
timon-schelling Aug 7, 2025
63d832e
Add exec with rust-gpu env script to flake
timon-schelling Aug 8, 2025
8af149c
shaders: shader compilation setup
Firestar99 Aug 4, 2025
36baaa6
nix: use rustc_codegen_spirv.so from nix
timon-schelling Aug 8, 2025
a94a02d
shaders: codegen for per_pixel_adjust shader nodes
Firestar99 Jul 30, 2025
060681b
shaders: disable nodes needing bool
Firestar99 Aug 3, 2025
180ab38
shaders: `#[repr(u32)]` some enums
Firestar99 Aug 3, 2025
cfbcd90
shaders: add lint ignores from rust-gpu
Firestar99 Aug 3, 2025
fd29135
shaders: fix node-macro tests
Firestar99 Aug 19, 2025
feec797
gcore-shaders: toml cleanup
Firestar99 Aug 27, 2025
6f0bbd0
shader-nodes feature: put rust-gpu to wgsl compile behind feature gate
Firestar99 Aug 29, 2025
5ee7134
HACK shader-nodes feature: enable feature by default for `npm start`
Firestar99 Aug 29, 2025
a287aa5
shader-rt: initial
Firestar99 Aug 14, 2025
cd6dc00
shader-rt: fix recursion when generating shader node
Firestar99 Aug 19, 2025
f602930
shader-rt: replace gpu node's args and ret types with `Raster<GPU>`
Firestar99 Aug 19, 2025
a7b559a
shader-rt: properly cfg out the gpu node
Firestar99 Aug 19, 2025
261285a
shader-rt: fix `impl Context` in the wrong places
Firestar99 Aug 19, 2025
08b75bd
shader-rt: disable gpu blend node, needs two images
Firestar99 Aug 19, 2025
c49ddbc
shader-rt: connect shader runtime
Firestar99 Aug 21, 2025
0b8b644
shader-rt: pass WgpuExecutor by reference
Firestar99 Aug 20, 2025
4dcc8a6
shader-rt: correct bindings with derpy arg buffer
Firestar99 Aug 20, 2025
44a67c8
shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd
Firestar99 Aug 20, 2025
978d3a6
shader-rt: correct RT format, working invert gpu node
Firestar99 Aug 20, 2025
ffe6bcb
shader-rt: cleanup codegen with common sym struct
Firestar99 Aug 21, 2025
b566df7
shader-rt: correct arg buffer handling
Firestar99 Aug 21, 2025
e9d3e5c
shader-nodes feature: put shader nodes behind feature gate
Firestar99 Aug 29, 2025
4437134
shader-nodes feature: rename any `gpu_node` to `shader-node`
Firestar99 Aug 29, 2025
8d24414
node-macro: modernize `node` macro
Firestar99 Aug 26, 2025
b5ed957
node-macro: add `CrateIdent` struct containing resolved crate paths
Firestar99 Aug 26, 2025
49f4148
shaders: add trait `BufferStruct` and derive macro
Firestar99 Aug 25, 2025
75fc74b
shaders: `gamma_correction` and `channel_mixer` gpu nodes
Firestar99 Aug 26, 2025
446bb2d
shaders: `selective_color` gpu node
Firestar99 Aug 26, 2025
c3d1f9c
shaders: `brightness_contrast_classic` gpu node
Firestar99 Aug 26, 2025
6139791
shaders: append GPU to display name
Firestar99 Aug 26, 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