doitsujin / dxvk

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

[d3d8] Railroad Tycoon 3 - zoomed in terrain shuffle #4114

Open WinterSnowfall opened 4 months ago

WinterSnowfall commented 4 months ago

This is going to be a rather hard one to describe, so I've captured a video. The TLDR of it is that when scrolling through some of the closest zoom levels on the game map, the terrain textures sort of shuffle around in a crazy dance.

I've captured a trace, but since the game does "wonderful" things with buffers, apitrace has mostly caught garbage. The issue can be seen in the trace as well though, among the madness.

Software information

Railroad Tycoon 3

System information

Apitrace file(s)

RT3.trace.tar.xz

Log files

RT3.log

WinterSnowfall commented 2 months ago

Could be an ANV bug, but on Intel the game doesn't render geometry properly at all and ultimately crashes with:

/usr/i686-w64-mingw32/include/c++/13.1.0/array:202: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = dxvk::DxsoSemantic; unsigned int _Nm = 32; reference = dxvk::DxsoSemantic&; size_type = unsigned int]: Assertion '__n < this->size()' failed.

WinterSnowfall commented 1 month ago

New set of logs, collected with a debug build from @K0bin: RT3.log

Edit: Second set of more verbose logs: RT3.log

WinterSnowfall commented 1 month ago

Trace captured with dxvk on Intel: RT3_Intel.trace.tar.xz

K0bin commented 1 month ago

We just fixed the Intel crash at least.

K0bin commented 1 month ago

Apparently it crashes on ANV inside vkCreateGraphicsPipeline now.

There are a bunch of validation errors that need to get investigated. RT3 validation errors.txt