Kandidat za izdajo Wine 8.0 in izdaja vkd3d 1.6

Začelo se je testiranje prvega kandidata za izdajo Wine 8.0, odprte izvedbe WinAPI. Osnova kode je bila postavljena v fazo zamrznitve pred izdajo, ki se pričakuje sredi januarja. Od izdaje Wine 7.22 je bilo zaprtih 52 poročil o napakah in narejenih 538 sprememb.

Najpomembnejše spremembe:

  • Paket vkd3d z implementacijo Direct3D 12, ki deluje prek oddajanja klicev v grafični API Vulkan, je bil posodobljen na različico 1.6.
  • Izvedena je bila optimizacija pretvornikov sistemskih klicev (thunk) za Vulkan in OpenGL.
  • WinPrint je razširil podporo za tiskalniške procesorje.
  • Izboljšana nadzorna plošča z igralno palico.
  • Končano je bilo delo za zagotavljanje podpore za vrsto 'long' v funkcijski kodi printf.
  • Zaprta so poročila o napakah v zvezi z delovanjem iger: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Zaprta poročila o napakah v zvezi z delovanjem aplikacij: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Poleg tega lahko opazimo objavo projekta Wine paketa vkd3d 1.6 z implementacijo Direct3D 12, ki deluje s prevajanjem klicev v grafični API Vulkan. Paket vključuje knjižnice libvkd3d z implementacijami Direct3D 12, libvkd3d-shader s prevajalnikom modelov senčil 4 in 5 in libvkd3d-utils s funkcijami za poenostavitev prenosa aplikacij Direct3D 12, kot tudi niz demo primerov, vključno s pristaniščem glxgears v Direct3D 12. Koda projekta se distribuira pod licenco LGPLv2.1.

Knjižnica libvkd3d podpira večino funkcij Direct3D 12, vključno z grafičnimi in računskimi zmogljivostmi, čakalnimi vrstami in seznami ukazov, ročaji in ročaji kopice, korenskimi podpisi, dostopom izven vrstnega reda, vzorčevalniki, podpisi ukazov, korenskimi konstantami, posrednim upodabljanjem, jasnimi metodami *( ) in Kopiraj*(). V libvkd3d-shader je implementiran prevod bajtne kode modelov senčil 4 in 5 v vmesno predstavitev SPIR-V. Podpira vertex, pixel, teselation, compute in preproste geometrijske senčnike, serializacijo korenskega podpisa in deserializacijo. Navodila shaderja vključujejo aritmetične, atomske in bitne operacije, operaterje za primerjavo in nadzor pretoka podatkov, navodila za vzorčenje, zbiranje in nalaganje, operacije neurejenega dostopa (UAV, pogled neurejenega dostopa).

Nova različica še naprej izboljšuje prevajalnik senčil v HLSL (High-Level Shader Language), ki je na voljo od DirectX 9.0. Izboljšave, povezane s HLSL, vključujejo:

  • Izvedena je bila začetna podpora za računske senčnike.
  • Izboljšana podpora za inicializacijo in dodeljevanje sestavljenih objektov, kot so strukture in polja.
  • Dodana možnost nalaganja in shranjevanja virov tekstur z uporabo dostopa izven reda (UAV).
  • Dodana podpora za atribute funkcij in implementirane vgrajene funkcije asuint(), length(), normalize().
  • Dodana podpora za module s plavajočo vejico.
  • Implementirana je zastavica VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS za označevanje atomskih operacij na deskriptorjih predstavitve neurejenega dostopa (UAV).

Vir: opennet.ru

Dodaj komentar