Vinprosjekt publisert Vkd3d 1.5 med Direct3D 12 implementering

Wine-prosjektet har publisert utgivelsen av vkd3d 1.5-pakken med en implementering av Direct3D 12 som fungerer gjennom kringkastingsanrop til Vulkan graphics API. Pakken inkluderer libvkd3d-biblioteker med implementeringer av Direct3D 12, libvkd3d-shader med en oversetter av shader-modeller 4 og 5 og libvkd3d-utils med funksjoner for å forenkle porteringen av Direct3D 12-applikasjoner, samt et sett med demo-eksempler, inkludert en port av glxgears til Direct3D 12. Prosjektkoden er distribuert lisensiert under LGPLv2.1.

Libvkd3d-biblioteket støtter de fleste Direct3D 12-funksjoner, inkludert grafikk- og databehandlingsfasiliteter, køer og kommandolister, håndtak og heap-håndtak, rotsignaturer, tilgang utenfor rekkefølge, samplere, kommandosignaturer, rotkonstanter, indirekte gjengivelse, klare metoder *( ) og Copy*().

I libvkd3d-shader implementeres oversettelsen av bytekode for shader-modellene 4 og 5 til en mellomliggende SPIR-V-representasjon. Støtter toppunkt, piksel, tessellasjon, beregning og enkel geometriskyggelegging, rotsignaturserialisering og deserialisering. Shader-instruksjoner inkluderer aritmetiske, atom- og bitoperasjoner, sammenlignings- og dataflytkontrolloperatører, sample, samle og laste instruksjoner, uordnede tilgangsoperasjoner (UAV, Unordered Access View).

I den nye versjonen:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0. В том числе в структурах и массивах улучшена поддержка объектных типов HLSL, таких как Texture2D, добавлена поддержка встроенных функций dot(), ldexp() и lerp(), для 4 и 5 моделей шейдеров добавлена поддержка логических операторов «and», «or» и «not», а также возможность приведения булевых типов.
  • Реализована опция VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV для загрузки неупорядоченного представления доступа (UAV) для многокомпонентных форматов SPIR-V (DXGI_FORMAT).

Kilde: opennet.ru

Legg til en kommentar