-
-
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
Broken rendering in examples on intel graphics #8037
Comments
The same issue presents on my machine. In my own game project, egui-based menus are rendering fine, but sprites aren't, regardless of if they have textures or not. HP Elitebook 840 G8 Some images for comparing 0.9.1 and 0.10.0 behaviourBevy 0.10 breakout: https://user-images.githubusercontent.com/4976122/224508322-50e96e0b-ff4f-4cff-8787-8c734383dbcf.PNG Bevy 0.10 sprite: https://user-images.githubusercontent.com/4976122/224508323-2ad6d212-cc2a-48e6-b936-bc9e469d2a14.PNG Bevy 0.9 breakout: https://user-images.githubusercontent.com/4976122/224508324-49cb497a-a327-4412-a9ca-8c11280da577.PNG Bevy 0.10 sprite: https://user-images.githubusercontent.com/4976122/224508325-92dd6d56-7b8d-4676-a226-a72ad5e4055c.PNG |
Updating graphics drivers fixed the issue. Apologies. |
I disagree with the closing of this issue. If something worked for a specific version of a graphics driver in 0.9, and it doesn't work in 0.10, that's a regression, and something that can bother players of our games that don't necessarily know how to update their drivers. If there was a way for bevy to work for these driver versions on 0.9, there will be a way for bevy to work for these driver versions on 0.10. |
I also had this issue and I agree it shouldn't be closed for the same reasons @ZeeQyu states.
After updating my graphics drivers, the problem was fixed. |
Agree, I shouldn't have closed it There's something very wrong with shadowing on the intel drivers, which perhaps is related. Even though the sprite base examples work, shadows don't in the vulkan backend in the In 0.9.0, the shadows worked in the vulkan backend, but had the same corruption in dx12 |
I'm staying on old intel drivers to allow reproducing and testing fixes, I am here and ready to help if someone with a better understanding of the problem and the libraries than I have needs hardware. (This also means I'm deferring update to bevy 0.10 to be able to keep developing my project. That project would benefit from the new scheduling structure, so I'm doing this at some degree of cost, but nothing I can't maintain for a couple of weeks.) |
Unlike @TheoDulka , on my computer there's a difference between wgpu versions. In wgpu 0.14.2, the boids example is running with frame times of about 16.6 ms. Clearly, something that affects at least my computer changed between these releases, since the contents of the example folder is almost the same, and if I change them to be exactly the same, there is still the same difference in behaviour between versions. Next step is probably creating a ticket at wgpu, and I will unless someone does it before me. For now I'll dump my testing results here, cause while it is still on the wrong repo, it's at least better here than locally on my computer. wgpu 0.14.2 vs wgpu 0.15.1 examples comparison:
|
Just reproduced this on current bevy main d6e95e9 |
I have the same issue on bevy 0.11.3, but I didn't have it on bevy 0.9.1 switching to to DirectX12 seems to sometimes fix the problem |
…0304) # Objective - On MacOS M1 WebGL2 the deferred lighting ID depth comparison is failing for some values (including 1, the default) Note: this issue is just with WebGL2, native on MacOS M1 is working with current bevy main. ## Solution - Use Depth16Unorm for lighting pass id format. This format is aliasing to the same value consistently (in [copy_deferred_lighting_id](https://github.com/bevyengine/bevy/blob/main/crates/bevy_core_pipeline/src/deferred/copy_deferred_lighting_id.wgsl#L15) and [deferred_lighting](https://github.com/bevyengine/bevy/blob/main/crates/bevy_pbr/src/deferred/deferred_lighting.wgsl#L39)) on MacOS M1 WebGL, and appears to be supported across WebGL2, WebGPU, DX12, OpenGL 3.3, Vulkan. Successfully tested all 256 ids on: - MacOS M1 native and WebGL2 - Window RTX3060 Vulkan/DX12/WebGL2 - Windows Intel UHD Graphics 630 IGP DX12/WebGL2 (bevy w/ Vulkan doesn't work on this IGP in general #8037)
…vyengine#10304) # Objective - On MacOS M1 WebGL2 the deferred lighting ID depth comparison is failing for some values (including 1, the default) Note: this issue is just with WebGL2, native on MacOS M1 is working with current bevy main. ## Solution - Use Depth16Unorm for lighting pass id format. This format is aliasing to the same value consistently (in [copy_deferred_lighting_id](https://github.com/bevyengine/bevy/blob/main/crates/bevy_core_pipeline/src/deferred/copy_deferred_lighting_id.wgsl#L15) and [deferred_lighting](https://github.com/bevyengine/bevy/blob/main/crates/bevy_pbr/src/deferred/deferred_lighting.wgsl#L39)) on MacOS M1 WebGL, and appears to be supported across WebGL2, WebGPU, DX12, OpenGL 3.3, Vulkan. Successfully tested all 256 ids on: - MacOS M1 native and WebGL2 - Window RTX3060 Vulkan/DX12/WebGL2 - Windows Intel UHD Graphics 630 IGP DX12/WebGL2 (bevy w/ Vulkan doesn't work on this IGP in general bevyengine#8037)
I am using Intel Arc a750 gpu, driver 31.0.101.4952 (2023/10/31), and this problem still exists. |
…vyengine#10304) # Objective - On MacOS M1 WebGL2 the deferred lighting ID depth comparison is failing for some values (including 1, the default) Note: this issue is just with WebGL2, native on MacOS M1 is working with current bevy main. ## Solution - Use Depth16Unorm for lighting pass id format. This format is aliasing to the same value consistently (in [copy_deferred_lighting_id](https://github.com/bevyengine/bevy/blob/main/crates/bevy_core_pipeline/src/deferred/copy_deferred_lighting_id.wgsl#L15) and [deferred_lighting](https://github.com/bevyengine/bevy/blob/main/crates/bevy_pbr/src/deferred/deferred_lighting.wgsl#L39)) on MacOS M1 WebGL, and appears to be supported across WebGL2, WebGPU, DX12, OpenGL 3.3, Vulkan. Successfully tested all 256 ids on: - MacOS M1 native and WebGL2 - Window RTX3060 Vulkan/DX12/WebGL2 - Windows Intel UHD Graphics 630 IGP DX12/WebGL2 (bevy w/ Vulkan doesn't work on this IGP in general bevyengine#8037)
I believe this should be fixed in bevy 0.13. Could people with intel GPUs effected by this test to see if it's fixed? |
Tried it on the same machine I mentioned above. 0.9.0 works, 0.10.0 is broken, 0.12.0 is broken, 0.13.0 works. Since I retested the 0.9.0 and 0.10.0 it seems unlikely I've had any driver updates that could invalidate the result. So yes, it strongly looks like 0.12->0.13 fixed the issue, at least for my specific hardware! |
(To be specific, I only tested the breakout example.) |
Bevy version
v0.10.0
[Optional] Relevant system information
The system is a Dell XPS 13 7390 2-in-1 running windows.
What you did
Ran
cargo run --example breakout
.Also occurs with other examples, and in release builds, but the breakout one seems to be the most interesting broken output.
What went wrong
The blocks, paddle, and ball don't render, but the score does. The game plays as normal, with score going up and with correct sound.
A few other examples i've tried only render a grey screen, but some seem to work
Additional Information
Possibly related to #6746 ? Am happy to try and debug on my end by running tools etc.
Additionally, a simple game I was testing/building on my own computer seems to render correctly
The text was updated successfully, but these errors were encountered: