doitsujin / dxvk

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

(Question) All Direct3D versions #4050

Closed hardBSDk closed 4 months ago

hardBSDk commented 4 months ago

Do you plan to support all Direct3D versions?

This project is translating Direct3D 8 to Vulkan:

https://github.com/AlpyneDreams/d8vk

Blisto91 commented 4 months ago

d8vk is in the process of being merged in to dxvk so d3d8 - d3d11 will be supported in the future. d3d8 is close enough to d3d9 that it kind of makes sense project wise to have it included. Below that it starts to make less sense so there isn't any interest in going further. d3d12 is handled by vkd3d-proton and below d3d8 is handled fine by wined3d

Blisto91 commented 4 months ago

That is not to say that people aren't welcome to fork and work on e.g. d3d7 if they would find that interesting (the license is very permissive), there is just no interest from the devs to have it merged in to here.

K0bin commented 4 months ago

What Blisto said.

pm4rcin commented 2 months ago

@Blisto91 sorry for necrobumping but from my understanding there's no point including DirectX/Direct3D < 8 because WineD3D is already mature enough and supports mentioned APIs just good and correctly? Since from my current understanding DXVK is kinda "temporary" "hack" to make games performant and the end goal is for wine to have all it but done accurately. Am I right?

K0bin commented 2 months ago

Since from my current understanding DXVK is kinda "temporary" "hack" to make games performant and the end goal is for wine to have all it but done accurately. Am I right?

DXVK is neither a hack nor temporary. We do however not plan to support D3D versions older than D3D8.

hardBSDk commented 2 months ago

@pm4rcin Yes, the WineD3D support for old Direct3D versions is mature but they don't convert the API calls to Vulkan (yet), I don't think it's technically necessary because the games from the epoch of these Direct3D versions are lightweight with recent hardware and Mesa3D has the Zink driver to run OpenGL above the Vulkan drivers.

pm4rcin commented 2 months ago

@pm4rcin Yes, the WineD3D support for old Direct3D versions is mature but they don't convert the API calls to Vulkan (yet), I don't think it's technically necessary because the games from the epoch of these Direct3D versions are lightweight with recent hardware and Mesa3D has the Zink driver to run OpenGL above the Vulkan drivers.

I have read a bit and there seems to be some experimental Vulkan renderer for wine so future looks bright. As for performance of course it won't improve it much (probably).