Vulcano

Interfaz de programación informática y de gráficos 3D multiplataforma

Vulcano
Autor(es) original(es)AMD , DICE (diseño original de Mantle )
Desarrollador(es)Grupo Khronos (variante donada y derivada, como Vulkan)
Lanzamiento inicial16 de febrero de 2016 ; hace 8 años [1] ( 16-02-2016 )
Versión estable
1.3.297 [2]  / 4 de octubre de 2024
Repositorio
  • github.com/KhronosGroup/Vulkan-Docs
Escrito enC [3]
Sistema operativoAndroid , Linux , Haiku , Fuchsia , BSD Unix , [4] QNX , [5] Windows , Nintendo Switch , [6] [7] [8] Stadia , Tizen , [9] [10] Raspberry Pi , [11] vxWorks , [12] HarmonyOS , OpenHarmony
TipoGráficos 3D y API de cálculo [13]
LicenciaLicencia Apache 2.0 y MIT [14]
Sitio webvulkan.org

Vulkan es una API multiplataforma de bajo nivel y bajo consumo de recursos y un estándar abierto para gráficos y computación 3D . [15] [16] [17] Su objetivo era abordar las deficiencias de OpenGL y permitir a los desarrolladores un mayor control sobre la GPU. Está diseñado para admitir una amplia variedad de GPU, CPU y sistemas operativos, y también está diseñado para funcionar con CPU multinúcleo modernas.

Descripción general

Vulkan está orientado a aplicaciones de gráficos 3D en tiempo real de alto rendimiento, como videojuegos y medios interactivos , y computación altamente paralelizada . Vulkan está pensado para ofrecer un mayor rendimiento y un uso más eficiente de la CPU y la GPU en comparación con las API OpenGL y Direct3D 11 más antiguas . Lo hace proporcionando una API de nivel considerablemente más bajo para la aplicación que las API más antiguas, que se asemeja más a cómo funcionan las GPU modernas.

Vulkan es comparable a la API Metal de Apple y a Direct3D 12 de Microsoft . Además de su menor uso de CPU, Vulkan está diseñado para permitir a los desarrolladores distribuir mejor el trabajo entre múltiples núcleos de CPU . [18]

Vulkan fue anunciado por primera vez por el Grupo sin fines de lucro Khronos en GDC 2015. [13] [19] [20] Khronos se refirió inicialmente a la API de Vulkan como la " iniciativa OpenGL de próxima generación " o "OpenGL next" [21] , pero el uso de esos nombres se interrumpió cuando se anunció "Vulkan". [22]

Vulkan se deriva y se basa en componentes de la API Mantle de AMD , que fue donada por AMD a Khronos con la intención de darle a Khronos una base sobre la cual comenzar a desarrollar una API de bajo nivel que pudieran estandarizar en toda la industria. [13]

Características

OpenGL y Vulkan son API de renderizado. En ambos casos, la GPU ejecuta los sombreadores , mientras que la CPU ejecuta todo lo demás.

Vulkan está pensado para proporcionar una variedad de ventajas sobre otras API, así como sobre su predecesor, OpenGL . Vulkan ofrece una menor sobrecarga, un control más directo sobre la GPU y un menor uso de la CPU. [20] El concepto general y el conjunto de características de Vulkan son similares a los conceptos vistos en Mantle y luego adoptados por Microsoft con Direct3D 12 y Apple con Metal .

Las ventajas previstas de Vulkan sobre las API de generaciones anteriores incluyen las siguientes:

Multiplataforma

Vulkan está disponible en múltiples sistemas operativos y arquitecturas modernas [ cita requerida ] , y proporciona una única API para dispositivos gráficos de escritorio y móviles, mientras que anteriormente estos estaban divididos entre OpenGL y OpenGL ES respectivamente. Al igual que OpenGL, y en contraste con Direct3D 12, la API de Vulkan no está bloqueada en un solo sistema operativo o factor de forma del dispositivo. Vulkan se ejecuta de forma nativa en Android , Linux , BSD Unix , QNX , Haiku , [23] Nintendo Switch , Raspberry Pi , Stadia , Fuchsia , Tizen y Windows 7 , 8 , 10 y 11. MoltenVK proporciona soporte de terceros con licencia gratuita [24] [25] [26] para macOS , iOS y tvOS al envolverse sobre la API Metal de Apple. [27]

Menor uso de CPU

Vulkan reduce la carga en las CPU mediante el uso de procesamiento por lotes y otras optimizaciones de bajo nivel, lo que reduce las cargas de trabajo de la CPU y deja a la CPU libre para hacer más cálculos o renderizados de lo que sería posible de otra manera. [28] [29]

Diseño compatible con subprocesos múltiples

Direct3D 11 y OpenGL 4 fueron diseñados inicialmente para su uso con CPU de un solo núcleo y solo recibieron mejoras para ejecutarse en núcleos múltiples. Incluso cuando los desarrolladores de aplicaciones utilizan las mejoras, estas API no suelen escalar bien en núcleos múltiples. Vulkan ofrece una escalabilidad mejorada en CPU de núcleo múltiple debido a la arquitectura de subprocesamiento modernizada. [30] [31]

Shaders precompilados

OpenGL utiliza el lenguaje de alto nivel GLSL para escribir shaders , lo que obliga a cada controlador OpenGL a implementar su propio compilador para GLSL. Esto luego se ejecuta en el tiempo de ejecución de la aplicación para traducir los shaders del programa al código de máquina de la GPU. Por el contrario, se supone que los controladores Vulkan ingieren shaders ya traducidos a un formato binario intermedio llamado SPIR-V (Standard Portable Intermediate Representation), análogo al formato binario en el que se compilan los shaders HLSL en Direct3D . Al permitir la precompilación de shaders, se mejora la velocidad de inicialización de la aplicación y se puede usar una mayor variedad de shaders por escena. Un controlador Vulkan solo necesita realizar una optimización específica de la GPU y la generación de código, lo que resulta en un mantenimiento más fácil del controlador y paquetes de controladores potencialmente más pequeños. [32] Los desarrolladores de aplicaciones ahora también pueden ofuscar más fácilmente el código de shader propietario, debido a que los shaders no se almacenan directamente como código fuente, sin embargo, se proporcionan herramientas que pueden descompilar SPIR-V a código de alto nivel legible para humanos. [31] [17]

