Hi, I’ve integrated mesh-shading into my engine and want to say thank to you - good stuff.
Yet there is 2 thing that I’ve found odd and want to share:
- gl_PrimitiveIndicesNV is sized to max_primitives*3 (assuming triangles) and there is no way to redefine it with bigger size.
This limitation makes block-compressed index buffer awkward to implement, since last block can write out-of-bounds.
2 According to guidelines gl_PrimitiveCountNV takes 4 bytes from pipeline memory, and max_primitives is driven by it.
It’s not clear why use 4 bytes here instead of 2 (HW limitation?) 2 bytes is enough to represent 65k indexes and makes better packing:
2 bytes for size + 126 for indexes (126 works well for both triangles 423 and lines 632)
Hopefully this will help you make KHR version even better, Thanks!