Announcement

Collapse
No announcement yet.

Vulkan Mesh Shaders To Closely Mirror Direct3D 12 Capabilities

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vulkan Mesh Shaders To Closely Mirror Direct3D 12 Capabilities

    Phoronix: Vulkan Mesh Shaders To Closely Mirror Direct3D 12 Capabilities

    It's been known for a while that The Khronos Group and its Vulkan working group has been working on a cross-vendor extension for mesh shaders akin to what is offered already by Direct3D 12 and with NVIDIA by their VK_NV_mesh_shader extension. A few more details about the forthcoming Vulkan mesh shader support were detailed today...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    For this extension, compatibility with DirectX 12 was very important to us, therefore we follow the same main capabilities and restrictions. The shader programming model is also very similar. In a nutshell: if you can do something with DirectX mesh shaders, you will be able to also do it in Vulkan.
    That's a little bit disappointing. If Vulkan Mesh and task shaders are a strict superset of the DirectX 12 ones, they'd still have full compatibility. But I shouldn't expect much difference if it's for the same hardware functionality. Maybe it's the best way to go about it anyway.

    - Both new shader stages follow a compute-like programming model.
    Yes, good stuff! It's about time! The OpenCL API provided some good seeds of inspiration for The Khronos Group.

    - Mesh shaders will support per-vertex and per-primitive output attributes. Their output is cooperatively produced by workgroups and directly consumed by the rasterizer.
    It's also about time! If the API has good defaults so the developers don't have to micromanage how workgroup tasks will be distributed over the GPU.

    - Task shaders have the main purpose of dispatching mesh shader workgroups and an optional payload output which works like shared memory.
    Good stuff. If the API has good defaults so the developers don't have to micromanage how workgroup tasks will be distributed over the GPU.

    Comment

    Working...
    X