Wine projekt avaldas Vkd3d 1.11, mis sisaldab Direct3D 12 teostust.

Wine projekt avaldas vkd3d 1.11 paketi, mis sisaldab Direct3D 12 teostust, mis töötab API Vulkan graafikakihis kutsete tõlke kaudu. Pakett sisaldab teeke libvkd3d, mis sisaldab Direct3D 12 teostust, libvkd3d-shader, mis sisaldab 4. ja 5. mudeli shaderite tõlget, ja libvkd3d-utils, mis sisaldab funktsioone, et hõlbustada Direct3D 12 rakenduste portimist, samuti hulgaliselt näidisdemo, sealhulgas glxgearsi port Direct3D 12.le. Projekti kood levitatakse LGPLv2.1 litsentsi alusel.

libvkd3d raamatukogu toetab enamikku Direct3D 12 funktsioone, sealhulgas graafika ja arvutuste tööriistu, järjekordi ja käskluste loendeid, deskriptorid ja hunnikutes deskriptorid, juure signtuurid, süstemaatiline juurdepääs, katsurfiltrid, käskluste signtuurid, juure konstantsed, kaudne (indirect) joonistamine, Clear*() ja Copy*() meetodid. libvkd3d-shader võimaldab 4. ja 5. versiooni shaderite byte-code'i tõlget vahepealseks kujutiseks SPIR-V. Toetatakse tipu-, pikslite-, tessleeringu-, arvutus- ja lihtsaid geomeetrilisi shadereid, juure signtuuride serialiseerimist ja deserialiseerimist. Shaderi käskudest on väljatöötatud aritmeetilised, aatomilised ja bitised operatsioonid, võrdlusoperaatorid ja andmevoo juhtimise käsklused, instruktsioonid sample, gather ja load, operatsioonid süstemaatilise juurdepääsu (UAV, Unordered Access View) jaoks.

Uues versioonis:

  • Lisatud algeline tugi vana Direct3D byte-code'i kompileerimiseks shaderite SPIR-V vahepealse kuvandi jaoks.
  • HLSL kompilaatorisse on lisatud algeline tugi efekti Direct3D profiilide («fx_2_0», «fx_4_0», «fx_4_1» ja «fx_5_0») kompileerimiseks.
  • Eksperimentaalne tugi DXIL (DirectX Intermediate Language) vaheformaadi kompileerimiseks SPIR-V ja Direct3D shaderite assemblereinstruktsioonide jaoks on lisatud.
  • HLSL-ile on lisatud tugi profiilideks 'fx_2_0', 'fx_4_0', 'fx_4_1' ja 'fx_5_0', samuti on rakendatud sisseehitatud funktsioonid acos(), asin(), atan() ja atan2(), ning ressursside 'Buffer' tugi on tagatud.
  • On lisatud optimeerimine, mis täidab descriptorite värskendamise asünkroonselt, mis võib kiirendada rakendusi, mis uuendavad iga kaadri kohta suurt arvu deskriptorite.
  • On tagatud Vulkan-laienemiste VK_EXT_mutable_descriptor_type ja VK_EXT_shader_viewport_index_layer kasutamine, et tõhustada deskriptorite basseiniga töötamist ja kiirendada vertex- ja tessellation-shaderite renderdamist.
  • On lisatud tugi liidesele ID3D12Device7 ja ID3D12Resource2. Liidesele ID3D12Device4 on lisatud meetod GetResourceAllocationInfo1().
  • On lisatud tugi liidesele D3DReflect() ja D3DDisassemble().
  • On rakendatud kontrollkärped 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.
  • Lisatud on uued kogumise valikud: VKD3D_SHADER_COMPILE_OPTION_FEATURE, VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64, VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64, VKD3D_SHADER_API_VERSION_1_10 ja VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER.
  • Funktsioonides D3D12CreateDeviceVKD3D() ja D3D12CreateDevice() on kasutatud Vulkan-laieneid VK_KHR_android_surface, VK_KHR_wayland_surface, VK_KHR_win32_surface, VK_KHR_xlib_surface, VK_EXT_metal_surface ja VK_MVK_ios_surface.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster