Not really surprised that this is broken, there are literally zero applications in the wild that use this function so we had no test cases at all until now.
Horrible and inefficient feature anyway, I wish people moved on from Stream Output already.
What exactly is this supposed to render anyway? With the trace I see a spinning cube with 2.2 but 1.4.3 does not render anything, but the DrawAuto call indeed gets a vertex count of zero.
What exactly is this supposed to render anyway?
There must be a spinning cube with a red outline. The cube itself is drawn via Draw() and the outline via DrawAuto(), so for me the outline is missing in DXVK 2.2
Should be fixed as of c2cd129b89670c185f53dbb1cec319bc1ff07efe.
Thanks for providing the simple trace, really helped with figuring this out quickly.
Nothing extracted yet.
In Renga software some geometry is missing, which I believe is caused by ID3D11DeviceContext::DrawAuto() not working correctly when used to draw contents of the stream output buffer.
I also have a simple app which illustrates the issue. It is using a geometry shader with stream output. If DrawAuto() is used to draw contents of the stream output buffer, it works fine in windows (without dxvk), but displays nothing in wine with dxvk.
The app and its source code can be found here https://drive.google.com/drive/folders/1yKoMOdrFBShPo359q5zXtH0TjoS3kJ8N?usp=drive_link
Importanlty, I found out that everything works fine in DXVK 1.4.3, but doesn't work in any version starting from 1.4.4. Changelog for 1.4.4 states "Minor optimizations for Stream Output", so maybe the issue is streamoutput-related
Software information
Renga software
My test app (link above)
System information
Apitrace file
For the test app (recorded on windows)
https://drive.google.com/file/d/1bri9trKi9kCUwOmxHG8Uyz5b1n30WVQt/view?usp=drive_link
Wine log file
For the test app
https://drive.google.com/file/d/16HB7qVvZDWETr1UWUpDW2zMftpIlW_4A/view?usp=drive_link