Skip to content

sysgpu: supersede WebGPU with new sysgpu graphics API #1055

@emidoots

Description

@emidoots

This is a tracking issue for ongoing development of Dusk. Dusk started as a WGPU implementation (and is one today) but is being developed beyond that, into a new graphics API called DGPU. We are making some key changes to the WGPU API, for specific reasons, and this issue is for tracking those changes / decisions.

Proposals / decisions made:

  • WebGPU API divergences
    • ✅ Native render graph support
    • ✅ Remove next_in_chain
    • ✅ All Mach and Dawn extensions become non-extensions (just become part of the API) if desirable
    • D3D StructuredBuffers
    • Streaming Uniforms
  • Shading language divergences
    • ✅ Remove WGSL support in favor of Zig-inspired shading language
    • ✅ Explicit adapter enumeration/selection
  • Goals
    • ✅ First-class C API support
    • ✅ Ability to intercept API calls / wrap implementation in Zig (like gpu.Interface)
    • ✅ Backends:
      • Direct3D 12
      • Vulkan (1.0?)
      • Metal
      • WebGPU (Dawn native fallback, browser)

Things worth considering if we can improve:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions