Announcement

Collapse
No announcement yet.

Internal Multi-Threading Arrives For Gallium3D's Direct3D 9 "Nine"

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

  • #11
    Originally posted by debianxfce View Post

    Happy testing, wine-staging csmt has been long available so it is more stable than a brand new nine code. It might take years to test with all the games and hardware to achieve the same stability.
    Compare these two images:


    Guess which is gallium nine and which is wined3d with CSMT.
    Guess which one I'm more likely to use.

    Comment


    • #12
      so this is only for wine or also for native opengl game?

      Comment


      • #13
        Ohhh, this looks promising! I knew gallium9 had some multi threading already, but this seems like it could be a massive boost. I'll be interested to see a comparison test.

        Comment


        • #14
          Originally posted by mannerov View Post

          I think what's blocking for csmt in wine is that the devs haven't had time so far to make the cleanups they wanted to the patchset, and instead just rebased it years over years over their wine changes.

          I don't think however it must have been harder to implement that it has been for nine.
          Wine devs explain because csmt is not stay in main branch, them recently shows some details in wine news

          This is some information about csmt actual state (link for courtesy winehq)

          https://www.winehq.org/wwn/403#WineConf 2016 Summary

          Henri is working on upstreaming the multithreaded command stream (Currently it’s in staging, but not the master branch).

          He wasn’t at WineConf, so we couldn’t really come to a conclusion when that work will be finished.

          It depends on Henri’s other tasks, CodeWeavers keeps dropping work at him that needs to be finished yesterday.

          Henri has made progress in the past months, merging the patches that unify 2D, Cube and Volume textures into one texture resource, but merging textures and buffers into one common resource is missing, and the blitter support in the current command stream code is a mess.

          he ETA depends on where Henri wants to go exactly.
          csmt code depend of henri verbeet but between actual problem (merging textures and buffers into one common resource is missing, and the blitter support in the current command stream code is a mess) and codeweavers assigned tasks dont give enough time for solve csmt situation

          Maybe in next wine dev cicle (wine 2.1) csmt could have more priority

          However next friday must be begins wine 2.0 rc phase (according last information in wine-devel), in good side wine 2.0rc phase dont allow insert new features maybe henri can have more time for polish some csmt code

          Last edited by pinguinpc; 08 December 2016, 08:42 AM. Reason: Corrections and More Information

          Comment


          • #15
            Originally posted by debianxfce View Post
            It is very scientistic to use one game as example.
            It's the game I kill most of my time with, so yes, that's the example I'm using.

            Originally posted by debianxfce View Post
            Probably you are using winecfg to change between nine and csmt. It is not same as using wine-staging csmt.
            This topic is about nine multithreading that you probably not tested yet.
            I use wine staging 1.9.23 with nine patches and yes I did use the checkbox to switch between them:


            I also had to set up
            Code:
            [Software\\Wine\\Direct3D] 1481184208 4415130
            #time=1d251298f27a69a
            "VideoMemorySize"="8192"
            "VideoPCIDeviceID"=dword:000013c2
            "VideoPciVendorID"=dword:000010de
            (Geforce 970) because with pretending to be any radon GPU wine apparently doesn't implement some amd specific workarounds that the game uses. Also I think steam only sees 2 Gigabyte of VRam? Weird.

            With gallium nine it just works out of the box.

            Gallium nine CSMT by the way needs no wine support. It's completely contained in mesa. And yes I have tried it by first merging the nine/csmt branch and now by merging nine/master.

            Comment


            • #16
              Originally posted by LinuxID10T View Post
              This is fucking beautiful. Too bad the OpenGL driver still isn't properly multithreaded...
              There are only two places you can implement multithreading, the graphics driver or the game engine. And I hate to say this, but in situations where the graphics driver is mutithreading and the game engine is unaware of it, very retarded things have to occur...... Look into it, I think you'll agree.

              It is definitely not beautiful. I'm not against this happening, it's just the ass backwards way of doing this.

              Comment


              • #17
                Where can I donate to this project? I use it exclusively to play Guild Wars 2. Because of Gallium Nine I was able to switch four of my friends from Windows to GNU/Linux. I don't have any programming skills so the least I can do is spread the word, document continuously regarding Guild Wars 2 (which I do on WineHQ), and donate to the project.

                Comment


                • #18
                  Is there a way to donate to the Gallium Nine team/project? I use it everyday and would like to pay it forward. I'm not a developer so the only way I can provide my gratitude and appreciation is to donate, spread the word (I managed to get four of my friends to switch to GNU/Linux), and provide support for the one game I do play on WineHQ (Guild Wars 2). As always, thank you Gallium Nine team!

                  Comment


                  • #19
                    Originally posted by haagch View Post
                    Is there reason to believe it will be significantly more unstable?
                    The versions in the nine csmt branch have been working without issue for me so far.

                    That said, with nine master currently csgo crashes after a short time of gameplay.
                    Code:
                    =>0 0xf751d3ff __memcpy_sse2_unaligned+0x2f() in libc.so.6 (0x200ae7c8)
                    1 0xe7eed01f in winepulse (+0xd01e) (0x200ae7c8)
                    unaligned... hm...
                    Hopefully that's not another stack alignment issue.
                    I love the way you write that it is as stable as Wine and then put a perfect example to prove it is not

                    Comment


                    • #20
                      Originally posted by mannerov View Post

                      I think what's blocking for csmt in wine is that the devs haven't had time so far to make the cleanups they wanted to the patchset, and instead just rebased it years over years over their wine changes. I don't think however it must have been harder to implement that it has been for nine.
                      Oh I see, that would explain it, though blocking a new feature that useful not for weeks but years because of cleanup seems strange... but it's not like that would be the first strange decision there.

                      Thank you for the answer, and for the major patchsets!

                      Comment

                      Working...
                      X