Vulkan 1.2 üçün qrafik standartın nəşri edildi

Консорциум Khronos, занимающийся разработкой графических стандартов,
yaydı spesifikasiyası Vulkan 1.2, определяющую API для доступа к графическим и вычислительным возможностям GPU. Новая спецификация вобрала в себя накопившиеся за два года исправления и uzantılar. Драйверы с поддержкой новой версии Vulkan уже yayınlandı компании Intel, zəiflikləri aradan qaldırmaq üçün yaddaşı səhv düzəldilməsi (ECC) ilə istifadə etməyi, Maximum Activate Count (MAC) dəstəyi olan yaddaş idarəedicilərini və artırılmış bərpa tezliyindən istifadə etməyi tövsiyə ediblər. Tədqiqatçılar isə hesab edir ki, artıq istehsal edilmiş çiplər üçün Rowhammer-dan mükəmməl qorunma təmin edən bir həll yoxdur və ECC istifadəsi gözlənilən effekti vermir. Məsələn, daha əvvəl, ARM, Imagination Technologies и NVIDIA. В Mesa поддержка Vulkan 1.2 предложена для драйверов RADV (карты AMD) и ANV (Intel). Поддержка Vulkan 1.2 также реализована в отладчике RenderDoc 1.6, LunarG Vulkan SDK и наборе примеров Vulkan-Samples.

Əsas yeni xüsusiyyətlər:

  • Доведена до готовности к повсеместному применению реализация языка программирования шейдеров HLSL, разработанного компанией Microsoft для DirectX. Поддержка HLSL в Vulkan даёт возможность использования одних HLSL-шейдеров в приложениях на базе Vulkan и DirectX, а также упрощает трансляцию из HLSL в SPIR-V. Для компиляции шейдеров предлагается использовать штатный компилятор
    DXC, который был открыт компанией Microsoft в 2017 году и базируется на технологии LLVM. Поддержка Vulkan реализована через отдельный бэкенд, позволяющий транслировать HLSL в промежуточное представление шейдеров SPIR-V. Реализация охватывает не только все встроенные возможности
    HLSL, включая математические типы, потоки управления, функции, множества, типы ресурсов, пространства имён, Shader Model 6.2, структуры и методы, но и позволяет использовать специфичные для Vulkan расширения, такие как VKRay от NVIDIA. В режиме HLSL поверх Vulkan удалось организовать работу таких игр, как Destiny 2, Red Dead Redemption II, Assassin’s Creed Odyssey и Tomb Raider.

    Vulkan 1.2 üçün qrafik standartın nəşri edildi
  • Обновлена спецификация SPIR-V 1.5, определяющая универсальное для всех платформ промежуточное представление шейдеров, которое может применяться как для графики, так и для параллельных вычислений.
    SPIR-V подразумевает выделение отдельной фазы компиляции шейдеров в промежуточное представление, что позволяет создавать фронтэнды для различных высокоуровневых языков. На основе различных высокоуровневых реализаций отдельно генерируется единый промежуточный код, который может использоваться драйверами OpenGL, Vulkan и OpenCL без применения встроенного компилятора шейдеров.

    Vulkan 1.2 üçün qrafik standartın nəşri edildi
  • В основной API Vulkan включены 23 расширения, позволившие увеличить производительность, повысить качество визуализации и упростить разработку. Среди добавленных расширений:
    • Хронологические семафоры (Timeline semaphore), унифицирующие синхронизации c хостом и очередями устройств (позволяют обойтись одним примитивом для всенаправленной синхронизации между устройством и хостом, без применения раздельных примитивов VkFence и VkSemaphore). Новые семафоры представлены монотонно увеличивающимся 64-разрядным значением, которое можно отслеживать и обновлять в нескольких потоках.
      Vulkan 1.2 üçün qrafik standartın nəşri edildi
    • Возможность использования в шейдерах числовых типов с пониженной точностью;
    • Совместимый с HLSL вариант раскладки памяти;
    • Несвязанные ресурcы (bindless), снимающие ограничение на число доступных для шейдеров ресурсов за счёт использования общего виртуального пространства системной памяти и памяти GPU;
    • Формальная модель памяти, определяющая как параллельно выполняемые потоки могут обращаться к совместно используемым данным и операциям синхронизации;
    • Индексация дескрипторов для повторного использования дескрипторов раскладок в нескольких шейдерах;
    • Буферные ссылки.

    Полный список добавленных расширений:

  • Əlavə edilib более 50 новых структур и 13 функций;
  • Подготовлены сокращённые варианты спецификации для типовых целевых платформ, упрощающие работу на платформах, для которых пока не поддерживаются все расширения, и позволяющие обойтись без выборочной активации базовых возможностей API Vulkan.
  • Продолжена работа над проектом по обеспечению переносимости с другими графическими API. Например, в Vulkan предложены расширения, позволяющие транслировать OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) и DirectX (DXVK, vkd3d) через API Vulkan, а также, наоборот, для обеспечения работы Vulkan на платформах без его родной поддержки (gfx-rsAshes для работы поверх OpenGL и DirectX, MoltenVK и gfx-rs для работы поверх Metal).
    Для улучшения совместимости с DirectX и 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, а также в SPIR-V реализованы специфичные возможности HLSL.

Из планов на будущее отмечается развитие расширений для машинного обучения, трассировки лучей, кодирования и декодирования видео, поддержки VRS (variable-rate shading) и Mesh-шейдеров.

Напомним, что API Vulkan seçimdir кардинальным упрощением драйверов, выносом генерации команд GPU на сторону приложения, возможностью подключения отладочных слоёв, унификацией API для различных платформ и применением предкомпилированного промежуточного представления кода для выполнения на стороне GPU. Для обеспечения высокой производительности и предсказуемости, Vulkan предоставляет приложениям средства для прямого управления операциями GPU и встроенную поддержку многопоточной обработки команд GPU, что минимизирует накладные расходы, вносимые драйвером, а реализуемые на стороне драйвера возможности заметно упрощаются и становятся более предсказуемыми. Например, такие операции, как управление памятью и обработка ошибок, реализуемые в OpenGL на стороне драйвера, в Vulkan вынесены на уровень приложения.

Vulkan охватывает все доступные платформы и предоставляет единый API для настольных, мобильных систем и Web, позволяя использовать один общий API для различных графических процессоров и областей применения. Благодаря многослойной архитектуре Vulkan, подразумевающей создание инструментов, работающих с любыми GPU, производители оборудования могут использовать при разработке типовые инструменты для проверки кода, отладки и профилирования. Для создания шейдеров предлагается новое переносимое промежуточное представление SPIR-V, основанное на LLVM и использующее общие с OpenCL базовые технологии. Для управления устройствами и экранами в Vulkan предлагается интерфейс WSI (Window System Integration), решающий примерно те же задачи, что и EGL в OpenGL ES. Поддержка WSI из коробки доступна в Wayland — все приложения, использующие Vulkan, могут запускаться в окружении немодифицированных серверов Wayland. Возможность работы через WSI также обеспечена для Android, X11 (c DRI3), Windows, Tizen, macOS и iOS.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster