Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 25

Thread: Mesa Receives Some OpenGL 3 Love

  1. #11
    Join Date
    Dec 2007
    Location
    Edinburgh, Scotland
    Posts
    574

    Default

    Ah I thought Gallium was more stand alone than that. Was expecting it to get real OpenGL state trackers and once enough Gallium drivers existed to rip out old messa

    Is there any beginners documentation for gallium, how to build it etc

    I've tried using the xorg state tracker before but without any luck on radong a few days ago it simply crashed X and i965g doesn't work at all either it even has the wrong name since it stopped being the modesetting driver

    It seems it's only targeted for developers just now

  2. #12
    Join Date
    Jan 2009
    Posts
    612

    Default

    Quote Originally Posted by FireBurn View Post
    Ah I thought Gallium was more stand alone than that.
    The OpenGL (Mesa) state tracker is actually a classic Mesa driver which translates OpenGL calls into Gallium ones. (it's not said to be classic since it's rather a smart wrapper, not a device driver)

    Quote Originally Posted by Remco View Post
    Considering that Mesa implements OpenGL, and has a Gallium3D state tracker, how more real would you want it?
    Gallium3D state tracker is nonsense. Gallium3D is the overall architecture and kinda a toolbox for writing 3D drivers. Gallium can be even considered the internal driver interface which basically splits the classic driver to several more or less separate components and reuses them for acceleration of other APIs.

    Quote Originally Posted by FireBurn View Post
    I've tried using the xorg state tracker before but without any luck on radong a few days ago it simply crashed X and i965g doesn't work at all either it even has the wrong name since it stopped being the modesetting driver
    The Xorg state statetracker doesn't get much (if any) testing with r300g. Why would you want to use it when you have full-featured xf86-video-ati?

    -Marek

  3. #13
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,386

    Default

    Mesa is almost a million lines of code. Nobody is going to be replacing it quickly...

  4. #14
    Join Date
    Dec 2007
    Location
    Edinburgh, Scotland
    Posts
    574

    Default

    Quote Originally Posted by Eosie View Post
    The OpenGL (Mesa) state tracker is actually a classic Mesa driver which translates OpenGL calls into Gallium ones. (it's not said to be classic since it's rather a smart wrapper, not a device driver)



    Gallium3D state tracker is nonsense. Gallium3D is the overall architecture and kinda a toolbox for writing 3D drivers. Gallium can be even considered the internal driver interface which basically splits the classic driver to several more or less separate components and reuses them for acceleration of other APIs.


    The Xorg state statetracker doesn't get much (if any) testing with r300g. Why would you want to use it when you have full-featured xf86-video-ati?

    -Marek
    I wanted to test it.

    Why test Gallium when I have mesa? Or test ChromiumOS when I have KDE. Or why would someone test Linux when they already have Windows or OSX?

    It's fun trying new things and comparing to what you've already got

  5. #15
    Join Date
    Dec 2007
    Location
    Edinburgh, Scotland
    Posts
    574

    Default

    Quote Originally Posted by bridgman View Post
    Mesa is almost a million lines of code. Nobody is going to be replacing it quickly...
    But is replacing it a long term goal?

    KMS replaced UMS once it became stable in the DDX driver (yes not as much code) and I'm guessing the UMS code will be ripped out of the kernel as soon as Linus lets the developers - well for Intel anyway

    I'm kind of disappointed that the Nouveau folk changed their minds about using Gallium for the fixed pipeline cards. It would have been nice if eventually all cards were supported natively under Gallium

    I'd really like to test Gallium and lean how to add to it. Both on the desktop and my PS3 (cell driver). Do you know a good place to start?

    Also what's the Python statetracker? Also what's the difference between llvmpipe and gallivm? (The v isn't a typo)

  6. #16
    Join Date
    Feb 2010
    Location
    Srpska Republic, Bosnia&Herzegovina
    Posts
    106

    Default

    If someone here is using Arch Linux - I have a great PKGBUILD script for mesa-git, which compiles r300g driver and installs it. Switching to gallium from classic driver (and vice versa) any time you wish is very convenient: simple terminal console does the trick.

  7. #17
    Join Date
    Nov 2008
    Posts
    762

    Default

    Quote Originally Posted by FireBurn View Post
    But is replacing it a long term goal?
    Not really. It may be useful to fork mesa, rip out everything not needed for G3D and use it, but that's not a replacement per se.

  8. #18
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,386

    Default

    Quote Originally Posted by FireBurn View Post
    But is replacing it a long term goal?

    KMS replaced UMS once it became stable in the DDX driver (yes not as much code) and I'm guessing the UMS code will be ripped out of the kernel as soon as Linus lets the developers - well for Intel anyway
    I am not aware of any plans to replace Mesa either in the short term or the long term. The Mesa source code tree includes a number of HW driver subtrees; the intent is to replace many of those existing HW drivers with Gallium3D-based HW drivers over time *and* to use those Gallium3D-based drivers for other things than just Mesa.

    Quote Originally Posted by FireBurn View Post
    I'm kind of disappointed that the Nouveau folk changed their minds about using Gallium for the fixed pipeline cards. It would have been nice if eventually all cards were supported natively under Gallium
    The problem is that Gallium3D is really designed for GPUs with hardware shaders; running it on a fixed pipeline GPU would be an interesting science project (and might even be useful) but right now I think the dev priority is getting the things that are *supposed* to work running well.

    Quote Originally Posted by FireBurn View Post
    I'd really like to test Gallium and lean how to add to it. Both on the desktop and my PS3 (cell driver). Do you know a good place to start?
    I would definitely start with GL (Mesa) on whatever supported GPU you have. Right now I think the NVidia (esp NV50) and ATI chips (esp 3xx-5xx) have the best support. I don't know if the cell driver can be used directly on PS3 today, maybe start with the desktop.

    It might be a bit early to test the xorg state tracker (a ddx that uses Gallium3D for acceleration rather than GPU-specific code).

    Quote Originally Posted by FireBurn View Post
    Also what's the Python statetracker? Also what's the difference between llvmpipe and gallivm? (The v isn't a typo)
    The Python state tracker seems to be a "Gallium3D binding" for Python, ie it allows you to write Python programs which make Gallium3D calls. Seems like a great way to learn how Gallium3D works...

    AFAIK llvmpipe is a software renderer which uses llvm to translate shader programs into optimized CPU code, while gallivm does the same thing but generates GPU shader code and is part of a hardware accelerated driver. Stephane Marchesin's slides from FOSDEM 2009 mention gallivm :

    http://people.freedesktop.org/~march...09-g3dllvm.pdf

  9. #19
    Join Date
    Oct 2008
    Location
    Sweden
    Posts
    983

    Default

    Not using Mesa as a state tracker does seem to be a long term goal:

    Add a pure Gallium state tracker for OpenGL 3.0. Right now, Gallium uses Mesa as its state tracker. However, since the Mesa source code also implements software rendering, as well as old-style DRI drivers, this results in a lot of cruft and in particular holds back the addition of new OpenGL features (as those features must be supported in the whole mesa first). The performance of Gallium also suffers, since the state tracker does a lot of things that are later on duplicated in Gallium. This project involves duplicating the current Mesa state tracker and removing all the legacy bits. Then the student will add the necessary state tracker functionality for supporting OpenGL 3.0.
    http://wiki.x.org/wiki/SummerOfCodeIdeas

  10. #20
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,386

    Default

    I should mention that the emulated GPU on VMWare clients probably has the *best* Gallium3D support right now, but I imagine you want to run on a real GPU not the figment of some developers' imagination

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •