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

Chrome (Techland d3d8 game) - several issues #205

Open
WinterSnowfall opened this issue Mar 5, 2024 · 2 comments
Open

Chrome (Techland d3d8 game) - several issues #205

WinterSnowfall opened this issue Mar 5, 2024 · 2 comments

Comments

@WinterSnowfall
Copy link

Chrome has some issues when run with d8vk. And, ironically, other sets of issues with WineD3D. I'll list the problems it has with d8vk and discuss them separately:

  • (1.) The game crashes on exit, which doesn't happen with WineD3D or with d3d8to9 + dxvk. Based on the crashlog the game generates, it looks like we're still potentially holding some extra references somewhere: crash.log

  • (2.) Trees are rendered in light blue instead of being textured properly. This also works fine both with WineD3D and d3d8to9 + dxvk.

    WineD3D

    Trees_WineD3D

    d8vk

    Trees_d8vk

  • (3.) Ground textures are smeared ad infinitum. This works fine with WineD3D, but is also broken with d3d8to9 + dxvk.

    WineD3D

    Ground_WineD3D

    d8vk

    Ground_d8vk

Worthy of note is that WineD3D has problems of its own with some textures, both in the menu and in game, for example the missing crate texture in point (3.), which d8vk renders correctly.

Here's the game menu for reference:

WineD3D

WineD3D

d8vk

d8vk

Only point (3.) will be somewhat easy to investigate, as the game crashes when attempting to capture a d3d8 trace with apitrace. Capturing a d3d9 trace with d3d8to9 + WineD3D worked however.

In summary: (1.) and (2.) are d8vk specific, while (3.) is also a dxvk (d9vk) issue.

Software information

Chrome 1.2.0.0 (Gold Edition) - Retail copy

System information

  • GPU: RTX 4070
  • Driver: 535.161.07
  • Wine version: 9.3 Staging
  • DXVK version: 1a039a4

Apitrace file(s)

This is a d3d9 trace, unfortunately: ChromeSingle.trace.tar.xz

Log files

ChromeSingle.log

@WinterSnowfall
Copy link
Author

WinterSnowfall commented Mar 5, 2024

While investigating point (1.), ironically, I stumbled into the fix for (2.) as well, and it will also fix other games that expect calls to CreateImageSurface() to succeed regardless of the format they use.

P.S.: Fun fact: the game uses D3DFMT_R8G8B8 surfaces for lightmaps.

@WinterSnowfall
Copy link
Author

Haven't had much luck looking into (3), so I'll note my meager findings here, lest I forget all about it.

I've looked at the sampler code in dxvk and it seems fine. That being said for the terrain texture in question we somehow get the first row of pixels in the mip repeated ad infinitum, rather than the full texture being tiled properly. I wasn't able to figure out why this is happening with dxvk, but simply works with WineD3D.

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

No branches or pull requests

1 participant