Skip to content

D3D11/OpenGL backends (or not) #233

Description

@Senryoku

Deecy currently requires a GPU with Vulkan (Linux) or D3D12 (Windows) support. Dawn will revert to software rendering otherwise, with terrible performance.

Here are the steps I identified while toying with it:

  • Re-compile Dawn with OpenGL and/or D3D11 support. Doable (couple of CMake toggles and very small patches for D3D11 to compile), mostly just annoying.
  • Configure zgpu with dawn_allow_unsafe_apis, and modify it to also include the disable_adapter_blocklist toggle.
  • Modify zgpu to request an adapter with compatibility feature level.
  • Now the real issues: Some currently required features will probably not be supported by older hardware (First one: BGRA8UnormStorage), this would probably require a significant rewrite of the renderer and is why I probably won't even bother with properly solving the previous steps :D

Note: D3D11 is still considered experimental by Dawn. OpenGL is also a "best effort" backend. Basically odds are not in favor of any of this working at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions