stringtranslate.com

Mesa (gráficos por computadora)

Mesa , también llamado Mesa3D y Mesa 3D Graphics Library , es una implementación de código abierto de OpenGL , Vulkan y otras especificaciones de API de gráficos . Mesa traduce estas especificaciones a controladores de hardware de gráficos específicos del proveedor.

Sus usuarios más importantes son dos controladores de gráficos desarrollados y financiados principalmente por Intel y AMD para sus respectivos hardware (AMD promociona sus controladores Mesa Radeon y RadeonSI sobre el obsoleto AMD Catalyst , e Intel solo ha admitido el controlador Mesa). Los controladores de gráficos propietarios (por ejemplo, el controlador Nvidia GeForce y Catalyst) reemplazan todo Mesa y proporcionan su propia implementación de una API de gráficos. Un esfuerzo de código abierto para escribir un controlador Mesa Nvidia llamado Nouveau es desarrollado principalmente por la comunidad.

Además de las aplicaciones 3D como los juegos, los servidores de visualización modernos ( Glamour de X.org o Weston de Wayland ) utilizan OpenGL/ EGL ; por lo tanto, todos los gráficos normalmente pasan por Mesa.

Mesa está alojada en freedesktop.org y fue iniciada en agosto de 1993 por Brian Paul , quien todavía está activo en el proyecto. Posteriormente, Mesa fue ampliamente adoptado y ahora contiene numerosas contribuciones de varios individuos y corporaciones de todo el mundo, incluidos los fabricantes de hardware gráfico del Grupo Khronos que administran la especificación OpenGL. Para Linux, el desarrollo también ha sido impulsado en parte por el crowdfunding . [3]

Descripción general

Los videojuegos subcontratan los cálculos de renderizado a la GPU a través de OpenGL en tiempo real. Los sombreadores están escritos en OpenGL Shading Language o SPIR-V y compilados en la CPU. Los programas compilados se ejecutan en la GPU.
Ilustración de la pila de gráficos de Linux : DRM y libDRM, Mesa 3D . El servidor de visualización pertenece al sistema de ventanas y no es necesario, por ejemplo, para jugar.

Implementaciones de API de renderizado

Las implementaciones gratuitas de Wayland se basan en la implementación Mesa de EGL . La biblioteca especial llamada libwayland-EGL , escrita para dar cabida al acceso al framebuffer , debería haber quedado obsoleta con la versión EGL 1.5. En la GDC 2014 , AMD estaba explorando un cambio de estrategia hacia el uso de DRM en lugar de su blob en el kernel. [4]

Mesa es conocida por albergar implementaciones de API gráficas . Históricamente la principal API que Mesa ha implementado es OpenGL , junto con otras especificaciones relacionadas con Khronos Group (como OpenVG , OpenGL ES o recientemente EGL ). Pero Mesa puede implementar otras API y de hecho lo hizo con Glide (obsoleto) y Direct3D 9 desde julio de 2013. [5] Mesa tampoco es específico de sistemas operativos tipo Unix: en Windows, por ejemplo, Mesa proporciona una API OpenGL sobre DirectX.

Mesa implementa una capa de traducción entre una API de gráficos como OpenGL y los controladores de hardware de gráficos en el kernel del sistema operativo. La versión soportada de las diferentes API gráficas depende del controlador, porque cada controlador de hardware tiene su propia implementación (y por tanto estado). Esto es especialmente cierto para los controladores "clásicos", mientras que los controladores Gallium3D comparten un código común que tiende a homogeneizar las extensiones y versiones compatibles.

Mesa mantiene una matriz de soporte con el estado de conformidad actual de OpenGL [6] [7] visualizada en mesamatrix.net . Mesa 10 cumple con OpenGL 3.3 para hardware de GPU Intel, AMD/ATI y Nvidia. Mesa 11 se anunció con algunos controladores compatibles con OpenGL 4.1. [8]

Mesa 12 contiene soporte para OpenGL 4.2 y 4.3 e Intel Vulkan 1.0.

Mesa 13 brindó soporte de Intel para OpenGL 4.4 y 4.5 (todas las funciones compatibles con Intel Gen 8+, Radeon GCN, Nvidia (Fermi, Kepler), pero no Khronos-Test para 4.5-Label) y soporte experimental para AMD Vulkan 1.0 a través del controlador comunitario RADV. OpenGL ES 3.2 es posible con Intel Skylake (Gen9). [9]

La primera versión estable de 2017 es la 17.0 (contando el año nuevo). [10] [11] [12] Las funciones listas están certificadas OpenGL 4.5, OpenGL 4.5 para Intel Haswell, [13] [14] OpenGL 4.3 para Nvidia Maxwell y Pascal (GM107+). [15] Se midió una enorme ganancia de rendimiento con Maxwell 1 (GeForce GTX 750 Ti y más con GM1xx). Las tarjetas Maxwell-2 (GeForce GTX 980 y más con GM2xx) tienen underclocking sin información de Nvidia. [dieciséis]

El conjunto de pruebas Khronos CTS para OpenGL 4.4, 4.5 y OpenGL ES 3.0+ ya está disponible (24/01/2017) en código abierto y todas las pruebas para Mesa 13 y 17 ahora son posibles sin costos. [17]

La segunda versión estable de 2017, 17.1.0, salió el 10 de mayo de 2017 con algunas mejoras interesantes. OpenGL 4.2+ para Intel Ivy Bridge y OpenGL 3.3+ para Intel Open SWR Rasterizer son dos de los aspectos más destacados. [18] [19]

Debido a la naturaleza modularizada de OpenGL, Mesa puede admitir extensiones de versiones más nuevas de OpenGL sin pretender soporte completo para dichas versiones. Por ejemplo, en julio de 2016, Mesa admitía OpenGL ES 3.1 pero también todas las extensiones de OpenGL ES 3.2 excepto cinco, así como una serie de extensiones que no forman parte de ninguna versión de OpenGL u OpenGL ES. [20]

La tercera versión 17.2 está disponible desde septiembre de 2017 con algunas características nuevas de OpenGL 4.6 y mejoras de velocidad en 3D para Intel y AMD. Sólo el 1,4% de las pruebas fallan para OpenGL 4.5 en Nouveau for Kepler. [21]

La cuarta versión 17.3 está lista desde diciembre de 2017. Hay muchas mejoras disponibles en muchos controladores. OpenGL 4.6 está casi completamente disponible (Spir-V no está listo). AMD Vulkan Driver RADV ahora es totalmente compatible con Khronos-Test. [22]

La primera versión de 2018 es 18.0 y está disponible desde marzo de 2018 según el mismo esquema en 2017. [23] La compatibilidad total con OpenGL 4.6 no está lista, pero muchas funciones y mejoras se probaron con éxito en RC3. La compatibilidad con 10 bits para Intel i965 en colores también es un punto destacado. [24] Lo nuevo es el soporte para Intel Cannon Lake y AMD Vega con la versión actual de Linux. Los chips AMD Evergreen (RV800 o R900) están cerca de ser compatibles con OpenGL 4.5. Los chips AMD R600 o RV700 antiguos solo admiten OpenGL 3.3 con algunas características de OpenGL 4.x. Freedreno es el controlador para hardware Adreno y es casi compatible con OpenGL 3.3.

La segunda versión de 2018 es la 18.1 y está disponible desde mayo. El objetivo es Vulkan 1.1.72 en el controlador Intel ANV y AMD RADV. OpenGL 4.6 con spir-V también es el objetivo principal. El trabajo permanente es posible para completar las funciones y optimizar los controladores para hardware antiguo como AMD R600/Evergreen, Nvidia Tesla y anteriores, Fermi, Kepler o Intel Sandybridge, Ivybridge, Haswell o Broadwell. ARM Architecture también realizó grandes mejoras en Adreno 3xx/4xx/5xx y Broadwell VC4/VC5 para Raspi con el objetivo principal OpenGL ES.

La tercera versión de 2018 es la 18.2 y está disponible en el calendario estable en septiembre. OpenGL 4.6 con spir-V y Vulkan 1.1.80 están en WIP. El software Driver para máquinas virtuales VIRGL está listo para OpenGL 4.3 y OpenGL ES 3.2. RadeonSI también está listo para OpenGL ES 3.2. La compatibilidad con la compresión de texturas ASTC y la compatibilidad con el modo de compatibilidad para OpenGL 4.4 (3.1 en 18.1) son otros aspectos destacados de RadeonSI para tarjetas AMD GCN. Nuevo Vulkan 1.1 y más funciones disponibles para Intel y AMD. Ver más detalles de Vulkan en Mesamatrix. [25]

La cuarta versión de 2018 es la 18.3 y se lanzó como versión estable 18.3.1 en diciembre de 2018. Muchas características detalladas y la compatibilidad con hardware más nuevo son las partes principales. La compatibilidad total con OpenGL 4.6 no está lista. [26] [27]

La primera versión de 2019 es la 19.0 y se lanzó en marzo. El soporte completo de OpenGL 4.6 no está listo, pero hay muchas mejoras en este sentido en todos los controladores. [28] [29]

La segunda versión de 2019 es 19.1. La transición de TGSI a NIR es aquí una característica principal en camino a OpenGL 4.6 con Spir-V y más OpenCL. RadeonSI funciona bien en la versión de desarrollo con NIR. [30]

La tercera versión de 2019 es 19.2. OpenGL 4.6 está preparado para la versión Beta del nuevo controlador Intel Iris. [31]

La cuarta versión de 2019 es 19.3. OpenGL 4.6 está listo para Intel i965 y es opcional para el nuevo controlador Iris. [32]

La primera versión de 2020 es 20.0. Vulkan 1.2 está listo para AMD RADV e Intel ANV. Intel Iris es el valor predeterminado para Intel Broadwell Gen 8+. [33] [34] El controlador RadeonSI cambió para usar NIR de forma predeterminada, en lugar de TGSI.

La segunda versión de 2020 es 20.1. Muchas mejoras están listas en muchos controladores. Zink es un nuevo controlador virtual para OpenGL sobre Vulkan. [35]

La tercera versión de 2020 es 20.2. OpenGL 3.0 para Zink es una característica nueva. LLVMpipe admitirá OpenGL 4.3+ (4.5+ en 20.3). ARM Panfrost se ha mejorado principalmente con muchos módulos. La memoria virtual compartida es posible para OpenCL en Nouveau con Pascal y superior. [36] [37] [38]

La cuarta versión de 2020 es 20.3. v3d y v3dv son nuevos controladores para OpenGL y Vulkan 1.0 con hardware Broadcom como Raspberry Pi 4. OpenCL 1.2 es totalmente compatible con el módulo clover. Zink es compatible con OpenGL 3.3+. El controlador virtual LLVMpipe ahora admite OpenGL 4.5+ con 4.6 a la vista. Se fusiona Lavapipe (originalmente llamado Vallium [39] ) como árbol Vulkan de LLVMpipe. [40] [41] [42] [43] [44]

En Mesa 21.0, d3d12 se fusionará con OpenGL 3.0 a 3.3. Microsoft y Collabora desarrollan una nueva emulación d3d12 en WSL2 para Windows 10 con Direct 3D 12. OpenCL 1.2 también está previsto en d3d12. Se realiza una aceleración del factor 2 a 5 en Benchmark SPECviewperf con código OpenGL mejorado. [45] [46] [47] [48] Muchas características de Mesa 21.0 mejoran el rendimiento. [49] La nueva versión 21.0.0 es pública desde el 11 de marzo de 2021.

Mesa 21.1 es la segunda versión del año 2021. [50] OpenGL 4.6+ y OpenGL ES 3.1+ están disponibles para Zink. AMD Driver 600g puede cambiar a NIR con más posibilidades para las antiguas tarjetas Radeeon HD 5000 y 6000. [51] Qualcomm Turnip llega a Vulkan 1.1+ y la emulación de software Lavapipe Vulkan 1.1+. El controlador Venus de GPU VirtIO de Google con Vulkan 1.2+ se fusiona en estado experimental con bajo rendimiento en el árbol principal de mesa. [52]

Mesa 21.2 es la tercera versión del año 2021. Google Virtual Vulkan IO Driver Venus se presentará oficialmente con soporte completo para Vulkan 1.2+ (más mesamatrix). ARM Panfrost: la compatibilidad con OpenGL ES 3.1+ está disponible y panVK es el nuevo controlador Vulkan. Se inició el soporte inicial para ARM Apple M1 con el nuevo controlador Asahi. 21.2 está disponible desde el 4 de agosto de 2021. [53]

Un viejo plan es dividir los controladores antiguos en un árbol clásico con muchas ventajas en programación, soporte y corrección de errores para la parte moderna de galium 3D. Un problema aquí es Intel i965 con soporte de hardware antiguo popular para Intel Haswell y antes también con soporte para Windows 10. [54] Un nuevo controlador Gallium3D Crocus para gráficos Intel Gen 4 para Haswell está aquí en desarrollo para completar aquí el área galium3D con posible división en la próxima época del año 2021. Crocus es opcional y está disponible en 21.2. [55] La rama ámbar es para controladores antiguos sin funciones Gallium 3D como Radeon R200, Intel i915 y 965 con la versión actual 21.3.9. [56]

En la versión 22.0 Classic, los controladores están retirados. Vulkan 1.3 está disponible para Intel Anvil y AMD RADV. [57]

Microsoft presenta el nuevo controlador "Dozen" para WSL 2 en la etapa inicial de desarrollo como Vulkan sobre d3d12 en Mesa 22.1. [58]

RustiCL está disponible en 22.3 con conformidad oficial con OpenCL 3.0 para gráficos Intel XE. El rendimiento es igual y mejor que AMD ROCm con tarjeta AMD 6700 XT. [59] [60]

Uno de los principales objetivos de desarrollo de Mesa 23.0 fue el trazado de rayos para Vulkan. [61] [62]

Microsoft desarrolla el controlador Dozen para Vulkan en WSL. Vulkan 1.0+ con 80% 1.1 y 1.2 estará disponible en Mesa 23.2 después del retraso hasta 23.1 (ver mesamatrix). [63] RustiCL para hardware AMD está disponible en 23.1. [64]

VirGL para máquinas virtuales salta en Mesa 23.2 a OpenGL 4.6. [65] Apple Asahi para Apple Arm Machines salta de OpenGL 2.1 a 3.1 con un 90% de características de OpenGL 3.2 y 3.3 y OpenGL ES 2.0 a 3.0. [66]

Microsoft admite WSL OpenGL 4.6+ en Mesa 24.0 (en Mesa 23.3: 4.3+) con una docena de controladores de traducción directa. [67]

Tabla de API de renderizado

vulcano

El Grupo Khronos anunció oficialmente la API de Vulkan en marzo de 2015 y lanzó oficialmente Vulkan 1.0 el 16 de febrero de 2016. Vulkan rompe la compatibilidad con OpenGL y abandona por completo su concepto de máquina de estados monolítica. Los desarrolladores de Gallium3D llamaron a Vulkan algo parecido a Gallium3D 2.0: Gallium3D separa el código que implementa la máquina de estado OpenGL del código que es específico del hardware.

La versión 1.3 está disponible inmediatamente con Mesa 22.0. El hardware compatible con OpenGL ES 3.1 debe ejecutarse en el nivel Vulkan 1.3 y anterior. [105]

Mientras Gallium3D ingiere TGSI, Vulkan ingiere SPIR-V ( versión "V" de representación intermedia portátil estándar como en "Vulkan").

Intel lanzó su implementación de un controlador Vulkan para su hardware el día en que se lanzó oficialmente la especificación, pero solo se introdujo en abril y, por lo tanto, pasó a formar parte de Mesa 12.0, lanzado en julio de 2016. Si bien el controlador i965 no se escribió de acuerdo con las especificaciones de Gallium3D, para el controlador Vulkan tiene aún menos sentido colocarlo encima de Gallium3D. De manera similar, no hay ninguna razón técnica para incluirlo con NIR, pero aun así los empleados de Intel implementaron su controlador Vulkan de esa manera. [106]

Es de esperar que el controlador Vulkan, propiedad de AMD, que se lanzó en marzo [ ¿cuándo? ] , y se anunció que se lanzaría como software gratuito y de código abierto en el futuro y se incluiría en Mesa, también abandona Gallium3D. [107]

RADV es un proyecto gratuito para AMD y está disponible desde la versión 13. [9] La conformidad con Khronos-Test llegó en la versión 17.3. Lo real es soporte total de Vulkan 1.0 y 1.1 desde Mesa 18.1.

Nvidia lanzó su controlador GeForce patentado con soporte Vulkan el día del lanzamiento e Imagination Technologies (PowerVR), Qualcomm (Adreno) y ARM (Mali) hicieron lo mismo o al menos anunciaron controladores Vulkan patentados para Android y otros sistemas operativos. Pero aún está por verse cuándo y si aparecerán implementaciones adicionales de Vulkan gratuitas y de código abierto para estas GPU.

Mesa Software Driver VIRGL inicia Vulkan Development en 2018 con proyectos GSOC para soporte de máquinas virtuales. [108]

Lavapipe es un controlador Software Vulkan basado en CPU y hermano de LLVMpipe. Mesa versión 21.1 es compatible con Vulkan 1.1+. [109]

Google presenta el controlador Venus Vulkan para máquinas virtuales en Mesa 21.1 con soporte completo para Vulkan 1.2+. [52]

Qualcomm Turnip y Broadcom v3dv son nuevos controladores para el hardware Qualcomm Adreno y Broadcom Raspberry 4. Turnip es el hermano Vulkan de freedreno para OpenGL. V3dv es compatible con Vulkan 1.0+ desde Mesa 20.3. En la versión 21.1, Turnip es compatible con Vulkan 1.1+. [110] [111] [112]

Panfrost PanVK para ARM Mali está en camino a Vulkan 1.1, pero solo la versión 1.0 está disponible de forma estable con Mesa 22.0. [113]

Project Dozen está conectando Direct 3D 12 (d3d12) con Vulkan para Emulación de Linux WSL2 en Windows 10 y 11. En Mesa 23.2, Vulkan 1.0 es totalmente compatible y es compatible con el 80% de 1.1 y 1.2 (mesamatrix). [114] [115]

Cercado explícito

Una especie de barrera de memoria que separa un búfer del resto de la memoria se llama valla. Existen barreras para garantizar que un búfer no se sobrescriba antes de que se hayan completado las operaciones de renderizado y visualización en él. La protección implícita se utiliza para la sincronización entre los controladores de gráficos y el hardware de la GPU. La valla avisa cuando un componente ya no utiliza un amortiguador para que otro pueda utilizarlo o reutilizarlo. En el pasado, el kernel de Linux tenía un mecanismo de protección implícito, en el que una protección se conecta directamente a un búfer (cf. identificadores GEM y FD), pero el espacio de usuario no es consciente de ello. El vallado explícito expone vallas al espacio de usuario, donde el espacio de usuario obtiene vallas tanto del subsistema Direct Rendering Manager (DRM) como de la GPU. Vulkan requiere una protección explícita y ofrece ventajas para el seguimiento y la depuración.

El kernel de Linux 4.9 agregó el marco de sincronización de Android a la línea principal. [116]

Gestión de búfer genérico

Generic Buffer Management (GBM) es una API que proporciona un mecanismo para asignar buffers para la representación de gráficos vinculados a Mesa. GBM está pensado para utilizarse como plataforma nativa para EGL en DRM o openwfd. El identificador que crea se puede utilizar para inicializar EGL y crear búferes de destino de renderizado. [117]

Mesa GBM es una abstracción de las API de administración de búfer específicas del controlador de gráficos (por ejemplo, las diversas bibliotecas libdrm_*), implementadas internamente llamando a los controladores de GPU de Mesa.

Por ejemplo, el compositor de Wayland, Weston, realiza su renderizado utilizando OpenGL ES 2, que inicializa llamando a EGL. Dado que el servidor se ejecuta en el " controlador KMS básico ", utiliza la plataforma EGL DRM, que en realidad podría llamarse plataforma GBM, ya que se basa en la interfaz Mesa GBM.

En XDC2014, Andy Ritger, empleado de Nvidia, propuso mejorar EGL para reemplazar GBM. [118] Esto no fue tomado positivamente por la comunidad, y Nvidia finalmente cambió de opinión, [119] y adoptó otro enfoque.

Implementaciones de API de aceleración de video

Hay tres formas posibles de realizar los cálculos necesarios para la codificación y decodificación de transmisiones de vídeo:

  1. utilizar una implementación de software de un algoritmo de compresión o descompresión de vídeo (comúnmente llamado CODEC) y ejecutar este software en la C PU
  2. use una implementación de software de un algoritmo de compresión o descompresión de video (comúnmente llamado CODEC) y ejecute este software en la G PU (el motor de renderizado 3D )
  3. utilizar una implementación de hardware completa (o parcial) de un algoritmo de compresión o descompresión de vídeo; se ha vuelto muy común integrar dichos ASIC en el chip de la GPU/CPU/SoC y, por lo tanto, están disponibles en abundancia; Por razones de marketing, las empresas han establecido marcas para sus ASIC, como PureVideo (Nvidia), Unified Video Decoder (AMD), Video Coding Engine (AMD), Quick Sync Video (Intel), DaVinci (Texas Instruments), CedarX (Allwinner), Cristal HD (Broadcom); algunos ASIC están disponibles para su concesión de licencias como núcleo de propiedad intelectual de semiconductores ; normalmente diferentes versiones implementan diferentes algoritmos de compresión y/o descompresión de vídeo; El soporte para dichos ASIC generalmente pertenece al controlador del kernel, para inicializar el hardware y hacer cosas de bajo nivel. Mesa, que se ejecuta en el espacio del usuario, alberga las implementaciones de varias API para software, por ejemplo, VLC media player , GStreamer , HandBrake , etc., para acceder cómodamente a dichos ASIC:

Por ejemplo, Nouveau , que se desarrolló como parte de Mesa, pero también incluye un componente del kernel de Linux, que se está desarrollando como parte del kernel de Linux, admite los ASIC de la marca PureVideo y proporciona acceso a ellos a través de VDPAU y en parte a través de XvMC. . [120]

El controlador radeon gratuito es compatible con Unified Video Decoder y Video Coding Engine a través de VDPAU y OpenMAX. [121]

V4L2 es una interfaz de kernel a espacio de usuario para flujos de bits de vídeo entregados por cámaras web o sintonizadores de TV.

Debido a preocupaciones sobre patentes sobre los códecs de video H.264 , H.265 y VC-1 , Fedora Linux deshabilitó el soporte para la aceleración VAAPI para aquellos en su versión de Mesa en septiembre de 2022. [122]

Controladores de dispositivo

Los controladores de dispositivos gráficos se implementan mediante dos componentes: un UMD (controlador en modo usuario) y un KMD (controlador en modo kernel). A partir del kernel de Linux 4.2, AMD Catalyst y Mesa compartirán el mismo controlador del kernel de Linux: amdgpu . Amdgpu proporciona interfaces definidas por DRM y KMS.

Los controladores de dispositivos gratuitos y de código abierto disponibles para conjuntos de chips gráficos son "administrados" por Mesa (porque la implementación existente de API, gratuita y de código abierto, se desarrolla dentro de Mesa). Actualmente existen dos marcos para escribir controladores de gráficos: "clásico" y Gallium3D. [123] En mesamatrix.net se ofrece una descripción general de algunos (pero no todos) de los controladores disponibles en Mesa .

Hay controladores de dispositivos para tarjetas AMD/ATI R100 a R800, Intel y Nvidia con aceleración 3D. Anteriormente existían controladores para el procesador IBM/Toshiba/Sony Cell de PlayStation 3 , los chipsets S3 Virge y Savage , los chipsets VIA, Matrox G200 y G400, y más. [124]

Los controladores gratuitos y de código abierto compiten con los controladores propietarios de código cerrado. Dependiendo de la disponibilidad de documentación de hardware y mano de obra, el controlador gratuito y de código abierto se queda más o menos atrás en el soporte de aceleración 3D de nuevo hardware. Además, el rendimiento del renderizado 3D suele ser significativamente más lento, con algunas excepciones notables. [125] [126] [127] [128] Hoy en día, esto sigue siendo cierto para Nouveau para la mayoría de las GPU NVIDIA, mientras que en las GPU AMD Radeon el controlador abierto ahora coincide o supera en gran medida el rendimiento del controlador propietario.

Infraestructura de renderizado directo (DRI)

En el momento en que las tarjetas gráficas 3D se volvieron más comunes para las PC, personas con el apoyo parcial de algunas empresas comenzaron a trabajar para agregar más soporte para el renderizado 3D acelerado por hardware a Mesa. [ ¿cuando? ] La Infraestructura de renderizado directo (DRI) fue uno de estos enfoques para interconectar Mesa, OpenGL y otras bibliotecas API de renderizado 3D con los controladores y el hardware del dispositivo. Después de alcanzar un nivel básico de usabilidad, se agregó oficialmente el soporte DRI a Mesa. Esto amplió significativamente la gama disponible de soporte de hardware que se puede lograr al utilizar la biblioteca Mesa. [129]

Con la adaptación a DRI, la biblioteca Mesa finalmente asumió el papel del componente frontal de un marco OpenGL a gran escala con diferentes componentes backend que podrían ofrecer diferentes grados de soporte de hardware 3D sin perder la capacidad completa de renderizado del software. El sistema total utilizó muchos componentes de software diferentes. [129]

Si bien el diseño requiere que todos estos componentes interactúen cuidadosamente, las interfaces entre ellos son relativamente fijas. No obstante, como la mayoría de los componentes que interactúan con la pila de Mesa son de código abierto, el trabajo experimental a menudo se realiza modificando varios componentes a la vez, así como las interfaces entre ellos. Si dichos experimentos resultan exitosos, pueden incorporarse en la próxima versión mayor o menor. Esto se aplica, por ejemplo, a la actualización de la especificación DRI desarrollada en el período 2007-2008. El resultado de esta experimentación, DRI2, funciona sin bloqueos y con soporte de buffer trasero mejorado. Para ello, se creó una rama git especial de Mesa. [130]

DRI3 es compatible con el controlador Intel desde 2013 [131] [132] y es predeterminado en algunas distribuciones de Linux desde 2016 [133] para habilitar la compatibilidad con Vulkan y más. También es predeterminado en el hardware AMD desde finales de 2016 (X.Org Server 1.18.3 y posteriores). [134]

renderizador de software

Mesa también contiene una implementación de renderizado de software llamada swrast que permite que los sombreadores se ejecuten en la CPU como alternativa cuando no hay aceleradores de hardware de gráficos presentes. El rasterizador de software Gallium se conoce como softpipe o cuando se construye con soporte para LLVM llvmpipe , que genera código de CPU en tiempo de ejecución. [135] [136] Desde Mesa 10.x OpenGL 3.3+ es compatible con Softpipe (10.3) y LLVMpipe (10.2). En realidad, alrededor del 80% de las funciones de OpenGL 4.x están implementadas en Mesa 17.3 (consulte Mesamatrix).

En Mesa 12.0 está disponible un nuevo Intel Rasterizer OpenSWR con altas ventajas en clusters para grandes conjuntos de datos. Está más centrado en la visualización de ingeniería que en juegos o imágenes artísticas y sólo puede funcionar en procesadores x86. [137] Por otro lado, OpenGL 3.1+ ahora es compatible. [138] En algunos ejemplos se midieron valores de aceleración de 29 a 51 relacionados con LLVMPIPE. [139] OpenGL 3.3+ es compatible con OpenSWR desde Mesa 17.1.

VirGL es un Rasterizador para máquinas virtuales implementado en Mesa 11.1 desde 2015 con soporte OpenGL 3.3 y mostrado en Mesamatrix desde Mesa 18. En el nuevo Mesa 18.2 actual es compatible más que los demás con OpenGL 4.3 y OpenGL ES 3.2. Alrededor del 80% de las funciones de OpenGL 4.4 y 4.5 también están listas. Vulkan Development comienza con los proyectos GSOC 2018. [140] [141] [142] [108] [143] [144] [145]

El estado real de virGL en Mesamatrix es soporte total de OpenGL 4.6+ y OpenGL ES 3.2+ con algún software Linux necesario. [146]

D3d12 es un proyecto de Microsoft para la emulación WSL2 de OpenGL 3.3+ y OpenCL 1.2+ con Direct3D 12. D3D12 se fusiona en 21.0. [45] El estado actual en Mesa 23.1 es OpenGL 4.2+ con casi 4.4+ y OpenGL ES 3.1+.

Venus es un nuevo controlador de GPU Vulkan VirtIO para GPU en máquinas virtuales de Google. Venus se fusiona en 21.1 y se presenta para el público en 21.2. [52] Venus admite Vulkan 1.3+ en Mesa 23.1. El hardware mínimo es Vulkan 1.1 con algunas extensiones. [147]

mega conductores

Emma Anholt propuso la idea de agrupar varios controladores en un único "mega" controlador. Permite utilizar una única copia del código Mesa compartido entre varios controladores (en lugar de que exista en cada controlador por separado) y ofrece un mejor rendimiento que una biblioteca compartida separada debido a la eliminación de la interfaz de la biblioteca interna. [148] Los rastreadores de estado para VDPAU y XvMC se han convertido en bibliotecas separadas. [149]

sombreador-db

shader-db es una colección de alrededor de 20.000 sombreadores recopilados de varios juegos de computadora y puntos de referencia, así como algunos scripts para compilarlos y recopilar algunas estadísticas. Shader-db está destinado a ayudar a validar una optimización.

Se observó que una cantidad inesperada de sombreadores no están escritos a mano sino generados. Esto significa que estos sombreadores se escribieron originalmente en HLSL y luego se tradujeron a GLSL mediante algún programa traductor, como por ejemplo HLSL2GLSL . El problema es que el código generado suele estar lejos de ser óptimo. Matt Turner dijo que era mucho más fácil arreglar esto en el programa traductor que tener que hacer que el compilador de Mesa cargue con la carga de lidiar con sombreadores tan inflados.

shader-db no puede considerarse software gratuito y de código abierto. Para usarlo legalmente, uno debe tener una licencia para todos los juegos de computadora de los que forman parte los sombreadores.

Arquitectura de software

Un controlador de gráficos consta de una implementación de la máquina de estado OpenGL y una pila de compilación para compilar los sombreadores en el lenguaje de máquina de la GPU. Esta compilación, así como casi cualquier otra cosa, se ejecuta en la CPU, luego los sombreadores compilados se envían a la GPU y esta los ejecuta. (SDL = Capa DirectMedia simple ).
Las Representaciones Intermedias (RI) en Mesa: GLSL IR, Mesa IR, TGSI y LLVM IR . Faltan HIR, LIR y NIR.
Mesa IR se eliminará por completo.

Los llamados "controladores de dispositivos gráficos en modo de usuario" (UMD) en Mesa tienen muy pocos puntos en común con lo que generalmente se llama controlador de dispositivo . Hay un par de diferencias:

Representaciones Intermedias de Mesa

Uno de los objetivos de Mesa es la optimización del código que ejecutará la GPU respectiva. Otro es compartir código. En lugar de documentar las piezas de software, este artículo analizará las representaciones intermedias utilizadas en el proceso de compilación y optimización. Consulte Árbol de sintaxis abstracta (AST) y Formulario de asignación única estática (formulario SSA).

ESPIR-V

SPIR-V es una versión determinada de la representación intermedia portátil estándar . La idea es que las aplicaciones de gráficos generen SPIR-V en lugar de GLSL. A diferencia de este último, SPIR-V es binario para evitar diferencias de implementación entre las interfaces del compilador GLSL de diferentes implementaciones de controladores, ya que esto ha sido una fuente importante de incompatibilidades y errores de aplicaciones. Además, el binario SPIR-V generalmente también pasa por algunas optimizaciones generales. La representación binaria de SPIR-V también ofrece cierto grado de ofuscación, lo que podría resultar atractivo para algunos proveedores de software como forma de protección de la propiedad intelectual; sin embargo, SPIR-V contiene amplia información para la reflexión y existen herramientas que traducen SPIR-V nuevamente a código de alto nivel legible por humanos y de alta calidad. Un UMD solo necesita aplicar optimizaciones que sean específicas del hardware compatible.

GLSL IR

mesa de infrarrojos

NIR

Se introdujo NIR (Nueva Representación Interna) para superar las limitaciones de TGSI. [150] [151] NIR se amplió en las últimas versiones y en las actuales como base de soporte de Spir-V y desde 2016 es el principal área de desarrollo. LLVMpipe, i965, RadeonSI, Nouveau, freedreno, vc4 se cambian a NIR desde TGSI. RADV, Zink y otros controladores nuevos comienzan con NIR. Todos los controladores con soporte completo para OpenGL 4.6 están relacionados con el soporte NIR mediante SPIR-V. Además, AMD r600 tiene una bifurcación con NIR para un mejor soporte de las series HD5000 y HD6000. Esta opción para r600 es predeterminada desde Mesa 21.0.

TGSI

La infraestructura de sombreado de gráficos Tungsten (TGSI) fue introducida en 2008 por Tungsten Graphics. Todos los UMD de estilo Gallium3D ingieren TGSI. NIR es ahora el área de desarrollo principal, por lo que TGSI es solo para controladores más antiguos como la infraestructura predeterminada r300g y quedará obsoleto en algunos años.

El código GLSL-To-TGSI se eliminará en Mesa 22.2. El valor predeterminado es NIR a TGSI más nuevo con GLSL a NIR para todos los controladores NIR nativos. Algunos controladores TGSI más antiguos son compatibles con esta ruta de código NIR. Más adelante, NIR-To-TGSI quedará obsoleto solo para los controladores NIR nativos. [152]

IR LLVM

Los UMD radeonsiy llvmpipeno generan código de máquina, sino LLVM IR. A partir de ahora, LLVM realiza optimizaciones y compilaciones en código de máquina. Esto significa que también se debe instalar una determinada versión mínima de LLVM.

RADV ACO IR

RADV ACO utiliza IR propio que está cerca de NIR, para optimizar y generar código binario final para sombreadores Vulkan SPIR-V sobre las GPU Radeon (GCN 1+, también conocidas como GFX6+). A partir de la versión 20.1.0, el ACO solo se usa en RADV (controlador Vulkan) y aún no en RadeonSI.

Compilador GLSL de Mesa

El compilador GLSL de Mesa genera su propio IR. Debido a que cada controlador tiene requisitos muy diferentes a los de un LIR, se diferencia entre HIR (IR de alto nivel) y LIR (IR de bajo nivel).

Galio3D

Gallium3D es un conjunto de interfaces y una colección de bibliotecas de soporte [154] destinadas a facilitar la programación de controladores de dispositivos para conjuntos de chips de gráficos 3D para múltiples sistemas operativos, API de aceleración de video o renderizado. Es un software de controlador de dispositivos gráficos gratuito y de código abierto .

Se proporciona una matriz de funciones en mesamatrix.net .

El desarrollo de Gallium3D comenzó en 2008 en Tungsten Graphics, [155] y la implementación está disponible como software gratuito y de código abierto como parte de Mesa 3D alojado en freedesktop.org . El objetivo principal es facilitar el desarrollo de controladores, agrupar código duplicado de varios controladores diferentes en un solo punto y admitir arquitecturas de hardware modernas. Esto se consigue proporcionando una mejor división del trabajo, por ejemplo, dejando la gestión de la memoria al controlador DRI del núcleo.

Gallium3D ha sido parte de Mesa desde 2009 [156] y actualmente lo utiliza el controlador de gráficos gratuito y de código abierto para Nvidia ( proyecto nouveau ), [157] [158] para AMD R300 – R900 , [159] [160] [161] Controlador 'Iris' de Intel para iGPU de generación 8+ [162] y para otros controladores de dispositivos GPU gratuitos y de código abierto .

Arquitectura de software

Gallium3D facilita la programación de controladores de dispositivos al dividir el controlador del dispositivo de gráficos en tres partes. Esto se logra mediante la introducción de dos interfaces : la interfaz Gallium3D State Tracker y la interfaz Gallium3D WinSys . Los tres componentes se llaman:

Rastreador de estado Gallium3D
Cada API gráfica mediante la cual se aborda un controlador de dispositivo tiene su propio State Tracker, por ejemplo, hay un Gallium3D State Tracker para OpenGL y uno diferente para Direct3D o GLX . Cada State Tracker contiene una implementación de la interfaz Gallium3D State Tracker y es único, lo que significa que es compartido por todos los controladores de dispositivos Gallium3D existentes.
Controlador de dispositivo de hardware Gallium3D
Este es el código real, que es específico del acelerador gráfico 3D subyacente, pero sólo hasta donde lo permite la interfaz Gallium3D WinSys. Hay un controlador de dispositivo de hardware Gallium3D exclusivo para cada chip gráfico disponible y cada uno implementa la interfaz Gallium3D State Tracker, así como la interfaz Gallium3D WinSys. El controlador del dispositivo de hardware Gallium3D sólo comprende TGSI (Tungsten Graphics Shader Infrastructure), un lenguaje intermedio para describir sombreadores. Este código tradujo los sombreadores traducidos de GLSL a TGSI al conjunto de instrucciones implementado por la GPU.
Gallium3D WinSys
Esto es específico del núcleo subyacente del sistema operativo y cada uno implementa la interfaz Gallium3D WinSys para interactuar con todos los controladores de dispositivos de hardware Gallium3D disponibles.
Tanto VC4 como freedreno pueden consumir NIR directamente (y recurrir a tgsi_to_nir para sombreadores que no usan glsl_to_nir).
Ilustración de la pila de gráficos de Linux
Mesa/ DRI y Gallium3D tienen diferentes modelos de controladores. Ambos comparten una gran cantidad de código gratuito y de código abierto .
Una posible matriz de ejemplo al implementar el modelo de controlador Gallium3D. Gracias a la introducción de la interfaz Gallium3D Tracker y la interfaz Gallium3D WinSys, solo se requieren 18 módulos en lugar de 36. Cada módulo WinSys puede funcionar con cada módulo de controlador de dispositivo Gallium3D y con cada módulo State Tracker.

Diferencias con los controladores de gráficos clásicos

Gallium3D proporciona una API unificada que expone funciones de hardware estándar, como las unidades de sombreado que se encuentran en el hardware moderno. Por lo tanto, las API 3D como OpenGL 1.x/2.x, OpenGL 3.x, OpenVG , la infraestructura GPGPU o incluso Direct3D (como se encuentra en la capa de compatibilidad de Wine ) necesitarán solo un único back-end, llamado rastreador de estado. dirigido a la API Gallium3D. Por el contrario, los controladores de dispositivos DRI de estilo clásico requieren un back-end diferente para cada plataforma de hardware y varias otras API necesitan traducción a OpenGL a expensas de la duplicación de código. [163] [164] [165] Todos los controladores de dispositivos de proveedores, debido a su naturaleza patentada y de código cerrado, están escritos de esa manera, lo que significa que, por ejemplo, AMD Catalyst implementa OpenGL y Direct3D , y los controladores de proveedores para GeForce tienen sus implementaciones.

En Gallium3D, los controladores del kernel de Direct Rendering Manager (DRM) administrarán la memoria y los controladores de Direct Rendering Interface (DRI2) estarán más orientados al procesamiento de GPU. [166] Durante el período de transición de la configuración del modo de espacio de usuario a la configuración del modo de espacio de kernel, algunos de los controladores Mesa 3D, como el controlador radeon o los controladores de Intel, terminaron admitiendo tanto DRI1 como DRI2 y usaron DRI2 si estaba disponible en el sistema. Gallium3D además requiere un nivel de soporte de sombreado que no está disponible en tarjetas más antiguas como, por ejemplo, ATi r100-r200, por lo que los usuarios de esas tarjetas deben seguir usando Mesa 3D con DRI2 para su uso 3D.

Infraestructura de sombreador de gráficos de tungsteno

Tungsten Graphics Shader Infrastructure ( TGSI ) es una representación intermedia como la representación intermedia LLVM o la nueva representación intermedia portátil estándar (SPIR) que utilizará la API de Vulkan y OpenCL 2.1. Los sombreadores escritos en OpenGL Shading Language deben traducirse/compilarse en TGSI, luego se realizan optimizaciones y luego los sombreadores TGSI se compilan en sombreadores para el conjunto de instrucciones de la GPU utilizada.

NIR es la nueva representación de capas en Mesa con soporte completo para SPIR-V y desde 2019 el área de desarrollo principal de todos los controladores más nuevos con soporte para OpenGL 4.6.

Uso de LLVM

GlassyMesa es una pila de compilador basada en LLVM para sombreadores escritos en GLSL . Para SSA, consulte el artículo Formulario de asignación única estática .

Además, utilizando la estructura modular de Gallium3D, se está realizando un esfuerzo para utilizar el conjunto de compiladores LLVM y crear un módulo para optimizar el código de sombreado sobre la marcha. [167]

La biblioteca representa cada programa de sombreado utilizando una representación intermedia binaria extensible llamada Tungsten Graphics Shader Infrastructure (TGSI), que LLVM luego traduce en sombreadores GLSL optimizados para el hardware de destino.

Adopción

Varios controladores de dispositivos gráficos gratuitos y de código abierto , que se han escrito o se están escribiendo en función de la información obtenida mediante ingeniería inversa en sala limpia , adoptaron el modelo de controlador proporcionado por Gallium3D, por ejemplo, nouveau y otros ( consulte Dispositivo gráfico gratuito y de código abierto). controlador para obtener una lista completa ). La razón principal puede ser que el modelo de controlador Gallium3D reduce la cantidad de código necesario para escribir. [ ¿investigacion original? ] Por supuesto, al tener una licencia de software libre, cualquier persona puede reescribir este código en cualquier momento para implementar el modelo de controlador DRI o algún otro.

Historia

Los autores originales de Gallium3D fueron Keith Whitwell y Brian Paul de Tungsten Graphics (adquirida por VMware en 2008). [168]

Hitos

En el otoño de 2011, había al menos 10 controladores Gallium3D conocidos, maduros y en funcionamiento. [169] [ verificación fallida ] [ cita necesaria ] Controladores de código abierto para tarjetas gráficas Nvidia con el nombre del equipo Nouveau desarrolla sus controladores utilizando el marco Gallium3D. [158] [170]

13/07/2008: El desarrollo Nouveau se realiza exclusivamente para el marco Gallium. El antiguo controlador DRI se eliminó de la rama maestra del repositorio de Mesa en Freedesktop.org. [171]

11/02/2009: La rama galio-0.2 se fusionó con la rama principal Master de Mesa. [172] El desarrollo se realiza en la línea principal de Mesa.

25/02/2009: Gallium3D puede ejecutarse tanto en Linux como en kernels de FreeBSD. [173]

01/05/2009: Zack Rusin de Tungsten Graphics agregó el rastreador de estado OpenVG a Mesa 3D, [174] que permite que los gráficos vectoriales escalables sean acelerados por hardware mediante cualquier controlador basado en Gallium3D.

2009-07-17: Se lanza Mesa3D 7.5, la primera versión que incluye Gallium3D. [175]

10/09/2010: Se agregó soporte inicial para las GPU Evergreen al controlador r600g. [176]

21/09/2010: Hay dos controladores Gallium3D para hardware ATI conocidos como r300g y r600g para las GPU R300-R500 y R600-Evergreen respectivamente.

21/09/2010: Se realizaron importantes compromisos con el código para admitir Direct3D 10 y 11. [177] Con el tiempo, esto podría ofrecer la posibilidad de utilizar implementaciones recientes de Direct3D en sistemas Linux.

30/11/2011: Los controladores Intel 965g y Cell Gallium se eliminaron de la rama maestra de Mesa por no recibir mantenimiento y estar rotos. [178] [179]

30/11/2013: Mesa 10 con OpenGL 3.2, 3.3 y OpenCL 1.0+

18/11/2014: Se realizaron confirmaciones importantes en el código para admitir Direct3D 9. [180]

2015-09-15: Mesa 11 con OpenGL 4.0, 4.1 y OpenCL 1.2 (incompleto)

2015-12-15: Controlador Mesa 11.1 VIRGL para máquinas virtuales con OpenGL 3.3

08-07-2016: Mesa 12 con OpenGL 4.2, 4.3 y Vulkan 1.0 (Intel ANV y AMD RADV)

2016-11-01: Mesa 13 con OpenGL 4.4 y OpenGL ES 3.2

2017-02-13: Mesa 17.0 con OpenGL 4.5 y controlador freedreno con OpenGL 3.0 y 3.1

