transform feedback + glDrawElementsInstanced (REVISITED)

For on-GPU culling and LOD of instance variation data provided to an instanced draw call (see aqnuep’s GPU based dynamic geometry LOD for background) …but without GPU->CPU->GPU synchronization…

Are atomics still the simplest and most efficient method to effectively feedback GL_PRIMITIVES_GENERATED from a transform feedback run into the “primcount” parameter of DrawElementsInstanced draw calls (invoked via glDrawElementsIndirect) on NVidia GPUs? (Re: this thread) Or is there another?

[b]glDrawElementsTransformFeedbackStreamInstancedPrimCount/b would work too :whistle: (ala glDrawTransformFeedbackStreamInstanced), but I’m not holding my breath for that one.

An alternative would be the ability to fetch query results directly into GPU buffer objects (assuming it all stayed on the GPU), instead of into CPU-side client pointers. In the same manor as VBOs vs. client arrays for vertex attribute and index arrays. However, no AMD_query_buffer_object support here yet.