Projekt Wine objavio je Vkd3d 1.11 s implementacijom Direct3D 12

Projekt Wine objavio je verziju paketa vkd3d 1.11 s implementacijom Direct3D 12, koja radi putem prevođenja poziva u grafički API Vulkan. Paket uključuje biblioteke libvkd3d s implementacijom Direct3D 12, libvkd3d-shader s prevoditeljem modela šejdera 4 i 5 te libvkd3d-utils s funkcijama za pojednostavljenje portiranja aplikacija Direct3D 12, kao i set prikaznih primjera, uključujući port glxgears na Direct3D 12. Kod projekta distribuira se pod licencom LGPLv2.1.

Biblioteka libvkd3d podržava većinu mogućnosti Direct3D 12, uključujući alate za grafiku i izračune, redove i popise naredbi, deskriptore i deskriptore hrpa, korijenske potpisne oblike, neuredni pristup, uzorce, potpisne oblike naredbi, korijenske konstante, neizravno (indirect) iscrtavanje, metode Clear*() i Copy*(). U libvkd3d-shader implementirana je translacija bajtkoda modela šejdera 4 i 5 u međurezultat SPIR-V. Podržani su vertikalni, pikselni, teselacijski, izračunateljski i jednostavni geometrijski šejderi, serijalizacija i deserijalizacija korijene potpisne oblike. Od šejderskih instrukcija implementirane su aritmetičke, atomske i bitne operacije, operatori usporedbe i kontrole toka podataka, instrukcije sample, gather i load, operacije neurednog pristupa (UAV, Unordered Access View).

U novoj verziji:

  • Dodavana je osnovna podrška za prevođenje starog bajtkoda Direct3D u međurezultat šejdera SPIR-V.
  • U HLSL prevoditelju dodana je osnovna podrška za prevođenje profila efekata Direct3D (‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’ i ‘fx_5_0’).
  • Dodana je eksperimentalna podrška za prevođenje međuzapisa DXIL (DirectX Intermediate Language) u prikaz SPIR-V i asemblerske instrukcije šejdera Direct3D.
  • U HLSL dodana je podrška za profile ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’ i ‘fx_5_0’, implementirane su ugrađene funkcije acos(), asin(), atan() i atan2(), osigurana je podrška za resurse ‘Buffer’.
  • Dodana je optimizacija koja izvršava ažuriranje deskriptora u asinkronom načinu rada, što može dovesti do ubrzanja aplikacija koje ažuriraju veliki broj deskriptora u svakom okviru.
  • Osigurana je upotreba Vulkan proširenja VK_EXT_mutable_descriptor_type i VK_EXT_shader_viewport_index_layer za poboljšanje učinkovitosti rada s bazom deskriptora i ubrzanje renderiranja nizova vertikalnih i teselacijskih šejdera.
  • Dodana je podrška za sučelja ID3D12Device7 i ID3D12Resource2. U sučelje ID3D12Device4 dodana je metoda GetResourceAllocationInfo1().
  • Dodana je podrška za sučelja D3DReflect() i D3DDisassemble().
  • Provjera podržava zahtjeve D3D12_FEATURE_D3D12_OPTIONS6, D3D12_FEATURE_D3D12_OPTIONS7, D3D12_FEATURE_D3D12_OPTIONS8, D3D12_FEATURE_D3D12_OPTIONS9, D3D12_FEATURE_D3D12_OPTIONS10, D3D12_FEATURE_D3D12_OPTIONS11, D3D12_FEATURE_D3D12_OPTIONS12, D3D12_FEATURE_D3D12_OPTIONS13.
  • Dodane su nove opcije za kompilaciju: VKD3D_SHADER_COMPILE_OPTION_FEATURE, VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64, VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64, VKD3D_SHADER_API_VERSION_1_10 i VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER.
  • U funkcijama D3D12CreateDeviceVKD3D() i D3D12CreateDevice() uključeni su Vulkan ekstenzije VK_KHR_android_surface, VK_KHR_wayland_surface, VK_KHR_win32_surface, VK_KHR_xlib_surface, VK_EXT_metal_surface i VK_MVK_ios_surface.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster