Հրապարակվել է Vulkan 1.3 գրաֆիկական ստանդարտը

Երկու տարվա աշխատանքից հետո գրաֆիկական ստանդարտների Khronos կոնսորցիումը հրապարակել է Vulkan 1.3 ճշգրտումը, որը սահմանում է API՝ GPU-ների գրաֆիկական և հաշվողական հնարավորություններին մուտք գործելու համար: Նոր ճշգրտումը ներառում է երկու տարվա ընթացքում կուտակված ուղղումներ և ընդլայնումներ: Նշվում է, որ Vulkan 1.3 ճշգրտման պահանջները նախատեսված են OpenGL ES 3.1 դասի գրաֆիկական սարքավորումների համար, որոնք կապահովեն նոր գրաֆիկական API-ի աջակցություն բոլոր GPU-ներում, որոնք աջակցում են Vulkan 1.2-ին։ Vulkan SDK գործիքները նախատեսվում է հրապարակել փետրվարի կեսերին։ Բացի հիմնական բնութագրից, նախատեսվում է առաջարկել լրացուցիչ ընդլայնումներ միջին և բարձրակարգ շարժական և աշխատասեղանի սարքերի համար, որոնք կաջակցվեն որպես «Vulkan Milestone» հրատարակության մաս:

Միևնույն ժամանակ, ներկայացվում է գրաֆիկական քարտերի և սարքի դրայվերների նոր բնութագրերի և լրացուցիչ ընդլայնումների աջակցությունն իրականացնելու ծրագիր: Intel-ը, AMD-ը, ARM-ը և NVIDIA-ն պատրաստվում են թողարկել Vulkan 1.3-ին աջակցող արտադրանք: Օրինակ, AMD-ը հայտարարեց, որ շուտով կաջակցի Vulkan 1.3-ին AMD Radeon RX Vega գրաֆիկական քարտերի շարքում, ինչպես նաև AMD RDNA ճարտարապետության վրա հիմնված բոլոր քարտերում: NVIDIA-ն պատրաստվում է հրապարակել վարորդներ՝ Vulkan 1.3-ի աջակցությամբ Linux-ի և Windows-ի համար: ARM-ը Մալիի GPU-ներին կավելացնի Vulkan 1.3-ի աջակցությունը:

Հիմնական նորամուծությունները.

  • Կիրառվել է պարզեցված մատուցման անցագրերի (Rreamlining Render Passes, VK_KHR_dynamic_rendering) աջակցությունը, որը թույլ է տալիս սկսել արտապատկերումը՝ առանց ռենդերային անցումների և շրջանակային բուֆերային օբյեկտների ստեղծման:
  • Ավելացվել են նոր ընդլայնումներ՝ գրաֆիկական խողովակաշարերի կազմման կառավարումը պարզեցնելու համար (խողովակաշար, գործողությունների մի շարք, որը վեկտորային գրաֆիկական պարզունակները և հյուսվածքները վերածում է պիքսելային ներկայացումների):
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - ավելացրեք լրացուցիչ դինամիկ վիճակներ՝ կրճատելու կազմված և կցված վիճակի օբյեկտների քանակը:
    • VK_EXT_pipeline_creation_cache_control - Ապահովում է առաջադեմ վերահսկողություն, թե երբ և ինչպես են խողովակաշարերը կազմվում:
    • VK_EXT_pipeline_creation_feedback - Տրամադրում է տեղեկատվություն կազմված խողովակաշարերի մասին՝ պրոֆիլավորումն ու վրիպազերծումը հեշտացնելու համար:
  • Մի շարք գործառույթներ ընտրովիից տեղափոխվել են պարտադիրի։ Օրինակ, բուֆերային հղումների ներդրումը (VK_KHR_buffer_device_address) և Vulkan հիշողության մոդելը, որը սահմանում է, թե ինչպես կարող են զուգահեռ շղթաները մուտք գործել համօգտագործվող տվյալներ և համաժամացման գործողություններ, այժմ պարտադիր են:
  • Մանրահատիկ ենթախմբի հսկողությունը (VK_EXT_subgroup_size_control) տրամադրվում է, որպեսզի վաճառողները կարողանան աջակցություն տրամադրել բազմաթիվ ենթախմբերի չափերին, իսկ մշակողները կարող են ընտրել իրենց պահանջած չափը:
  • Տրվել է VK_KHR_shader_integer_dot_product ընդլայնումը, որը կարող է օգտագործվել մեքենայական ուսուցման շրջանակների աշխատանքը օպտիմալացնելու համար՝ կետային արտադրանքի գործողությունների ապարատային արագացման շնորհիվ:
  • Ընդգրկված են ընդհանուր 23 նոր ընդլայնումներ.
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_maintenance4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_համաժամացում2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_ֆորմատներ
    • VK_EXT_extended_dynamic_state
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_image_ruustness
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • Vk_ext_private_data
    • VK_EXT_shader_demote_______________________________________________ ____________ #_ #_ #_ # # # # # # # # # # # # # # # # # # # # #__Ս_Սեյդերը__Կանաչելը
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_ֆորմատներ
  • Ավելացրել է նոր օբյեկտի տեսակ VkPrivateDataSlot: Իրականացվել է 37 նոր հրամանատարություն և ավելի քան 60 կառույց։
  • SPIR-V 1.6 ճշգրտումը թարմացվել է՝ սահմանելու միջանկյալ ստվերային ներկայացում, որն ունիվերսալ է բոլոր հարթակների համար և կարող է օգտագործվել ինչպես գրաֆիկայի, այնպես էլ զուգահեռ հաշվարկների համար: SPIR-V-ը ներառում է առանձին ստվերային կոմպիլյացիայի փուլի բաժանում միջանկյալ ներկայացման մեջ, որը թույլ է տալիս ստեղծել տարբեր բարձր մակարդակի լեզուների ճակատներ: Հիմնվելով տարբեր բարձր մակարդակի իրականացումների վրա՝ առանձին գեներացվում է մեկ միջանկյալ կոդ, որը կարող է օգտագործվել OpenGL, Vulkan և OpenCL դրայվերների կողմից՝ առանց ներկառուցված շեյդեր կոմպիլյատորի օգտագործման։
  • Առաջարկվում է համատեղելիության պրոֆիլների հայեցակարգը: Google-ն առաջինն է, որը թողարկել է ելակետային պրոֆիլ Android պլատֆորմի համար, որը կհեշտացնի Vulkan-ի առաջադեմ հնարավորությունների աջակցության մակարդակը որոշելու Vulkan 1.0-ի սահմանաչափից դուրս սարքի վրա: Շատ սարքերի համար պրոֆիլի աջակցությունը կարող է տրամադրվել առանց OTA թարմացումների տեղադրման:

Հիշեցնենք, որ Vulkan API-ն աչքի է ընկնում դրայվերների արմատական ​​պարզեցմամբ, GPU-ի հրամանների ստեղծման կիրառական կողմին փոխանցելով, վրիպազերծող շերտերը միացնելու ունակությամբ, տարբեր հարթակների համար API-ի միավորմամբ և նախապես կազմվածի օգտագործմամբ: Կոդերի միջանկյալ ներկայացում GPU-ի կողմից կատարման համար: Բարձր կատարողականություն և կանխատեսելիություն ապահովելու համար Vulkan-ը հավելվածներին տրամադրում է GPU-ի գործառնությունների անմիջական վերահսկողություն և GPU-ի բազմաշերտ աջակցում, ինչը նվազագույնի է հասցնում վարորդի ծախսերը և դարձնում վարորդի կողմից շատ ավելի պարզ և կանխատեսելի հնարավորություններ: Օրինակ, օպերացիաները, ինչպիսիք են հիշողության կառավարումը և սխալների կառավարումը, իրականացված OpenGL-ում վարորդի կողմից, տեղափոխվում են Vulkan հավելվածի մակարդակ:

Vulkan-ն ընդգրկում է բոլոր հասանելի հարթակները և ապահովում է մեկ API աշխատասեղանի, բջջայինի և համացանցի համար՝ թույլ տալով մեկ ընդհանուր API օգտագործել բազմաթիվ GPU-ներում և հավելվածներում: Շնորհիվ Vulkan-ի բազմաշերտ ճարտարապետության, որը նշանակում է գործիքներ, որոնք աշխատում են ցանկացած GPU-ի հետ, OEM-ները կարող են օգտագործել արդյունաբերության ստանդարտ գործիքներ՝ մշակման ընթացքում կոդի վերանայման, վրիպազերծման և պրոֆիլավորման համար: Շեյդերների ստեղծման համար առաջարկվում է նոր շարժական միջանկյալ ներկայացուցչություն՝ SPIR-V, որը հիմնված է LLVM-ի և OpenCL-ի հետ հիմնական տեխնոլոգիաների փոխանակման վրա: Սարքերը և էկրանները կառավարելու համար Vulkan-ն առաջարկում է WSI (Window System Integration) ինտերֆեյսը, որը լուծում է մոտավորապես նույն խնդիրները, ինչ EGL-ը OpenGL ES-ում: WSI-ի աջակցությունը հասանելի է Wayland-ում. Vulkan օգտագործող բոլոր հավելվածները կարող են աշխատել չփոփոխված Wayland սերվերների միջավայրում: WSI-ով աշխատելու հնարավորությունը տրամադրվում է նաև Android-ի, X11-ի (DRI3-ով), Windows-ի, Tizen-ի, macOS-ի և iOS-ի համար։

Source: opennet.ru

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