Գինու նախագիծ
libvkd3d գրադարան
libvkd3d-shader-ում իրականացվում է 4-րդ և 5-րդ մոդելների բայթկոդի թարգմանությունը միջանկյալ SPIR-V ներկայացման մեջ: Աջակցվում են գագաթնակետ, պիքսել, թեսսելացիա, հաշվարկային և պարզ երկրաչափական ստվերներ, արմատային ստորագրության սերիալիզացիա և ապասերիալիզացիա: Shader-ի հրահանգները ներառում են թվաբանական, ատոմային և բիթային գործողություններ, համեմատության և տվյալների հոսքի վերահսկման օպերատորներ, նմուշառում, հավաքում և բեռնում հրահանգներ, չպատվիրված մուտքի գործողություններ (UAV, Unordered Access View):
Առավել նշանակալիցների շարքում
- libvkd3d-shader գրադարանը պատրաստ է օգտագործելու երրորդ կողմի նախագծերում:
- Tessellation shader աջակցություն:
- Աջակցություն արմատային ստորագրությունների փոխակերպման, սերիալացման և ապասերիալացման (vkd3d_serialize_versioned_root_signature() և vkd3d_create_versioned_root_signature_deserializer()):
- Աջակցություն հոսքային ելքի համար:
- Direct3D 12-ի նախկինում անհասանելի բազմաթիվ գործառույթների իրականացում, ներառյալ բազմակի նմուշառման աջակցություն, ռեսուրսների ամրագրում,
անուղղակի ինդեքսավորված արտապատկերում, խորության մատուցում առանց պիքսելային շեյդերների, միաժամանակյա մուտք դեպի ռեսուրսներ տարբեր հրամանների հերթերից, Null-views: - Ավելացվել են շրջակա միջավայրի փոփոխականներ՝ VKD3D_CONFIG՝ libvkd3d-ի վարքագիծը փոխելու տարբերակները սահմանելու համար, և VKD3D_VULKAN_DEVICE՝ սարքը Vulkan API-ի համար փոխարինելու համար:
- Ավելացվել է bufinfo shader հրահանգների աջակցություն,
eval_centroid,
eval_sample_index,
ld2ms,
նմուշ_բ,
նմուշ_դ,
նմուշ_տեղեկություն,
նմուշներ.
Source: opennet.ru