Qrafik standart Vulkan 1.3 nəşr olundu

İki illik işdən sonra Khronos qrafik standartları konsorsiumu GPU-ların qrafika və hesablama imkanlarına daxil olmaq üçün API müəyyən edən Vulkan 1.3 spesifikasiyasını nəşr etdi. Yeni spesifikasiya iki il ərzində yığılmış düzəlişləri və genişləndirmələri özündə birləşdirir. Qeyd olunur ki, Vulkan 1.3 spesifikasiyasının tələbləri OpenGL ES 3.1 sinif qrafik avadanlığı üçün nəzərdə tutulub ki, bu da Vulkan 1.2-ni dəstəkləyən bütün GPU-larda yeni qrafik API-nin dəstəyini təmin edəcək. Vulkan SDK alətlərinin fevralın ortalarında nəşri planlaşdırılır. Əsas spesifikasiyaya əlavə olaraq, “Vulkan Milestone” nəşrinin bir hissəsi kimi dəstəklənəcək orta və yüksək səviyyəli mobil və masaüstü cihazlar üçün əlavə genişləndirmələrin təklif edilməsi planlaşdırılır.

Eyni zamanda, qrafik kartlarda və cihaz drayverlərində yeni spesifikasiya və əlavə genişləndirmələr üçün dəstəyin həyata keçirilməsi planı təqdim olunur. Intel, AMD, ARM və NVIDIA Vulkan 1.3-ü dəstəkləyən məhsulları buraxmağa hazırlaşır. Məsələn, AMD tezliklə Vulkan 1.3-ü AMD Radeon RX Vega seriyalı qrafik kartları, eləcə də AMD RDNA arxitekturasına əsaslanan bütün kartlarda dəstəkləyəcəyini açıqladı. NVIDIA Linux və Windows üçün Vulkan 1.3 dəstəyi ilə sürücüləri dərc etməyə hazırlaşır. ARM Mali GPU-larına Vulkan 1.3 dəstəyi əlavə edəcək.

Əsas yeniliklər:

  • Sadələşdirilmiş render ötürmələrinə dəstək (Streamlining Render Passes, VK_KHR_dynamic_rendering) həyata keçirildi ki, bu da sizə render keçidləri və çərçivə bufer obyektləri yaratmadan göstərməyə başlamağa imkan verir.
  • Qrafik boru kəmərinin tərtibinin idarə edilməsini sadələşdirmək üçün yeni genişləndirmələr əlavə edilmişdir (pipeline, vektor qrafikasının primitivlərini və fakturalarını piksel təsvirlərinə çevirən əməliyyatlar toplusu).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - tərtib edilmiş və əlavə edilmiş dövlət obyektlərinin sayını azaltmaq üçün əlavə dinamik vəziyyətlər əlavə edin.
    • VK_EXT_pipeline_creation_cache_control - Boru kəmərlərinin nə vaxt və necə tərtib edildiyinə dair qabaqcıl nəzarətləri təmin edir.
    • VK_EXT_pipeline_creation_feedback - Profilin yaradılması və sazlanması asanlaşdırmaq üçün tərtib edilmiş boru kəmərləri haqqında məlumat verir.
  • Bir sıra funksiyalar isteğe bağlı funksiyadan məcburi funksiyaya keçirilib. Məsələn, bufer istinadlarının (VK_KHR_buffer_device_address) və paralel başlıqların paylaşılan məlumatlara və sinxronizasiya əməliyyatlarına necə daxil ola biləcəyini müəyyən edən Vulkan yaddaş modelinin tətbiqi artıq məcburidir.
  • İncə dənəli alt qrup nəzarəti (VK_EXT_subgroup_size_control) təmin edilir ki, təchizatçılar çoxsaylı alt qrup ölçüləri üçün dəstək təmin edə bilsinlər və tərtibatçılar tələb etdikləri ölçüsü seçə bilsinlər.
  • VK_KHR_shader_integer_dot_product genişləndirilməsi təmin edilmişdir ki, bu da nöqtə məhsul əməliyyatlarının aparat sürətləndirilməsi sayəsində maşın öyrənmə çərçivələrinin performansını optimallaşdırmaq üçün istifadə edilə bilər.
  • Cəmi 23 yeni genişləndirmə daxildir:
    • VK_KHR_copy_commands2
    • VK_KHR_dinamik_göstərmə
    • VK_KHR_format_xüsusiyyət_bayraqları2
    • VK_KHR_xidməti4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_qeyri-semantik_info
    • VK_KHR_shader_xidməti_sonlandırın
    • VK_KHR_sinxronizasiya2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formatları
    • VK_EXT_ genişləndirilmiş_dinamik_ dövlət
    • VK_EXT_uzatılmış_dinamik_state2
    • VK_EXT_Rəsim_yaxşılığı
    • VK_EXT_inline_uniforma_blok
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_reedback
    • VK_EXT_özəl_data
    • VK_EXT_shader_köməkçiyə_invocation_demote
    • VK_EXT_altqrup_ölçüsü_nəzarəti
    • VK_EXT_texel_buffer_hizalama
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formatları
  • VkPrivateDataSlot yeni obyekt növü əlavə edildi. 37 yeni komanda və 60-dan çox struktur həyata keçirilib.
  • SPIR-V 1.6 spesifikasiyası bütün platformalar üçün universal olan və həm qrafika, həm də paralel hesablama üçün istifadə oluna bilən aralıq şeyder təqdimatını müəyyən etmək üçün yenilənib. SPIR-V müxtəlif yüksək səviyyəli dillər üçün frontendlər yaratmağa imkan verən ayrıca şeyder tərtibi mərhələsini aralıq təmsilçiliyə ayırmağı nəzərdə tutur. Müxtəlif yüksək səviyyəli tətbiqlərə əsaslanaraq, daxili şader kompilyatorundan istifadə etmədən OpenGL, Vulkan və OpenCL sürücüləri tərəfindən istifadə edilə bilən tək ara kod ayrıca yaradılır.
  • Uyğunluq profilləri konsepsiyası təklif olunur. Google, Vulkan 1.0 spesifikasiyasından kənar bir cihazda qabaqcıl Vulkan imkanları üçün dəstək səviyyəsini təyin etməyi asanlaşdıracaq Android platforması üçün baza profilini buraxan ilk şirkətdir. Əksər cihazlar üçün OTA yeniləmələri quraşdırmadan profil dəstəyi təmin edilə bilər.

Xatırladaq ki, Vulkan API sürücülərin kökündən sadələşdirilməsi, GPU əmrlərinin generasiyasının tətbiq tərəfinə ötürülməsi, sazlama qatlarını birləşdirmək imkanı, müxtəlif platformalar üçün API-nin unifikasiyası və əvvəlcədən tərtib edilmiş proqramın istifadəsi ilə diqqət çəkir. GPU tərəfində icra üçün kodun aralıq təmsili. Yüksək performansı və proqnozlaşdırıla bilənliyi təmin etmək üçün Vulkan proqramları GPU əməliyyatları üzərində birbaşa nəzarəti və GPU multi-threading üçün yerli dəstəyi ilə təmin edir ki, bu da sürücünün yükünü minimuma endirir və sürücü tərəfinin imkanlarını daha sadə və proqnozlaşdırıla bilən edir. Məsələn, sürücü tərəfində OpenGL-də həyata keçirilən yaddaşın idarə edilməsi və səhvlərin idarə edilməsi kimi əməliyyatlar Vulkan-da tətbiq səviyyəsinə köçürülür.

Vulkan bütün mövcud platformaları əhatə edir və masaüstü, mobil və veb üçün vahid API təmin edir, bu da bir ümumi API-nin çoxsaylı GPU və proqramlarda istifadə edilməsinə imkan verir. Vulkanın çox qatlı arxitekturası sayəsində, yəni istənilən GPU ilə işləyən alətlər OEM-lər inkişaf zamanı kodu nəzərdən keçirmək, sazlamaq və profil yaratmaq üçün sənaye standartı alətlərdən istifadə edə bilərlər. Şeyderlərin yaradılması üçün LLVM-ə əsaslanan və əsas texnologiyaları OpenCL ilə paylaşan yeni portativ ara təqdimat, SPIR-V təklif olunur. Cihazları və ekranları idarə etmək üçün Vulkan OpenGL ES-də EGL ilə təxminən eyni problemləri həll edən WSI (Pəncərə Sistemi İnteqrasiyası) interfeysini təklif edir. WSI dəstəyi Wayland-da qutudan kənarda mövcuddur - Vulkandan istifadə edən bütün proqramlar dəyişdirilməmiş Wayland serverləri mühitində işləyə bilər. WSI vasitəsilə işləmək imkanı Android, X11 (DRI3 ilə), Windows, Tizen, macOS və iOS üçün də təmin edilir.

Mənbə: opennet.ru

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