protonscr

[D3D8]Top Spin 2004: career mode graphics corruptions

dxvkclosed windowsd3d8
doitsujin/dxvk#4214 · opened 2024-08-21 by tomnic79 · updated 2025-12-28 · 19 comments · github
6 matching comments, n / p to jump
Ttomnic79 2024-08-21 github

Top Spin 2004, default configuration, 1024x768, 1920x1080, 1680x1050 all @ 60 Hz. XP SP2 compatibility mode on, run as admin. Both original and with official game patch.

  • GPU: nVidia GeForce RTX 3070 8 Gb (but also with a GeForce GTX 750Ti and a GeForce RTX 2080Ti)
  • Driver: 560.70
  • DXVK version: 2.4
  • Windows 10 and 11 latest versions

Apitrace file: https://mega.nz/file/1jZHnb6Z#fUkahYqxAwjGRH74I2sVoBtM2nOCvREDe54kcMan_1s

1
2

As you can see there is an issue rendering some poligons: totally missing or with crazy vertex positions only in Career mode, if you try a normal exibition everything renders fine.

I've tried the old D8VK 1.0 with the conf option d3d8.managedBufferPlacement = True and it solves the problem, BUT the game exits after 2-3 minutes of gameplay without a specific error: Windows Event Manager says generically that either Topspin.exe or msvcrt.dll (in C:\Windows\System32) crashed.

Is this a possible regression from D8VK? Where can I find an equivalent conf option for DXVK 2.4 for d3d8.managedBufferPlacement = True?

Thanks in advance for your help,
Nicola

BBlisto91 2024-08-22 github

@tomnic79 Hi there. Can you check what happens if you try with d3d9.allowDirectBufferMapping = False

Ttomnic79 2024-08-22 github

Hi @Blisto91, just tried now: no corruptions during player personalization, but hangs and exits to desktop as soon as I try to save the player, d3d8.dll causing the issue according to windows event manager.

WWinterSnowfall 2024-08-24 github

as of course there will be weird things since it is leaking.

Not releasing objects doesn't generally cause graphical artifacting, so I'm not sure what you mean here. The two issues are most likely unrelated.

There were many buffer leaks with other apps on a earlier d8vk, but this case seems survived.

Previous leaks were caused by incorrect refcounting, but that doesn't seem to be the case here - or at least not the obvious ones, since refcounts for all d3d8 objects are identical between a dxvk trace and a WineD3D trace. I'll look closer into what's causing the leaks, but since the problem is rather obscure it will probably take a while.

P.S.: As a fun aside, the game outright crashes when attempting to use d3d8to9, with either dxvk or WineD3D.

Ttomnic79 2024-08-24 github

Yes with AMD gpus everything's fine, the graphics corruptions problem is with nVIDIA GPUS even in native Windows without any sort of "workaround", that's why I'm trying to use some dll wrapping to try to solve this issue on my nVidia based PCs without exchanging GPUs. The freezing problem, generated by the buffer leak, happens only when wrapping with D8VK and DXVK.

WWinterSnowfall 2024-08-24 github

that's why I'm trying to use some wrapping to try to solve this issue on my nVidia based PCs

We'll probably end up applying d3d9.allowDirectBufferMapping = False to address the first issue. As to the memory leak, that might prove a bit more challenging to pinpoint. I don't see any obvious wrongdoings with buffers or anything else.

Ttomnic79 2024-08-24 github

Yes with AMD gpus everything's fine, the graphics corruptions problem is with nVIDIA GPUS even in native Windows without any sort of "workaround", that's why I'm trying to use some dll wrapping to try to solve this issue on my nVidia based PCs without exchanging GPUs. The freezing problem, generated by the buffer leak, happens only when wrapping with D8VK and DXVK.

Maybe try this build d3d8.zip of d3d8to9 1.9.2 (particular version where game AA is actually working) and also it is helding up index buffer. Since index is leaking, that is my quickest guess. Probably wont work, as you said up there this.

've tried the old D8VK 1.0 with the conf option d3d8.managedBufferPlacement = True and it solves the problem, BUT the game exits after 2-3 minutes of gameplay without a specific error:

But it dont hurt to try... or maybe try to limit app to 1 CPU core. That also might not help, because VK is threaded by design... but again it dont hurt to try. Just to know what triggers it and if anything changes.

With your d3d8.dll version it crashes as soon as I try to create a new player, and if I try to set the affinity to CPU0 only it crashes :(

Ttomnic79 2024-08-26 github

No it crashes the same, even exibition doesn't work anymore with the specific dll provided, nor folder Media\GamePart\Players gets recreated, unless deleting this d3d8.dll

Ttomnic79 2024-08-26 github

Just to be clear that I've cleaned all the folders you've said with the d3d8.dll you suggested: https://mega.nz/file/Zv5zUQRY#bVIYjY4jAg-ANOWD_tjMdpYU9DS4RiNzMOwMrrHN9J8

You can also see that when I'm trying to start to play it hangs just before recreating the player.ini file you've just said.

The only way I can play this game at the moment with nVidia cards is with the latest dgVoodoo2 forcing DX12 render pathway (or the software based one, albeit a bit slow @ FHD). Just an issue with the intro videos that are not stretched to fill the screen (other issues if I select "stretch" in directx settings so I can live without intro videos ;) ), with D8VK videos were ok, so I'd have preferred that way.

Anyway, I'll use dgVoodoo2 or the other PCs with AMD cards, thanks for all the efforts till today!!!

Ttomnic79 2024-08-26 github

Now it doesn't crash at all but players are mostly black, no vertex corruptions nor missing polygons too!

Ttomnic79 2024-08-27 github

