iXit / wine-nine-standalone

Build Gallium Nine support on top of an existing WINE installation
GNU Lesser General Public License v2.1
273 stars 23 forks source link

Dx10, dx11 #157

Open baaannnaaannn opened 1 year ago

baaannnaaannn commented 1 year ago

Maybe galium 9 is extended with dx10 and dx11? This was a great solution for cards that don't support vulkan Or any alternatives?

lorn10 commented 1 year ago

Hi there

This was already discussed in #112. :+1:

In short, there already exist (again) a DX10 Gallium state tracker called d3d10umd. But that one is in its current form a pure software (CPU) implementation so it doesn't work with a Gallium GPU driver. Check Mesa MR !10687 and Mesa issue/question 5762 for more information.

Maybe the d3d10umd state tracker could be enhanced at some point so that it can work also with native Gallium hardware drivers. But there exist also the other problem that Wine doesn't implement the WDDM DDI graphic driver architecture. And the Wine devs are not planing to implement it which would be then another stumbling block.

As far I know Gallium Nine doesn't work in the way how modern D3D is implemented (according the WDDM principle). Instead Gallium Nine seems to be more an alternative implementation of the former legacy Windows XP/2000 D3D interface.

However, - there is some new interest in Gallium Nine from the "ARM camp". Gallium Nine seems to be a perfect solution for mobile hardware which doesn't comes with powerful Vulkan capabilities. More information can be found for example in Mesa issue/question 8293.

Finally, eventually @q4a can explain more detailed how difficult it would be to enhance d3d10umd that it can run on Gallium hardware drivers?

Note, the D3D12 Gallium state tracker (from Redmont) is a total different thing. It effectively does the opposite of Gallium Nine. So most likely it would make sense to kick it out of Mesa until it works like Gallium Nine. :grinning: :wink:

baaannnaaannn commented 1 year ago

Hi there

This was already discussed in #112. :+1:

In short, there already exist (again) a DX10 Gallium state tracker called d3d10umd. But that one is in its current form a pure software (CPU) implementation so it doesn't work with a Gallium GPU driver. Check Mesa MR !10687 and Mesa issue/question 5762 for more information.

Maybe the d3d10umd state tracker could be enhanced at some point so that it can work also with native Gallium hardware drivers. But there exist also the other problem that Wine doesn't implement the WDDM DDI graphic driver architecture. And the Wine devs are not planing to implement it which would be then another stumbling block.

As far I know Gallium Nine doesn't work in the way how modern D3D is implemented (according the WDDM principle). Instead Gallium Nine seems to be more an alternative implementation of the former legacy Windows XP/2000 D3D interface.

However, - there is some new interest in Gallium Nine from the "ARM camp". Gallium Nine seems to be a perfect solution for mobile hardware which doesn't comes with powerful Vulkan capabilities. More information can be found for example in Mesa issue/question 8293.

Finally, eventually @q4a can explain more detailed how difficult it would be to enhance d3d10umd that it can run on Gallium hardware drivers?

Note, the D3D12 Gallium state tracker (from Redmont) is a total different thing. It effectively does to opposite of Gallium Nine. So most likely it would make sense to kick it out of Mesa until it works like Gallium Nine. :grinning: :wink:

Ty for reply I hope interest from arm will boost development dx10,11.

BigCojones commented 5 months ago

Just wanted to add a reply here, to show there is modern day interest in this. 😅

WindClan commented 2 months ago

Older D3D10 and D3D11 iGPUs dont support Vulkan so this would be amazing