Lage Mesa 21.2, yon aplikasyon gratis nan OpenGL ak Vulkan

Apre twa mwa nan devlopman, yo te pibliye liberasyon aplikasyon gratis OpenGL ak Vulkan APIs, Mesa 21.2.0. Premye lage Mesa 21.2.0 branch lan gen yon estati eksperimantal - apre estabilizasyon final kòd la, yo pral lage yon vèsyon ki estab 21.2.1.

Mesa 21.2 gen tout sipò OpenGL 4.6 pou chofè 965, iris (Intel), radeonsi (AMD), zink, ak llvmpipe. Sipò OpenGL 4.5 disponib pou GPU AMD (r600) ak NVIDIA (nvc0), ak OpenGL 4.3 pou virgl (Virgil3D GPU vityèl pou QEMU/KVM). Sipò Vulkan 1.2 disponib pou kat Intel ak AMD, osi byen ke nan mòd emulateur (vn), sipò Vulkan 1.1 disponib pou GPU Qualcomm ak rasterize lojisyèl lavapipe, ak Vulkan 1.0 pou GPU Broadcom VideoCore VI (Raspberry Pi 4).

Prensipal inovasyon:

  • Asahi OpenGL chofè a enkli ak sipò inisyal pou GPU apwovizyone nan chips Apple M1 yo. Chofè a sèvi ak koòdone Gallium la epi li sipòte pi fò nan karakteristik OpenGL 2.1 ak OpenGL ES 2.0, men li poko apwopriye pou kouri pifò jwèt yo. Kòd chofè a baze sou noop referans Gallium chofè a, ak kèk kòd pòtab nan chofè Panfrost devlope pou GPU ARM Mali.
  • Chofè Crocus OpenGL enkli ak sipò pou ansyen GPU Intel (ki baze sou mikrochitekti Gen4-Gen7) ki pa sipòte pa chofè Iris la. Kontrèman ak chofè a i965, nouvo chofè a baze sou achitekti Gallium3D, ki konfye travay jesyon memwa bay chofè DRI a nan nwayo Linux la epi li bay yon tracker eta ki pare ak sipò pou kachèt réutilisation objè pwodiksyon an.
  • Yo enkli chofè PanVk pou bay sipò pou API grafik Vulkan pou GPU ARM Mali Midgard ak Bifrost. PanVk devlope pa anplwaye Collabora epi li pozisyone kòm yon kontinyasyon nan devlopman nan pwojè Panfrost, ki bay sipò pou OpenGL.
  • Chofè Panfrost pou GPU Midgard (Mali T760 ak plus) ak GPU Bifrost (Mali G31, G52, G76) sipòte OpenGL ES 3.1. Plis plan gen ladan travay pou ogmante pèfòmans sou chips Bifrost ak sipò pou GPU ki baze sou achitekti Valhall (Mali G77 ak pi nouvo).
  • Konstriksyon 32-bit pou achitekti x86 itilize enstriksyon sse87 olye de enstriksyon x2 pou kalkil matematik.
  • Nouveau chofè nv50 pou NVIDIA GT21x GPU (GeForce GT 2x0) sipòte OpenGL ES 3.1.
  • Chofè Vulkan TURNIP la ak chofè Freedreno OpenGL devlope pou Qualcomm Adreno GPU yo gen sipò inisyal pou GPU Adreno a6xx gen4 (a660, a635).
  • Yo te ajoute sipò pou koupe primitif lè l sèvi avèk motè shader NGG (Next-Gen Geometry) nan chofè Vulkan RADV (AMD). Aplike kapasite pou konstwi chofè RADV sou platfòm Windows lè l sèvi avèk du MSVC.
  • Chofè ANV Vulkan (Intel) ak chofè Iris OpenGL yo te prepare pou sipòte pwochen kat grafik Intel Xe-HPG (DG2). Sa gen ladann karakteristik inisyal ki gen rapò ak ray tracing ak sipò shader pou ray tracing.
  • Chofè lavapipe a ak aplikasyon yon rasterize lojisyèl pou Vulkan API (menm jan ak llvmpipe, men pou Vulkan, ki tradui apèl Vulkan API nan Gallium API) sipòte mòd "wideLines" (bay sipò pou liy ki gen yon lajè ki pi gran pase 1.0). ).
  • Aplike sipò pou dekouvèt dinamik ak chaje backends GBM altènatif (Generic Buffer Manager). Chanjman an gen pou objaktif pou amelyore sipò Wayland sou sistèm ak chofè NVIDIA.
  • Chofè Zink la (yon aplikasyon OpenGL API anlè Vulkan ki pèmèt ou jwenn OpenGL akselere pyès ki nan konpitè lè sistèm lan gen chofè ki limite a sipòte sèlman API Vulkan) sipòte ekstansyon OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, ak GL_ARB_CAR_minure. Te ajoute modifikatè fòma DRM (Manadjè rann dirèk, ekstansyon VK_EXT_image_drm_format_modifier enkli).
  • Te ajoute sipò pou ekstansyon pou chofè RADV (AMD), ANV (Intel) ak lavapipe Vulkan:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_koulè_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_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Sous: opennet.ru

Add nouvo kòmantè