←back to thread

944 points 6a74 | 1 comments | | HN request time: 0s | source
Show context
Wowfunhappy ◴[] No.41803351[source]
> Tessellation enables games like The Witcher 3 to generate geometry. The M1 has hardware tessellation, but it is too limited for DirectX, Vulkan, or OpenGL. We must instead tessellate with arcane compute shaders

> Geometry shaders are an older, cruder method to generate geometry. Like tessellation, the M1 lacks geometry shader hardware so we emulate with compute.

Is this potentially a part of why Apple doesn't want to support Vulkan themselves? Because they don't want to implement common Vulkan features in hardware, which leads to less than ideal performance?

(I realize performance is still relatively fast in practice, which is awesome!)

replies(5): >>41803586 #>>41803686 #>>41805013 #>>41807048 #>>41811346 #
mrpippy ◴[] No.41805013[source]
Metal 3 (in 2022) added mesh shaders, which can be used to emulate geometry shaders.

We (CodeWeavers) are doing this in (a fork of) MoltenVK, and Apple’s D3DMetal is as well.

replies(2): >>41810754 #>>41818669 #
achandlerwhite ◴[] No.41810754[source]
Hi, is there a plan to submit these changes back up to MoltenVK?
replies(1): >>41812553 #
1. mrpippy ◴[] No.41812553[source]
We would still like the changes to be upstream but they may need more polish, and it spawned a conversation about the division of responsibilities between SPIRV-Cross and MoltenVK:

https://github.com/KhronosGroup/SPIRV-Cross/pull/2200 https://github.com/KhronosGroup/SPIRV-Cross/pull/2204