Skip to content

Limit tiering support#9119

Open
andyleiserson wants to merge 5 commits intogfx-rs:trunkfrom
andyleiserson:jj-push-qtxq
Open

Limit tiering support#9119
andyleiserson wants to merge 5 commits intogfx-rs:trunkfrom
andyleiserson:jj-push-qtxq

Conversation

@andyleiserson
Copy link
Contributor

Related Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1979753

To make it harder to use WebGPU for fingerprinting, we want to report limit values that are quantized to a set of pre-defined buckets, rather than raw limit values that are likely to have more entropy that is useful for fingerprinting.

This change implements tiered limit support. Tiered limits are requested by a new apply_limit_tiers flag in RequestAdapterOptions. By default that flag is false and limits are not modified by the tiering logic.

There is a module comment in the new wgpu_core::limits module that explains limit tiering in more depth.

I determined the tiers by crunching a bunch of data from gpuinfo and collected at https://webgpu-limits.netlify.app/. I am not sure how best to capture/preserve the analysis tooling for future use, I'm open to suggestions. For more detail of the tiers, see the tiers.html attachment on the linked bug.

Testing
Adds a directed test suite.

Squash or Rebase? Rebase

Checklist

  • Need to change log::info! to debug!.
  • Needs a CHANGELOG.md entry.

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.

1 participant