Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Graphics Open Source Programming

Mesa Finally An OpenGL Implementation (On Intel Hardware) 80

Mesa 3D has famously always not been technically OpenGL (lacking certification), but times are changing: "This is a great day for Mesa and open-source graphics drivers. Just a tad over a month ago, I submitted OpenGL ES 2.0 conformance test results to Khronos for Intel Sandy Bridge and Ivy Bridge GPUs with Mesa 8.0.4. There were no objections during the 30 day review period, so we are now officially conformant! Finally being on that list is pretty cool. Not only is this great news for my team at Intel, but it's terrific news for Mesa. Mesa has had a long history with OpenGL, the ARB, and Khronos. This is, however, the first time that Mesa has ever, in any way, been listed as a conformant implementation. This is a big boost to Mesa's credibility."
This discussion has been archived. No new comments can be posted.

Mesa Finally An OpenGL Implementation (On Intel Hardware)

Comments Filter:
  • Re:What is Mesa? (Score:5, Informative)

    by binarylarry ( 1338699 ) on Wednesday September 12, 2012 @12:42PM (#41313589)

    Mesa provides a software renderer. Technically, all opengl implementations are supposed to also provide software implementations of functions not supported in hardware. They're supposed to gracefully fallback to software (and the lovely performance that gets you).

    Mesa's software renderer means that it's easier to write drivers, so you can have a fully working implementation as you reimplement various features with hardware support.

  • Re:What is Mesa? (Score:4, Informative)

    by Bobakitoo ( 1814374 ) on Wednesday September 12, 2012 @12:46PM (#41313639)

    I never really understood what Mesa was. I thought it was what you installed if you wanted software rendering of OpenGL. If you wanted hardware rendering, you installed drivers for your hardware. But now Mesa is providing hardware accelerated OpenGL? What's the point if we have open source Intel drivers?

    I don't get it.

    Mesa is the user-space API that talk to the driver. Some driver(eg: nvidia) may provide their own libGL.so, other may use libGL.so from mesa(eg: open source drivers). Also mesa can be use to render in software and even off-screen(eg: batch processing images files or video).

  • Re:What is Mesa? (Score:4, Informative)

    by finity ( 535067 ) on Wednesday September 12, 2012 @01:11PM (#41313845) Homepage Journal
    I've wondered this before too. How does it all fit together. I found this very helpful: http://blog.mecheye.net/2012/06/the-linux-graphics-stack/#rendering-stack [mecheye.net]
  • Re:What is Mesa? (Score:5, Informative)

    by finity ( 535067 ) on Wednesday September 12, 2012 @01:13PM (#41313875) Homepage Journal
    Here's the relevant part (sorry, editing on a phone isn't that easy...):

    Now comes the fun part: modern hardware acceleration. I assume everybody already knows what OpenGL is. It’s not a library, there will never be one set of sources to alibGL.so. Each vendor is supposed to provide its ownlibGL.so. NVIDIA provides its own implementation of OpenGL and ships its ownlibGL.so, based on its implementations for Windows and OS X.

    If you are running open-source drivers, yourlibGL.so implementation probably comes from Mesa. Mesa is many things, but one of the major things it provides that it is most famous for is its OpenGL implementation. It is an open-source implementation of the OpenGL API. Mesa itself has multiple backends for which it provides support. It has three CPU-based implementations: swrast (outdated and old, do not use it), softpipe (slow), llvmpipe (potentially fast). Mesa also has hardware-specific drivers. Intel supports Mesa and has built a number of drivers for their chipsets which are shipped inside Mesa. The radeon and nouveau drivers are also supported in Mesa, but are built on a different architecture: gallium.

  • Re:Woohoo! (Score:0, Informative)

    by Anonymous Coward on Wednesday September 12, 2012 @01:26PM (#41313971)
    You really need to work on your grammar.
  • Re:And why? (Score:4, Informative)

    by TheCycoONE ( 913189 ) on Wednesday September 12, 2012 @02:52PM (#41315277)

    Mesa is the OpenGL state tracker for Gallium3D. Why throw out what you can still use?

  • Re:What is Mesa? (Score:2, Informative)

    by Anonymous Coward on Wednesday September 12, 2012 @05:58PM (#41317595)

    > Each vendor is supposed to provide its own libGL.so
    Wrong. Each vendor is supposed to provide a *_drv.so module which is loaded either by the X server (for indirect rendering) or by libGL (for direct rendering).
    For indirect rendering, libGL doesn't need to know anything about the hardware the X server is using; it just converts GL calls to GLX protocol and sends it to the X server.
    Unfortunately, nVidia just has to be different, so they provide their own libGL. At least newer versions can handle talking to X servers which aren't necessarily using nVidia hardware (an X client can talk to different X servers on different runs, or even talk to multiple X servers concurrently; what hardware the local X server is running only matters if you're talking to the local X server).

I've noticed several design suggestions in your code.

Working...