dxvk: Stream Output not supported

As of now, Stream Output is not supported. This may have a variety of consequences, such as incorrect rendering or crashes, in case a game relies on this feature.

Please do not open new bug reports for a specific game if you see any of the following messages in your log files. Instead, use this thread to report games which need this feature.

err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Games that are known to require Stream Output:

  • Battlerite
  • Call of Duty: Ghosts
  • F1 2015
  • Giana Sisters: Twisted Dreams
  • Mafia III
  • Metro Redux
  • Nvidia Hairworks
  • Overwatch
  • Quake Champions
  • Space Engineers
  • The Witcher 3
  • Unity Engine

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 27
  • Comments: 65 (21 by maintainers)

Most upvoted comments

It looks like this might be addressed soon! From the Vulkan-Ecosystem github:

Some members of the Vulkan working group are developing a multi-vendor EXT extension for transform feedback with the primary goal of satisfying the needs of the DXVK, vkd3d and ANGLE translation layers. The Vulkan working group does not plan to promote this functionality as a KHR extension or as core functionality because it believes there are better, more forward-looking ways of processing and capturing vertex data with the GPU. The multi-vendor EXT extension should be available soon and is likely to be implemented on those platforms where DXVK, vkd3d and ANGLE translation is required.

+1 To prioritize this feature.

@doitsujin: Can you please comment here, with some details about why it’s hard to implement stream output with current Vulkan options? That feedback can be directed to the Vulkan working group and would be valuable. Thanks!

Gauntlet Slayer Edition also fails with this streamoutput problems.

I know nothing about DX stuff so I apologise for the stupid question but Is there any way we can fake this? i.e. if a request is made you just return a black texture of the size it requests? Sure the game would look bad in places but it wouldn’t crash?

@SveSop the launcher doesn’t render correctly because it requires some sort of GDI <> DXGI interop, which I do not and will not support. Not sure what Superposition wants Stream Output form

@Zeioth: This requires some help from the Vulkan working group to implement transform feedback like feature. Do you have any detailed examples of how it’s used in D3D11 games in practice? If yes, please comment here to help the working group to come to some practical conclusion.