Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix missing 4X MSAA support on some OpenGL backends #3780

Merged
merged 3 commits into from
May 19, 2023

Conversation

emilk
Copy link
Contributor

@emilk emilk commented May 17, 2023

Checklist

  • Run cargo clippy.
  • Run RUSTFLAGS=--cfg=web_sys_unstable_apis cargo clippy --target wasm32-unknown-unknown if applicable.
  • Add change to CHANGELOG.md. See simple instructions inside file.

Connections

Description
A regression was introduced in wgpu 0.15 by #3140, where some GL backends would report a minimum supported MSAA of 2x. However, GLES3.0 (and therefore WebGL2) guarantees at least 4x.

This problem manifests itself on some versions of iOS Safari, where get_parameter_i32(glow::MAX_SAMPLES) returns 0 (for unknown reasons - maybe anti-fingerprinting?), even though 4x MSAA is supported.

Testing
Tested on iOS Safari. Before the fix I got:

[Error] panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_render_pipeline
    Color state [0] is invalid
    Format Rgba8UnormSrgb can't be multisampled

', wgpu/src/backend/direct.rs:3019:5

After the fix, everything works (with 4x MSAA).

@emilk emilk marked this pull request as ready for review May 17, 2023 07:55
@emilk emilk changed the title Always support 4x MSAA on GL Fix missing 4X MSAA support on some OpenGL backends May 17, 2023
wgpu-hal/src/gles/adapter.rs Show resolved Hide resolved
@nical nical merged commit b0dfd11 into gfx-rs:trunk May 19, 2023
emilk added a commit to rerun-io/wgpu that referenced this pull request May 22, 2023
* Always support 4x MSAA on GL

* Update changelog
cwfitzgerald pushed a commit that referenced this pull request May 25, 2023
* Always support 4x MSAA on GL

* Update changelog
emilk added a commit to rerun-io/rerun that referenced this pull request May 25, 2023
emilk added a commit to rerun-io/rerun that referenced this pull request Jun 1, 2023
emilk added a commit to rerun-io/rerun that referenced this pull request Jun 1, 2023
The release contains gfx-rs/wgpu#3780

Closes #2032

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)

<!-- This line will get updated when the PR build summary job finishes.
-->
PR Build Summary: https://build.rerun.io/pr/2296

<!-- pr-link-docs:start -->
Docs preview: https://rerun.io/preview/9ebf96a/docs
<!-- pr-link-docs:end -->
emilk added a commit to rerun-io/rerun that referenced this pull request Jun 15, 2023
The release contains gfx-rs/wgpu#3780

Closes #2032

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)

<!-- This line will get updated when the PR build summary job finishes.
-->
PR Build Summary: https://build.rerun.io/pr/2296

<!-- pr-link-docs:start -->
Docs preview: https://rerun.io/preview/9ebf96a/docs
<!-- pr-link-docs:end -->
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