Пројекат Вине је објавио издање пакета вкд3д 1.7 са имплементацијом Дирецт3Д 12 који ради путем емитовања позива на Вулкан графички АПИ. Пакет укључује либвкд3д библиотеке са имплементацијама Дирецт3Д 12, либвкд3д-схадер са преводиоцем схадер модела 4 и 5 и либвкд3д-утилс са функцијама за поједностављење преноса Дирецт3Д 12 апликација, као и скуп демо примера, укључујући порт од глкгеарс у Дирецт3Д 12. Пројектни код се дистрибуира под лиценцом ЛГПЛв2.1.
Библиотека либвкд3д подржава већину Дирецт3Д 12 функција, укључујући графичке и рачунске објекте, редове и листе команди, ручке и хеап ручке, коренске потписе, приступ ван редоследа, узорке, потписе команди, коренске константе, индиректно приказивање, обришите методе *( ) и Копирај*(). У либвкд3д-схадер, имплементирано је превођење бајткода модела схадера 4 и 5 у средњу СПИР-В репрезентацију. Подржава теменске, пикселне, теселацијске, рачунарске и једноставне геометријске схадере, серијализацију и десеријализацију коренског потписа. Инструкције за шејдере укључују аритметичке, атомске и битне операције, операторе поређења и контроле тока података, инструкције узорковања, прикупљања и учитавања, операције неуређеног приступа (УАВ, Унордеред Аццесс Виев).
У новој верзији:
- Продолжена работа по улучшению компилятора шейдеров на языке HLSL (High-Level Shader Language):
- Добавлена возможность вызова пользовательских функций и использования массивов в качестве параметров пользовательских функций.
- Добавлена поддержка параметров SV_DispatchThreadID, SV_GroupID и SV_GroupThreadID.
- Добавлены встроенные функции all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
- Добавлена начальная поддержка типов низкой точности с плавающей запятой, таких как «min16float».
- Значительно улучшена поддержка профилей модели шейдеров Direct3D 1/2/3.
- Добавлен публичный API для разбора (vkd3d_shader_parse_dxbc) и сериализации (vkd3d_shader_serialize_dxbc) бинарных данных DXBC.
Извор: опеннет.ру