OpenGL болон Vulkan-ийн үнэгүй хэрэгжүүлэлт болох Mesa 21.2 хувилбарыг гаргалаа

Гурван сарын турш хөгжүүлсний дараа 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) GPU-д, OpenGL 4.3 нь virgl-д (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-ийн ихэнх функцуудыг дэмждэг боловч ихэнх тоглоомуудыг ажиллуулахад хараахан тохиромжгүй байдаг. Драйверийн код нь noop лавлагааны Gallium драйвер дээр суурилдаг бөгөөд зарим кодыг ARM Mali GPU-д зориулан боловсруулсан Panfrost драйвераас шилжүүлсэн болно.
  • Crocus OpenGL драйвер нь Iris драйвераар дэмжигдээгүй хуучин Intel GPU (Gen4-Gen7 бичил архитектур дээр суурилсан)-ийн дэмжлэгт багтсан болно. I965 драйвераас ялгаатай нь шинэ драйвер нь Gallium3D архитектур дээр суурилагдсан бөгөөд санах ойн удирдлагын даалгавруудыг Линукс цөм дэх DRI драйверт шилжүүлж, гаралтын объектын дахин ашиглах кэшийг дэмждэг бэлэн төлөвт хянагчаар хангадаг.
  • 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 архитектур (Mali G77 ба түүнээс дээш) дээр суурилсан GPU-г дэмжих ажил орно.
  • 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) GPU-г анх дэмждэг.
  • 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 (Ерөнхий буфер менежер) арын хэсгийг динамикаар илрүүлэх, ачаалахад зориулсан дэмжлэгийг хэрэгжүүлсэн. Энэхүү өөрчлөлт нь NVIDIA драйвер бүхий системүүд дээр Wayland-ийн дэмжлэгийг сайжруулах зорилготой юм.
  • Zink драйвер (Vulkan дээрх OpenGL API-ийн хэрэгжүүлэлт нь системд зөвхөн Vulkan API-г дэмждэг драйверууд байгаа үед техник хангамжийн хурдасгасан OpenGL-г авах боломжийг олгодог) нь OpenGL өргөтгөлүүдийг GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_BARB_group, GL_maxte_film_group дэмждэг. _шэйдер_цаг. DRM форматын хувиргагчийг нэмсэн (Direct Rendering Manager, VK_EXT_image_drm_format_modifier өргөтгөл багтсан).
  • RADV (AMD), ANV (Intel) болон lavapipe Vulkan драйверуудын өргөтгөлүүдийн дэмжлэгийг нэмсэн:
    • VK_EXT_өдөөх_орой (RADV);
    • VK_EXT_өргөтгөсөн_динамик_төлөв2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_физик_төхөөрөмжийн_drm (RADV);
    • VK_KHR_shader_дэд бүлгийн_дүрэмт_хяналтын_урсгал (RADV, ANV);
    • VK_EXT_color_write_идэвхжүүлэх (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_ оройн_оролтын_динамик_төлөв (lavappipe);
    • VK_EXT_line_rasterization(lavappipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_тусдаа_гүн_шавар_зохицуулалт (lavapipe);
    • VK_EXT_separate_stencil_usage(lavappipe);
    • VK_EXT_өргөтгөсөн_динамик_төлөв2 (lavappipe).

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх