Vulkan 1.4.315

Vulkan 1.4.315 с VK_EXT_zero_initialize_device_memory для VKD3D-Proton и не только.

Вышло обновление спецификации Vulkan 1.4.315, а вместе с ним — новое расширение VK_EXT_zero_initialize_device_memory, позволяющее выделять память устройств с нулевой инициализацией.

Vulkan — это высокопроизводительный кроссплатформенный графический и вычислительный API, разработанный Khronos Group для обеспечения низкоуровневого доступа к графическому процессору. Данный API позволяет разработчикам максимально эффективно использовать возможности современного графического оборудования, обеспечивая высокую производительность и детальный контроль над процессами рендеринга при создании графических приложений для различных платформ.

Что нового в Vulkan 1.4.315

Над расширением VK_EXT_zero_initialize_device_memory работали инженеры из Valve, AMD, Collabora, Igalia, Arm и LunarG. Поскольку Vulkan по умолчанию не гарантирует, что память устройства (GPU vRAM) будет очищена до нуля, VK_EXT_zero_initialize_device_memory нацелено на более эффективную гарантию того, что память устройства будет инициализирована до нуля.

До сих пор тем, кто хочет, чтобы выделения памяти Vulkan в памяти устройства были нулевыми, приходилось выдавать команду на заполнение буфера или что-то подобное. Но в некоторых драйверах/аппаратных средствах Vulkan память может быть уже с нулевой инициализацией из-за соображений безопасности, связанных с тем, чтобы не раскрывать предыдущее содержимое памяти. VK_EXT_zero_initialize_device_memory нацелена на более эффективное обеспечение нулевой инициализации памяти устройства, когда это необходимо.

Поскольку над этим проектом работают сотрудники Valve Ханс-Кристиан Арнтцен и Майк Блюменкранц, он также связан с их работой над VKD3D-Proton / Steam Play. Спецификация расширения VK_EXT_zero_initialize_device_memory поясняет:
«Это расширение также может быть использовано при наложении API и портировании, где поведение нулевой памяти может быть более строгим, чем в Vulkan. Разные платформы ОС также ведут себя по-разному, что приводит к тому, что реализациям приходится применять обходные пути для решения этих проблем.

Если существует расширение, позволяющее сделать поведение выделения явным, мы надеемся получить более надежную экосистему для Vulkan».

С выходом Vulkan 1.4.315 драйверы Mesa Vulkan уже начали реализовывать поддержку VK_EXT_zero_initialize_device_memory. В Mesa 25.2 поддержка этого расширения уже реализована в драйверах Radeon RADV и NVIDIA NVK. Это первые два драйвера в Mesa с поддержкой этого расширения, и мы надеемся, что другие драйверы Mesa Vulkan вскоре последуют за ними.

Вчера был открыт запрос на исправление для VKD3D-Proton, чтобы использовать VK_EXT_zero_initialize_device_memory.

Один мальчик подписался на телеграм-канал Игры в Linux и получил бесплатную игру в Steam! Новости из мира игр в Linux, свежие обзоры игр и полезные инструкции всегда под рукой!

Источник
Константин Дьяченко

Автор и основатель сайта Игры в Linux с 2010 года. Пользователь Linux с 2002. Старый злобный сисадмин с 1997.

Если Вам интересна тематика сайта и вы хотите каким-то образом поучаствовать в жизни сайта и его сообществ - напишите мне! Все контакты в разделе о сайте.

Игры в Linux
Добавить комментарий

Поля email и сайт не являются обязательными. Оставляя комментарий вы соглашаетесь с политикой конфиденциальности сайта.