Sun . 19 May 2019

Mesa (computer graphics)


Mesa is an open-source implementation of the OpenGL, Vulkan and other specifications Its most important user surfacing parts are the two graphics drivers mostly developed and funded by Intel and AMD, which are using those implentations The smaller GeForce graphics driver noveau in contrast is mostly a community effort Mesa implements a cross-language, cross-platform mostly on BSD and Linux distributions, vendor-neutral standard API for interfacing with diverse vendor-specific graphics hardware drivers

Besides 3D applications such as games, modern display servers Xorg's Glamor or Wayland's Weston use OpenGL/EGL, therefore all graphics typically go through Mesa Proprietary graphics drivers eg Nvidia GeForce driver and AMD Catalyst for Radeon replace all of Mesa, providing their own implementation of a graphics API, rather than providing a driver that Mesa talks to While Nvidia today promotes its proprietary driver for gaming, AMD promotes their Mesa drivers radeon and radeonSI over the deprecated AMD Catalyst formerly fglrx

Mesa is hosted by freedesktoporg and was initiated in August 1993 by Brian Paul, who is still active in the project Mesa was subsequently widely adopted, and now contains numerous contributions from various individuals and corporations worldwide, including from the graphics hardware manufacturers of the Khronos Group that administer the OpenGL specification For Linux, development has also been partially driven by crowdfunding7

Contents

  • 1 Overview
    • 11 Implementations of rendering APIs
      • 111 Vulkan
        • 1111 Explicit fencing
      • 112 Generic Buffer Management
    • 12 Implementations of video acceleration APIs
    • 13 Device drivers
    • 14 Direct Rendering Infrastructure DRI
    • 15 Software renderer
    • 16 Mega drivers
    • 17 shader-db
  • 2 Software architecture
    • 21 Mesa's Intermediate Representations
      • 211 SPIR-V
      • 212 GLSL IR
      • 213 Mesa IR
      • 214 NIR
      • 215 TGSI
      • 216 LLVM IR
    • 22 Mesa's GLSL compiler
    • 23 Gallium3D
  • 3 Performance
  • 4 History
  • 5 See also
  • 6 References
  • 7 External links

Overviewedit

Video games outsource rendering calculations to the GPU over OpenGL in real-time Shaders are written in OpenGL Shading Language or SPIR-V and compiled on the CPU The compiled programs are executed on the GPU Illustration of the Linux graphics stack: DRM & libDRM, Mesa 3D Display server belongs to the windowing system and is not necessary eg for gaming

Implementations of rendering APIsedit

The free implementations of Wayland rely upon the Mesa implementation of EGL The special library called libwayland-EGL, written to accommodate access to the framebuffer, should have been made obsolete by the EGL 15 release On the GDC 2014, AMD was exploring a strategy change towards using DRM instead of their in-kernel blob8

Mesa is known as housing implementation of graphic APIs Historically the main API that Mesa has implemented is OpenGL, along with other Khronos Group related specifications like OpenVG, OpenGL ES or recently EGL But Mesa can implement other APIs and indeed it did with Glide deprecated and Direct3D 9 since July 20139 Mesa is also not specific to Unix-like operating systems: on Windows for example, Mesa provides an OpenGL API over DirectX

Mesa implements a translation layer between a graphics API such as OpenGL and the graphics hardware drivers in the operating system kernel The supported version of the different graphic APIs depends on the driver, because each hardware driver has its own implementation and therefore status This is specially true for the "classic" drivers, while the Gallium3D drivers share common code that tend to homogenize the supported extensions and versions

Mesa maintains a support matrix with the status of the current OpenGL conformance1011 visualized at mesamatrixnet Mesa 10 complies with OpenGL 33, for Intel, AMD/ATI and Nvidia GPU hardware Mesa 11 was announced with some drivers being OpenGL 41 compliant12

Mesa 12 contains OpenGL 42 and 43 and Intel Vulkan 10 support

Mesa 13 brought Intel support for OpenGL 44 and 45 all Features supported for Intel Gen 8+, Radeon GCN, Nvidia Fermi, Kepler, but no Khronos-Test for 45-Label and experimental AMD Vulkan 10 support through the community driver RADV OpenGL ES 32 is possible with Intel Skylake Gen913

Next Version is 170 new Counting14 Ready features are certified OpenGL 45, OpenGL 45 for Intel Haswell,15 OpenGL 43 for NVidia Maxwell and Pascal GM107+16 Huge performance gain was measured with Maxwell 1 GeForce GTX 750 Ti and more with GM1xx Maxwell-2-Cards GeForce GTX 980 and more with GM2xx are underclocked without NVidia informations17

Note that due to the modularized nature of OpenGL, Mesa can actually support extensions from newer versions of OpenGL without claiming full support for them For example, in July 2016, Mesa supported OpenGL ES 31 but also all OpenGL ES 32 extensions except for five, as well as a number of extensions not part of any OpenGL or OpenGL ES version18

Current stable version: 130
2016-11-0119 1303 202122 10 in dev by Gallium
Compute:
work in progress
WIP
10, 11, 122324
44
45 No Test Label
32 N/A25 15 14 90c2627
Older version, yet still supported: 120 2016-07-0828 1205 293031 4328 31
Old version, no longer supported: 112 2016-04-0432 1122 N/A 41 Intel 33+33
Old version, no longer supported: 111 2015-12-1534 1114 30
Old version, no longer supported: 110 2015-09-1235 1109
Old version, no longer supported: 106 2015-06-1536 1069 3337 14
Old version, no longer supported: 105 2015-03-0638 1059 11
Old version, no longer supported: 104 2014-12-1439 1047
Old version, no longer supported: 103 2014-09-1940 1037 N/A
Old version, no longer supported: 102 2014-06-0641 1029
Old version, no longer supported: 101 2014-03-0442 1016
Old version, no longer supported: 100 2013-11-3043 1005
Old version, no longer supported: 90 2012-10-08 903, 917, 925 N/A 3144 20
Old version, no longer supported: 80 2012-02-08 805 30
Old version, no longer supported: 70 2007-06-22 704, , 7112 21 N/A N/A N/A
Old version, no longer supported: 60 2004-01-06 601 15 13
Old version, no longer supported: 50 2002-11-13 502 14
Old version, no longer supported: 40 2001-10-22 404 13
Old version, no longer supported: 30 1998-09-01 31, 321, 3421 12
Old version, no longer supported: 20 1996-10-01 26 11
Old version, no longer supported: 10 1995-02-01 128 10
Legend: Old version Older version, still supported Latest version Latest preview version Future release

Vulkanedit

The Khronos Group officially announced Vulkan API in March 2015, and officially released Vulkan 10 on February 16, 2016 Vulkan breaks compatibility with OpenGL and completely abandons its monolithic state machine concept The developers of Gallium3D called Vulkan to be something along the lines of Gallium3D 20 – Gallium3D separates the code that implements the OpenGL state machine from the code that is specific to the hardware

As Gallium3D ingests TGSI, Vulkan ingests SPIR-V Standard Portable Intermediate Representation version "V" as in "Vulkan"

Intel released their implementation of a Vulkan driver for their hardware the day the specification was officially released, but it was only mainlined in April and so became part of Mesa 120, released in July 2016 While already the i965 driver wasn't written according to the Gallium3D specifications, for the Vulkan driver it makes even less sense to flange it on top of Gallium3D Similarly there is no technical reason to flange it with NIR, but yet Intel's employees implemented their Vulkan driver that way

It is to be expected that AMD's own proprietary Vulkan driver, which was released in March, and was announced to be released as free and open-source software in the future and be mainlined into Mesa, also abandons Gallium3D45

RADV is a free Project in Beta Status for AMD and available in Version 1313

Nvidia released their proprietary GeForce driver with Vulkan support at launch day and Imagination Technologies PowerVR, Qualcomm Adreno and ARM Mali have done the same or at least announced proprietary Vulkan drivers for Android and other operating systems But when and whether additional free and open-source Vulkan implementations for these GPUs will show up, remains to be seen

Explicit fencingedit

A kind of memory barrier which separates one buffer from the rest of the memory is called a fence Fences are there to ensure that a buffer is not being overwritten before rendering and display operations have completed on it Implicit fencing is used for synchronization between graphics drivers and the GPU hardware The fence signals when a buffer is no longer being used by one component so it can be operated on or reused by another In the past the Linux kernel had an implicit fencing mechanism, where a fence is directly attached to a buffer cf GEM handles and FDs, but userspace is unaware of this Explicit fencing exposes fences to userspace, where userspace gets fences from both the Direct Rendering Manager DRM subsystem and from the GPU Explicit fencing is required by Vulkan and offers advantages for tracing and debugging

Linux kernel 49 added Android's synchronization framework to mainline46

Generic Buffer Managementedit

Generic Buffer Management GBM is an API which provides a mechanism for allocating buffers for graphics rendering tied to Mesa GBM is intended to be used as a native platform for EGL on drm or openwfd The handle it creates can be used to initialize EGL and to create render target buffers47

Mesa GBM is an abstraction of the graphics driver specific buffer management APIs for instance the various libdrm_ libraries, implemented internally by calling into the Mesa GPU drivers

For example, the Wayland compositor Weston does its rendering using OpenGL ES 2, which it initializes by calling EGL Since the server runs on the "bare KMS driver", it uses the EGL DRM platform, which could really be called as the GBM platform, since it relies on the Mesa GBM interface

At XDC2014, Nvidia employee Andy Ritger proposed to enhance EGL in order to replace GBM48

Implementations of video acceleration APIsedit

There are three possible ways to do the calculations necessary for the encoding and decoding of video streams:

  1. use a software implementation of a video compression or decompression algorithm commonly called a CODEC and execute this software on the CPU
  2. use a software implementation of a video compression or decompression algorithm commonly called a CODEC and execute this software on the GPU the 3D rendering engine
  3. use a complete or partial hardware implementation of a video compression or decompression algorithm; it has become very common to integrate such ASICs into the chip of the GPU/CPU/APU/SoC and therefore abundantly available; for marketing reasons companies have established brands for their ASICs, such as PureVideo Nvidia, Unified Video Decoder AMD, Video Coding Engine AMD, Quick Sync Video Intel, DaVinci Texas Instruments, CedarX Allwinner, Crystal HD Broadcom; some ASICs are available for licensing as semiconductor intellectual property core; usually different versions implement different video compression and/or video decompression algorithms; support for such ASICs usually belong into the kernel driver, to initialize the hardware and do low-level stuff Mesa, which runs in user-space, houses the implementations of several APIs for software, eg VLC media player, GStreamer, HandBrake, etc, to conveniently access such ASICs:
  • Video Decode and Presentation API for Unix VDPAU – designed by Nvidia
  • Video Acceleration API VAAPI – designed by Intel
  • Distributed Codec Engine DCE – designed by Texas Instruments
  • DirectX Video Acceleration DXVA – Microsoft Windows-only
  • OpenMAX IL – designed by Khronos Group for video compression
  • OpenVideo Decode OVD – AMD vaporware
  • X-Video Bitstream Acceleration XvBA – extension to Xv
  • X-Video Motion Compensation XvMC – extension to Xv

For example, Nouveau, which has been developed as part of Mesa, but also includes a Linux kernel component, which is being developed as part of the Linux kernel, supports the PureVideo-branded ASICs and provides access to them through VDPAU and partly through XvMC49

The free radeon driver supports Unified Video Decoder and Video Coding Engine through VDPAU and OpenMAX50

Please note, that V4L2 is a kernel-to-user-space interface for video bit streams delivered by webcams or TV tuners

Device driversedit

Main article: Free and open-source graphics device driver Graphics device drivers are implemented using two components: a UMD user-mode driver and a KMD kernel-mode driver Starting with Linux kernel 42 AMD Catalyst and Mesa will share the same Linux kernel driver: amdgpu Amdgpu provides interfaces defined by DRM and KMS

The available free and open-source device drivers for graphic chipsets are "stewarded" by Mesa because the existing free and open-source implementation of APIs are developed inside of Mesa Currently there are two frameworks to write graphics drivers: "classic" and Gallium3D51 An overview over some of the drivers available in Mesa is given at mesamatrixnet The driver vc4 is missing from this site, while the driver freedreno is not part of Mesacitation needed

There are device drivers for AMD/ATI R100 to R800, Intel, and Nvidia cards with 3D acceleration Previously drivers existed for the IBM/Toshiba/Sony Cell APU of the PlayStation 3, S3 Virge & Savage chipsets, VIA chipsets, Matrox G200 & G400, and more52

The free and open-source drivers compete with proprietary closed-source drivers Depending on the availability of hardware documentation and man-power, the free and open-source driver lag behind more or less in supporting 3D acceleration of new hardware Also, 3D rendering performance was usually significantly slower with some notable exceptions53545556 Today this is still true for noveau for most NVIDIA GPUs while on AMDs Radeon GPUs the open driver now mostly matches or exceeds the proprietary driver's performance

Direct Rendering Infrastructure DRIedit

Main article: Direct Rendering Infrastructure

At the time 3D graphics cards became more mainstream for PCs, individuals partly supported by some companies began working on adding more support for hardware-accelerated 3D rendering to Mesawhen The Direct Rendering Infrastructure DRI was one of these approaches to interface Mesa, OpenGL and other 3D rendering API libraries with the device drivers and hardware After reaching a basic level of usability, DRI support was officially added to Mesa This significantly broadened the available range of hardware support achievable when using the Mesa library57

With adapting to DRI, the Mesa library finally took over the role of the front end component of a full scale OpenGL framework with varying backend components that could offer different degrees of 3D hardware support while not dropping the full software rendering capability The total system used many different software components57

While the design requires all these components to interact carefully, the interfaces between them are relatively fixed Nonetheless, as most components interacting with the Mesa stack are open source, experimental work is often done through altering several components at once as well as the interfaces between them If such experiments prove successful, they can be incorporated into the next major or minor release That applies eg to the update of the DRI specification developed in the 2007-2008 timeframe The result of this experimentation, DRI2, operates without locks and with improved back buffer support For this, a special git branch of Mesa was created58

DRI3 is supported by the Intel driver since 20135960 and is default in some Linux distributions since 201661 to enable Vulkan support and more It is also default on AMD hardware since late 2016 XOrg Server 1183 and newer62

Software rendereredit

Software rendering is the misleading term, when shaders are executed on the CPU instead of the GPU Mesa also contains an implementation of software rendering that allows shaders to run on the CPU as a fallback when no graphics hardware accelerators are present called swrast The Gallium software rasterizer is known as softpipe or when built with support for LLVM llvmpipe which generates CPU code at runtime6364

In Mesa 120 a new Intel Rasterizer OpenSWR is available with high advantages in clusters for large data sets It's more focused on engineering visualisation than in game or art imagery and can only work on x86 processors65 On the other hand, OpenGL 31+ is now supported66 Acceleration values from 29 to 51 related to LLVMPIPE were measured in some examples67 Only change to option "GALLIUM_DRIVER="swr" is necessary

Mega driversedit

The idea of bundling multiple drivers into a single "mega" driver was proposed by Eric Anholt It allows for a single copy of the shared Mesa code to be used among multiple drivers instead of it existing in each driver separately and offering better performance than a separate shared library due to the removal of the internal library interface68 The state trackers for VDPAU and XvMC have become separate libraries69

shader-dbedit

shader-db is a collection of about 20,000 shaders gathered from various computer games and benchmarks as well as some scripts to compile these and collect some statistics Shader-db is intended to help validate an optimization

It was noticed that an unexpected number of shaders are not hand-written but generated This means these shaders were originally written in HLSL and then translated into GLSL by some translator program, such as eg HLSL2GLSL The problem is, that the generated code is often far from being optimal Matt Turner said it was much easier to fix this in the translator program than having to make Mesa's compiler carry the burden of dealing with such bloated shaders

shader-db cannot be considered free and open-source software To use it legally, one must have a license for all the computer games, that the shaders are part of At least the Valve Corporation has granted all Mesa and all Debian developers free personal licenses for all the games distributed on Steam

Software architectureedit

A graphics drivers consists of an implementation of the OpenGL state machine and a compilation stack to compile the shaders into the GPU's machine language This compilation as well as pretty much anything else is executed on the CPU, then the compiled shaders are sent to the GPU and are executed by it SDL = Simple DirectMedia Layer The Intermediate Representations IRs in Mesa: GLSL IR, Mesa IR, TGSI, and LLVM IR Missing are HIR, LIR and NIR Mesa IR is due to be removed completely

The so-called "user-mode graphics device drivers" UMD in Mesa have very few commonalities with what is generally called a device driver There are a couple of differences:

  • they are meant to work on top of additionally existent kernel mode graphics device drivers, that are eg available as part of the Linux kernel found in the source code under /drivers/gpu/drm/ Each UMD communicates with its kernel mode counterpart with the help of a specific library, name libdrm_specific and a generic one, named libdrm This section shall look solely on the user-mode part above libdrm
  • there is some implementation of the finite-state machine as specified by eg OpenGL; this implementation of the OpenGL state machine may be shared among multiple UMDs or not
  • they consist to a great part of some sort of compiler, that ingests eg GLSL and eventually outputs machine code Parsers and may be shared among multiple UMD or be specific

Mesa's Intermediate Representationsedit

One goal of Mesa is the optimization of code that is to be executed by the respective GPU Another is the sharing of code Instead of documenting the pieces of software, that do this or that, this Wikipedia article shall instead look at the Intermediate Representations used in the process of compiling and optimizing See Abstract syntax tree AST and Static single assignment form SSA form

SPIR-Vedit

SPIR-V is a certain version of the Standard Portable Intermediate Representation The idea is, that game engines output SPIR-V instead of GLSL In contrast to the latter, SPIR-V is binary to protect intellectual property and is already the result of general optimizations A UMD needs only apply optimizations, that are specific to the supported hardware

  • SPIR-V Specification Provisional

GLSL IRedit

  • https://cgitfreedesktoporg/mesa/mesa/tree/src/compiler/glsl/README
  • XDC2014, Matt Turner: Video on YouTube, Matt Turner - GLSL compiler: Where we've been and where we're going
  • XDC2015, Matt Turner: Video on YouTube, http://wwwxorg/wiki/Events/XDC2015/Program/turner_glsl_compilerpdf

Mesa IRedit

NIRedit

  • Connor Abbott - NIR, or moving beyond GLSL IR in Mesa XDC2014
    • Mesa-dev 2014-12-15 Reintroducing NIR, a new IR for mesa
  • https://cgitfreedesktoporg/mesa/mesa/tree/src/glsl/nir/README
  • https://fosdemorg/2016/schedule/event/i965_nir/attachments/slides/1113/export/events/attachments/i965_nir/slides/1113/nir_vec4_i965_fosdem_2016_rc1pdf

TGSIedit

Main article: Tungsten Graphics Shader Infrastructure

The Tungsten Graphics Shader Infrastructure TGSI was introduced in 2008 by Tungsten Graphics All Gallium3D-style UMDs ingest TGSI

LLVM IRedit

Main article: LLVM Intermediate Representation

The UMDs radeonsi and llvmpipe do not output machine code, but instead LLVM IR From here on, LLVM does optimizations and the compilation to machine code This does mean, that a certain minimum version of LLVM has to be installed as well

Mesa's GLSL compileredit

Mesa's GLSL compiler generates its own IR Because each driver has very different requirements from a LIR, it differentiates between HIR high-level IR and LIR low-level IR

Gallium3Dedit

Main article: Gallium3D Gallium3D introduced the intermediate language TGSI Tungsten Graphics Shader Infrastructure Any shaders written in GLSL or other shading languages as well are translated into TGSI, this translation is supported by the hardware driver The driver translates these TGSI shaders into the instruction set of the GPU it is written for

Gallium3D was developed by Tungsten Graphics as a means to simplify the writing of device drivers and also to achieve maximum portability of them, without having to rewrite the source code Gallium3D specification were released in 2008 and as of 19 January 2017, the current version is still 04

Most device drivers inside of Mesa have been rewritten conforming to the new internal APIs defined by Gallium3D, and new drivers written since the introduction of Gallium3D have been written as Gallium3D drivers from the beginning on A notable exception is the Mesa driver for the Intel 965-family of GPUs

The main disadvantage is, that by introducing additional interfaces, namely the Gallium3D WinSys Interface, the full capabilities of the underlying hardware can not be accessed by the device driverscitation needed

Performanceedit

  • Performance comparison of free and open-source graphics device drivers

Historyedit

Project initiator Brian Paul was a graphics hobbyist He thought it would be fun to implement a simple 3D graphics library using the OpenGL API, which he might then use instead of VOGL very ordinary GL Like Library2 Beginning in 1993, he spent eighteen months of part-time development before he released the software on the Internet The software was well received, and people began contributing to its development Mesa started off by rendering all 3D computer graphics on the CPU Despite this, the internal architecture of Mesa was designed to be open for attaching to graphics processor-accelerated 3D rendering In this first phase, rendering was done indirectly in the display server, leaving some overhead and noticeable speed lagging behind the theoretical maximum The Diamond Monster 3D, using the Voodoo Graphics chipset, was one of the first 3D hardware devices supported by Mesa

The first true graphics hardware support was added to Mesa in 1997, based upon the Glide API for the then new 3dfx Voodoo I/II graphics cards and their successors57 A major problem of using Glide as the acceleration layer was the habit of Glide to run full screen, which was only suitable for computer games Further, Glide took the lock of the screen memory, and thus the display server was blocked from doing any other GUI tasks70

See alsoedit

  • Free and open-source graphics device driver
  • Free software portal

Referencesedit

  1. ^ Marshall, David 2008-12-16 "VMware's year end acquisition of Tungsten Graphics" InfoWorld Retrieved 2011-08-06 
  2. ^ a b "Mesa Introduction" Mesa Team Retrieved 2015-06-08 
  3. ^ "Mesa 1302 release announcement" Retrieved 2016-11-28 
  4. ^ https://cgitfreedesktoporg/mesa/mesa/commit/id=bec04114d2612042bdf61183cfa3416b3a643b68
  5. ^ "Mesa Languages Page" Open Hub Retrieved 2015-03-02 
  6. ^ "Mesa 3D license" Retrieved 2015-06-03 
  7. ^ "Improve OpenGL support for the Linux Graphics Drivers - Mesa" Indiegogo 2013-12-11 Retrieved 2015-01-21 
  8. ^ "AMD exploring new Linux driver Strategy" 2014-03-22 Retrieved 2014-03-23 
  9. ^ https://wwwphoronixcom/scanphppage=news_item&px=MTQxMjk
  10. ^ "mesa/mesa - The Mesa 3D Graphics Library" Retrieved 2016-11-02 
  11. ^ "The OpenGL vs Mesa matrix" 2015-03-25 Retrieved 2015-03-29 
  12. ^ "Mesa 110 Has Been Branched, The Release March Begins" 2015-08-22 Retrieved 2015-08-22 
  13. ^ a b https://phoronix-mediacom/scanphppage=news_item&px=RADV-Mesa-Submission-ML
  14. ^ https://cgitfreedesktoporg/mesa/mesa/commit/id=5b4aeb331a41f1a224f26adc4834bf1a2c9b5ac6
  15. ^ https://cgitfreedesktoporg/mesa/mesa/commit/id=d2590eb65ff28a9cbd592353d15d7e6cbd2c6fc6
  16. ^ https://cgitfreedesktoporg/mesa/mesa/commit/id=f0997e2aa8b5628a8cccbd5adf9b22a053c6be54
  17. ^ http://wwwphoronixcom/scanphppage=article&item=nouveau-maxwell-pipeline&num=1
  18. ^ "The OpenGL vs Mesa matrix" mesamatrixnet Retrieved 2016-07-31 
  19. ^ "Mesa-announce mesa 1300" Retrieved 2016-11-02 
  20. ^ http://mesa3dorg/relnotes/1301html
  21. ^ http://mesa3dorg/relnotes/1302html
  22. ^ http://mesa3dorg/relnotes/1303html
  23. ^ https://drifreedesktoporg/wiki/GalliumCompute/
  24. ^ https://wwwxorg/wiki/Events/XDC2013/XDC2013TomStellardCloverStatus/XDC2013TomStellardCloverStatuspdf
  25. ^ Larabel, Michael 4 March 2015 "OpenVG Support Stripped From Gallium3D" Phoronix Retrieved 11 July 2015 
  26. ^ "latest patches to "nine" state tracker" 2016-02-04 
  27. ^ Larabel, Michael 14 December 2014 "Mesa 104 Officially Released With Direct3D 9 State Tracker" Phoronix Retrieved 11 July 2015 
  28. ^ a b "Mesa 120 Released With OpenGL 43 Support, Intel Vulkan & Many Other Features" 2016-07-08 Retrieved 2016-07-08 
  29. ^ http://mesa3dorg/relnotes/1204html
  30. ^ http://mesa3dorg/relnotes/1205html
  31. ^ https://mesafreedesktoporg/archive/1205/
  32. ^ "Mesa-announce Mesa 1120" Retrieved 2016-04-04 
  33. ^ http://mesa3dorg/relnotes/1100html
  34. ^ "Mesa-announce Mesa 1110" Retrieved 2015-12-15 
  35. ^ "Mesa-announce Mesa 1100" Retrieved 2015-09-26 
  36. ^ "Mesa-announce Mesa 1060" Retrieved 2015-06-15 
  37. ^ Larabel, Michael 2013-10-26 "Features To Be Found In Mesa 100" Phoronix 
  38. ^ "Mesa-announce Mesa 1050" Retrieved 2015-03-07 
  39. ^ "Mesa-announce Mesa 1040 released" Retrieved 2015-03-07 
  40. ^ "Mesa-announce Mesa 103 released" Retrieved 2015-03-07 
  41. ^ "Mesa-announce Mesa 102 released" Retrieved 2015-03-07 
  42. ^ "Mesa-announce Mesa 101 released" Retrieved 2015-03-07 
  43. ^ "Mesa-announce Mesa 100 released" Retrieved 2015-03-07 
  44. ^ "Mesa 90 Release Notes" Mesa 8 October 2012 Retrieved 11 July 2015 
  45. ^ http://wwwphoronixcom/scanphppage=article&item=radv-hits-mesa&num=1
  46. ^ "Bringing Android explicit fencing to the mainline" LWNnet 2016-10-05 
  47. ^ "libgbm in the Debian repositories" 
  48. ^ "Enabling Alternative Window Systems with a non-Mesa Graphics Driver Implementation" 
  49. ^ "Nouveau Video Acceleration" freedesktoporg 
  50. ^ "Radeon Feature Matrix" freedesktoporg 
  51. ^ Toral, Iago 8 August 2014 "Diving into Mesa" Retrieved 19 May 2016 
  52. ^ "Direct Rendering Infrastructure Status Page" freedesktoporg 
  53. ^ http://apcmagcom/how-to-improve-gaming-performance-on-your-linux-machinehtm
  54. ^ http://wwwgeeks3dcom/20120110/linux-mesa-gallium3d-nouveau-and-nvidia-drivers-opengl-test-gtx-280-gtx-480-gtx-580/
  55. ^ https://wwwphoronixcom/vrphpview=18344
  56. ^ https://wwwphoronixcom/scanphppage=article&item=july_2013_gpus&num=8
  57. ^ a b c Paul, Brian 2000-08-10 "Introduction to the Direct Rendering Infrastructure" drisourceforgenet Retrieved 2012-01-25 
  58. ^ "DRI2" Xorg Retrieved 2012-01-25 
  59. ^ https://lwnnet/Articles/570082/
  60. ^ https://listsfreedesktoporg/archives/dri-devel/2013-November/048258html
  61. ^ "xorg-x11-drv-intel-299917-1920151206fc23 reenabled dri3 by default - kde - Fedora Mailing-Lists" listsfedoraprojectorg Retrieved 2016-12-03 
  62. ^ "Radeon-AMDGPU-119-Updates" wwwgooglede Retrieved 2016-12-03 
  63. ^ "LLVMpipe: OpenGL With Gallium3D on Your CPU" Phoronixcom 2010-04-30 Retrieved 2014-11-04 
  64. ^ "llvmpipe" mesa3dorg Retrieved 2015-06-08 
  65. ^ http://openswrorg
  66. ^ https://mesamatrixnet
  67. ^ http://openswrorg/perfhtml
  68. ^ "DRI megadrivers" 2013-09-25 
  69. ^ "VDPAU & XvMC state trackers are now separate libraries" 2014-06-23 
  70. ^ "What's the relationship between Glide and DRI" drifreedesktoporg Retrieved 2012-01-25 

