Projekti Wine publikoi Vkd3d 1.16 me realizimin e Direct3D 12

Projekti Wine publikoi versionin e paketës vkd3d 1.16 me implementimin e Direct3D 12, e cila funksionon përmes transkription të thirrjeve në API-në grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me transkriterin për modelet e shaderëve 4 dhe 5 dhe libvkd3d-utils me funksione për të lehtësuar portimin e aplikacioneve Direct3D 12, si dhe një grup shembujsh demonstrues, duke përfshirë portimin e glxgears në Direct3D 12. Kodi i projektit shpërndahet nën licencën LGPLv2.1.

Biblioteka libvkd3d mbështet shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikën dhe llogaritjet, radhët dhe listat e komandave, deskriptorët dhe deskriptorët e kupës, nënshkrimet rrënjësore, aksesin e paorganizuar, Sampler-at, nënshkrimet e komandave, konstantet rrënjësore, vizatimin indirekt, metodet Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar translacioni i kodit bajt të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Përkrahen shenjuesit e nyjave, pikselit, tessellation, llogaritës dhe geometrikët e thjeshtë, si dhe serializimi dhe deserializimi i nënshkrimit rrënjësor. Nga instrukcionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorët e krahasimit dhe të kontrollit të fluksit të transmetimit të të dhënave, instrukcionet sample, gather dhe load, si dhe operacionet e aksesit të paorganizuar (UAV, Unordered Access View).

Në këtë version të ri:

  • U stabilizua dhe u pĂ«rfshi si standard mbĂ«shtetja pĂ«r shaderĂ«t DXIL (DirectX Intermediate Language).
  • NĂ« kompilatorin e gjuhĂ«s sĂ« shaderĂ«ve HLSL u shtua mbĂ«shtetje fillestare pĂ«r shaderĂ«t gjeometrikĂ«. PĂ«r modelet e shaderĂ«ve 1, 2, 3 Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r adresim tĂ« tĂ«rthortĂ«, module dhe kufizime tĂ« vlerave.
  • NĂ« bibliotekĂ«n libvkd3d u shpall mbĂ«shtetje pĂ«r modelin e shaderĂ«ve 6.0. NĂ« ndĂ«rfaqen e programit ID3D12Device1 Ă«shtĂ« implementuar metoda SetEventOnMultipleFenceCompletion(). U shtua mbĂ«shtetje pĂ«r zgjerimin Vulkan VK_KHR_zero_initialize_workgroup_memory pĂ«r inicializimin e memories me zero pĂ«r shaderĂ«t. NĂ« numĂ«r u pĂ«rfshi zgjerimi Vulkan VK_KHR_maintenance2, i propozuar nĂ« specifikimin Vulkan 1.1.
  • U shtua mbĂ«shtetje pĂ«r disasembimin e shaderĂ«ve SPIR-V dhe efekteve binarĂ« "fx_2_0".
  • U shtua mbĂ«shtetje eksperimentale pĂ«r adresimin e tĂ«rthortĂ« tĂ« bufferĂ«ve tĂ« pĂ«rhershĂ«m nĂ« GLSL (Gjuha e ShaderĂ«ve OpenGL).
  • NĂ« implementimin e gjuhĂ«s sĂ« shaderĂ«ve MSL (Gjuha e ShaderĂ«ve Metal), e cila pĂ«rdoret nga Apple nĂ« API-nĂ« grafike Metal, u shtua mundĂ«sia pĂ«r tĂ« ngarkuar tekstura.
  • U shtua mbĂ«shtetje pĂ«r funksione tĂ« plota HLSL: AllMemoryBarrier(), AllMemoryBarrierWithGroupSync(), DeviceMemoryBarrier(), DeviceMemoryBarrierWithGroupSync(), GroupMemoryBarrier() dhe GroupMemoryBarrierWithGroupSync().
  • U implementuan flagĂ«t VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY, VKD3D_SHADER_COMPONENT_INT64, VKD3D_SHADER_COMPONENT_FLOAT16, VKD3D_SHADER_COMPONENT_UINT16, VKD3D_SHADER_COMPONENT_INT16, VKD3D_SHADER_RESOURCE_DATA_NONE dhe VKD3D_SHADER_RESOURCE_DATA_UINT.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster