Announcement

Collapse
No announcement yet.

Direct3D 9 Support Proposed For DXVK

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

  • #11


    Originally posted by bitman View Post
    I wonder why such stack of abstractions is considered. Every layer adds a possible source of bugs. I hope they have a really good reason for doing so.
    Originally posted by bemerk View Post
    why not support vk9 or gallium-nine instead?

    There is a lot of info in that pull request. Like the following quote:
    I know that the VK9 project exists, but I believe converting the very high-level D3D9 API directly to Vulkan is way too hard, which is why I'm leveraging DXVK's extensive support for D3D11 features.

    A lot of D3D9 concepts map almost directly to D3D11, it's really easy to port a lot of the features. D3D9 surfaces are nothing more than D3D11Texture2D, the DXBC shader compiler is already here, etc.

    And since this project is built on top of DXVK, we could in certain cases use Vulkan directly, although the D3D11 API is still the one I'm building on.


    Additionally, there was quite a bit of discussion on that PR. The developer behind the PR has subsequently closed it with the following:
    I will close this pull request and instead try to see if I can keep working on the D3D9 to D3D11 wrapper, or help Vk9 instead.

    Thank you for your understanding.
    Last edited by lectrode; 09 August 2018, 02:52 PM.

    Comment


    • #12
      Originally posted by lectrode View Post






      There is a lot of info in that pull request. Like the following quote:




      Additionally, there was quite a bit of discussion on that PR. The developer behind the PR has subsequently closed it with the following:
      Oh this is sad, it looked very promising to run soon DX9 games with the help of DXVK on Vulkan too :-(

      Comment


      • #13
        Originally posted by Espionage724 View Post
        I'll take anything that can make Guild Wars 2 (DX9) on Wine less of a performance mess.
        Given ESO a try? I had a blast playing that game until I realized it was an addiction and I needed help. If only they made a patch for that.

        Comment


        • #14
          Originally posted by kenjitamura View Post

          Given ESO a try? I had a blast playing that game until I realized it was an addiction and I needed help. If only they made a patch for that.
          Na; recently was looking for a new MMO though and between ESO and FFXIV I ended up choosing FFXIV. I heard ESO had lootcrates and that the combat system wasn't too great. The main thing that sold me on FFXIV was that they had a trial I could try, which I ended up liking.

          Got bored of it and now I'm back into WoW. But falling back to GW2 every now and then is pretty nice.

          Comment


          • #15
            Hello everybody, I'm the original author of the pull request, and I would like to add some information related to the project.

            First of all, a lot of people keep asking me why didn't I just contribute to VK9 / Gallium Nine. The answer is quite simple:

            I believe it would be too hard to convert D3D9 directly to something as low level as Vulkan or similar. Look at how complicated VK9 / Gallium are.

            That is why I am building on top of doitsujin's work. His project does the hard part of implementing a D3D11-to-Vulkan wrapper. It handles Command Stream Multithreading, manages textures and buffers for me, etc.

            If you check out the VK9 source code, you will notice it contains a huge amount of similarities to DXVK. Why reimplement some common Vulkan utilities, when I can simply take advantage of doitsujin's library?

            I only closed the pull request because I have now moved to my own repository (https://github.com/GabrielMajeri/d3d9-to-11). I should have done so from the beginning, but I instead experimented by forking DXVK's repository. It's better for me to maintain this project and doitsujin to focus on DXVK.

            Direct3D 9 to Direct3D 11 converter

            Comment


            • #16
              This is heading down a path of something that can work.

              Windows Vista to Windows 8.1 DX9, dx10 and dx11 working in combination is functional.

              A D3D8 pseudo-driver which converts API calls and bytecode shaders to equivalent D3D9 ones. - crosire/d3d8to9


              It will be possible to push it back to cover dx8 as well. dx1-7 that is a group of it own would be all that not covered.

              DXVK is heading down a path where it possibly will be merge able in time. Where it covering enough direct x that existing supported applications with horrible dx usage should work. Horrible include MS office with plugins.

              Comment


              • #17
                It's getting a little bit confusing with the amount of such projects right now...

                Comment


                • #18
                  Well that's pretty stupid. Hey guys, let's rewrite Linux. From scratch! In Rust! Who's on board the retarded rewrite bandwagon? Choochoo!

                  Comment


                  • #19
                    Originally posted by rmoog View Post
                    Well that's pretty stupid. Hey guys, let's rewrite Linux. From scratch! In Rust! Who's on board the retarded rewrite bandwagon? Choochoo!
                    Would you please STFU?

                    Comment


                    • #20
                      Originally posted by GabrielMajeri View Post
                      I believe it would be too hard to convert D3D9 directly to something as low level as Vulkan or similar. Look at how complicated VK9 / Gallium are.
                      Hm, but that's what AMD, NVidia etc. have been doing. They don't seem to have much trouble supporting all versions of D3D, OpenGL and now Vulkan in drivers, by leveraging a low-level core API and hardware interfaces. Especially since older fixed-function / high-level / inflexible APIs make it really difficult to map functionality precisely due to slight mismatches in semantics and behavior (just look at wined3d mapping D3D9 to OpenGL).

                      Incidentally, D3D9 may map nicely to D3D10, no arguments about that.

                      Comment

                      Working...
                      X