Otros

OpenGL frente a Vulkan

OpenGLVulcano [34]
Una única máquina de estados globalBasado en objetos sin estado global
El Estado está ligado a un único contextoTodos los conceptos de estado están localizados en un buffer de comandos
Las operaciones sólo se pueden ejecutar secuencialmenteEs posible la programación multiproceso
La memoria y la sincronización de la GPU suelen estar ocultasControl explícito sobre la gestión y sincronización de la memoria
Comprobación exhaustiva de erroresLos controladores Vulkan no realizan ninguna comprobación de errores en tiempo de ejecución;
hay una capa de validación para desarrolladores

En 2016, NVIDIA afirmó que "OpenGL sigue siendo una excelente opción para muchos casos de uso, ya que tiene una complejidad y una carga de mantenimiento mucho menores que Vulkan, mientras que en muchos casos sigue ofreciendo un excelente rendimiento general". [35]

AMD afirma que "Vulkan admite un control cercano al metal, lo que permite un rendimiento más rápido y una mejor calidad de imagen en Windows 7, Windows 8.1, Windows 10 y Linux. Ninguna otra API de gráficos ofrece la misma combinación poderosa de compatibilidad con sistemas operativos, funciones de renderizado y eficiencia de hardware". [36]

Versiones

Vulcano 1.0

Vulkan 1.0 se lanzó en febrero de 2016.

Vulcano 1.1

En SIGGRAPH 2016, Khronos anunció que Vulkan recibiría soporte para funciones automáticas multi-GPU, similar a lo que ofrece Direct3D 12. [37] El soporte multi-GPU incluido en la API elimina la necesidad de SLI o Crossfire, que requieren que las tarjetas gráficas sean del mismo modelo. En cambio, la API multi-GPU permite que la API divida de manera inteligente la carga de trabajo entre dos o más GPU completamente diferentes. [38] Por ejemplo, las GPU integradas incluidas en la CPU se pueden usar junto con una GPU dedicada de alta gama para obtener un ligero aumento del rendimiento.

El 7 de marzo de 2018, Khronos Group lanzó Vulkan 1.1. [39] Esta primera actualización importante de la API estandarizó varias extensiones, como vistas múltiples, grupos de dispositivos, uso compartido entre procesos y API, funcionalidad de cómputo avanzada, soporte HLSL y soporte YCbCr. [40] Al mismo tiempo, también trajo una mejor compatibilidad con DirectX 12, soporte explícito para múltiples GPU, soporte para trazado de rayos , [41] [42] y sentó las bases para la próxima generación de GPU. [43] Junto con Vulkan 1.1, SPIR-V se actualizó a la versión 1.3. [40]

Vulcano 1.2

El 15 de enero de 2020, Khronos Group lanzó Vulkan 1.2 [44] . [45] Esta segunda actualización importante de la API integra 23 extensiones Vulkan probadas y de uso común adicionales en el estándar Vulkan base. Algunas de las características más importantes son "semáforos de línea de tiempo para una sincronización fácilmente administrada", "un modelo de memoria formal para definir con precisión la semántica de las operaciones de sincronización y memoria en diferentes subprocesos" e "indexación de descriptores para permitir la reutilización de diseños de descriptores por parte de múltiples sombreadores". Las características adicionales de Vulkan 1.2 mejoran su flexibilidad cuando se trata de implementar otras API de gráficos sobre Vulkan, incluido el "diseño estándar de búfer uniforme", el "diseño de bloque escalar" y el "uso de esténcil independiente". [46]

Vulcano 1.3

El 25 de enero de 2022, Khronos Group lanzó Vulkan 1.3. [47] Esta tercera actualización importante de la API integra 23 extensiones Vulkan probadas y de uso común adicionales en el estándar Vulkan base. [48] Vulkan 1.3 se centra en reducir la fragmentación al hacer que las nuevas funciones no sean opcionales para que un dispositivo se considere compatible con Vulkan 1.3. [47] [49] Las nuevas características de Vulkan 1.3 incluyen renderizado dinámico, estado dinámico adicional, API de sincronización mejorada y perfiles de dispositivos.

Funciones planificadas

Al lanzar OpenCL 2.2, el Grupo Khronos anunció que OpenCL convergería donde fuera posible con Vulkan para permitir la flexibilidad de implementación del software OpenCL en ambas API. [50] [51] Esto ha sido demostrado ahora por Premiere Rush de Adobe usando el compilador de código abierto clspv [52] para compilar cantidades significativas de código de kernel C de OpenCL para ejecutarse en un entorno de ejecución de Vulkan para su implementación en Android. [53]

Historia

El Grupo Khronos comenzó un proyecto para crear una API de gráficos de próxima generación en julio de 2014 con una reunión de lanzamiento en Valve . [54] En SIGGRAPH 2014, el proyecto se anunció públicamente con una convocatoria a participantes. [13]

Según la Oficina de Patentes y Marcas de Estados Unidos, la marca Vulkan se presentó el 19 de febrero de 2015. [55]

Vulkan fue nombrado y anunciado formalmente en la Game Developers Conference 2015, aunque ya existían especulaciones y rumores centrados en una nueva API que se denominaban " glNext ". [56]

