Mesa 21.2 шығарылымы, OpenGL және Vulkan тегін жүзеге асырылуы

Үш айлық әзірлеуден кейін OpenGL және Vulkan API интерфейстерінің Mesa 21.2.0 тегін жүзеге асырылуының шығарылымы жарияланды. Mesa 21.2.0 филиалының бірінші шығарылымы эксперименттік мәртебеге ие - кодты соңғы тұрақтандырудан кейін 21.2.1 тұрақты нұсқасы шығарылады.

Mesa 21.2 4.6, iris (Intel), radeonsi (AMD), zink және llvmpipe драйверлері үшін толық OpenGL 965 қолдауына ие. OpenGL 4.5 қолдауы AMD (r600) және NVIDIA (nvc0) графикалық процессорлары үшін және virgl үшін OpenGL 4.3 (QEMU/KVM үшін Virgil3D виртуалды GPU) үшін қол жетімді. Vulkan 1.2 қолдауы Intel және AMD карталары үшін, сондай-ақ эмулятор (vn) режимінде қол жетімді, Vulkan 1.1 қолдауы Qualcomm GPU және lavapipe бағдарламалық құралының растризаторы үшін және Vulkan 1.0 Broadcom VideoCore VI (Raspberry Pi 4) GPU үшін қол жетімді.

Негізгі инновациялар:

  • Asahi OpenGL драйвері Apple M1 чиптерінде жеткізілетін GPU үшін бастапқы қолдаумен қамтылған. Драйвер Gallium интерфейсін пайдаланады және OpenGL 2.1 және OpenGL ES 2.0 мүмкіндіктерінің көпшілігін қолдайды, бірақ көптеген ойындарды іске қосу үшін әлі жарамсыз. Драйвер коды ARM Mali GPU үшін әзірленген Panfrost драйверінен тасымалданатын кейбір кодтары бар noop анықтамалық Gallium драйверіне негізделген.
  • Crocus OpenGL драйвері Iris драйвері қолдамайтын ескі Intel графикалық процессорларына (Gen4-Gen7 микроархитектураларына негізделген) қолдау көрсетеді. I965 драйверінен айырмашылығы, жаңа драйвер жадты басқару тапсырмаларын Linux ядросындағы DRI драйверіне аударатын және шығыс нысанын қайта пайдалану кэшіне қолдау көрсететін дайын күй трекерін қамтамасыз ететін Gallium3D архитектурасына негізделген.
  • PanVk драйвері ARM Mali Midgard және Bifrost GPU үшін Vulkan графикалық API қолдауын қамтамасыз етеді. PanVk Collabora қызметкерлерімен әзірленген және OpenGL қолдауын қамтамасыз ететін Panfrost жобасының дамуының жалғасы ретінде орналастырылған.
  • GPU Midgard (Mali T760 және одан жаңа) және GPU Bifrost (Mali G31, G52, G76) үшін Panfrost драйвері OpenGL ES 3.1 нұсқасын қолдайды. Бұдан әрі жоспарларға Bifrost чиптерінің өнімділігін арттыру және Valhall архитектурасына негізделген GPU қолдауы бойынша жұмыс кіреді (Mali G77 және одан жаңарақ).
  • x32 архитектурасына арналған 86-биттік құрастырулар математикалық есептеулер үшін x87 нұсқауларының орнына sse2 нұсқауларын пайдаланады.
  • NVIDIA GT50x GPU (GeForce GT 21x2) үшін Nouveau nv0 драйвері OpenGL ES 3.1 нұсқасын қолдайды.
  • Qualcomm Adreno GPU үшін әзірленген TURNIP Vulkan драйвері мен Freedreno OpenGL драйвері Adreno a6xx gen4 (a660, a635) графикалық процессорларына бастапқы қолдау көрсетеді.
  • RADV (AMD) Vulkan драйверіне NGG (Next-Gen Geometry) шейдер қозғалтқыштары арқылы қарапайым жоюға қолдау қосылды. MSVC компиляторы арқылы Windows платформасында RADV драйверін құру мүмкіндігін іске асырды.
  • ANV Vulkan драйвері (Intel) және Iris OpenGL драйвері алдағы Intel Xe-HPG (DG2) графикалық карталарын қолдауға дайындалды. Бұған сәулелік бақылауға және сәулелік бақылауға арналған шейдер қолдауына қатысты бастапқы мүмкіндіктер кіреді.
  • Vulkan API (llvmpipe-ге ұқсас, бірақ Vulkan API қоңырауларын Gallium API-ге аударатын Vulkan үшін) бағдарламалық құралды растризаторды іске асыруы бар lavapipe драйвері «wideLines» режимін қолдайды (ені 1.0-ден асатын жолдарды қолдауды қамтамасыз етеді). ).
  • Баламалы GBM (Generic Buffer Manager) серверлік серверлерін динамикалық табу және жүктеу үшін іске асырылған қолдау. Өзгеріс NVIDIA драйверлері бар жүйелерде Wayland қолдауын жақсартуға бағытталған.
  • Zink драйвері (жүйеде тек Vulkan API қолдауымен шектелген драйверлер болған кезде аппараттық жеделдетілген OpenGL алуға мүмкіндік беретін Vulkan үстіндегі OpenGL API нұсқасы) OpenGL кеңейтімдерін GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_BLARB_xter және G_Lmaxte_group қолдайды. _шейдер_сағат. Қосылған DRM пішімінің модификаторлары (Direct Rendering Manager, VK_EXT_image_drm_format_modifier кеңейтімі қамтылған).
  • RADV (AMD), ANV (Intel) және lavapipe Vulkan драйверлеріне кеңейтімдерге қолдау қосылды:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_физикалық_құрылғы_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_бөлек_тереңдік_трафарет_макеттері (lavapipe);
    • VK_EXT_бөлек_трафаретті_пайдалану(лавапат);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Ақпарат көзі: opennet.ru

пікір қалдыру