Wine նախագիծը թողարկեց Vkd3d 1.3-ը Direct3D 12-ի ներդրմամբ

Մեկուկես տարի մշակումից հետո Wine նախագիծը հրապարակել է vkd3d 1.3 փաթեթի թողարկումը Direct3D 12 ներդրմամբ, որն աշխատում է Vulkan գրաֆիկական API-ի հեռարձակման զանգերի միջոցով: Փաթեթը ներառում է libvkd3d գրադարաններ Direct3D 12-ի ներդրմամբ, libvkd3d-shader՝ 4 և 5 մոդելների թարգմանիչով և libvkd3d-utils՝ Direct3D 12 հավելվածների տեղափոխումը պարզեցնելու գործառույթներով, ինչպես նաև մի շարք ցուցադրական օրինակներ, ներառյալ պորտը: glxgears-ից դեպի Direct3D 12: Ծրագրի կոդը բաշխված է LGPLv2.1-ի համաձայն լիցենզավորված:

libvkd3d գրադարանն աջակցում է Direct3D 12 գործառույթների մեծամասնությանը, ներառյալ գրաֆիկական և հաշվողական սարքերը, հերթերն ու հրամանների ցուցակները, բռնակները և կույտային բռնակները, արմատային ստորագրությունները, անկանխատեսելի մուտքը, նմուշառիչները, հրամանների ստորագրությունները, արմատային հաստատունները, անուղղակի մատուցումը, Մաքրել մեթոդները *( ) և Պատճենել*().

libvkd3d-shader-ում իրականացվում է 4-րդ և 5-րդ մոդելների բայթկոդի թարգմանությունը միջանկյալ SPIR-V ներկայացման մեջ: Աջակցվում են գագաթնակետ, պիքսել, թեսսելացիա, հաշվարկային և պարզ երկրաչափական ստվերներ, արմատային ստորագրության սերիալիզացիա և ապասերիալիզացիա: Shader-ի հրահանգները ներառում են թվաբանական, ատոմային և բիթային գործողություններ, համեմատության և տվյալների հոսքի վերահսկման օպերատորներ, նմուշառում, հավաքում և բեռնում հրահանգներ, չպատվիրված մուտքի գործողություններ (UAV, Unordered Access View):

Vkd3d 1.3-ի առավել նշանակալից նորամուծություններից են.

  • Ավելացվեց նախնական աջակցություն HLSL-ում (High-Level Shader Language) շեյդերների կազմման և վերամշակման համար՝ տրամադրված սկսած DirectX 9.0-ից:
  • Ավելացված է աջակցություն 5.1 ստվերային մոդելում սահմանված նկարագրիչների զանգվածներին:
  • Աջակցում է կրկնակի ճշգրտությամբ լողացող կետի գործողություններին շեյդերներում, անուղղակի հասցեագրում թեսելլյացիոն շեյդերների համար, տրաֆարետների արտահանում շեյդերներից, «ճշգրիտ» ստվերային փոփոխիչ և հիշողության ռեսուրսների գլոբալ խոչընդոտներ:
  • Իրականացվել է Direct3D շեյդերները բայթկոդից հավաքման ներկայացման մեջ ապամոնտաժելու հնարավորությունը:
  • Ավելացված է աջակցություն Direct3D բայթկոդի հին ձևաչափի վերլուծության համար, որն օգտագործվում է Direct3D 1, 2 և 3 ստվերային մոդելներում:
  • libvkd3d-ն ավելացնում է Direct3D 12-ի առանձնահատկությունները, ինչպիսիք են արմատային ստորագրությունները, անկանոն տեսքի հաշվիչները, ելքի համար տրամաբանական միաձուլման օպերատորները և mirror_once հյուսվածքների հասցեավորման ռեժիմը: Ավելացվեց vkd3d_host_time_domain_info կառուցվածքը:

Source: opennet.ru

Добавить комментарий