External linksedit

  • Official website
  • Edge, Jake October 2013 "The history of Mesa" 
Various layers within Linux, also showing separation between the userland and kernel space
User mode User applications For example, bash, LibreOffice, Apache OpenOffice, Blender, 0 AD, Mozilla Firefox, etc
Low-level system components: System daemons:
systemd, runit, logind, networkd, soundd,
Windowing system:
X11, Wayland, Mir, SurfaceFlinger Android
Other libraries:
GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, etc
Graphics:
Mesa, AMD Catalyst,
C standard library open, exec, sbrk, socket, fopen, calloc, up to 2000 subroutines
glibc aims to be POSIX/SUS-compatible, uClibc targets embedded systems, bionic written for Android, etc
Kernel mode Linux kernel stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc about 380 system calls
The Linux kernel System Call Interface SCI, aims to be POSIX/SUS-compatible
Process scheduling
subsystem
IPC
subsystem
Memory management
subsystem
Virtual files
subsystem
Network
subsystem
Other components: ALSA, DRI, evdev, LVM, device mapper, Linux Network Scheduler, Netfilter
Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack
Hardware CPU, main memory, data storage devices, etc


Mesa (computer graphics) Information about

Mesa (computer graphics)


  • user icon

    Mesa (computer graphics) beatiful post thanks!

    29.10.2014


Mesa (computer graphics)
Mesa (computer graphics)
Mesa (computer graphics) viewing the topic.
Mesa (computer graphics) what, Mesa (computer graphics) who, Mesa (computer graphics) explanation

There are excerpts from wikipedia on this article and video

Random Posts

The San Francisco Examiner

The San Francisco Examiner

The San Francisco Examiner is a longtime daily newspaper distributed in and around San Francisco, Ca...
Frederator Films

Frederator Films

Frederator Films is an animation studio founded by Fred Seibert as part of Frederator Studios, with ...
John Hasbrouck Van Vleck

John Hasbrouck Van Vleck

John Hasbrouck Van Vleck March 13, 1899 – October 27, 1980 was an American physicist and mathematici...
Christian Lacroix

Christian Lacroix

Christian Marie Marc Lacroix French pronunciation: ​kʁistjɑ̃ lakʁwa; born 16 May 1951 is a Fren...