2017-05-10: Mesa 17.1 OpenGL 4.2+ para Intel Ivy Bridge (más que el controlador Intel para Windows, OpenGL 3.3+ para Intel Open SWR Rasterizer (importante para computadoras en clúster para simulaciones grandes)

2017-12-08: Mesa 17.3 AMD Vulkan Driver RADV totalmente compatible en la prueba Khronos de Vulkan 1.0

2018-05-18: Mesa 18.1 con Vulkan 1.1 (Intel ANV y AMD RADV)

2018-09-07: Mesa 18.2 con OpenGL 4.3 para Soft Driver VIRGL (importante para máquinas virtuales en la nube Cluster Computer), OpenGL ES 3.1 para Freedreno con Adreno A5xx

2019-06-11: Mesa 19.1 lanzado con el controlador de gráficos 'iris' de próxima generación de Intel para iGPU de generación 8+ [181]

2019-12-11: Mesa 19.3 lanzó OpenGL 4.6 con Intel i965 con gen 7+ e Iris Gen 8+ opcional

2020-03-18: Mesa 20.0 lanzó OpenGL 4.6 con AMD GCN y Vulkan 1.2 para Intel

2020-05-27: Mesa 20.1 lanzó soporte de vectorización NIR y soporte de memoria virtual compartida para OpenCL en Clover

2020-11-30: Mesa 20.3 es totalmente compatible con OpenCL 1.2 en Clover [41]

2021-03-11: Soporte inicial de Mesa 21.0 de "D3D12“: Direct 3D 12 para WSL2 en Windows 10 con OpenGL 3.3+, ARM Freedreno: OpenGL 3.3+

2021-05-05: Soporte inicial de Mesa 21.1 para el controlador de GPU VirtIO de Google "Venus" con Vulkan 1.2+; Zink: OpenGL 4.6+, OpenGL ES 3.1+; Qualcomm Turnip, Lavapipe: Vulkan 1.1+

2021-08-04: Soporte inicial de Mesa 21.2 del nuevo controlador Intel Crocus OpenGL 4.6 basado en gallium3D para Intel Sandy Bridge a Haswell para el antiguo i965, Vulkan Driver panVK para ARM Panfrost

2022-03-09: Mesa 22.0 es totalmente compatible con Vulkan 1.3 de Intel Anvil y AMD RADV

2023-05-10: Mesa 23.1 OpenCL con Rust: RustiCL para hardware AMD GCN disponible (más hardware wip) [182]

2023-09-30: Mesa 23.2 con Apple Asahi OpenGL 3.1 y OpenGL ES 3.0, RADV admite Ray Tracing en AMD RDNA 2 y 3, admite decodificación Intel Anvil Vulkan H.265 [183]

Actuación

Historia

El iniciador del proyecto, Brian Paul, era un aficionado a los gráficos. Pensó que sería divertido implementar una biblioteca de gráficos 3D simple usando la API OpenGL, que luego podría usar en lugar de VOGL (una biblioteca similar a GL muy común). [184] A partir de 1993, pasó dieciocho meses de desarrollo a tiempo parcial antes de lanzar el software en Internet en febrero de 1995. [185] El software fue bien recibido y la gente comenzó a contribuir a su desarrollo. Mesa comenzó renderizando todos los gráficos de computadora en 3D en la CPU . A pesar de esto, la arquitectura interna de Mesa fue diseñada para estar abierta para conectarse a la representación 3D acelerada por el procesador de gráficos . En esta primera fase, el renderizado se realizó indirectamente en el servidor de visualización , dejando algo de sobrecarga y una velocidad notable por detrás del máximo teórico. El Diamond Monster 3D , que utiliza el chipset Voodoo Graphics , fue uno de los primeros dispositivos de hardware 3D compatibles con Mesa.

El primer soporte de hardware de gráficos verdadero se agregó a Mesa en 1997, basado en la API Glide para las entonces nuevas tarjetas gráficas 3dfx Voodoo I/II y sus sucesoras. [129] Un problema importante al usar Glide como capa de aceleración era el hábito de Glide de ejecutarse en pantalla completa, que solo era adecuado para juegos de computadora. Además, Glide tomó el bloqueo de la memoria de la pantalla y, por lo tanto, el servidor de visualización no pudo realizar otras tareas de GUI. [186]

Ver también

Referencias

  1. ^ Marshall, David (16 de diciembre de 2008). "Adquisición de Tungsten Graphics por parte de VMware a fin de año". InfoMundo . Consultado el 6 de agosto de 2011 .
  2. ^ Eric Engestrom (8 de mayo de 2024). «[ANUNCIO] mesa 24.0.7» . Consultado el 8 de mayo de 2024 .
  3. ^ "Mejorar la compatibilidad con OpenGL para los controladores de gráficos de Linux: Mesa". Indiegogo . 11 de diciembre de 2013 . Consultado el 21 de enero de 2015 .
  4. ^ "AMD explora una nueva estrategia de controladores para Linux". 22 de marzo de 2014 . Consultado el 23 de marzo de 2014 .
  5. ^ "Se lanzó soporte Direct3D 9 para Linux a través de Gallium3D, juegos en ejecución - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  6. ^ "mesa/mesa: biblioteca de gráficos 3D de Mesa" . Consultado el 2 de noviembre de 2016 .
  7. ^ "La matriz OpenGL vs Mesa". 25 de marzo de 2015 . Consultado el 29 de marzo de 2015 .
  8. ^ "Mesa 11.0 se ha ramificado, comienza la marcha del lanzamiento". 22 de agosto de 2015 . Consultado el 22 de agosto de 2015 .
  9. ^ ab "El controlador RADV Radeon Vulkan enviado para revisión se incluirá en Mesa - Phoronix". Archivado desde el original el 4 de noviembre de 2016 . Consultado el 3 de noviembre de 2016 .
  10. ^ ab "Lanzamiento oficial de Mesa 17.0.0". Forónix . 13 de febrero de 2017 . Consultado el 13 de febrero de 2017 .
  11. ^ "mesa/mesa - Biblioteca de gráficos 3D de Mesa". Cgit.freedesktop.org . Consultado el 1 de agosto de 2018 .
  12. ^ "Los grandes cambios y mejoras de Mesa 17.0 - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  13. ^ "mesa/mesa - Biblioteca de gráficos 3D de Mesa". Cgit.freedesktop.org . Consultado el 1 de agosto de 2018 .
  14. ^ "Programa" (PDF) . www.x.org . 2016.
  15. ^ "mesa/mesa - Biblioteca de gráficos 3D de Mesa". Cgit.freedesktop.org . Consultado el 1 de agosto de 2018 .
  16. ^ "Una mirada a las enormes mejoras de rendimiento con Nouveau Mesa 17.0-devel en Maxwell - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  17. ^ "Pruebas de conformidad OpenGL / OpenGL ES de código abierto de Khronos - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  18. ^ "Las grandes características de Mesa 17.1: Vega, RadeonSI Shader Cache, Vulkan en proceso de maduración, nuevas extensiones OpenGL - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  19. ^ "Notas de la versión de Mesa". Mesa3d.org . Consultado el 1 de agosto de 2018 .
  20. ^ "La matriz OpenGL vs Mesa". mesamatrix.net . Consultado el 31 de julio de 2016 .
  21. ^ "Listado de eventos" (PDF) . www.x.org .
  22. ^ "Características de Mesa 17.3: actualizaciones de Vulkan, mejor rendimiento - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  23. ^ abcdefghijklmnopqr "Calendario de lanzamientos". Mesa3d.org . Consultado el 1 de agosto de 2018 .
  24. ^ "Las características de Mesa 18.0 incluyen muchas mejoras de OpenGL/Vulkan, Intel Shader Cache y extras - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  25. ^ ab "Mesa 18.2 se lanzará pronto con muchas mejoras en el controlador OpenGL/Vulkan: Phoronix". www.phoronix.com .
  26. ^ "Las nuevas y brillantes características de Mesa 18.3 para controladores de gráficos Intel / Radeon de código abierto: Phoronix". www.phoronix.com .
  27. ^ "Mesa logró grandes avances en 2018 en controladores Vulkan/OpenGL de código abierto: Phoronix". www.phoronix.com .
  28. ^ "Las nuevas funciones disponibles para Mesa 19.0: adiciones de Vulkan, FreeSync, Soft FP64 y más - Phoronix".
  29. ^ "Mesa 18.2 vs. 18.3 vs. 19.0 puntos de referencia de enero para RadeonSI/RADV - Phoronix".
  30. ^ "Ejecución del back-end RadeonSI NIR con Mesa 19.1 Git - Phoronix".
  31. ^ "El controlador Iris Gallium3D de Intel ahora tiene una mejor compatibilidad con el perfil de compatibilidad OpenGL: Phoronix".
  32. ^ "Mesa 19.3 presenta muchas mejoras en el controlador OpenGL + Vulkan de código abierto: Phoronix".
  33. ^ "Mesa 20.0-rc1 lanzada con Intel Gallium3D predeterminado, OpenGL 4.6 para RadeonSI, Vulkan 1.2 - Phoronix".
  34. ^ "Lanzamiento de Mesa 20.0 con grandes mejoras para Intel, AMD Radeon Vulkan/OpenGL - Phoronix".
  35. ^ ab "Las características de Mesa 20.1 incluyen grandes mejoras para los controladores de gráficos Radeon Intel de código abierto: Phoronix".
  36. ^ "Zink ahora es OpenGL 3.0 completo para GL genérico sobre Vulkan - Phoronix".
  37. ^ "El desarrollo de Mesa 20.2 finaliza después de que lleguen muchas características nuevas: Phoronix".
  38. ^ "Nouveau de Mesa 20.2 habilita HMM, OpenCL SVM ahora es compatible - Phoronix".
  39. ^ "Implementación del software Vulkan de Mesa ahora conocida como Lavapipe". Forónix .
  40. ^ "Los desarrolladores de V3DV presentan planes para actualizar el controlador Raspberry Pi 4 Vulkan en Mesa - Phoronix".
  41. ^ abc "Se fusionó el soporte de OpenCL 1.2 para Gallium3D Clover de Mesa mientras se aborda OpenCL 3.0 - Phoronix".
  42. ^ "Zink en Mesa 20.3 ahora llega a OpenGL 3.3, puede ejecutar Blender con este OpenGL-on-Vulkan - Phoronix".
  43. ^ "OpenGL 4.5 ahora habilitado para LLVMpipe con Mesa 20.3, se adaptará a 20.2 - Phoronix".
  44. ^ "VALLIUM se fusionó con Mesa 20.3 como Vulkan Front-End para Gallium3D". Forónix .
  45. ^ ab "Mesa 21.0 fusiona el controlador Direct3D 12 Gallium3D - Phoronix".
  46. ^ https://xdc2020.x.org/event/9/contributions/621/attachments/701/1297/XDC_-_Mesa_for_Mapping_Layers.pdf Archivado el 30 de octubre de 2020 en Wayback Machine [ URL simple PDF ]
  47. ^ "Microsoft + Collabora trabajando para asignar OpenGL/OpenCL a través de DirectX 12 - Phoronix".
  48. ^ "Mesa ahora es entre 2 y 5 veces más rápido para SPECViewPerf después de las optimizaciones de OpenGL: Phoronix".
  49. ^ "Mesa 21.0 tiene muchas características nuevas, especialmente para los gráficos de código abierto Radeon: Phoronix".
  50. ^ "Mesa 21.1-rc1 lanzado con optimizaciones RADV, Zink más rápido y muchas otras funciones nuevas: Phoronix".
  51. ^ "Mesa%2021.1 - Phoronix".
  52. ^ abc "El controlador Vulkan VirtIO-GPU" Venus "de Google se fusionó con Mesa 21.1 - Phoronix".
  53. ^ "Mesa 21.2 lanzada con el nuevo controlador Intel Crocus, PanVK, código M1 inicial - Phoronix".
  54. ^ "Propuesta planteada para eliminar los controladores OpenGL clásicos de Mesa de la línea principal este año: Phoronix".
  55. ^ "Crocus Gallium3D se acerca a la línea principal de Mesa para Gallium3D i965 a través de Haswell Graphics - Phoronix".
  56. ^ "Amber Branch: la documentación más reciente de la biblioteca de gráficos 3D de Mesa".
  57. ^ "Mesa 22.0-rc1 lanzado con muchas funciones del controlador de GPU Radeon e Intel Linux, Vulkan 1.3".
  58. ^ "La" docena "de Mesa está cerca de ofrecer Vulkan sobre Direct3D 12".
  59. ^ "Rusticl de Mesa logra la conformidad oficial con OpenCL 3.0".
  60. ^ "La implementación de Rusticl OpenCL de Mesa puede superar a la pila de computación ROCm de Radeon".
  61. ^ "El desarrollo de funciones de Mesa 23.0 finaliza con muchas adiciones de Vulkan".
  62. ^ "Mesa 23.0 lanzado con muchos cambios para los controladores de gráficos Intel y Radeon de código abierto".
  63. ^ "El controlador DZN Mesa de Microsoft ya llega a Vulkan 1.2".
  64. ^ "Mesa 23.1 lanzada con RadeonSI Rusticl-OpenCL, RADV GPL".
  65. ^ "Mesa 23.2 Virgl consigue soporte para OpenGL 4.6 dentro de máquinas virtuales".
  66. ^ "Mesa 23.2 recibe cambios de Asahi AGX Gallium3D para OpenGL 3.1 + GLES 3.0".
  67. ^ "Microsoft habilita la compatibilidad con OpenGL 4.6 sobre Direct3D 12".
  68. ^ "Notas de la versión: la documentación más reciente de la biblioteca de gráficos 3D de Mesa".
  69. ^ "Lanzamiento de Mesa 23.1 - Phoronix".
  70. ^ Larabel, Michael (4 de marzo de 2015). "Soporte OpenVG eliminado de Gallium3D". Forónix . Consultado el 11 de julio de 2015 .
  71. ^ "St/Vega: Eliminar. (3acd7a34) · Confirmaciones · Mesa / Mesa · GitLab". 3 de marzo de 2015.
  72. ^ "Últimos parches para" nueve "rastreador de estados". Cgit.freedesktop.org . 4 de febrero de 2016.
  73. ^ Larabel, Michael (14 de diciembre de 2014). "Mesa 10.4 lanzado oficialmente con Direct3D 9 State Tracker". Forónix . Consultado el 11 de julio de 2015 .
  74. ^ "Lanzamiento de Mesa 23.0 - Phoronix".
  75. ^ "Lanzamiento de Mesa 22.3: Phoronix".
  76. ^ "Lanzamiento de Mesa 22.2: Phoronix".
  77. ^ "Lanzamiento de Mesa 22.1: Phoronix".
  78. ^ "Lanzamiento de Mesa 22.0 - Phoronix".
  79. ^ "Lanzamiento de Mesa 21.3 - Phoronix".
  80. ^ "Mesa 21.2 lanzada con el nuevo controlador Intel Crocus, PanVK, código M1 inicial - Phoronix".
  81. ^ "Mesa 21.1 lanzada con RADV Variable Rate Shading, más mejoras de Intel Vulkan - Phoronix".
  82. ^ "Mesa 21.0 lanzado con numerosas mejoras de RADV, nuevas extensiones de Vulkan y muchas correcciones: Phoronix".
  83. ^ "Mesa 20.3 lanzado con grandes mejoras para los controladores de gráficos de código abierto: Phoronix".
  84. ^ "Mesa 20.2.2 lanzado con una variedad aleatoria de correcciones: Phoronix".
  85. ^ "Los puntos de referencia RadeonSI NIR muestran un gran progreso con Mesa 20.0 - Phoronix".
  86. ^ "Mesa 19.3-RC1 lanzado con OpenGL 4.6 para Intel, muchas mejoras en el controlador Vulkan - Phoronix".
  87. ^ "Mesa 19.3 presenta muchas mejoras en el controlador OpenGL + Vulkan de código abierto: Phoronix".
  88. ^ "Mesa 18.0 debería llegar hoy con muchas mejoras en el controlador Vulkan/OpenGL - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  89. ^ "Computación de galio". Dri.freedesktop.org . Consultado el 24 de enero de 2019 .
  90. ^ "Actualización de estado de Clover" (PDF) . Consultado el 27 de marzo de 2020 .
  91. ^ "[Mesa-announce] mesa 17.0.0". 13 de febrero de 2017 . Consultado el 13 de febrero de 2017 .
  92. ^ "[Mesa-announce] mesa 13.0.0". Noviembre de 2016 . Consultado el 2 de noviembre de 2016 .
  93. ^ ab "Mesa 12.0 lanzado con compatibilidad con OpenGL 4.3, Intel Vulkan y muchas otras funciones". 8 de julio de 2016 . Consultado el 8 de julio de 2016 .
  94. ^ "[Mesa-anuncio] Mesa 11.2.0". 4 de abril de 2016 . Consultado el 4 de abril de 2016 .
  95. ^ "[Mesa-anuncio] Mesa 11.1.0". 15 de diciembre de 2015 . Consultado el 15 de diciembre de 2015 .
  96. ^ "[Mesa-anuncio] Mesa 11.0.0". 12 de septiembre de 2015 . Consultado el 26 de septiembre de 2015 .
  97. ^ "[Mesa-anuncio] Mesa 10.6.0". 15 de junio de 2015 . Consultado el 15 de junio de 2015 .
  98. ^ Larabel, Michael (26 de octubre de 2013). "Características que se encontrarán en Mesa 10.0". Forónix .
  99. ^ "[Mesa-anuncio] Mesa 10.5.0". 7 de marzo de 2015 . Consultado el 7 de marzo de 2015 .
  100. ^ "[Mesa-announce] Lanzamiento de Mesa 10.4.0". 14 de diciembre de 2014 . Consultado el 7 de marzo de 2015 .
  101. ^ "[Mesa-announce] Lanzamiento de Mesa 10.3". 19 de septiembre de 2014 . Consultado el 7 de marzo de 2015 .
  102. ^ "[Mesa-announce] Lanzamiento de Mesa 10.2". 7 de junio de 2014 . Consultado el 7 de marzo de 2015 .
  103. ^ "[Mesa-announce] Lanzamiento de Mesa 10.1". 5 de marzo de 2014 . Consultado el 7 de marzo de 2015 .
  104. ^ "[Mesa-announce] Lanzamiento de Mesa 10.0". Diciembre 2013 . Consultado el 7 de marzo de 2015 .
  105. ^ "Vulkan 1.3 lanzado con renderizado dinámico en el núcleo, nueva guía de hoja de ruta para GPU modernas".
  106. ^ "Programa" (PDF) . www.x.org .
  107. ^ "Controlador Radeon Vulkan agregado a Mesa, nuevos puntos de referencia Radeon Vulkan vs. OpenGL + AMDGPU-PRO - Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  108. ^ ab "Vulkan Virgl ha comenzado a admitir esta API de gráficos/cómputo dentro de máquinas virtuales: Phoronix". www.phoronix.com .
  109. ^ "Vulkan basado en CPU Lavapipe portado a Windows - Phoronix".
  110. ^ "El controlador Vulkan" TURNIP "de código abierto de Qualcomm agrega una característica de rendimiento importante: Phoronix".
  111. ^ "El controlador TURNIP Vulkan está funcionando en KGSL de Qualcomm - Phoronix".
  112. ^ "El controlador Raspberry Pi 4 Vulkan" V3DV "se fusionó con Mesa 20.3 - Phoronix".
  113. ^ "PanVK se retira de la publicidad de Vulkan 1.1 por ahora".
  114. ^ https://www.phoronix.com/news/Micorosft-Dzn-99p-Vulkan
  115. ^ https://www.phoronix.com/news/Vulkan-On-Direct3D-12-Dzn-Merge
  116. ^ "Llevar la valla explícita de Android a la línea principal". LWN.net . 5 de octubre de 2016.
  117. ^ "libgbm en los repositorios de Debian". Paquetes.debian.org .
  118. ^ "Habilitación de sistemas de ventanas alternativos con una implementación de controlador de gráficos que no sea de Mesa". X.org .
  119. ^ "NVIDIA quiere comentarios sobre su proyecto de asignación de memoria de dispositivos". Forónix .
  120. ^ "Aceleración de vídeo nueva". freedesktop.org .
  121. ^ "Matriz de funciones de Radeon". freedesktop.org .
  122. ^ "Fedora Linux deshabilita la compatibilidad con VA-API H.264 / H.265 / VC1 de Mesa por motivos legales". Forónix . Consultado el 1 de octubre de 2022 .
  123. ^ Toral, Iago (8 de agosto de 2014). "Sumergirse en Mesa" . Consultado el 19 de mayo de 2016 .
  124. ^ "Página de estado de la infraestructura de renderizado directo". freedesktop.org .
  125. ^ "Cómo mejorar el rendimiento de los juegos en su máquina Linux - APC". Apcmag.com . 25 de julio de 2013. Archivado desde el original el 25 de enero de 2019 . Consultado el 1 de agosto de 2018 .
  126. ^ "Linux: Controladores Mesa, Gallium3D, Nouveau y NVIDIA, prueba OpenGL (GTX 280, GTX 480, GTX 580) - Geeks3D". Geeks3d.com . 10 de enero de 2012 . Consultado el 1 de agosto de 2018 .
  127. ^ "El controlador Nouveau sigue siendo mucho más lento que el controlador oficial de NVIDIA: Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  128. ^ "Intel/NVIDIA/AMD compiten en el rendimiento del controlador de GPU de Linux de código abierto/cerrado: Phoronix". Phoronix.com . Consultado el 1 de agosto de 2018 .
  129. ^ abc Paul, Brian (10 de agosto de 2000). "Introducción a la Infraestructura de Renderizado Directo". Dri.sourceforge.net . Consultado el 25 de enero de 2012 .
  130. ^ "DRI2". X.org. Archivado desde el original el 16 de abril de 2013 . Consultado el 25 de enero de 2012 .
  131. ^ "DRI3 y el presente [LWN.net]". lwn.net . Consultado el 1 de agosto de 2018 .
  132. ^ "[PARCHE 0/6] Agregue compatibilidad con DRI3000 a los controladores Core e i965". Listas.freedesktop.org. 31 de octubre de 2013 . Consultado el 1 de agosto de 2018 .
  133. ^ "xorg-x11-drv-intel-2.99.917-19.20151206.fc23 (re)habilitó dri3 de forma predeterminada - kde - Listas de correo de Fedora". listas.fedoraproject.org . Consultado el 3 de diciembre de 2016 .
  134. ^ "Radeon-AMDGPU-1.19-Actualizaciones". Google.de . Consultado el 3 de diciembre de 2016 .
  135. ^ "LLVMpipe: OpenGL con Gallium3D en su CPU". Phoronix.com . 30 de abril de 2010 . Consultado el 4 de noviembre de 2014 .
  136. ^ "llvmpipe". mesa3d.org . Consultado el 8 de junio de 2015 .
  137. ^ "AbiertoSWR". openswr.org . Consultado el 1 de agosto de 2018 .
  138. ^ "Mesamatrix: la matriz OpenGL vs Mesa". mesamatrix.net . Consultado el 1 de agosto de 2018 .
  139. ^ "AbiertoSWR". openswr.org . Consultado el 1 de agosto de 2018 .
  140. ^ "Mesa (Master): Virgl: Agregar controlador para virtio-gpu 3D (V2)". Archivado desde el original el 28 de agosto de 2018 . Consultado el 28 de agosto de 2018 .
  141. ^ "Seguimiento de las funciones VirGL OpenGL de Mesa: Phoronix". www.phoronix.com .
  142. ^ "VirGL de Mesa ahora tiene soporte OpenGL 4.2 para ofrecer máquinas virtuales invitadas: Phoronix". www.phoronix.com .
  143. ^ "El rendimiento actual de Virgl3D, planes futuros - Phoronix". www.phoronix.com .
  144. ^ "¿Qué hay de nuevo en el mundo virtual?" (PDF) . Archivado (PDF) desde el original el 1 de octubre de 2018 . Consultado el 19 de noviembre de 2023 .
  145. ^ https://archive.fosdem.org/2019/schedule/event/virtual_gpu/attachments/slides/3353/export/events/attachments/virtual_gpu/slides/3353/Virgl_Presentation_FOSDEM2019.pdf [ URL desnuda PDF ]
  146. ^ https://docs.mesa3d.org/drivers/virgl.html
  147. ^ https://docs.mesa3d.org/drivers/venus.html
  148. ^ "Megaconductores DRI". X.org . 25 de septiembre de 2013.
  149. ^ "Los rastreadores de estado VDPAU y XvMC ahora son bibliotecas independientes". Phoronix.com . 23 de junio de 2014.
  150. ^ "Introducción: documentación NIR 0.0.1".
  151. ^ "NIR: un nuevo compilador IR para Mesa".
  152. ^ "Mesa se prepara para eliminar el antiguo GLSL-to-TGSI: eliminación de código grande, ganancia en rendimiento y correcciones".
  153. ^ "Crear archivo de configuración". cgit.freedesktop.org . Documentación de galio.
  154. ^ Fonseca, José (27 de abril de 2008). "Gallium3D: Introducción" . Consultado el 20 de junio de 2014 .
  155. ^ Fonseca, José. "MESA3D.org: Introducción" . Consultado el 28 de octubre de 2016 .
  156. ^ "¡Gallium3D ahora en el código base de Mainline Mesa!". Forónix . 11 de febrero de 2009 . Consultado el 26 de octubre de 2010 .
  157. ^ "El estado de Nouveau, parte 2". LWN.net . 26 de febrero de 2008 . Consultado el 7 de marzo de 2008 .
  158. ^ ab "Nouveau Companion 36". Nouveau.freedesktop.org . 7 de marzo de 2008. Archivado desde el original el 7 de marzo de 2013 . Consultado el 1 de abril de 2008 .
  159. ^ "La compatibilidad con ATI R300 Gallium3D DRI" está completa"". Forónix . 9 de noviembre de 2009 . Consultado el 15 de noviembre de 2010 .
  160. ^ Controlador "Radeon" R600g "Gallium3D fusionado con [Mesa] Master". Forónix . 27 de mayo de 2010 . Consultado el 26 de octubre de 2010 .
  161. ^ "Estado de galio de X.Org Wiki". Xorg . 22 de septiembre de 2010 . Consultado el 7 de diciembre de 2010 .
  162. ^ "iris: agregue un nuevo controlador Gallium experimental para GPU Intel Gen8+ (! 283) · Solicitudes de combinación · Mesa / mesa". GitLab . 20 de febrero de 2019 . Consultado el 21 de septiembre de 2019 .
  163. ^ "TG-Galio3D". Gráficos de tungsteno. Archivado desde el original el 3 de mayo de 2008 . Consultado el 1 de abril de 2008 .
  164. ^ Rusin, Zack (6 de febrero de 2008). "GPGPU" . Consultado el 1 de abril de 2008 .
  165. ^ Rusin, Zack (7 de febrero de 2008). «OpenVG y aceleración 2D» . Consultado el 1 de abril de 2008 .
  166. ^ "DRI2". 4 de octubre de 2007. Archivado desde el original el 4 de julio de 2008 . Consultado el 1 de abril de 2008 .
  167. ^ Rusin, Zack (2 de noviembre de 2007). "Galio3D LLVM" . Consultado el 1 de abril de 2008 .
  168. ^ Marshall, David (16 de diciembre de 2008). "Adquisición de Tungsten Graphics por parte de VMware a fin de año". Infomundo.
  169. ^ "Galio". Freedesktop.org . 2 de noviembre de 2011 . Consultado el 24 de agosto de 2012 .
  170. ^ "Compañero nuevo 37". Nouveau.freedesktop.org . 21 de marzo de 2008. Archivado desde el original el 8 de febrero de 2012 . Consultado el 1 de abril de 2008 .
  171. ^ "nouveau: diga adiós al antiguo controlador DRI... (cgit en FDO)". Cgit.freedesktop.org . 13 de julio de 2008.
  172. ^ "¡Gallium3D ahora en el código base de Mainline Mesa!". Phoronix.com . 11 de febrero de 2009.
  173. ^ Larabel, Michael (25 de febrero de 2009). "Gallium3D, EGL ahora se puede construir en FreeBSD". Forónix .
  174. ^ "El rastreador de estado OpenVG está en Mesa 3D". Fuenteforge.net . 1 de mayo de 2009.
  175. ^ "Notas de la versión de Mesa 7.5 / 17 de julio de 2009". Mesa3d.org . 17 de julio de 2009. Archivado desde el original el 13 de junio de 2010 . Consultado el 12 de septiembre de 2017 .
  176. ^ "r600g: agregue soporte imperecedero inicial (cgit en FDO)". Cgit.freedesktop.org . 10 de septiembre de 2010.
  177. ^ "d3d1x: agregue un nuevo rastreador de estado COM Direct3D 10/11 para Gallium". Cgit.freedesktop.org . 21 de septiembre de 2010.
  178. ^ Larabel, Michael (30 de noviembre de 2011). "Se elimina el controlador Gallium3D Intel 965". Forónix . pag. 1 . Consultado el 1 de diciembre de 2011 .
  179. ^ Larabel, Michael (30 de noviembre de 2011). "El controlador de celda Gallium3D también se elimina". Forónix . pag. 1 . Consultado el 1 de diciembre de 2011 .
  180. ^ "nueve: agregar el rastreador de estado nueve para Direct3D9 (v3)". Cgit.freedesktop.org . 18 de noviembre de 2014.
  181. ^ "Mesa 19.1 lanzado con Intel Gallium3D experimental y también otros controladores GL/VLK nuevos: Phoronix". www.phoronix.com . Consultado el 21 de septiembre de 2019 .
  182. ^ "Mesa 23.1 lanzada con RadeonSI Rusticl-OpenCL, RADV GPL".
  183. ^ https://www.phoronix.com/news/Mesa-23.2-Branched
  184. ^ "Introducción a la Mesa". Equipo Mesa . Archivado desde el original el 4 de mayo de 2015 . Consultado el 8 de junio de 2015 .
  185. ^ "Historial del proyecto". Documentación de Mesa . Consultado el 11 de marzo de 2021 .
  186. ^ "¿Cuál es la relación entre Glide y DRI?". dri.freedesktop.org . Consultado el 25 de enero de 2012 .

enlaces externos

Enlaces externos para Gallium3D

  1. ^ "Léame de la Guía de administración". Repositorios git de Kernel.org .