Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DrawAuto() displays nothing #3634

Closed
thegreenshark opened this issue Aug 23, 2023 · 4 comments
Closed

DrawAuto() displays nothing #3634

thegreenshark opened this issue Aug 23, 2023 · 4 comments
Labels

Comments

@thegreenshark
Copy link

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

  • GPU: AMD Radeon Vega 7
  • Driver: mesa 22.3.7
  • Wine version: 8.10
  • DXVK version: 1.4.4 and newer

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

@doitsujin
Copy link
Owner

doitsujin commented Aug 23, 2023

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.

@K0bin K0bin added the d3d11 label Aug 23, 2023
@doitsujin
Copy link
Owner

doitsujin commented Aug 23, 2023

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.

@thegreenshark
Copy link
Author

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

DXVK 1.4.3

dxvk143

DXVK 2.2

dxvk22

@doitsujin
Copy link
Owner

doitsujin commented Aug 23, 2023

Should be fixed as of c2cd129.

Thanks for providing the simple trace, really helped with figuring this out quickly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants