Mesa 24.1 kaleratzea, OpenGL eta Vulkan-en doako inplementazioa

OpenGL eta Vulkan APIen doako inplementazioa - Mesa 24.1.0 - argitaratu da. Mesa 24.1.0 adarraren lehen bertsioak egoera esperimentala du; kodea behin betiko egonkortu ondoren, 24.1.1 bertsio egonkorra kaleratuko da.

Mesa 24.0-k Vulkan 1.3 grafikoen APIrako euskarria eskaintzen du Intel GPUetarako anv, AMD GPUetarako radv, NVK NVIDIA GPUetarako, tu Qualcomm GPUetarako, lavapipe software rasterizatzailean (lvp) eta emulatzaile moduan (vn). Vulkan 1.0 euskarria v3dv (Broadcom VideoCore VI GPU Raspberry Pi 4-tik) eta dzn (Vulkan inplementazioa Direct3D 12-en gainean) kontrolatzaileetan ezartzen da.

Mesak OpenGL 4.6 laguntza osoa eskaintzen du iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (Intel Gen4-Gen7 GPU zaharragoak), zink, llvmpipe, virgl (Virgil3D GPU birtuala QEMU/KVM-rako), freedreno kontrolatzaileak ( Qualcomm Adreno), d3d12 (OpenGL lana DirectX 12-ren gainean antolatzeko geruza) eta asahi (Apple M1 eta M2 txipetan erabiltzen den AGX GPU). OpenGL 4.5 laguntza eskuragarri dago AMD (r600) eta NVIDIA (nvc0) GPUetarako. OpenGL 3.3 euskarria softpipe (software rasterizatzailea) eta nv50 (NVIDIA NV50) kontrolatzaileetan dago.

Berrikuntza nagusiak:

  • Apple ARM txipetan erabiltzen den AGX GPUrako garatu den asahi kontrolatzaileak OpenGL 4.6 eta OpenGL ES 3.2rako laguntza eskaintzen du.
  • Turing (GeForce GTX 16xx, RTX 20xx eta Quadro RTX serieak), Ampere (GeForce RTX 30xx eta RTX A2000/4000/5000/6000 serieak) eta Ada (GeForce RTX 4xxx) oinarritutako NVK kontrolatzailearen errendimendua nabarmen hobetu da NVIDIA GPUentzat. seriea) mikroarkitekturak 4000 SFF, RTX 4xxx/5000/6000 Ada). Gidaria egunero erabiltzeko prest jotzen dute erabiltzaile ugarik. NVK-n Vulkan 1.3 laguntza Khronos partzuergoak ziurtagiria du. Lan hobetu da NVK DXVK geruzaren gainean, Direct3D 9, 10 eta 11 inplementazioa eskaintzen duena.
  • Zink kontrolatzailea erabiltzea ahalbidetzen duen aldaketa bat gehitu da (OpenGL inplementazioa Vulkan-en gainean) OpenGL 4.6rako laguntza emateko NVIDIA bideo-txartel serie berriekin (GeForce RTX 20xx-rekin hasita), eta horrek arazoak sor ditzake Stock Nouveau-n. OpenGL kontrolatzailea (NVC0). Zink gaitzeko, NVC0-ren ordez, ezarri "NOUVEAU_USE_ZINK=1" ingurune-aldagaia.
  • Panfrost kontrolatzaileak Mali G610, Mali G310 eta Mali T600 GPUetarako laguntza gehitzen du.
  • Vulkan gidari guztiek Wayland eta X11-rako sinkronizazio esplizitua onartzen dute. Sinkronizazio esplizituak aukera ematen die aplikazioei konposatuen kudeatzaileari marko bat pantailan bistaratzeko prest dagoenean jakinarazteko, eta horrek latentzia murrizten laguntzen du eta grafikoak bistaratzen direnean artefaktuak ezabatzen laguntzen du.
  • d3d12 kontrolatzailearen gaitasunak zabaldu dira, DirectX 12-ren gainean OpenGL inplementazioa duen geruza bat eskainiz.
  • V3DV kontrolatzaileak, Broadcom VideoCore GPUrako (Raspberry Pi plaketan erabiltzen dena), errendatze dinamikorako laguntza gehitu du.
  • ANV Vulkan kontrolatzailea (Intel) bihurtu da bideo-memoria asinkronoen mapak egiteko eragiketak erabiltzeko (VM_BIND asinkronoa). Intel Xe arkitekturan oinarritutako GPUetarako, Intel Arc txartel grafikoetan eta grafiko integratuetan erabiltzen dena, Tiger Lake prozesadoreetatik hasita, GPU izozketak arazketarako egoera-iraulketak berrezartzeko gaitasuna gehitu da. Intel LunarLake (Xe 2) txipetarako GPU laguntzarako prestaketak egin dira.
  • Vulkan luzapen berrietarako laguntza gehitu da:
    • VK_EXT_map_memory_placed RADV, ANV eta NVK kontrolatzaileentzat
    • VK_KHR_shader_subgroup_rotate RADV, ANV eta NVK-rako
    • VK_KHR_load_store_op_none RADV, ANV, NVK eta Turnip-entzako
    • VK_KHR_line_rasterization RADV, ANV, NVK eta Turnip
    • VK_KHR_index_type_uint8 RADV, ANV, NVK eta Turnip-entzako
    • VK_KHR_shader_expect_assume Vulkan gidari guztientzat
    • VK_KHR_shader_maximal_reconvergence RADV, ANV eta NVK-rako
    • VK_KHR_shader_quad_control RADVrako
    • NVK-rako VK_KHR_shader_subgroup_uniform_control_flow
    • VK_EXT_device_address_binding_report RADV-rako
    • VK_EXT_external_memory_dma_buf lavapiperako
    • VK_EXT_queue_family_foreign lavapiperako
    • VK_EXT_shader_object RADVrako
    • NVK eta RADVrako VK_EXT_nested_command_buffer
    • VK_EXT_queue_family_foreign NVK-rako
    • NVK-rako VK_EXT_image_drm_format_modifier

Iturria: opennet.ru

Gehitu iruzkin berria