Skip to main content

Posts

Featured

Transform feedback is terrible, so why are we doing it?

In the latest Vulkan spec update from Khronos (version 1.1.88), there's a new extension called VK_EXT_transform_feedback.  Some of you might be thinking, "Finally!  Why'd it take them so long to add this obviously useful feature?  It should have been there on day 1."  The answer to that question is that transform feedback (or streamout in D3D lingo) is a terrible feature that we all regret putting into OpenGL and OpenGL ES and we didn't want that baggage in Vulkan.
Why is transform feedback terrible? Transform feedback didn't start off terrible.  When it was first added to OpenGL in 2006, it provided some very useful functionality.  You could now take the result of your geometry pipeline and use for whatever you wanted.  You could read it from the CPU and feed it back into your physics engine or you could re-use it directly on the GPU and feed it back into another draw call.  In some ways, this was OpenGL's first form of compute shaders.  Since the only o…

Latest Posts

The quest for known behavior

Optimizing DXVK apps

Improving Linux Window Systems with DRM Format Modifiers

Linux Window System Integration as a Layer (almost)

Customary first post