Publicado el estándar gráfico Vulkan 1.2

El consorcio Khronos, que desarrolla estándares gráficos,
publicado especificación Vulkan 1.2, que define una API para acceder a las capacidades gráficas y computacionales de la GPU. La nueva especificación incorpora dos años de correcciones acumuladas y extensionesLos controladores compatibles con la nueva versión de Vulkan ya están disponibles. liberado Compañía Intel, AMD, ARM, Imagination Technologies y NVIDIASe ofrece soporte para Vulkan 1.2 para los controladores Mesa. RADV (Tarjetas AMD) y ANV (Intel). La compatibilidad con Vulkan 1.2 también está implementada en el depurador. RenderDoc 1.6, SDK de LunarG Vulkan y un conjunto de ejemplos Muestras de Vulkan.

El principal innovaciones:

  • Presentado por Implementación del lenguaje de programación shader hasta que esté listo para su uso generalizado Lenguaje de señas americano (HLSL)Desarrollado por Microsoft para DirectX. La compatibilidad con HLSL en Vulkan permite el uso de los mismos sombreadores HLSL en aplicaciones basadas en Vulkan y DirectX, y también simplifica la traducción de HLSL a SPIR-V. Se recomienda usar el compilador integrado para la compilación de sombreadores.
    DXC, que Microsoft lanzó al mercado en código abierto en 2017 y se basa en la tecnología LLVM. La compatibilidad con Vulkan se implementa mediante un backend independiente que permite la traducción de HLSL a la representación intermedia de sombreadores SPIR-V. La implementación abarca no solo todas las funciones integradas.
    HLSL, que incluye tipos matemáticos, flujos de control, funciones, conjuntos, tipos de recursos, espacios de nombres, Shader Model 6.2, estructuras y métodos, también permite el uso de extensiones específicas de Vulkan, como VKRay de NVIDIA. Juegos como Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey y Tomb Raider se implementaron con éxito en modo HLSL sobre Vulkan.

    Publicado el estándar gráfico Vulkan 1.2
  • Especificación actualizada SPIR-V 1.5, que define una representación intermedia universal de sombreadores en todas las plataformas que se pueden utilizar tanto para gráficos como para computación paralela.
    SPIR-V separa el proceso de compilación de sombreadores en representaciones intermedias (IR), lo que permite la creación de interfaces para diversos lenguajes de alto nivel. Basándose en diversas implementaciones de alto nivel, se genera un único código intermedio por separado, que puede ser utilizado por controladores OpenGL, Vulkan y OpenCL sin necesidad de un compilador de sombreadores integrado.

    Publicado el estándar gráfico Vulkan 1.2
  • La API principal de Vulkan incluye 23 extensiones que mejoran el rendimiento, optimizan la calidad de la visualización y simplifican el desarrollo. Las nuevas extensiones incluyen:
    • Semáforos cronológicos (Semáforo de línea de tiempo), que unifica la sincronización con las colas del host y del dispositivo (permitiendo una única primitiva para la sincronización omnidireccional entre el dispositivo y el host, eliminando la necesidad de primitivas VkFence y VkSemaphore independientes). Los nuevos semáforos se representan mediante un valor de 64 bits que aumenta monótonamente y que puede monitorizarse y actualizarse en múltiples subprocesos.
      Publicado el estándar gráfico Vulkan 1.2
    • Capacidad de utilizar tipos numéricos de baja precisión en sombreadores;
    • Disposición de memoria compatible con HLSL;
    • Recursos sin enlaces, que eliminan la limitación en la cantidad de recursos disponibles para los sombreadores mediante el uso del espacio virtual compartido de la memoria del sistema y la memoria de la GPU;
    • Modelo formal de la memoria, que define cómo los subprocesos que se ejecutan simultáneamente pueden acceder a datos compartidos y operaciones de sincronización;
    • Indexación de descriptores para reutilizar descriptores de diseño en múltiples sombreadores;
    • Enlaces de búfer.

    Lista completa de extensiones agregadas:

  • Adicional más de 50 nuevas estructuras y 13 funciones;
  • Hemos preparado versiones abreviadas de la especificación para plataformas de destino típicas, simplificando el trabajo en plataformas que aún no admiten todas las extensiones y eliminando la necesidad de activar selectivamente las capacidades básicas de la API de Vulkan.
  • Se continuó trabajando en el proyecto para garantizar la portabilidad con otras API gráficas. Por ejemplo, Vulkan ha propuesto extensiones que permiten la traducción de OpenGL (cinc), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) y DirectX (Extensión DXVK, vkd3d) a través de la API de Vulkan y, a la inversa, para garantizar el funcionamiento de Vulkan en plataformas sin su soporte nativo (gfx-rs и Ashes para trabajar sobre OpenGL y DirectX, MoltenVK y gfx-rs para trabajar sobre Metal).
    Se han agregado extensiones para mejorar la compatibilidad con DirectX y HLSL
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layou, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts y SPIR-V implementan funciones específicas de HLSL.

Los planes futuros incluyen el desarrollo de extensiones para aprendizaje automático, trazado de rayos, codificación y decodificación de video, soporte para VRS (sombreado de velocidad variable) y sombreadores de malla.

Permítanos recordarle que la API de Vulkan Notable Al simplificar radicalmente los controladores, trasladar la generación de comandos de GPU al lado de la aplicación, habilitar capas de depuración, unificar la API en todas las plataformas y utilizar representaciones intermedias de código precompiladas para la ejecución en la GPU, Vulkan proporciona a las aplicaciones los medios para controlar directamente las operaciones de la GPU y compatibilidad integrada con el procesamiento de comandos de GPU multihilo, lo que minimiza la sobrecarga del controlador y simplifica y predice significativamente las capacidades del controlador. Por ejemplo, operaciones como la gestión de memoria y el manejo de errores, implementadas en OpenGL en el lado del controlador, se trasladan a la capa de aplicación en Vulkan.

Vulkan abarca todas las plataformas disponibles y proporciona una única API para escritorio, dispositivos móviles y web, lo que permite una única API común en varias GPU y áreas de aplicación. La arquitectura multicapa de Vulkan, que permite la creación de herramientas que funcionan con cualquier GPU, permite a los fabricantes de hardware aprovechar herramientas comunes para la revisión de código, la depuración y la creación de perfiles durante el desarrollo. Para el desarrollo de sombreadores, se ofrece una nueva representación intermedia portátil (IR) llamada SPIR-V, basada en LLVM y que comparte tecnologías centrales con OpenCL. Para la administración de dispositivos y pantallas, Vulkan ofrece la interfaz WSI (Window System Integration), que realiza tareas similares a EGL en OpenGL ES. La compatibilidad con WSI está disponible de forma predeterminada en Wayland: todas las aplicaciones basadas en Vulkan pueden ejecutarse en un entorno de servidor Wayland sin modificar. También se proporciona compatibilidad con WSI para Android, X11 (con DRI3), Windows, Tizen, macOS y iOS.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster