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
будучи абсолютно ужасным.
- Работает вокруг MinGW,
- Отложено
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.
- Фиксированный
NaN
/INF
свет attentations рендеринга неправильно ( @ CME42 )- Исправлена демонстрация виртуальной водки от 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 или выше.
- Документация Microsoft для
- Исправлена потенциальная гонка, которая могла произойти в ProcessVertices
- Исправлено падение Metal Slug X при запуске
- В этой старой версии ANGLE ошибка указана
D3DFMT_D32
как возможный формат глубины, но затем перестает обрабатывать ее при преобразовании OpenGL, что приводитUNREACHABLE
к возникновению ошибки и, следовательно, к аварийному завершению . - Отключено
D3DFMT_D32
для этой игры.
- В этой старой версии ANGLE ошибка указана
- Исправлен автоскульпт в Need for Speed: Carbon
- Отметьте,
MANAGED
что для загрузки требуется блокировка, а не разблокировка, игра использует эту причуду, поскольку не разблокирует ее до окончания кадра, но все же ожидает, что вы увидите предварительный просмотр, заблокировав его.
- Отметьте,
- Перенесено из профилей приложения The Sims 2 в заголовки дополнительного продукта ( @nelsonjchen )
- Фиксированные черные деревья в Risen 1
- Положение необходимо пометить как инвариант.
Особенности версии D9VK 0.40.1:
- Исправлено значение по умолчанию для COLOR0 в вершинных шейдерах: vec4 (1)
- Исправлена ошибка, из-за которой биты слотов для выходов шейдера по умолчанию неправильно применялись и, следовательно, некорректно исправлялись бэкэндом, вызывая их замену на vec4 (0)
Отступление от разработчика:
Не используйте в Wine
d3dx9
илиd3dcompiler
с d9vk. Они делают недопустимые вызовы API и генерируют плохие шейдеры.Если вы компилируете с MinGW, используйте патч исключения dwarf2 для повышения производительности.