Skip to content

Conversation

@andyleiserson
Copy link
Contributor

This encourages doing garbage collection before the command buffer limit is reached.

This change is complementary to #8574. That change will change deadlocks into device loss, in any environment where wgpu runs. This change avoids reaching the limit, only in Deno.

I made the change specific to Metal, and not specific to cts_runner. I don't have strong feelings about either of those things, i.e., I'd also be fine doing it on all platforms, and I'd be fine adding a cts_runner feature so that we can do this only in cts_runner and not in other contexts where Deno runs.

Connections
Related to #3084.

Testing
Tested locally that this resolves some CTS suites that were hanging. However, both suites still have failing tests, so can't be run as a single selector in CI.

I also got a hang in CI on #8699 that I suspect is this issue, I will confirm that #8699 can run the CTS reliably with this fix.

Squash or Rebase? Squash

Checklist

  • Run cargo fmt.
  • Run taplo format.
  • Run cargo clippy --tests. If applicable, add:
    • --target wasm32-unknown-unknown
  • Run cargo xtask test to run tests.
  • If this contains user-facing changes, add a CHANGELOG.md entry.

This encourages doing garbage collection before the command buffer limit
is reached.
Copy link
Member

@ErichDonGubler ErichDonGubler left a comment

Choose a reason for hiding this comment

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

I think this is fine? Let's merge it, and have @crowlKats tell us if it's wrong when he's got the time.

@ErichDonGubler ErichDonGubler merged commit 40e78df into gfx-rs:trunk Dec 11, 2025
41 checks passed
@andyleiserson andyleiserson deleted the push-qvurxyuwnnsx branch December 11, 2025 16:02
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.

2 participants