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

“Downlevel flags VIEW_FORMATS are required but not supported on the device.” #3755

Closed
Raj2032 opened this issue May 7, 2023 · 4 comments

Comments

@Raj2032
Copy link

Raj2032 commented May 7, 2023

I am using (Arch)Linux and I am currently using the Blue Engine

And I have a very simple project:

use blue_engine::{header::{Engine, Renderer, ObjectStorage, /*ObjectSettings,*/ WindowDescriptor, PowerPreference}, Window};

fn main()
{
    println!("Hello, world!");

    let mut engine = Engine::new(); // This is where it screws up
}

As soon as I add this line let mut engine = Engine::new(); it "panics" with this error message:

Hello, world!
[2023-05-07T10:19:28Z ERROR wgpu::backend::direct] Handling wgpu errors as fatal by default
thread 'main' panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_texture
      note: label = `Default Texture`
    Downlevel flags VIEW_FORMATS are required but not supported on the device.
This is not an invalid use of WebGPU: the underlying API or device does not support enough features to be a fully compliant implementation. A subset of the features can still be used. If you are running this program on native and not in a browser and wish to work around this issue, call Adapter::downlevel_properties or Device::downlevel_properties to get a listing of the features the current platform supports.

"Downlevel flags VIEW_FORMATS are required but not supported on the device." It looks like I might need to disable the VIEW_FORMATS flag or something? In the previous version of blue engine it would work fine on the exact same computer and OS but the current version has this issue.

I got another person with a different computer to run the project and it works fine for him so not too sure why all of a sudden its not working for me?

I am using amdgpu drivers, not raedeon drivers.

@Wumpf
Copy link
Member

Wumpf commented May 7, 2023

WebGPU added requirement for being able to specify the view format and wgpu checks against that now. Blue engine probably had an older version of wgpu before that didn't have this requirement yet.

That said, the only place where this feature isn't supported is on wgpu's GLES & WebGL backend. On linux you should always use Vulkan whenever possible.
In any case, this would be a bug with blue engine for not picking the correct backend and/or requiring this feature when they also want to suport GLES/WebGL (?, don't know blue engine at all)

@Raj2032
Copy link
Author

Raj2032 commented May 7, 2023 via email

@Wumpf
Copy link
Member

Wumpf commented May 8, 2023

Yep. Depending on the engine chooses the backend, the WGPU_BACKEND environment variable might work, but that's really the engine's choice how to expose these things or if at all. Instead, blue engine should set the required downlevel flags correctly when it requests a wgpu device.

@teoxoy
Copy link
Member

teoxoy commented May 10, 2023

@Wumpf thanks for helping with this!

It looks like there is nothing for us to do here; closing.

@teoxoy teoxoy closed this as not planned Won't fix, can't repro, duplicate, stale May 10, 2023
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

No branches or pull requests

3 participants