Announcement

Collapse
No announcement yet.

D9VK Forming As Direct3D 9 Over Vulkan Based On DXVK

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #51
    Originally posted by mannerov View Post
    Vista changed the internal API used to talk to the driver, but the user API dx9->dx9Ex didn't change much. Both wined3d and Gallium Nine support both.
    This is lie. Wined3d does support DX9Ex. Gallium Nine absolutely does not support DX9Ex.

    Originally posted by mannerov View Post
    As for interoperability with other dx versions, which is your main concern, the list of games really needing this is extremely low. Gallium Nine won't do this kind of interoperability, and that is ok, it doesn't have to support ALL cases, there is wined3d to fallback to.
    If interoperability had been important, it could have been implemented by using a common surface sharing descriptor (possible with shm and dma-buf) between the different implementations. It doesn't have to be implemented the same as on windows, as long as user side it behaves the same.
    This here cannot be true if you support DX9Ex. Key requirement to be DX9EX is being able to share surfaces with DX10 in windows Vista at a minimal.
    Interoperability between Direct3D 9Ex and DXGI based APIs

    Direct3D 9Ex APIs included the notion of surface sharing to allow other APIs to read from the shared surface. In order to share reading and writing to a Direct3D 9Ex shared surface, you must add manual synchronization to the application itself. To ease this process and improve efficiency and accuracy in surface sharing synchronization, helper source code is provided at MSDN Code Gallery for Direct3D 9Ex and DXGI-based API interoperability at https://code.msdn.microsoft.com/D3D9ExDXGISharedSurf.
    This is Microsoft own documentation notice key reason for DX9Ex is to share surfaces and other resources with other DX implmentations. DX9Ex you are meant to have functional DXGI this include supporting sharing surface with DX10, 11 and 12 implementations. If you do not have interoperability with other dx versions your implementation is not DX9Ex implementation.

    Please do not use we can fall back to wined3d if it does not users has to change settings right. DXVK is heading down the path that as long as your windows version is right ie vista or newer and your applications support that at the end of it you will not have to being changing settings to have applications work.

    Reality when ever someone has an application properly requiring DX9Ex they have to switch back to Wined3d because Galluim9 does not work. VK9 has exactly the same problem as Galluim9. D9VK will have DX9Ex so will be able to be a proper competitor for Wined3d with DX9Ex requiring applications.

    Comment


    • #52
      Originally posted by oiaohm View Post
      Key requirement to be DX9EX is being able to share surfaces with DX10 in windows Vista at a minimal.
      Please read this link: https://docs.microsoft.com/en-us/win...-windows-vista which will clear up what DirectX 9Ex is. Basically D3D 9Ex is the same as D3D 9 + WDDM.

      Sharing surfaces between different D3D versions is discussed here and the example project is hosted here. This is basically a "bridge" that is not part of either the D3D11, or the D3D9(Ex) APIs, and is mostly intended for using D3D11 content in WPF apps - at least that's what the description says. Taking a brief look at the code, it works by employing synchronization on the CPU side.

      We are not aware of any actual games that use this techinque, but if you have a specific game in mind that uses this feature, please let us know.

      Comment


      • #53
        Originally posted by Venemo View Post
        Please read this link: https://docs.microsoft.com/en-us/win...-windows-vista which will clear up what DirectX 9Ex is. Basically D3D 9Ex is the same as D3D 9 + WDDM.
        Yes I have read that. WDDM is vista and newer.

        Key requirement of WDDM support.
        https://docs.microsoft.com/en-us/pre...7290(v=msdn.10)
        Cross Process Resource Sharing
        This is the base framework for supporting sharing surfaces between different Dx versions in vista and newer.

        Originally posted by Venemo View Post
        Sharing surfaces between different D3D versions is discussed here
        This stuff working is requirement to be WDDM. This is just talking about how you use it.

        Originally posted by Venemo View Post
        and the example project is hosted here. This is basically a "bridge" that is not part of either the D3D11, or the D3D9(Ex) APIs, and is mostly intended for using D3D11 content in WPF apps - at least that's what the description says. Taking a brief look at the code, it works by employing synchronization on the CPU side.
        To a point synchronisation is cpu side but the core process resource sharing requirements of WDDM are key that it works.

        Originally posted by Venemo View Post
        We are not aware of any actual games that use this techinque, but if you have a specific game in mind that uses this feature, please let us know.
        Of course you only care about games. The major thing that is known for multi direct x is MS Office with different plugins added.

        Firefox for example.
        https://hg.mozilla.org/releases/mozi...VA2Manager.cpp
        Is Dx11 and DX9Ex in one file sharing stuff. Of course the galluim9 answer to this is run Wined3d and give up the performance boost.

        The most common reason why firefox and games will be using DX9Ex is to accessDXVA2 when DX11VA is not working or program was coded for DX10 that is missing video playback acceleration in the DX10 API so you have no choice bar to use DX9Ex to access DXVA2. Yes there are games used with DXVK that work by having videos disabled because this is disabling the DX9Ex requirement.

        Reality here the programs properly requiring DX9Ex will be DX10/11 programs. This is where DXVK gets caught they have DX10 and DX11 they attempt to run a DX10/11 program only to have it fail because DX9Ex is missing or incompatible DX9.

        Comment


        • #54
          Originally posted by oiaohm View Post
          Key requirement of WDDM support.
          https://docs.microsoft.com/en-us/pre...7290(v=msdn.10)
          Cross Process Resource Sharing
          This is the base framework for supporting sharing surfaces between different Dx versions in vista and newer.
          Sorry but previously you were talking about sharing surfaces between different APIs in the same process, but now you're talking about cross-process sharing? And once again you give a broken MSDN link? Please clarify what exactly is the question here. I did a search on MSDN and Wikipedia and yes, WDDM allows sharing resources between processes, and yes this part of WDDM but no, this is not part of the 9Ex API.

          Originally posted by oiaohm View Post
          The major thing that is known for multi direct x is MS Office with different plugins added. Firefox for example.
          How is Firefox an example of MS Office?
          Also, why do you want to run Firefox on wine when there is an excellent native version? I'm not getting your point here.

          Comment


          • #55
            Originally posted by Venemo View Post
            Sorry but previously you were talking about sharing surfaces between different APIs in the same process, but now you're talking about cross-process sharing? And once again you give a broken MSDN link? Please clarify what exactly is the question here. I did a search on MSDN and Wikipedia and yes, WDDM allows sharing resources between processes, and yes this part of WDDM but no, this is not part of the 9Ex API.
            You did not read the firefox file I linked to. The 9Ex API is used to access the WDDM resource sharing on the DX 9 side so you can then pass it to the DX11 side in that file.
            https://hg.mozilla.org/releases/mozi...VA2Manager.cpp

            Originally posted by Venemo View Post
            How is Firefox an example of MS Office?
            Also, why do you want to run Firefox on wine when there is an excellent native version? I'm not getting your point here.
            What firefox is doing in open source in the linked file you find DX10 and DX11 games doing in closed source.

            The most common reason why firefox and games will be using DX9Ex is to accessDXVA2 when DX11VA is not working or program was coded for DX10 that is missing video playback acceleration in the DX10 API so you have no choice bar to use DX9Ex to access DXVA2.
            I did point that out in that line.

            Next time Venemo read my complete post before commenting like a idiot.

            Comment


            • #56
              Originally posted by oiaohm View Post
              Next time Venemo read my complete post before commenting like a idiot.
              I just want to warn everybody that oiaohm is pathological lair and troll.

              He is operator in #winehq, but he has claimed that he is working as support for them and shared details, that turned out to be complete fabrications.

              I've also tried to argue with him on technical basis like this one in another thread like this. He never admits on been wrong and will always double-backs his false claims, even when presented with undeniable proof.
              It is easy to fabricate stuff and competence, when most people are not familiar with the technicalities and are not going to understand the provided sources.

              Don't be fooled and don't feed the troll.
              Last edited by iive; 03-06-2019, 10:11 AM.

              Comment


              • #57
                Originally posted by iive View Post
                I just want to warn everybody that oiaohm is pathological lair and troll.
                Where is the mistake this time. There is not one. I have the usage of DX9Ex and everything referenced. Now if you cannot put up the mistake shut up.

                Its not like you have not got thing wrong before iive and kept on pushing it either.



                Comment

                Working...
                X