Only with the d3d8.dll file found in the default subfolder of your zip alone the game doesn't crash but players remain mostly black. Otherwise it crashes before creating a new player, just like with the first d3d8.dll you sent me.

Mmrdeathjr28 2024-08-27 github

In my case work with all dxvk 2.4 files and i dont see any character rendering issue (amd renoir igpu)

tpspa

tpsnb

tpspc

Ttomnic79 2024-08-27 github

In my case work with all dxvk 2.4 files and i dont see any character rendering issue (amd renoir igpu)

tpspa

tpsnb

tpspc

Yes with AMD GPUs no issues at all, we need to solve this problem for nVidia owners

Mmrdeathjr28 2024-08-27 github

Yes with AMD GPUs no issues at all, we need to solve this problem for nVidia owners

only for give more feedback (amd renoir in this case) and i use new wow64 mode
(./configure --enable-archs=i386,x86_64)

WWinterSnowfall 2025-08-18 github

@tomnic79 Sorry that it took so long to fix, but the game proved quite difficult to procure. It should work fine now with this build, please try it out: https://github.com/doitsujin/dxvk/actions/runs/17040289378/artifacts/3788253188

GGOOGLEQuyloon 2025-12-26 github

Hello. I copied the .dlls into the root directory of the game's folder. The files did nothing to help fix Top Spin (PC)..

WWinterSnowfall 2025-12-26 github

Note that you need both the 32-bit d3d8.dll and d3d9.dll files. Otherwise, the game is known to work fine on latest dxvk. If you are still having issues with it for some reason, please open a new issue and fill out the template to give us more details, so that we can look into it.

GGOOGLEQuyloon 2025-12-27 github

Hello. Thank you. From what we read, we are simply taking the said two .dll files and putting them in the root directory of the main folder of the application of interest; correct? There is also no need to run another application to make the .dlls work? We already know the answer to those questions but just want confirmation. Thank you very much!

We tried all combinations of copying and pasting the .dll files into the root directory when nothing work. When we say nothing, we mean nothing! In fact, the 32-bit .dlls were even more tragic for us. Why? The application would not even open, it would crash in career mode, it would crash in exhibition mode!

Guess what? We tried the 32-bit .dll files first like you said before putting our comment here. We exhausted all means and combinations of 32-bit and 64-bit dll files (just to try at this point).

Again, the application crashed with the 32-bit dlls. At the mercy of just trying, we took the 64-bit .dll files, and the application worked!! Yet, please do not get too excited. It worked as in it allowed us to at least open and run the game and even not crash once at all during the career mode process. and all in-app user's interfaces.

Yet, the character bugs remained. We can see the Z formations in the imagery and can also see with the 64-bit dlls that something is trying to form?! (faring on the positive side of things).

Insight: We are doing a seven continental statistical study on sports behavioral outcomes, among others, that Tennis Nation's and ESPN's commentator, and professional coach Brad Gilbert even liked and commented on years ago. You may Google Quyloon for more information as to these claims.

However, it is kind of hard to do that if all we see are shadow players; which is weird because we can see the top sixteen standards well. However, it is not the case for the others. We are thinking that their data files have been written differently. Especially, we see this as the case with more updated computer systems and devices.

Well, at least, it adds to the level of difficulty for us playing with a no skill, no star created player where we cannot see them but only their shadow(s). Yes. We created a tour of our own! That makes it very difficult to play and win, especially on the Vienna court (our only loss since 2025). Oh, we also are not allowed to use risk shots and try to also avoid using drop shots. In an exhibition match, we FINALLY beat the other worldly Martina Hingis who has 15 stars and 4 skills to our 0 stars, 0 skills, no risk shots, no spoon serves, and minimum to no drop shots allowed rules.

We won 20 titles by now (one Australian Open 2025 and 15 other titles of varying tiers; 1000 masters, 500 major pro, 250 Pro-Am, 250 minor, and 100 future). We had to shorten the 2025 season of some 45 different events of 16 participants of various skill levels due to other volunteer projects we are also working on in upstate New York, volunteering for other branch locations while also assisting those doing undisclosed, unpaid work.

This 2026 season, so far, we won four titles (1 at the 250 level and three at the 100 level). We are now in the 500 event.

Thank you for your quick response. We also hope that the added information provides insight as to why we are hoping that the .dlls that are marketed as working actually work! We would so much appreciate that.

WWinterSnowfall 2025-12-27 github

Hello. Thank you. From what we read, we are simply taking the said two .dll files and putting them in the root directory of the main folder of the application of interest; correct?

Copying them next to the game executable usually works well enough. That may or may not be the "root" directory of the application.

Again, the application crashed with the 32-bit dlls. At the mercy of just trying, we took the 64-bit .dll files, and the application worked!! Yet, please do not get too excited. It worked as in it allowed us to at least open and run the game and even not crash once at all during the career mode process. and all in-app user's interfaces.

The 64-bit dlls won't do anything (won't even load), as the application is 32-bit in this particular case.

Thank you for your quick response. We also hope that the added information provides insight as to why we are hoping that the .dlls that are marketed as working actually work! We would so much appreciate that.

As I've previously stated, please open a new issue and fill in the issue template, attaching generated logs and giving us information about your OS, hardware, drivers etc. It's highly likely the issue here is something specific to your setup though.

GGOOGLEQuyloon 2025-12-28 github

Yes. Okay. We are telling you that the 32-bit dll were problematic for us, whereas the 64-bit dll files were not. That is our findings.

We would like to recreate a case. However, the "Reopen issue" button does not work for us. In fact, when we hover over the said button, it states, "You do not have permissions to reopen this issue."

Thank you so much for your time.

DLLs