Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
    Passso
    Senior Member

  • Passso
    replied
    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

    Leave a comment:

  • PadreAdamo
    Junior Member

  • PadreAdamo
    replied
    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!

    Leave a comment:

  • PadreAdamo
    Junior Member

  • PadreAdamo
    replied
    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.

    Leave a comment:

  • duby229
    Senior Member

  • duby229
    replied
    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.

    Leave a comment:

  • haagch
    Senior Member

  • haagch
    replied
    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.

    Leave a comment:

  • pinguinpc
    Senior Member

  • pinguinpc
    replied
    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

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

    Leave a comment:

  • LeJimster
    Senior Member

  • LeJimster
    replied
    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.

    Leave a comment:

  • Dea1993
    Senior Member

  • Dea1993
    replied
    so this is only for wine or also for native opengl game?

    Leave a comment:

  • haagch
    Senior Member

  • haagch
    replied
    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:
    https://i.imgur.com/KXNmvvg.png
    https://i.imgur.com/t6cvMgR.png
    Guess which is gallium nine and which is wined3d with CSMT.
    Guess which one I'm more likely to use.

    Leave a comment:

  • mannerov
    Senior Member

  • mannerov
    replied
    Originally posted by geearf View Post
    Awesome work!

    Now I'm curious, was it easier to implement csmt in Nine than standard wine (it's been years I think)? and if so, in a few words why?
    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.

    Leave a comment:

Working...
X