Wine նախագիծը հրապարակել է Vkd3d 1.7-ը Direct3D 12-ի ներդրմամբ

The Wine նախագիծը հրապարակել է vkd3d 1.7 փաթեթի թողարկումը 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):

Նոր տարբերակում.

  • Շարունակվել է աշխատանքը՝ բարելավելու shader կոմպիլյատորը HLSL-ում (High-Level Shader Language).
    • Ավելացվեց մաքսային գործառույթներ կանչելու և զանգվածները որպես մաքսային ֆունկցիաների պարամետրեր օգտագործելու հնարավորություն:
    • Ավելացվեց աջակցություն SV_DispatchThreadID, SV_GroupID և SV_GroupThreadID պարամետրերի համար:
    • Ավելացվեցին ներկառուցված գործառույթները all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , step(), transpose():
    • Ավելացվեց նախնական աջակցություն ցածր ճշգրտության լողացող կետի տեսակների համար, ինչպիսիք են «min16float»:
  • Զգալիորեն բարելավված աջակցություն Direct3D 1/2/3 shader մոդելի պրոֆիլների համար:
  • Ավելացվեց հանրային API՝ DXBC երկուական տվյալների վերլուծության (vkd3d_shader_parse_dxbc) և սերիականացման (vkd3d_shader_serialize_dxbc):

Source: opennet.ru

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