2015

A principios de 2015, LunarG (financiado por Valve ) desarrolló y presentó un controlador Linux para Intel que permitió la compatibilidad con Vulkan en los gráficos integrados de la serie HD 4000, a pesar de que los controladores Mesa de código abierto no fueron totalmente compatibles con OpenGL 4.0 hasta más tarde ese año. [57] [58] Todavía existe la posibilidad [59] de compatibilidad con Sandy Bridge, ya que admite el cálculo a través de Direct3D11.

El 10 de agosto de 2015, Google anunció que las futuras versiones de Android soportarían Vulkan. [60] Android 7.x "Nougat" lanzó soporte para Vulkan el 22 de agosto de 2016. Android 8.0 "Oreo" tiene soporte completo.

El 18 de diciembre de 2015, el Grupo Khronos anunció que la versión 1.0 de la especificación Vulkan estaba casi completa y se lanzaría cuando los controladores compatibles estuvieran disponibles. [20]

2016

La especificación completa de Vulkan y el SDK de Vulkan de código abierto se publicaron el 16 de febrero de 2016. [1]

2018

El 26 de febrero de 2018, Khronos Group anunció que la API de Vulkan estaba disponible para todos en macOS e iOS a través de la biblioteca MoltenVK , que permite que Vulkan se ejecute sobre Metal . [61] Otros nuevos desarrollos se mostraron en SIGGRAPH 2018. [62] Anteriormente, MoltenVK era una solución patentada y con licencia comercial, pero Valve llegó a un acuerdo con el desarrollador Brenwill Workshop Ltd para abrir el código fuente de MoltenVK bajo la licencia Apache 2.0 y, como resultado, la biblioteca ahora está disponible en GitHub. Valve también anunció que Dota 2 puede, a partir del 26 de febrero de 2018, ejecutarse en macOS usando la API de Vulkan, que se basa en MoltenVK. [63]

2019

El 25 de febrero de 2019, se anunció el Grupo de trabajo Vulkan Safety Critical (SC) para llevar la aceleración de GPU Vulkan a las industrias críticas para la seguridad. [64]

El servicio de juegos en la nube en streaming Stadia de Google utilizó Vulkan en servidores basados ​​en Linux con GPU AMD . [65]

2020

El 15 de enero de 2020, se lanzó Vulkan 1.2.

Junto con el lanzamiento de Vulkan 1.2, el Grupo Khronos publicó una entrada de blog que consideraba que el soporte HLSL en Vulkan había alcanzado el estado "listo para producción", dadas las mejoras en el compilador DXC de Microsoft y el compilador glslang de Khronos, y las nuevas características en Vulkan 1.2 que mejoran el soporte HLSL. [66]

El 3 de febrero de 2020, la Fundación Raspberry Pi anunció que estaba trabajando en un controlador Vulkan de código abierto para su Raspberry Pi , una popular computadora de placa única. [67] El 20 de junio de 2020, un ingeniero gráfico reveló que había creado uno después de dos años de trabajo que era capaz de ejecutar VkQuake3 a más de 100 FPS en la pequeña computadora. [68]

El 17 de marzo de 2020, Khronos Group lanzó las extensiones Ray Tracing , basadas en la extensión patentada de Nvidia , con algunas extensiones importantes y muchos cambios menores, que a su vez se basaron en la API OptiX de Nvidia . [69] [70] El 23 de noviembre de 2020, se finalizaron estas extensiones de Ray Tracing. [71]

El 24 de noviembre de 2020, Raspberry Pi Foundation anunció que su controlador para Raspberry Pi 4 es compatible con Vulkan 1.0. [72]

2022

El 25 de enero de 2022, se lanzó Vulkan 1.3.

El 1 de marzo de 2022, se lanzó Vulkan SC 1.0, que aporta gráficos y computación Vulkan para la industria crítica para la seguridad y se basa en el estándar Vulkan 1.2. [73]

El 1 de agosto de 2022, Raspberry Pi Foundation anunció que su controlador para Raspberry Pi 4 es compatible con Vulkan 1.2. [74]

El 1 de septiembre de 2022 se lanzó Mesh Shading para Vulkan. [75] [76]

2024

El 25 de enero se anunció una nueva hoja de ruta de Vulkan. [77] El 1 de febrero se lanzó una nueva extensión para decodificar video AV1 . [78]

Soporte entre proveedores

Captura de pantalla de vulkaninfo, que muestra información sobre instancias de Vulkan compatibles y vkcube, un programa para probar la implementación de Vulkan en un sistema

Las especificaciones iniciales indicaban que los controladores Vulkan se pueden implementar en cualquier hardware que admita OpenGL ES 3.1 o OpenGL 4.x y superiores. [79] Como la compatibilidad con Vulkan requiere nuevos controladores de gráficos, esto no implica necesariamente que todos los dispositivos existentes que admitan OpenGL ES 3.1 o OpenGL 4.x tendrán controladores Vulkan disponibles.

Intel

A partir de marzo de 2023, Intel ha dividido el soporte del controlador Vulkan en Windows [80] y en Linux . [81] Todos los controladores son desarrollados por Intel.

En Windows, Skylake y Ice Lake admiten hasta Vulkan 1.3, [82] con soporte limitado después de julio de 2022, ya que las actualizaciones futuras solo cubrirán correcciones de seguridad. [80] Iris Xe y las versiones más nuevas son totalmente compatibles a partir de marzo de 2023. [83]

En Linux, a partir de marzo de 2023, Vulkan no ofrece soporte completo para Haswell [84], ya que no es compatible con Vulkan 1.0. [85] Además de Haswell, Ivy Bridge y Broadwell también son compatibles con un controlador Vulkan heredado en Mesa llamado HASVK. [81] Skylake y las versiones más nuevas son compatibles con un controlador en Mesa llamado ANV. [81]

