-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
OS-independent texture format setting in swapchain #3897
Labels
A-Rendering
Drawing game state to the screen
C-Bug
An unexpected or incorrect behavior
P-Crash
A sudden unexpected crash
Comments
nia-e
added
C-Feature
A new feature, making something new possible
S-Needs-Triage
This issue needs to be labelled
labels
Feb 8, 2022
alice-i-cecile
added
A-Rendering
Drawing game state to the screen
C-Bug
An unexpected or incorrect behavior
O-Linux
Specific to the Linux desktop operating system
and removed
C-Feature
A new feature, making something new possible
S-Needs-Triage
This issue needs to be labelled
O-Linux
Specific to the Linux desktop operating system
labels
Feb 8, 2022
I too have come across this issue. On bevy main (de677db). The output of
Using `RUST_BACKTRACE=1`, followed by:
System information
I believe that this issue should be labeled C-Crash too. |
I've also experienced this issue, I'm using Fedora 36 with an NVIDIA RTX 2070 SUPER. Enabling the wayland feature gives me the same error. |
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 21, 2022
…engine#3897 There is no Srgb support on some GPU and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which return `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`.
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 21, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 21, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 21, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 22, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 24, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 24, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Jul 29, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Aug 16, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Aug 20, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 5, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 9, 2022
…engine#3897 # Objective There is no Srgb support on some platforms with some GPUs and display protocols (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and use `wgpu::Adapter` to get proper `TextureFormat`. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 30, 2022
There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 30, 2022
There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 30, 2022
There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 30, 2022
There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897
VitalyAnkh
added a commit
to VitalyAnkh/bevy
that referenced
this issue
Sep 30, 2022
There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897 ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897
Repository owner
moved this from Todo
to Done
in Rendering
Oct 10, 2022
james7132
pushed a commit
to james7132/bevy
that referenced
this issue
Oct 19, 2022
…engine#3897 (bevyengine#5413) # Objective There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897. ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897.
james7132
pushed a commit
to james7132/bevy
that referenced
this issue
Oct 28, 2022
…engine#3897 (bevyengine#5413) # Objective There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897. ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897.
Pietrek14
pushed a commit
to Pietrek14/bevy
that referenced
this issue
Dec 17, 2022
…engine#3897 (bevyengine#5413) # Objective There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897. ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897.
ItsDoot
pushed a commit
to ItsDoot/bevy
that referenced
this issue
Feb 1, 2023
…engine#3897 (bevyengine#5413) # Objective There is no Srgb support on some GPU and display protocols with `winit` (for example, Nvidia's GPUs with Wayland). Thus `TextureFormat::bevy_default()` which returns `Rgba8UnormSrgb` or `Bgra8UnormSrgb` will cause panics on such platforms. This patch will resolve this problem. Fix bevyengine#3897. ## Solution Make `initialize_renderer` expose `wgpu::Adapter` and `first_available_texture_format`, use the `first_available_texture_format` by default. ## Changelog * Fixed bevyengine#3897.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-Rendering
Drawing game state to the screen
C-Bug
An unexpected or incorrect behavior
P-Crash
A sudden unexpected crash
What problem does this solve or what need does it fill?
The current
bevy_render
crate assumes the supported texture format based on OS. This may lead to issues, e.g. Nvidia on Wayland not supporting the expectedBgra8UnormSrgb
format (only supportingBgra8Unorm
).What solution would you like?
Perform platform-independent querying of supported texture formats in swapchain, with a preferred one then being picked for
Surface:: configure
.What alternative(s) have you considered?
(In my case) using Xwayland by disabling the
wayland
feature works, but causes blurriness with fractional scaling.Additional context
My current (incomplete) fix can be found at https://github.com/a-b-c-1-2-3/bevy on branch
support-non-srgb
, but this only allows for a feature to disable sRGB, not proper runtime querying of supported formats.The text was updated successfully, but these errors were encountered: