Cross-vendor mesh shading #740
Replies: 1 comment
-
I have now taken @asafran work as a base and made a few further refinements and have now merged with VulkanSceneGraph master and vsgExamples master. The respective PR's are: VulkanSceneGraph changes Main difference from Andrei's PR was removing the original vsg::DrawMeshTasksIndirectCommandCommand struct and associated vsg:Array class with vsg::uivec3 usage. This simplifies the end user code as uivec3 can be used a uivec3Value or uivec3Array, and has all the various methods available to vsg::vec3 struct. Thanks to Andrei's effort on porting across to the new mesh shaders, means I can tick off one of my MUST DO items for 1.2 :-) |
Beta Was this translation helpful? Give feedback.
-
Hi All,
The Vulkan Working Group has released VK_EXT_mesh_shader extension that brings cross-vendor mesh shading to Vulkan.
https://www.khronos.org/blog/mesh-shading-for-vulkan
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_mesh_shader.html
https://github.com/KhronosGroup/Vulkan-Docs/blob/main/proposals/VK_EXT_mesh_shader.adoc
Mesa 23.0 is now released with the VK_EXT_mesh_shader extension enabled for RDNA2 hardware.
I decided to port VSG classes to new vendor neutral extension.
Changes:
#739
https://github.com/asafran/VulkanSceneGraph/tree/CrossVendorMeshShading
https://github.com/asafran/vsgExamples/tree/CrossVendorMeshShading
Tested on AMD RX 6400, Fedora 37, Vulkan 1.3.239.0, Mesa 23.0
These changes has not been tested on Nvidia hardware and Windows platform yet. So if you can help with this, please test the new vsgmeshshader example from the CrossVendorMeshShading branch. Note, you need Vulkan 1.3.231 or newer to work with VK_EXT_mesh_shader.
Beta Was this translation helpful? Give feedback.
All reactions