AMD

En Windows, Vulkan 1.2 es compatible desde GCN 1.0 hasta GCN 3.0, [86] [87] [88] y no hay más actualizaciones planeadas después de junio de 2021. [89] GCN 4.0 y versiones más nuevas son compatibles con Vulkan 1.3. [90]

En Linux existen varios controladores Vulkan diferentes con compatibilidad de hardware variable y superpuesta. Existe el controlador Vulkan de código abierto llamado AMDVLK, desarrollado por AMD, que refleja la compatibilidad con Windows. [91] También existe el controlador propietario llamado AMDGPU-PRO, cuyo uso no se recomienda para la mayoría de los usuarios a partir de marzo de 2023. [92]

También existe el controlador recomendado llamado RADV en Mesa desarrollado por Valve, Red Hat, [93] Google [94] y otros. Este controlador a partir de marzo de 2023 es compatible con todas las tarjetas GCN y RDNA . [95] La compatibilidad de este controlador RADV con GCN 1.0 a GCN 2.0 requiere que se habilite su compatibilidad experimental en el módulo del kernel amdgpu . [96]

NVIDIA

En Windows y Linux existe el controlador Vulkan desarrollado por NVIDIA que admite Vulkan 1.2 en tarjetas Kepler [97] y no hay más actualizaciones planificadas después de septiembre de 2021. [98] Maxwell y las versiones más nuevas admiten Vulkan 1.3. [99]

NVK, un controlador Vulkan experimental de código abierto para Linux basado en nouveau , se anunció en octubre de 2022. [100] Se fusionó con la línea principal Mesa en agosto de 2023. [101] El controlador actualmente es compatible con Vulkan 1.3 [102]

GPU para Android y dispositivos móviles

La mayoría de los dispositivos Android modernos son compatibles con Vulkan. Android 7.0 Nougat incluye compatibilidad opcional con Vulkan 1.0, [103] Android 9.0 Pie incluye compatibilidad opcional con Vulkan 1.1 y Android 10 espera (pero no exige) que todos los dispositivos de 64 bits que no sean de memoria baja sean compatibles con Vulkan 1.1. [104] [105] [106] Android 13 espera, en las mismas condiciones, compatibilidad con Vulkan 1.3. [107] En Linux y algunos dispositivos ChromeOS , el controlador Mesa de código abierto proporciona compatibilidad con hardware Arm Mali (Midgard y Bifrost), Qualcomm Adreno y Broadcom VideoCore VI . [108]

Manzana

A partir de junio de 2022, los dispositivos Apple no brindan soporte nativo para la API de Vulkan. [109] El soporte de Vulkan está disponible a través de la biblioteca de código abierto MoltenVK , que proporciona una implementación de Vulkan sobre la API de gráficos Metal proporcionada en dispositivos iOS y macOS, aunque tiene algunas limitaciones con respecto a ciertas funciones avanzadas de la API. [27]

En junio de 2022, la versión 1.3.217 de Vulkan agregó soporte para objetos Metal, facilitando la importación y exportación entre las dos API. [110] En diciembre de 2022, la versión 1.3.236 de Vulkan agregó pequeñas correcciones para la interacción con Apple Metal. [111]

Huawei y la Fundación OpenAtom

A partir de agosto de 2023, Huawei ofrece compatibilidad con NAPI nativa de Vulkan con el sombreador SPIR-V estándar de la industria desde HarmonyOS 4.0 API 10 y se ha ampliado al sistema HarmonyOS NEXT . Se ha adoptado como una extensión en el proyecto de código abierto del consorcio OpenAtom , OpenHarmony, con una pila de gráficos más nueva para el sistema, el motor de software ArkGraphics 3D que se ha convertido recientemente en código abierto desde mayo de 2024 en OpenHarmony 5.0 beta 1 que anteriormente era exclusivo del kit de desarrollo propietario HarmonyOS NEXT, sobre funciones de canalización de gráficos personalizados. [112]

Compatibilidad con versiones anteriores

Vulkan no es compatible con versiones anteriores de OpenGL , [113] [17] [nota 1] aunque hay ciertos proyectos que implementan OpenGL sobre Vulkan, como ANGLE de Google y Zink de Mesa . [114]

Vulkan tampoco es compatible con otras API de gráficos como Direct3D , Metal y Mantle , sin embargo existen implementaciones de esas API sobre Vulkan:

  • Direct3D tiene varias implementaciones, a saber, DXVK para Direct3D 8, 9, 10 y 11, y VKD3D-Proton para compatibilidad con Direct3D 12. Es posible habilitar otras versiones anteriores de Direct3D con otro software relacionado, como Wine .
  • Metal tiene una implementación de terceros en desarrollo llamada Indium, destinada a utilizarse con la capa de compatibilidad Darling .
  • Mantle tiene una implementación de terceros en desarrollo llamada GRVK, para soportar juegos Mantle más antiguos.

Las API de gráficos específicas de la plataforma implementadas sobre Vulkan también pueden ejecutarse en plataformas alternativas. Por ejemplo, DXVK proporciona una biblioteca compartida alternativa diseñada para usarse en Linux de forma nativa (sin la capa de compatibilidad de Wine ) para ayudar con la portabilidad de juegos.

Véase también

Notas

  1. ^ El proceso de configuración de un pipeline de renderizado de gráficos no difiere drásticamente de los de OpenGL [ES]. Por ejemplo, los shaders escritos en GLSL todavía se pueden reutilizar: el código fuente se puede compilar/traducir mediante un compilador independiente a un nuevo formato binario intermedio llamado SPIR-V, que luego puede ser utilizado por la API de Vulkan.

Referencias

  1. ^ ab "Khronos lanza la especificación Vulkan 1.0". Khronos.org . Comunicado de prensa de Khronos Group. 16 de febrero de 2016. Archivado desde el original el 20 de octubre de 2021.
  2. ^ "Versión 1.3.297". 4 de octubre de 2024. Consultado el 7 de octubre de 2024 .
  3. ^ "KhronosGroup/Vulkan-Docs". GitHub . 10 de octubre de 2021. Archivado desde el original el 20 de octubre de 2021.
  4. ^ "Vulkan en FreeBSD". Información de la GPU Vulkan . 28 de octubre de 2021.
  5. ^ "Vulkan en QNX". khronos.org . 14 de julio de 2021. Archivado desde el original el 20 de octubre de 2021.
  6. ^ "Nintendo Switch aparece como compatible con Vulkan y OpenGL - Noticias de My Nintendo". Noticias de My Nintendo . Excite Global Media. 19 de diciembre de 2016. Archivado desde el original el 20 de octubre de 2021.
  7. ^ Palumbo, Alessio (19 de diciembre de 2016). «Nintendo Switch es compatible oficialmente con Vulkan, OpenGL 4.5 y OpenGL ES». WCCF Tech . Archivado desde el original el 20 de octubre de 2021.
  8. ^ "Productos conformes". khronos.org . The Khronos Group. 28 de abril de 2018. Archivado desde el original el 28 de enero de 2017 . Consultado el 28 de febrero de 2018 .
  9. ^ Bright, Peter y Walton, Mark (16 de febrero de 2016). "Vulkan ahora es oficial, con la versión 1.0 de la API y el controlador AMD [actualizado]". Ars Technica . Archivado desde el original el 20 de octubre de 2021 . Consultado el 18 de febrero de 2016 .
  10. ^ Valich, Theo (17 de febrero de 2016). «Mantle Cycle is Complete as Khronos Releases Vulkan 1.0». VR World . Archivado desde el original el 20 de octubre de 2021. Consultado el 19 de febrero de 2016 .
  11. ^ "Vulkan en Raspberry Pi". raspberrypi.org . 14 de julio de 2021. Archivado desde el original el 20 de octubre de 2021.
  12. ^ "VxWorks ofrece soporte para muchas bibliotecas gráficas estándar, como ... y Vulkan" (PDF) . Wind River Systems .
  13. ^ abcd «Más sobre Vulkan y SPIR – V: El futuro de los gráficos de alto rendimiento» (PDF) . Khronos Group. p. 10. Archivado (PDF) del original el 11 de agosto de 2016. Consultado el 27 de junio de 2015. ¡Gracias AMD!
  14. ^ "Vulkan-Headers/LICENSE.md en main · KhronosGroup/Vulkan-Headers" . Consultado el 3 de enero de 2023 – a través de GitHub .
  15. ^ "Vulkan". NVIDIA Developer . 2 de diciembre de 2015. Archivado desde el original el 20 de octubre de 2021 . Consultado el 8 de julio de 2021 .
  16. ^ "Vulkan®". GPUOpen . Archivado desde el original el 20 de octubre de 2021 . Consultado el 8 de julio de 2021 .
  17. ^ abc «Desarrollo de gráficos 3D con Vulkan en dispositivos móviles». Qualcomm Developer Network . Archivado desde el original el 20 de octubre de 2021. Consultado el 8 de julio de 2021 .
  18. ^ Hruska, Joel. «La API Vulkan de próxima generación podría ser la gran ventaja de Valve en su lucha contra Microsoft». ExtremeTech. Archivado desde el original el 13 de marzo de 2015. Consultado el 26 de junio de 2015 .
  19. ^ "Vulkan: los gráficos y la computación van de la mano" (PDF) . Khronos Group. Marzo de 2015. Archivado (PDF) del original el 18 de diciembre de 2016. Consultado el 5 de marzo de 2015 .
  20. ^ abc "Vulkan: los gráficos y la computación van de la mano". Khronos Group. Archivado desde el original el 20 de octubre de 2021. Consultado el 5 de marzo de 2015 .
  21. ^ Smith, Ryan. «Khronos anuncia la iniciativa OpenGL de próxima generación». Archivado desde el original el 20 de octubre de 2021. Consultado el 24 de septiembre de 2016 .
  22. ^ Batchelor, James (3 de marzo de 2015). "glNext se revela como API de gráficos Vulkan". Develop .
  23. ^ "El software de renderizado de tuberías de lava Vulkan está funcionando en Haiku". Comunidad Haiku . 24 de septiembre de 2021 . Consultado el 21 de septiembre de 2022 .
  24. ^ "MoltenVK, la popular herramienta de desarrollo Vulkan para macOS, pasa a ser de código abierto". Neowin . Archivado desde el original el 20 de octubre de 2021 . Consultado el 28 de febrero de 2018 .
  25. ^ "Los gráficos Vulkan permitirán juegos y aplicaciones más rápidos en las plataformas de Apple". VentureBeat . 26 de febrero de 2018. Archivado desde el original el 20 de octubre de 2021 . Consultado el 28 de febrero de 2018 .
  26. ^ "Vulkan ya está disponible en macOS/iOS gracias a MoltenVK, que es de código abierto. Vulkan SDK para Mac – Phoronix". phoronix.com . Consultado el 28 de febrero de 2018 .
  27. ^ ab "MoltenVK". Fundido. Archivado desde el original el 5 de enero de 2018. Consultado el 5 de abril de 2016 .
  28. ^ "Vulkan: Alta eficiencia en dispositivos móviles". Imagination Technologies. 5 de noviembre de 2015. Archivado desde el original el 9 de noviembre de 2015. Consultado el 23 de enero de 2016 .
  29. ^ "Khronos Group anuncia la API de gráficos y computación 'Vulkan' de próxima generación". Tom's Hardware . 3 de marzo de 2015. Archivado desde el original el 20 de octubre de 2021.
  30. ^ "Vulkan: escalado a múltiples subprocesos". Imagination Technologies. 24 de noviembre de 2015. Archivado desde el original el 26 de noviembre de 2015. Consultado el 23 de enero de 2016 .
  31. ^ ab "Guía para desarrolladores de Adreno Vulkan" (PDF) . 31 de agosto de 2017. págs. 9-10, 22. Archivado (PDF) del original el 20 de octubre de 2021.
  32. ^ Kessenich, John. "Introducción a SPIR-V" (PDF) . Khronos Group . Archivado desde el original (PDF) el 9 de marzo de 2015. Consultado el 5 de marzo de 2015 .
  33. ^ "Trazado de rayos en Vulkan". Khronos Group . 15 de diciembre de 2020. Archivado desde el original el 20 de octubre de 2021.
  34. ^ "FOSDEM 2016 – Vulkan en código abierto". FOSDEM . Archivado desde el original el 20 de octubre de 2021 . Consultado el 27 de febrero de 2016 .
  35. ^ "Transición de OpenGL a Vulkan". Nvidia. 11 de febrero de 2016. Archivado desde el original el 20 de octubre de 2021.
  36. ^ "AMD Vulkan API". AMD. Archivado desde el original el 20 de octubre de 2021.
  37. ^ "Vulkan Next ofrecerá un mejor soporte para VR y múltiples GPU". PC World. Archivado desde el original el 20 de octubre de 2021.
  38. ^ Williams, Daniel; Smith, Ryan. "Revisitando las cenizas de la singularidad: una mirada beta a Direct3D 12 y el sombreado asincrónico". AnandTech. Archivado desde el original el 20 de octubre de 2021.
  39. ^ "Khronos Group lanza Vulkan 1.1". The Khronos Group (Nota de prensa). 7 de marzo de 2018. Archivado desde el original el 20 de octubre de 2021. Consultado el 21 de marzo de 2018 .
  40. ^ ab Larabel, Michael (7 de marzo de 2018). "Se lanzó Vulkan 1.1 como la primera actualización importante de esta API de gráficos/cómputo". Phoronix . Consultado el 7 de marzo de 2018 .
  41. ^ Larabel, Michael (19 de septiembre de 2018). "Lanzamiento de Vulkan 1.1.85 con trazado de rayos, sombreadores de malla y otras nuevas extensiones de NVIDIA". Phoronix . Consultado el 19 de septiembre de 2018 .
  42. ^ Larabel, Michael (4 de noviembre de 2018). "Vulkan 1.1.91 lanzado con NV_ray_tracing, comportamiento de sobreasignación de memoria de AMD". Phoronix . Consultado el 4 de noviembre de 2018 .
  43. ^ Bright, Peter (7 de marzo de 2018). "Vulkan 1.1 ya está disponible, con compatibilidad con múltiples GPU y mejor compatibilidad con DirectX". Ars Terchnica. Archivado desde el original el 20 de octubre de 2021. Consultado el 7 de marzo de 2018 .
  44. ^ "Publicadas las especificaciones de Vulkan 1.2 | Geeks3D". 15 de enero de 2020. Archivado desde el original el 20 de octubre de 2021.
  45. ^ "Khronos Group lanza Vulkan 1.2". The Khronos Group (Comunicado de prensa). 15 de enero de 2020. Archivado desde el original el 20 de octubre de 2021. Consultado el 27 de febrero de 2020 .
  46. ^ "Vulkan 1.2 llega con la vista puesta en un mayor rendimiento y una mejor compatibilidad con otras API 3D". Phoronix (nota de prensa). 15 de enero de 2020. Consultado el 27 de febrero de 2020 .
  47. ^ ab "Khronos fortalece el ecosistema Vulkan con el lanzamiento de Vulkan 1.3, hoja de ruta pública y perfiles". 25 de enero de 2022.
  48. ^ "Vulkan® 1.3.206 – Una especificación (con todas las extensiones Vulkan registradas)". khronos.org .
  49. ^ "Publicada la especificación de Vulkan 1.3". 25 de enero de 2022.
  50. ^ "Última hora: hoja de ruta de fusión de OpenCL con Vulkan | PC Perspective". pcper.com . Archivado desde el original el 1 de noviembre de 2017. Consultado el 17 de mayo de 2017 .
  51. ^ "SIGGRAPH 2018: OpenCL-Next toma forma, Vulkan continúa evolucionando – Phoronix". phoronix.com .
  52. ^ Clspv es un compilador prototipo para un subconjunto de sombreadores computacionales de OpenCL C a Vulkan: google/clspv, 17 de agosto de 2019, archivado del original el 20 de octubre de 2021 , consultado el 20 de agosto de 2019
  53. ^ "Actualización de Vulkan SIGGRAPH 2019" (PDF) . Archivado desde el original (PDF) el 20 de agosto de 2019.
  54. ^ SIGGRAPH 2015: 3D Graphics API State of the Union (Video) . SIGGRAPH 2015 . Khronos Group . 16 de septiembre de 2015. El evento ocurre a las 57:24 . Consultado el 12 de noviembre de 2015 – vía YouTube .
  55. ^ "Oficina de Patentes y Marcas de los Estados Unidos". Archivado desde el original el 11 de mayo de 2013. Consultado el 7 de marzo de 2015 .
  56. ^ Batchelor, James (3 de marzo de 2015). «glNext revelado como API de gráficos Vulkan | Últimas noticias de la industria del desarrollo de juegos | Develop». MCV . Develop . Consultado el 5 de marzo de 2015 .
  57. ^ Larabel, Michael (5 de marzo de 2015). "Valve desarrolló un controlador de GPU Vulkan para Intel Linux". Phoronix . Consultado el 8 de agosto de 2017 .
  58. ^ Larabel, Michael (12 de marzo de 2015). "Más información sobre el controlador Intel Vulkan, planes para Linux Vulkan". Phoronix . Consultado el 8 de agosto de 2017 .
  59. ^ "Evan Odabashian en Twitter". Archivado desde el original el 19 de agosto de 2020. Consultado el 22 de julio de 2015 .
  60. ^ Woods, Shannon (12 de agosto de 2015). "Renderizado de bajo consumo con Vulkan". Blog de desarrolladores de Android . Archivado desde el original el 20 de octubre de 2021.
  61. ^ Bright, Peter (26 de febrero de 2018). «Vulkan llegará a macOS e iOS, pero no gracias a Apple». Ars Technica. Archivado desde el original el 20 de octubre de 2021. Consultado el 26 de febrero de 2018 .
  62. ^ "Gráficos 3D con Vulkan y OpenGL" (PDF) . The Khronos Group. 15 de agosto de 2018 . Consultado el 30 de noviembre de 2023 .
  63. ^ Larabel, Michael (26 de febrero de 2018). "Vulkan ya está disponible en macOS/iOS gracias a MoltenVK, que es de código abierto. Vulkan SDK para Mac". Phoronix . Consultado el 26 de febrero de 2018 .
  64. ^ "Khronos Group comienza a trabajar en una nueva iniciativa de estándares para llevar la aceleración de GPU Vulkan a las industrias críticas para la seguridad". The Khronos Group . 25 de febrero de 2019. Archivado desde el original el 20 de octubre de 2021 . Consultado el 3 de agosto de 2019 .
  65. ^ Larabel, Michael (19 de marzo de 2019). «Stadia es el servicio de juegos en la nube de Google que utiliza Linux, Vulkan y una GPU AMD personalizada» . Consultado el 30 de noviembre de 2023 .
  66. ^ "HLSL como lenguaje de sombreado Vulkan de primera clase". The Khronos Group . 15 de enero de 2020. Archivado desde el original el 20 de octubre de 2021. Consultado el 31 de marzo de 2020 .
  67. ^ Mott, Nathaniel (3 de febrero de 2020). «Raspberry Pi obtendrá el controlador de gráficos Vulkan (con el tiempo)». Tom's Hardware . Archivado desde el original el 19 de agosto de 2020. Consultado el 20 de junio de 2020 .
  68. ^ Zhiye Liu (20 de junio de 2020). "El controlador Vulkan de un ingeniero de Nvidia para Raspberry Pi ejecuta Quake III a más de 100 FPS a 720p". Tom's Hardware . Archivado desde el original el 19 de agosto de 2020. Consultado el 20 de junio de 2020 .
  69. ^ "Khronos Group lanza Vulkan Ray Tracing". The Khronos Group . 17 de marzo de 2020. Archivado desde el original el 20 de octubre de 2021.
  70. ^ "El trazado de rayos Vulkan llega con la nueva extensión Khronos – Phoronix". phoronix.com . Consultado el 17 de marzo de 2020 .
  71. ^ "Lanzamiento de la especificación final de Vulkan Ray Tracing". The Khronos Group . 23 de noviembre de 2020. Archivado desde el original el 20 de octubre de 2021.
  72. ^ "Actualización de Vulkan: ¡estamos en conformidad!". Raspberry Pi Foundation . 24 de noviembre de 2020.
  73. ^ "Vulkan SC: gráficos Vulkan para la industria crítica para la seguridad". El grupo Khronos . 22 de febrero de 2019 . Consultado el 30 de marzo de 2022 .
  74. ^ "Actualización de Vulkan: conformidad con la versión 1.2 para Raspberry Pi 4". Raspberry Pi Foundation . 1 de agosto de 2022.
  75. ^ "Sombreado de malla para Vulkan". Septiembre de 2022.
  76. ^ "Sombreador de malla VK_EXT_".
  77. ^ "Khronos impulsa el respaldo de la industria a las funciones 3D ampliadas con Vulkan Roadmap 2024". 25 de enero de 2024.
  78. ^ "Khronos lanza AV1 Decode en Vulkan Video con soporte SDK para codificación H.264/H.265". Febrero de 2024.
  79. ^ "Vulkan Overview" (PDF) . Khronos Group. Junio ​​de 2015. Archivado (PDF) del original el 8 de diciembre de 2015 . Consultado el 18 de agosto de 2015 .p. 19 "Estado de Vulkan"
  80. ^ ab "Actualización de compatibilidad del controlador de gráficos para gráficos de procesadores Intel de décima generación y anteriores". community.intel.com . 27 de julio de 2022 . Consultado el 14 de febrero de 2023 .
  81. ^ abc "Se produce una división del controlador Intel Vulkan: se introdujo "HASVK" para gráficos Gen7/Gen8 más antiguos". www.phoronix.com . Consultado el 14 de febrero de 2023 .
  82. ^ "Gráficos de procesadores Intel® de sexta a décima generación: Windows". Intel . Consultado el 14 de febrero de 2023 .
  83. ^ "Gráficos Intel® Arc™ e Iris® Xe - WHQL - Windows*". Intel . Consultado el 14 de febrero de 2023 .
  84. ^ "El soporte de Haswell Vulkan es incompleto (#6008) · Issues · Mesa / mesa · GitLab". GitLab . 9 de febrero de 2022 . Consultado el 14 de febrero de 2023 .
  85. ^ "intel: split vulkan driver between gfx7/8 and above (!18208) · Merge requests · Mesa / mesa · GitLab". GitLab . 23 de agosto de 2022 . Consultado el 14 de febrero de 2023 .
  86. ^ "Especificaciones de la AMD Radeon R7 265". TechPowerUp . Consultado el 14 de febrero de 2023 .
  87. ^ "Especificaciones de la AMD Radeon HD 7790". TechPowerUp . Consultado el 14 de febrero de 2023 .
  88. ^ "Especificaciones de la AMD Radeon R9 285". TechPowerUp . Consultado el 14 de febrero de 2023 .
  89. ^ "Actualización de soporte de productos y sistemas operativos para Radeon Software Adrenalin 21.6.1". AMD.com . 21 de junio de 2021 . Consultado el 14 de febrero de 2023 .
  90. ^ "Notas de la versión de compatibilidad con Radeon™ Software Adrenalin 22.1.2 con Vulkan 1.3" . Consultado el 14 de febrero de 2023 .
  91. ^ Controlador de código abierto AMD para Vulkan®, GPUOpen Drivers, 11 de febrero de 2023 , consultado el 14 de febrero de 2023
  92. ^ "El controlador Radeon Software For Linux 22.10 se está preparando para su lanzamiento". Foros de Phoronix . 31 de marzo de 2022 . Consultado el 14 de febrero de 2023 .
  93. ^ "AMD RDNA2 Vulkan: RADV vs. RADV+NGGC vs. AMDVLK vs. PRO Driver Benchmarks" (en inglés). www.phoronix.com . Consultado el 14 de febrero de 2023 .
  94. ^ "El rendimiento del trazado de rayos RADV Radeon Vulkan de Mesa continúa mejorando". www.phoronix.com . Consultado el 14 de febrero de 2023 .
  95. ^ "RADV — La última documentación de la biblioteca de gráficos 3D de Mesa". docs.mesa3d.org . Consultado el 14 de febrero de 2023 .
  96. ^ "AMDGPU - ArchWiki". wiki.archlinux.org . Consultado el 14 de febrero de 2023 .
  97. ^ "Especificaciones de la NVIDIA GeForce GTX 770". TechPowerUp . Consultado el 14 de febrero de 2023 .
  98. ^ "Plan de soporte para GPU GeForce de la serie Kepler para computadoras de escritorio | NVIDIA". nvidia.custhelp.com . Consultado el 14 de febrero de 2023 .
  99. ^ "Compatibilidad con controladores Vulkan". NVIDIA Developer . 10 de febrero de 2016 . Consultado el 14 de febrero de 2023 .
  100. ^ "Presentación de NVK". Collabora . Consultado el 14 de febrero de 2023 .
  101. ^ "¡NVK ha aterrizado!". Collabora . Consultado el 8 de diciembre de 2023 .
  102. ^ Larabel, Michael (27 de enero de 2024). "El controlador NVIDIA Vulkan "NVK" de Mesa ahora expone la compatibilidad con Vulkan 1.3". www.phoronix.com . Consultado el 27 de enero de 2024 .
  103. ^ "La segunda versión preliminar de Android N es compatible con Vulkan y nuevos emojis". Ars Technica. 13 de abril de 2016. Archivado desde el original el 20 de octubre de 2021.
  104. ^ "La compatibilidad con Vulkan Graphics API 1.1 llegará a Android P". 8 de abril de 2018. Archivado desde el original el 20 de octubre de 2021.
  105. ^ "Novedades de Android: Q Beta 3 y más". Archivado desde el original el 20 de octubre de 2021.
  106. ^ Alberto, Dan. "Implementar Vulkan". Fuente.Android.com . Google . Consultado el 2 de enero de 2024 .
  107. ^ Alberto, Dan. "Implementar Vulkan". Fuente.Android.com . Google . Consultado el 2 de enero de 2024 .
  108. ^ "Mesamatrix: La matriz OpenGL vs. Mesa". mesamatrix.net . Archivado desde el original el 20 de octubre de 2021.
  109. ^ "El estado de Vulkan en los dispositivos Apple" (PDF) . LunarG. Junio ​​de 2021. Archivado (PDF) del original el 9 de julio de 2021.
  110. ^ Larabel, Michael (9 de junio de 2022). "Vulkan 1.3.217 agrega una extensión para interactuar con objetos Apple Metal". phoronix.com . Consultado el 22 de octubre de 2022 .
  111. ^ "Lanzamiento de la versión 1.3.236 del SDK de Vulkan · KhronosGroup/MoltenVK". GitHub . Consultado el 29 de diciembre de 2022 .
  112. ^ Benjamin (10 de abril de 2024). "Gráficos de alta fidelidad con ArkGraphics 3D en HarmonyOS NEXT - HarmonyOSHub". harmonyoshub.com . Consultado el 24 de mayo de 2024 .
  113. ^ Tim Anderson (3 de marzo de 2015). «Here comes Vulkan: The next generation of the OpenGL graphics API» (Llega Vulkan: la próxima generación de la API de gráficos OpenGL). theregister.com . Archivado desde el original el 20 de octubre de 2021. Consultado el 8 de julio de 2021 .
  114. ^ "Zink – La última documentación de la biblioteca de gráficos 3D de Mesa". docs.mesa3d.org . Consultado el 10 de marzo de 2022 .

Lectura adicional

  • Guía de programación Vulkan: La guía oficial para aprender Vulkan (OpenGL), 10 de noviembre de 2016, por Graham Sellers y John Kessenich ISBN 978-0-1344-64541 
  • Aprendiendo Vulkan, diciembre de 2016, por Parminder Singh ISBN 978-1-78646-980-9 
  • Introducción a los gráficos por computadora y la API de Vulkan, 1 de julio de 2017, por Kenwright ISBN 978-1-5486-16175 
  • Libro de cocina Vulkan, 28 de abril de 2017, por Pawel Lapinski ISBN 978-1-7864-68154 
  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Vulcano&oldid=1249838872"