D9VK - это слой для трансляции вызовов Direct3D9 в Vulkan, используемый в Wine и основанный на DXVK. Разработчик Джошуа Эштон выпустил большое обновление. D9VK был размещен на github под версией 0.40 - Croakacola , а спустя пару часов была размещена версия 0.40.1 - Croakacola Zero.
Особенности версии D9VK 0.40:
- Реализована возможность использования более 4 ГБ видеопамяти на 32-битных приложениях.
- Очень помогает в моде Skyrim/Oblivion и т. д.
- Включена асинхронная презентация для всех поставщиков
- Удалена ненужная точка синхронизации CS в поиске данных запроса
- Незначительные улучшения в очистке запросов
- Улучшение внутреннего измерения времени (используйте новые часы для конкретной платформы)
- Работает вокруг MinGW, high_resolution_clock будучи абсолютно ужасным.
- Отложено MANAGED+ SYSTEMMEM загрузка буферов до PrepareDraw времени
- Исправление производительности в Risen и Legend of the Heroes: Trails of the Sky.
- Реализован D3DTA_CONSTANT
- Исправляет рендеринг цветов в SpinTyres/Mudrunner
- Улучшена D3D9Ex compatibility/specifics
- Обработано ResetEx vs. Reset nuance.
- Разная очистка кода/рефакторинг
- Сделаны WRITEONLY буферы, сопоставленные напрямую
- Может улучшить производительность, но также работает с ошибкой в игре CS:GO, когда он все еще записывает в буфер после разблокировки.
- Реализован SetDialogBoxMode
- Реализовано смешивание вершин
- Реализовано индексированное смешивание вершин (в том числе для SWVP)
- Переделан счетчик сэмплера HUD, чтобы использовать новую более расширяемую систему HUD
- Незначительные улучшения производительности по сравнению со связыванием шейдеров, связывание входных макетов и постоянная загрузка
- Добавлена опция d3d9.dialogBoxMode, которую можно включить, чтобы отключить D9VK, принимая эксклюзивные полноэкранные режимы
Исправление ошибок
- Правильно обработан w == 0 необычный для POSITION_T
- Исправлены солнечные вспышки в GTA:SA.
- Исправлена демонстрация виртуальной водки от Fairlight.
- Фиксированные конечные TIMESTAMPDISJOINTзапросы
- Убрано выставление VCACHE для Nvidia (соответствует родному) и обновлены значения до того, что выставляют современные карты.
- Исправлено поведение отслеживания памяти для D3D9Ex
- Исправлен Vampire: Masquerade Bloodlines запускается на машинах с большим количеством VRAM
- Проведена работа над ошибкой в игре, создавал текстуры, пока не смог измерить количество VRAM.
- Исправлены зеркала в Max Payne 2.
- Неявно насыщенные некоторые операции с фиксированными функциями
- Исправлено пользовательское видео на телевизорах в The Sims 2.
- Проведена работа над ошибкой в этой игре, при которой они отображали черный цвет, если X4R4G4B4 был выставлен в качестве потенциального формата RT.
- Исправлен рендеринг Silent Hunter 3.
- Исправлена функция заполнения текстурным преобразованием, теперь она ведет себя как 1 в диапазоне фактического ввода к текстовой координате растеризатора и 0 вне этого.
- Фиксированное соотношение сторон в Senran Kagura Shinovi Versus
- Обходился игровой баг, из-за которого, если были выставлены какие-либо сверхширокие режимы (даже если игра только 16: 9), он выбрал бы их, отключив не 16: 9 режимы для этой игры.
- Исправлена ширина/высота для «частичных презентаций», которые мы делаем.
- Исправлена ошибка, из-за которой в Dungeons and Dragons: Dragonshard черный экран.
- Он писал, FOG но не FOG включил то, к чему мы не относились должным образом.
- Исправлена ошибка с рендерингом теней в Crysis.
- Документация Microsoft для TEXKILL операции неверна, все 4 компонента используются, когда шейдер SM2 или выше.
- Исправлена потенциальная гонка, которая могла произойти в ProcessVertices
- Исправлено падение Metal Slug X при запуске
- В этой старой версии ANGLE ошибка указана D3DFMT_D32 как возможный формат глубины, но затем перестает обрабатывать ее при преобразовании OpenGL, что приводит UNREACHABLE к возникновению ошибки и, следовательно, к аварийному завершению .
- Отключено D3DFMT_D32 для этой игры.
- Исправлен автоскульпт в Need for Speed: Carbon
- Отметьте, MANAGED что для загрузки требуется блокировка, а не разблокировка, игра использует эту причуду, поскольку не разблокирует ее до окончания кадра, но все же ожидает, что вы увидите предварительный просмотр, заблокировав его.
- Фиксированные черные деревья в Risen 1
- Положение необходимо пометить как инвариант.
Особенности версии D9VK 0.40.1:
- Исправлено значение по умолчанию для COLOR0 в вершинных шейдерах: vec4 (1)
- Исправлена ошибка, из-за которой биты слотов для выходов шейдера по умолчанию неправильно применялись и, следовательно, некорректно исправлялись бэкэндом, вызывая их замену на vec4 (0)
Отступление от разработчика:
Не используйте в Wine d3dx9 или d3dcompiler с d9vk. Они делают недопустимые вызовы API и генерируют плохие шейдеры.
Если вы компилируете с MinGW, используйте патч исключения dwarf2 для повышения производительности.