El sector del desarrollo gráfico ha tirado en los últimos años hacia el desarrollo de unas bibliotecas gráficas de bajo nivel para aprovechar mejor la potencia de las unidades de procesamiento gráfico (GPU), ya sean integradas en un procesador o sistema en chip, o en tarjetas gráficas. El sector fue iniciado por AMD con la jubilada biblioteca Mantle, que fue la fundación de lo que ahora es Vulkan, desarrollado por Khronos Group, una organización a la que todas las grandes compañías relacionadas con el sector gráfico aportan su granito de arena.

Vulkan es una biblioteca gráfica con deseos de ser multiplataforma, y de momento se resistían los sistemas operativos de Apple, tanto macOS, como iOS y sus sucedáneos. Ahora, Khronos Group ha anunciado la disponibilidad de Vulkan en los sistemas operativos de Apple gracias a una colaboración entre Valve, LunarG y The Brenwill Workshop. Estas empresas y asociaciones han impulsado la Iniciativa de Portabilidad dentro del Grupo de Trabajo de Vulkan dentro de Khronos Group, con la intención de compatibilizar mejor Vulkan con, no solo macOS e iOS, sino con el resto de bibliotecas gráficas de bajo nivel.

Eso significa que las herramientas desarrolladas por la Iniciativa de Portabilidad permite traducir las llamadas de Vulkan a tanto DirectX 12 como Metal, siendo la primera la biblioteca gráfica —también llamada API gráfica de Microsoft en Windows 10 y la segunda perteneciente a Apple para iOS y macOS, que está en su segunda versión (Metal 2.0). Valve está siendo un gran promotor de Vulkan, que sustituye con grandes mejoras de rendimiento a OpenGL, y en la implementación en macOS de Vulkan que ha realizado para Dota 2 se puede ver cómo pasa el juego de funcionar a 50 fotogramas por segundo (FPS) a 80 FPS.

Todo este desarrollo está disponible con un kit de desarrollo para macOS de LunarG, que implementa la biblioteca de controladores MoltenVK. Este kit de desarrollo momento solo funciona para macOS, pero en el futuro cercano servirá también para iOS en lo que se refiere a las capas de carga y validación de los proyectos. Para realizar la traducción de código del lenguaje de sombreado de Vulkan a macOS, una compilación cruzada, se utiliza SPIRV-Cross, también de Khronos Group, que convierte del lenguaje de sombreado SPIR-V a otros lenguajes de sombreado usados en otras API.

83197 bytes 302218 bytes 194238 bytes 186998 bytes 362418 bytes 143032 bytes 199083 bytes 122267 bytes

Vía: AnandTech.