El Grupo Khronos ha lanzado hoy Vulkan 1.1, la primera gran revisión de su API gráfica multiplataforma y neutral para los fabricantes.
La nueva revisión estandariza un puñado de características que antes se ofrecían como extensiones de la API. El lanzamiento completa la API, logrando la paridad con el DirectX 12 de Microsoft en algunas áreas en las que estuvo ausente, mejorando la compatibilidad con DirectX 12 y sentando las bases para la próxima generación de GPUs.
En particular, una de las características más importantes consiste en llenar un hueco de Vulkan con respecto a la API de Microsoft: compatibilidad explícita con múltiples GPU, lo que permite a un programa distribuir su trabajo entre varias GPU. A diferencia de SLI y Crossfire, donde la tarea de repartir el renderizado entre las GPU era en gran medida responsabilidad del controlador, este soporte da control al desarrollador de esta tarea.
Además, los desarrolladores pueden crear «grupos de dispositivos» que agrupen varias GPU físicas en un único dispositivo virtual y escojan la forma en que se enviará el trabajo a las distintas GPU físicas. Los recursos de una GPU física pueden ser utilizados por otra GPU, se pueden ejecutar distintos comandos en las distintas GPU, y una GPU puede mostrar imágenes renderizadas creadas por otra GPU.
Vulkan 1.1 también es mejor para las aplicaciones de Realidad Virtual. La RV requiere renderizar dos perspectivas diferentes de la misma escena 3D, una para cada ojo. Esto es posible hoy en día a través de la fuerza bruta primero, enviar todos los comandos para dibujar el ojo izquierdo a la GPU, luego enviar todos los comandos para el ojo derecho. Con Vulkan 1.1, los desarrolladores pueden usar multiview, donde un solo conjunto de comandos de renderizado produce múltiples salidas ligeramente diferentes con una sola llamada. Esto mejora la performance en general.
Khronos ya no se limita a ponerse al día, ahora está en condiciones de liderar el diseño y las capacidades de la GPU, impulsando las funciones que tienen más sentido para los desarrolladores de juegos (especialmente), los desarrolladores Web y las plataformas móviles. Veremos si logra competir realmente con DirectX 12, o si solo se quedara en buenos intentos.