VKD3D-Proton 2.11 с включенным по умолчанию DirectX Raytracing

VKD3D-Proton 2.11 содержит ряд значительных улучшений для слоя трансляции Direct3D 12 в Vulkan, используемого в Proton от Valve для Linux PC и Steam Deck.

Первое важное изменение — DXR теперь включен по умолчанию, больше не нужно задавать параметр «VKD3D_CONFIG=dxr», так как он используется по умолчанию. Тем не менее, отмечают несколько особых случаев, когда это не так. Обратная связь сэмплера также теперь поддерживается через эмуляцию, и благодаря этому DX Ultimate (FL 12.2) теперь по умолчанию включена на RDNA2+ и Turing+.

Кроме того, исправлены различные проблемы с производительностью, добавлены новые обходные пути для решения игровых проблем и исправлено несколько ошибок общего характера.

Что нового в VKD3D-Proton 2.11

DXR включен по умолчанию

VKD3D_CONFIG=dxr теперь используется по умолчанию и больше не требуется. Есть несколько особых случаев, когда DXR не включается по умолчанию. Единственным таким примером в настоящее время является
«Hellblade: Senua’s Sacrifice» на Deck, который принудительно включает DXR, если он поддерживается, даже на Deck.

Новая семантика выглядит следующим образом:

  • dxr: принудительно включать DXR, даже если он считается небезопасным;
  • nodxr: Отключить DXR;
  • dxr11: Удалено. dxr в любом случае уже подразумевает DXR 1.1.

Обратная связь с семплером

Эта возможность была последней, требуемой для FL 12.2, и реализована с помощью эмуляции. Как показано в документации по реализации, все «родные» реализации этой функции в той или иной мере принципиально неработоспособны.Кроме того, не существует ни одной известной игры, требующей эту функцию, поэтому мы считаем ее просто отмеченной флажком.

DX Ultimate (FL 12.2) теперь работает по умолчанию

На RDNA2+ и Turing+ мы наконец-то можем открыть набор функций DX Ultimate!

Другие изменения

  • Реализовано множество недостающих функций «Vulkan-on-D3D12»;
    • IndependentFrontAndBackStencilRefMaskSupported;
    • TriangleFanПоддерживается;
    • DynamicIndexBufferStripCutПоддерживается;
    • DynamicDepthBiasSupported;
    • NonNormalizedCoordinateSamplersSupported;
    • MismatchingOutputDimensionsSupported;
    • PointSamplingAddressesNeverRoundUp;
    • RasterizerDesc2Поддерживается;
      • Явный режим растеризации линий;
    • NarrowQuadrilateralLinesSupported;
    • AnisoFilterWithPointMipSupported;
  • Реализация отсутствующей инструкции MSAD в DXIL, позволяющая запускать FSR3;
  • Реализованы некоторые эзотерические возможности DXR;
    • Реализована поддержка нескольких несовпадающих сигнатур глобального корня в DXR;
      • Исправление сбоя в Battlefield V;
    • Реализована поддержка зависимостей LOCAL_ON_EXTERNAL в DXR;
      • Исправление DXR в Warhammer: Darktide;
  • Реализована поддержка ExecuteIndirect + Mesh шейдеры с изменением состояния;
    • В настоящее время не используется в играх;

Производительность

  • Повышение производительности NV_device_generated_commands и NV_device_generated_commands_compute за счет переупорядочивания и пакетной предварительной обработки команд
    • 15% прирост FPS в Halo Infinite на RADV;
    • 1-2% в Starfield в некоторых тестовых точках;
    • Требуется доработка Mesa, чтобы воспользоваться этим улучшением;
  • Настройка шаблонов выделения памяти для буферов препроцесса DGC
    • Позволяет избежать большого количества перераспределений
    • Значительно снижает накладные расходы CPU на NV

Обходные пути

  • Работа над ошибкой RADV, вызывающей зависание GPU в RE4: Separate Ways DLC;
  • Работа над ошибкой RADV, вызывающей зависание GPU в Lords of the Fallen;
  • Работа над ошибкой Witcher 3, вызывающей провалы теней и зависание GPU при включении DXR;
  • Работа над ошибкой Cyberpunk 2077 при включении RT, когда игра вызывала ложные зависания GPU из-за выхода за пределы кучи дескрипторов;
  • Устранена ошибка Windjammers 2, приводившая к случайным сбоям при запуске;
  • Добавлена поддержка VK_EXT_image_compression_control для более тонких обходных путей для неработающих игр, работающих на RADV;
  • Включение функции NV_device_generated_commands_compute в последних бета-версиях драйверов NV;
    • Драйверы 545.x по-прежнему отключены до тех пор, пока не будет подтверждено наличие исправлений в драйверах для доставки;
  • Устранение обходного пути CURB_MEMORY_PSO_CACHE на Mesa 23.2+;
    • Должно уменьшить накладные расходы при создании PSO

Исправления

  • Мелкие изменения dxil-spirv для исправления различных ошибок в игровых шейдерах, как обычно;
  • Исправление падения Jurassic World Evolution 2 при включении DXR;
  • Исправление некоторых предупреждений об устаревании в системе сборки Meson;
    • Перемещено расположение некоторых подмодулей, что может привести к незначительным сбоям в работе

Полная информация о выпуске здесь.

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

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

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

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

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

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