Rilaxx ta' Mesa 21.2, implimentazzjoni b'xejn ta' OpenGL u Vulkan

Wara tliet xhur ta 'żvilupp, ir-rilaxx tal-implimentazzjoni ħielsa tal-APIs OpenGL u Vulkan, Mesa 21.2.0, ġie ppubblikat. L-ewwel rilaxx tal-fergħa Mesa 21.2.0 għandha status sperimentali - wara l-istabbilizzazzjoni finali tal-kodiċi, se tiġi rilaxxata verżjoni stabbli 21.2.1.

Mesa 21.2 għandu appoġġ sħiħ għal OpenGL 4.6 għas-sewwieqa 965, iris (Intel), radeonsi (AMD), zink, u llvmpipe. L-appoġġ OpenGL 4.5 huwa disponibbli għal GPUs AMD (r600) u NVIDIA (nvc0), u OpenGL 4.3 għal virgl (GPU virtwali Virgil3D għal QEMU/KVM). L-appoġġ Vulkan 1.2 huwa disponibbli għall-karti Intel u AMD, kif ukoll fil-modalità emulator (vn), l-appoġġ Vulkan 1.1 huwa disponibbli għal GPUs Qualcomm u rasterizer tas-softwer lavapipe, u Vulkan 1.0 għal GPUs Broadcom VideoCore VI (Raspberry Pi 4).

Innovazzjonijiet ewlenin:

  • Is-sewwieq asahi OpenGL huwa inkluż b'appoġġ inizjali għall-GPU fornut fiċ-ċipep Apple M1. Is-sewwieq juża l-interface Gallium u jappoġġja l-biċċa l-kbira tal-karatteristiċi ta 'OpenGL 2.1 u OpenGL ES 2.0, iżda għadu mhux adattat għat-tħaddim tal-biċċa l-kbira tal-logħob. Il-kodiċi tas-sewwieq huwa bbażat fuq is-sewwieq Gallium ta 'referenza noop, b'xi kodiċi mġarrab mis-sewwieq Panfrost żviluppat għall-GPU ARM Mali.
  • Is-sewwieq Crocus OpenGL inkluż b'appoġġ għal GPUs Intel anzjani (ibbażati fuq mikroarkitetturi Gen4-Gen7) mhux appoġġjati mis-sewwieq Iris. B'differenza mis-sewwieq i965, is-sewwieq il-ġdid huwa bbażat fuq l-arkitettura Gallium3D, li jesternalizza l-kompiti tal-ġestjoni tal-memorja lis-sewwieq DRI fil-qalba tal-Linux u jipprovdi tracker tal-istat lest b'appoġġ għall-cache tal-użu mill-ġdid tal-oġġett tal-output.
  • Is-sewwieq PanVk huwa inkluż, li jipprovdi appoġġ għall-API tal-grafika Vulkan għall-GPUs ARM Mali Midgard u Bifrost. PanVk huwa żviluppat mill-impjegati Collabora u huwa pożizzjonat bħala kontinwazzjoni tal-iżvilupp tal-proġett Panfrost, li jipprovdi appoġġ għal OpenGL.
  • Is-sewwieq Panfrost għal GPU Midgard (Mali T760 u aktar ġodda) u GPU Bifrost (Mali G31, G52, G76) jappoġġja OpenGL ES 3.1. Pjanijiet ulterjuri jinkludu xogħol biex tiżdied il-prestazzjoni fuq ċipep Bifrost u appoġġ għal GPUs ibbażati fuq l-arkitettura Valhall (Mali G77 u aktar ġodda).
  • Il-bini ta' 32 bit għall-arkitettura x86 juża struzzjonijiet sse87 minflok struzzjonijiet x2 għall-kalkoli tal-matematika.
  • Is-sewwieq Nouveau nv50 għal NVIDIA GT21x GPU (GeForce GT 2x0) jappoġġja OpenGL ES 3.1.
  • Is-sewwieq TURNIP Vulkan u s-sewwieq Freedreno OpenGL żviluppati għal Qualcomm Adreno GPUs għandhom appoġġ inizjali għal Adreno a6xx gen4 (a660, a635) GPUs.
  • L-appoġġ għall-qtil primittiv bl-użu ta 'magni shader NGG (Ġeometrija li jmiss) ġie miżjud mas-sewwieq Vulkan RADV (AMD). Implimenta l-abbiltà li jinbena s-sewwieq RADV fuq il-pjattaforma tal-Windows bl-użu tal-kompilatur MSVC.
  • Is-sewwieq ANV Vulkan (Intel) u s-sewwieq Iris OpenGL kienu preparatorji biex jappoġġjaw il-karti tal-grafika Intel Xe-HPG (DG2) li jmiss. Dan jinkludi karatteristiċi inizjali relatati ma 'ray tracing u appoġġ shader għal ray tracing.
  • Is-sewwieq lavapipe bl-implimentazzjoni ta 'rasterizer tas-softwer għall-API Vulkan (simili għal llvmpipe, iżda għal Vulkan, li jittraduċi sejħiet Vulkan API għall-API Gallium) jappoġġja l-mod "wideLines" (jipprovdi appoġġ għal linji b'wisa' akbar minn 1.0 ).
  • Appoġġ implimentat għall-iskoperta dinamika u t-tagħbija ta 'backends GBM (Generic Buffer Manager) alternattivi. Il-bidla għandha l-għan li ttejjeb l-appoġġ ta’ Wayland fuq sistemi b’sewwieqa NVIDIA.
  • Is-sewwieq Zink (implimentazzjoni tal-OpenGL API fuq Vulkan li jippermettilek li tikseb hardware aċċellerat OpenGL meta s-sistema jkollha sewwieqa limitati għall-appoġġ biss tal-Vulkan API) jappoġġja l-estensjonijiet OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_AR_B_minure u GL_AR_B_CAR_max. Miżjud modifikaturi tal-format DRM (Maniġer tar-Rendering Dirett, estensjoni VK_EXT_image_drm_format_modifier inkluża).
  • Appoġġ miżjud għall-estensjonijiet għas-sewwieqa RADV (AMD), ANV (Intel) u 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_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_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Sors: opennet.ru

Żid kumment