I’m not sure if this is the correct forum, but I might have discovered a bug in the newest Nvidia driver 565.90. (or you could point out to my error)
Using VK_EXT_mesh_shader and writing to an array of structures (AoS) in TaskPayloadWorkgroupEXT storage class results in wrong data (and also potentially writing to other memory).
Using a structure of arrays (SoA) however still works.
Before with the old driver 560.81 it worked fine.
I modified the Vulkan sample “mesh_shader_culling” a bit and could reproduce the issue.
In “mesh_shader_shared.h”, you can change the commented out code to swap from AoS to SoA.
When using AoS it produces corrupt triangles all over the place.
I’m using Windows11 with Vulkan SDK 1.3.290 and tried it out with different GPUs:
- RTX 2080 Ti
- RTX 3080
- RTX 3070 Laptop
mesh_shader_culling.zip (4.7 KB)