Skip to content

Update rust-gpu to 0.10.0-alpha.1#4033

Open
Firestar99 wants to merge 3 commits intomasterfrom
rust-gpu-alpha
Open

Update rust-gpu to 0.10.0-alpha.1#4033
Firestar99 wants to merge 3 commits intomasterfrom
rust-gpu-alpha

Conversation

@Firestar99
Copy link
Copy Markdown
Collaborator

@Firestar99 Firestar99 commented Apr 21, 2026

  • update rust-gpu to 0.10.0-alpha.1
    • I specifically requested that the naga-wgsl target PR get merged before the alpha release so I could update graphite to it
    • switch from cargo-gpu to cargo-gpu-install, removing unnecessary dependencies like clap, crossterm and inotify
    • remove crate-type = ["dylib"] declaration, now unnecessary
      • I don't exactly know why you added the raster-nodes-shaders-entrypoint crate, I think it may be related to cargo bugs around dylib handling, so it could also be unnecessary now?
    • remove target spec json (spirv-unknown-naga-wgsl.json), now unnecessary
    • update glam to latest version, modern rust-gpu requires at least 0.30.8
  • nix @timon-schelling
    • nix flake update to have toolchain nightly-2026-04-11 available
    • update references and hashes in nix build
    • remove alias cargo='mold --run cargo' as it just errors with mold: fatal: unknown command line option: --run for whatever reason
    • cargo code completion is still broken with error: no such command: cargo
    • nix run . works locally

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the project's dependency stack, upgrading glam to version 0.32.1 and migrating rust-gpu components to registry-based versions (0.10.0-alpha.1). It also refines the Nix development environment by removing unnecessary packages and updating toolchains. Review feedback highlights a regression where BufferStruct implementations for glam::Quat and glam::DQuat were commented out; these should be restored with manual implementations if necessary or removed with a clear explanation.

// glam_array!(Vec3A, [f32; 4]);
glam_array!(glam::Vec4, [f32; 4]);
glam_array!(glam::Quat, [f32; 4]);
// glam_array!(glam::Quat, [f32; 4]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The implementation of BufferStruct for glam::Quat has been commented out. This is a regression in the library's support for shader buffer types. If this was due to compilation issues with glam 0.32 or rust-gpu 0.10, it is preferable to provide a manual implementation (similar to the Vec3A implementation at line 85) rather than disabling it, as Quat is a fundamental type for representing rotations in shader buffers. If it is truly no longer supported or needed, it should be removed entirely with a comment explaining the rationale.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quat is for rotations in 3D space, which you're not using. glam changed something in their implementation that makes their functions differ from the vector types.

glam_array!(glam::DVec3, [f64; 3]);
glam_array!(glam::DVec4, [f64; 4]);
glam_array!(glam::DQuat, [f64; 4]);
// glam_array!(glam::DQuat, [f64; 4]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The implementation of BufferStruct for glam::DQuat has been commented out. Similar to Quat, this should be fixed or removed rather than left as commented-out code to maintain library cleanliness and API consistency.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 12 files

Confidence score: 4/5

  • This PR is likely safe to merge from a code-risk perspective; the only reported issue is a process/compliance check rather than a runtime or functional defect.
  • The most severe finding is PR title enforcement: the title should be changed from update rust-gpu to 0.10.0-alpha.1 to `Update rust-gpu to `0.10.0-alpha.1 to satisfy the required capitalized imperative format.
  • Given the issue’s nature, user-facing regression risk appears low, but it may still block merge automation until corrected.
  • Pay close attention to libraries/dyn-any/Cargo.toml - ensure the associated PR metadata/title policy check is addressed so merge is not blocked.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="libraries/dyn-any/Cargo.toml">

<violation number="1" location="libraries/dyn-any/Cargo.toml:31">
P1: Custom agent: **PR title enforcement**

PR title must start with a capitalized imperative verb (sentence case). Change `update rust-gpu to `0.10.0-alpha.1`` to `Update rust-gpu to `0.10.0-alpha.1``.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread libraries/dyn-any/Cargo.toml
@timon-schelling
Copy link
Copy Markdown
Member

timon-schelling commented Apr 21, 2026

!build desktop (Run ID 24720128854)

@Firestar99 Firestar99 changed the title update rust-gpu to 0.10.0-alpha.1 Update rust-gpu to 0.10.0-alpha.1 Apr 21, 2026
@github-actions
Copy link
Copy Markdown

📦 Mac Build Complete for 44f186a
Download binary

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 21, 2026

📦 Linux Build Complete for 44f186a
Download binary
Download Flatpak

@github-actions
Copy link
Copy Markdown

📦 Windows Build Complete for 44f186a
Download binary

@timon-schelling
Copy link
Copy Markdown
Member

Desktop/Nix seems to work, generally LGTM
haven't tested the nodes a lot though

@Firestar99
Copy link
Copy Markdown
Collaborator Author

I haven't tested them either. I also see the "enable webgpu" button got removed, but webgpu isn't enabled since the "Upload Texture" node is panicing, so how does one enable it nowadays?

@Keavon
Copy link
Copy Markdown
Member

Keavon commented Apr 21, 2026

Thanks for this!

Regarding the "enable webgpu" button, I do not recall that ever existing. Are you thinking of the button in the preferences to enable Vello? That is now enabled by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants