dxvk icon indicating copy to clipboard operation
dxvk copied to clipboard

[d3d8] The I of the Dragon - missing geometry

Open WinterSnowfall opened this issue 1 year ago • 5 comments

The game renders fine on native Windows. WineD3D seems to do better here than d8vk in some regards, for example rendering all the bits of the flying rug under the prophet at the start of the first mission:

Here is d8vk: d8vk

Here is WineD3D: WineD3D

The problem is visible in the below trace. It appears to be caused by our implementation of ProcessVertices.

Software information

The I of the Dragon (GOG)

System information

  • GPU: RTX 4070
  • Driver: 535.183.01
  • Wine version: 9.12 Staging
  • DXVK version: fe9c875

Apitrace file(s)

TheIOfTheDragon.trace.tar.xz

Log files

WinterSnowfall avatar Jul 07 '24 16:07 WinterSnowfall

The game crashes on latest master with Intel:

/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.

I've captured a dxvk trace of the crash: TheIOfTheDragon_Intel.trace.tar.xz

WinterSnowfall avatar Sep 19 '24 19:09 WinterSnowfall

DXVK implements ProcessVertices.

K0bin avatar Sep 21 '24 00:09 K0bin

There's really no need to speculate, we've narrowed this down before. See here: https://github.com/AlpyneDreams/d8vk/issues/131#issuecomment-1552176351 .

So let me fix that for you: DXVK D3D9 NOT implements ProcessVertices. below VS3 nor FF.

If you actually look at the code, you'll see it's there. Are we missing some coverage in our implementation? Most likely, since this issue manifests.

WinterSnowfall avatar Sep 21 '24 06:09 WinterSnowfall

@dungeon007 Just a friendly off topic note. There is a good chance that we will miss a large part of your messages when you keep adding to them via edits over a long period, since one doesn't get notifications for such and so won't notice if we have already read it. So I'd suggest trying to get all important information in to the message from the get go if possible or if several days have passed to make a new comment (without spamming unimportant stuff ofc)

Blisto91 avatar Sep 24 '24 07:09 Blisto91

I didn't say you were spamming. It was just a friendly note to say that it is easy to miss all the edits of a previous message

Edit: The spamming part was just to clarify we (everyone) should try not make a lot of separate comments too unless they for the most part add something or else it can get messy. I'm going to mark my comments as off topic

Blisto91 avatar Sep 24 '24 09:09 Blisto91

@WinterSnowfall regarding crash on intel, i managed to run the game with on intel xe. Just copy all dxvk 32bit dll files d3d8.dll, d3d9.dll, dxgi.dll Create dxvk.conf in game directory, edit it and write d3d8.enable = true then create a .bat file on your desktop, edit it and write : @echo off set DXVK_HUD=version,api start "" "your exe directory".

Game is working a lot better on vulkan, where it previously lagged heavily on bigger fights, and that was on mobile intel 11th gen.

n3roxe avatar Mar 16 '25 02:03 n3roxe