Liberigo de Mesa 21.2, senpaga efektivigo de OpenGL kaj Vulkan

Post tri monatoj da evoluo, la liberigo de senpaga efektivigo de la OpenGL kaj Vulkan API - Mesa 21.2.0 - estis publikigita. La unua eldono de la branĉo Mesa 21.2.0 havas eksperimentan statuson - post la fina stabiligo de la kodo, stabila versio 21.2.1 estos publikigita.

Mesa 21.2 inkluzivas plenan subtenon por OpenGL 4.6 por la 965, iris (Intel), radeonsi (AMD), zink kaj llvmpipe-ŝoforoj. OpenGL 4.5-subteno haveblas por AMD (r600) kaj NVIDIA (nvc0) GPU-oj, kaj OpenGL 4.3-subteno por virgl (Virgil3D virtuala GPU por QEMU/KVM). Vulkan 1.2-subteno disponeblas por Intel kaj AMD-kartoj, same kiel en emulatora reĝimo (vn), Vulkan 1.1-subteno disponeblas por Qualcomm GPU-oj kaj la lavapipe-programara rasterigilo, kaj Vulkan 1.0 haveblas por Broadcom VideoCore VI-GPU-oj (Raspberry Pi 4) .

Ĉefaj novigoj:

  • La asahi OpenGL-ŝoforo estas inkluzivita kun komenca subteno por la GPU inkluzivita en Apple M1-blatoj. La ŝoforo uzas la interfacon Gallium kaj subtenas la plej multajn el la funkcioj de OpenGL 2.1 kaj OpenGL ES 2.0, sed ankoraŭ ne taŭgas por ruli plej multajn ludojn. La ŝoforkodo estas bazita sur la Gallium-referenca noop-ŝoforo, kun iu kodo adaptita inte de la Panfrost-ŝoforo estanta evoluigita por la ARM Mali GPU.
  • La Crocus OpenGL-ŝoforo estas inkluzivita kun subteno por pli malnovaj Intel-GPUoj (bazitaj sur Gen4-Gen7 mikroarkitekturoj), kiuj ne estas subtenataj de la Iris-ŝoforo. Male al la i965-ŝoforo, la nova ŝoforo estas bazita sur la Gallium3D-arkitekturo, kiu subkontraktas memoradministrajn taskojn al la DRI-ŝoforo en la Linukso-kerno kaj disponigas pretan ŝtatspurilon kun subteno por reuza kaŝmemoro de produktaĵobjektoj.
  • La PanVk-ŝoforo estas inkluzivita, provizante subtenon por la Vulkan-grafika API por ARM Mali Midgard kaj Bifrost GPUoj. PanVk estas evoluigita fare de Collabora-dungitoj kaj estas poziciigita kiel daŭrigo de la evoluo de la Panfrost-projekto, kiu disponigas subtenon por OpenGL.
  • La Panfrost-ŝoforo por Midgard GPU-oj (Mali T760 kaj pli novaj) kaj Bifrost-GPU-oj (Mali G31, G52, G76) subtenas OpenGL ES 3.1. Estontaj planoj inkluzivas laboron por pliigi rendimenton sur Bifrost-blatoj kaj la efektivigon de GPU-subteno bazita sur la Valhall-arkitekturo (Mali G77 kaj pli nova).
  • 32-bitaj x86-konstruaĵoj uzas sse87-instrukciojn anstataŭ x2-instrukciojn por matematikaj kalkuloj.
  • La Nouveau nv50-ŝoforo por la NVIDIA GT21x GPU (GeForce GT 2×0) subtenas OpenGL ES 3.1.
  • La Vulkan-ŝoforo TURNIP kaj la OpenGL-ŝoforo Freedreno, evoluigitaj por la Qualcomm Adreno GPU, havas komencan subtenon por la Adreno a6xx gen4 GPU (a660, a635).
  • La RADV (AMD) Vulkan-ŝoforo aldonis subtenon por primitiva forigo uzante NGG (Next-Gen Geometry) ombraj motoroj. La kapablo konstrui la RADV-ŝoforon sur la Vindoza platformo uzante la MSVC-kompililon estis efektivigita.
  • Prepara laboro estis farita en la ANV Vulkan-ŝoforo (Intel) kaj la Iris OpenGL-ŝoforo por provizi subtenon por la venontaj Intel Xe-HPG (DG2) grafikkartoj. Ĉi tio inkluzivas komencajn funkciojn ligitajn al radiopasado kaj subteno por radiospurado-ombriloj.
  • La lavapipe-ŝoforo, kiu efektivigas programaron rasterigilon por la Vulkan API (analoga al llvmpipe, sed por Vulkan, tradukante Vulkan-API vokojn al la Gallium API), subtenas la "wideLines" reĝimon (provizas subtenon por linioj kun larĝo superanta 1.0).
  • Subteno por dinamika malkovro kaj ŝarĝo de alternativaj GBM (Generic Buffer Manager) backends estis efektivigita. La ŝanĝo celas plibonigi Wayland-subtenon en sistemoj kun NVIDIA-ŝoforoj.
  • La Zink-ŝoforo (efektivigo de la OpenGL API aldone al Vulkan, kiu ebligas al vi akiri aparataron akcelitan OpenGL se la sistemo havas ŝoforojn limigitajn al nur subtenado de la Vulkan API) subtenas OpenGL-etendaĵojn GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_AR_AR_B_minure kaj GL_AR_B_Block_max. Aldonitaj DRM-formataj modifiloj (Rekta Rendering Manager, VK_EXT_image_drm_format_modifier etendaĵo ebligita).
  • Subteno por etendaĵoj estis aldonita al la Vulkan-ŝoforoj RADV (AMD), ANV (Intel) kaj lavapipe:
    • VK_EXT_provokanta_vertico (RADV);
    • VK_EXT_plilongigita_dinamika_stato2 (RADV);
    • VK_EXT_tutmonda_prioritata_demando (RADV);
    • VK_EXT_fizika_aparato_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_koloro_skribi_ebligi (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_linia_rasterigo (lavapipo);
    • VK_EXT_multi_draw(ANV, lavapipo, RADV);
    • VK_KHR_apartaj_profundaj_ŝablonoj_aranĝoj (lavapipo);
    • VK_EXT_aparta_ŝablono_uzo(lavapipo);
    • VK_EXT_extended_dynamic_state2 (lavapipo).

fonto: opennet.ru

Aldoni komenton