Projekt Wine je objavio Vkd3d 1.13 s implementacijom Direct3D 12

Projekt Wine je objavio verziju paketa vkd3d 1.13 s implementacijom Direct3D 12, koja radi preko prevođenja poziva u grafički API Vulkan. Paket sadrži biblioteke libvkd3d s implementacijom Direct3D 12, libvkd3d-shader s prevodiocima šifri modela 4 i 5, te libvkd3d-utils s funkcijama za pojednostavljenje portiranja aplikacija Direct3D 12, kao i niz demonstracijskih primjera, uključujući port glxgears na Direct3D 12. Kod projekta se distribuira pod LGPLv2.1 licencom.

Biblioteka libvkd3d podržava većinu funkcionalnosti Direct3D 12, uključujući sredstva za grafiku i računalne operacije, redove i listu komandi, deskriptore i deskriptore hrpe, korijenske potpise, neuredni pristup, uzorkivače, potpise komandi, korijenske konstante, neizravno renderiranje, metode Clear*() i Copy*(). U libvkd3d-shader implementirano je prevođenje bajtkoda modela šifri u intermedijarnu reprezentaciju SPIR-V. Podržavaju se vertikalni, pikselni, tesselacijski, računalni i jednostavni geometrijski šifri, kao i serijalizacija i deserijalizacija korijenskog potpisa. Od šifarskih instrukcija implementirane su aritmetičke, atomarne i bitne operacije, operateri poređenja i kontrole toka prijenosa podataka, instrukcije sample, gather i load, te operacije neurednog pristupa (UAV, Unordered Access View).

V novi različici:

  • U HLSL prevodiocu dodana je podrška za razvijanje petlji (loop unrolling, optimizacija koja zamjenjuje ciklične operacije višestrukim uzastopnim kopijama koda radi efikasnije upotrebe procesorskih keševa i smanjenja razgranatości).
  • Dodana je podrška za efekt prevodioca za neke objekte stanja četvrte modela šifri.
  • Osigurana je podrška za tipove četvrte modela šifri BlendState, ComputeShader, DomainShader, GeometryShader, HullShader, DepthStencilState i RasterizerState, kao i funkcije OMSetRenderTargets(), SetBlendState(), SetComputeShader(), SetDomainShader(), SetGeometryShader(), SetHullShader(), SetPixelShader(), SetVertexShader(), SetDepthStencilState() i SetRasterizerState().
  • U šifarskom prevodiocu implementirana je podrška za analizu i skladištenje u raznim formatima inicijalizacijskih vrijednosti za globalne varijable, parametre funkcija i anotacije.
  • Dodana je podrška za registar prostora šifarskog modela 5.1.
  • Implementirane so vgrajene funkcije tex1D(), tex2D(), tex3D(), texCUBE(), asint(), f16tof32(), faceforward(), GetRenderTargetSampleCount(), rcp(), tex2Dbias(), tex1Dgrad(), tex2Dgrad(), tex3Dgrad() in texCUBEgrad().
  • V libvkd3d je bil dodan vmesnik ID3D12CommandList6 in omogočeno je ustvarjanje tekstur, katerih stiskanje poteka na ravni posameznih blokov (na primer, ločeno se stiskajo bloki velikosti 4×4 piksela).
  • Dodana je podpora za strukturo vkd3d_shader_parameter_info in parametre VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION in VKD3D_SHADER_PARAMETER_TYPE_BUFFER.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster