Вышел vkd3d 2.1 — библиотека для портирования Direct3D на Vulkan, ключевой компонент Wi...
Вышел vkd3d 2.1 — библиотека для портирования Direct3D на Vulkan, ключевой компонент Wine/Proton для игр на Linux • HLSL-шейдеры: исправлен баг с вложенными вызовами функций (влиял на корректность рендеринга); добавлен новый проход dead store elimination — точнее повторяет поведение оригинального d3dcompiler/fxc. • Поддержка арифметики с типом `half` в шейдерных моделях 4/5. • Ужесточена валидация семантик входов/выходов шейдеров (ближе к поведению Windows-компилятора — меньше странных багов совместимости). • Поддержка старого байткода Direct3D: инструкции `sub`, `break_cmp`, новые модификаторы операндов. • SPIR-V: конвертация float→int64 (нужна для DXIL-шейдеров). • Прогресс в экспериментальном GLSL-бэкенде: атомарные операции, барьеры, косвенная адресация регистров, UAV/TGSM для raw и structured буферов. • Значительно расширена поддержка шейдерной рефлексии (ID3D12ShaderReflection и версии для D3D10/10.1/11) — важно для инструментов и части игровых движков. • Новая утилита `vkd3d-dxbc —update` для замены секций в DXBC-файлах. Для Linux-гейминга: релиз в первую очередь про точность и совместимость — множество исправлений подгоняют поведение шейдерного компилятора под оригинальный Windows d3dcompiler, что снижает число визуальных багов и сбоев в играх на Proton/Steam Play, плюс прогресс GLSL-бэкенда полезен для не-Vulkan путей рендеринга.
Канал в каталоге Максиметера
65 подписчиков · Игры