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

Train Simulator Classic uses D3D9on12 #3445

Closed
gatecat opened this issue May 23, 2023 · 9 comments · Fixed by #3448
Closed

Train Simulator Classic uses D3D9on12 #3445

gatecat opened this issue May 23, 2023 · 9 comments · Fixed by #3448
Labels

Comments

@gatecat
Copy link

gatecat commented May 23, 2023

I'm trying to run the new DX12 Version of Train Simulator Classic under DXVK/Proton. It fails because ordinal 20 of d3d9.dll is not implemented, which after some research corresponds to Direct3DCreate9On12.

Software information

  • Train Simulator Classic (App ID: 24010, Build ID: 11297210)
  • latest Proton Experimental experimental-8.0-20230517

Log: steam-24010.log

@gatecat
Copy link
Author

gatecat commented May 23, 2023

Sorry, didn't spot that DXVK doesn't support DX12 at all!

@gatecat gatecat closed this as not planned Won't fix, can't repro, duplicate, stale May 23, 2023
@mbriar
Copy link
Contributor

mbriar commented May 23, 2023

DXVK still supports the d3d11on12 interop together with vkd3d-proton, so it might still be relevant (although I don't know if there is any interest to support this).

@gatecat
Copy link
Author

gatecat commented May 23, 2023

Oh, that's interesting to know - I thought they were separate projects and integration would be very difficult.

@K0bin K0bin reopened this May 23, 2023
@K0bin
Copy link
Collaborator

K0bin commented May 23, 2023

So their understanding of a D3D12 version is to slap Microsofts D3D9on12 on it.

That's a translation layer similar to DXVK except that it translates D3D9 to D3D12 instead of Vulkan. It's also very slow. Last time I tried it, it was running at 1/3 the speed of DXVK.

So I really don't get what the Train Simulator devs are trying to achieve with this. Because it's definitely not gonna be faster on Windows.

@K0bin K0bin added the d3d9 label May 23, 2023
@K0bin K0bin changed the title Direct3DCreate9On12 in d3d9.dll missing Train Simulator Classic uses D3D9on12 May 23, 2023
@Blisto91
Copy link
Contributor

Blisto91 commented May 23, 2023

I thought they were separate projects and integration would be very difficult.

They are different enough that it makes sense for separate repos, but they share some implementations like 11on12. Main dxvk dev also helps working on vkd3d-proton.

Anyway if it's to be supported it has to be implemented in both projects so it's legit to open a issue here.

@K0bin
Copy link
Collaborator

K0bin commented May 23, 2023

@Blisto91 I think VKD3D-Proton already has everything we would need.

@gatecat
Copy link
Author

gatecat commented May 23, 2023

In the end, at least for TSC at the moment, this isn't actually needed as the DX12 version is literally just using 9on12 - as far as I can tell, running the DX12 version with Direct3DCreate9On12 behaving like Direct3DCreate9 and no other changes rins just the same as the usual DX9 version; so it's not actually mixing 9 and 12 in any way.

Of course, maybe this is still useful for something else in the future.

@K0bin
Copy link
Collaborator

K0bin commented May 23, 2023

Yup, I agree.

I don't plan to implement this atm but I'll keep the issue open in case I change my mind.

@doitsujin
Copy link
Owner

Is there even any public documentation for this, including GUIDs for the interop interfaces?

misyltoad added a commit that referenced this issue May 24, 2023
misyltoad added a commit that referenced this issue May 24, 2023
misyltoad added a commit that referenced this issue May 24, 2023
misyltoad added a commit that referenced this issue May 24, 2023
Etaash-mathamsetty pushed a commit to Etaash-mathamsetty/dxvk that referenced this issue Jul 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants