doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.43k stars 868 forks source link

Heroes of the Storm regression: White loading screen #287

Closed EntropicEffect closed 6 years ago

EntropicEffect commented 6 years ago

Starting with commit f567921 the loading screen of HotS is just a completely white screen and nothing progresses from there (fwiw the cursor is visible).

Software information

Heroes of the Storm Shaders set to ultra Tried turning down the gamma setting, no effect.

System information

Apitrace file(s)

https://drive.google.com/open?id=1nRKzXuupbLBLU_2nxqVOkyAtukuXZoE8

Log files

doitsujin commented 6 years ago

Can you record an apitrace with dxvk instead of wined3d? wine does not implement the relevant functionality so the trace is not useful.

That said, does the game lock up or does it just render everything in white?

EntropicEffect commented 6 years ago

That said, does the game lock up or does it just render everything in white?

It doesn't lock up, music starts playing, and I can hear the sound of clicking and opening menus if I randomly click around the screen

Can you record an apitrace with dxvk instead of wined3d?

apitrace with dxvk

Didn't have wine debugging on earlier seems like the logs are more verbose now

d3d11 log dxgi log

doitsujin commented 6 years ago

Thanks. Looks like this is actually a game bug: Instead of setting Scaling and Offset in DXGI_GAMMA_CONTROL to (1,1,1) and (0,0,0) respectively, it sets both values to (1,1,1).

Please let me know if af19bba048d75e454d68aa7b1667082a619e23c1 fixes the issue.

EntropicEffect commented 6 years ago

It does. Setting the gamma also works now.

Thanks a lot!

simonvanderveldt commented 6 years ago

First of all: thanks for the quick fix!

Thanks. Looks like this is actually a game bug: Instead of setting Scaling and Offset in DXGI_GAMMA_CONTROL to (1,1,1) and (0,0,0) respectively, it sets both values to (1,1,1).

It sounds like this is something the developer (Blizzard in this case) did wrong. Is this something we should report to them?