Lëshimi i Mesa 26.1, implementimi i lirë i OpenGL dhe Vulkan

Pas tre muajsh zhvillimi, u prezantua lĂ«shimi i implementimit tĂ« lirĂ« tĂ« API OpenGL dhe Vulkan — Mesa 26.1.0. LĂ«shimi i parĂ« i degĂ«s Mesa 26.1.0 ka status eksperimental — pasi tĂ« pĂ«rfundojĂ« stabilizimi pĂ«rfundimtar i kodit, do tĂ« lĂ«shohet njĂ« version stabil 26.1.1.

NĂ« Mesa 26.1 Ă«shtĂ« e disponueshme mbĂ«shtetje pĂ«r API grafik Vulkan 1.4 nĂ« driberat ANV pĂ«r GPU Intel, RADV pĂ«r GPU AMD, NVK pĂ«r GPU NVIDIA, HoneyKrisp (hk) pĂ«r GPU Apple, Turnip pĂ«r GPU Qualcomm, PanVK pĂ«r GPU ARM Mali, nĂ« rasterizuesin softuerik lavapipe (lvp) dhe nĂ« modalitetin emulator (vn). NĂ« driberat v3dv (GPU Broadcom VideoCore pĂ«r Raspberry Pi 4+) dhe dzn (implementimi i Vulkan mbi Direct3D 12) mbĂ«shtetet Vulkan 1.0, nĂ« driberin kk (KosmicKrisp, Vulkan mbi Metal)—Vulkan 1.1, dhe nĂ« driberin pvr (GPU Imagination PowerVR)—Vulkan 1.2.

Në Mesa gjithashtu sigurohet mbështetje e plotë për OpenGL 4.6 për drejtuesit iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU të vjetra Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtual Virgil3D për QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (layer për organizimin e funksionimit të OpenGL mbi DirectX 12) dhe asahi (GPU AGX, e përdorur në çipat Apple M1 dhe M2). Mbështetje për OpenGL 4.5 është e disponueshme për GPU NVIDIA (nvc0). Mbështetje për OpenGL 3.3 është e pranishme në drejtuesit softpipe (rasterizator programor) dhe nv50 (NVIDIA NV50). Në drejtuesit panfrost (GPU ARM Mali) dhe v3d (GPU Broadcom VideoCore) mbështetet OpenGL 3.1.

TĂ« rejat kryesore:

  • NĂ« driberat pĂ«r GPU Intel (Iris, Crocus dhe ANV) Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« punuar drejtpĂ«rdrejt me GPU nga makinave virtuale, duke pĂ«rdorur kontekstet native (native context) nĂ« VirtIO-GPU. Kontextet native lehtĂ«sojnĂ« pĂ«rmirĂ«simin e performancĂ«s sĂ« punĂ«s me GPU virtual (virtio-gpu-gl) nga sistemi mik, pĂ«rmes transferimit tĂ« drejtpĂ«rdrejtĂ« tĂ« komandave nĂ« GPU real tĂ« hostit.
  • PĂ«r GPU PowerVR Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r OpenGL ES 2.0, e realizuar pĂ«rmes drejtpĂ«rdrejtit Zink, qĂ« mundĂ«son pĂ«rshpejtim tĂ« OpenGL nĂ« pajisjet qĂ« mbĂ«shtesin API-nĂ« Vulkan.
  • PĂ«r drejtpĂ«rdrejtin OpenCL rusticl tani kĂ«rkohet njĂ« bibliotekĂ« C++ stdlib e ndĂ«rtuar statikisht pĂ«r funksionimin e saktĂ« me aplikacionet qĂ« pĂ«rdorin C++ stdlib tĂ« vetin.
  • NĂ« drejtpĂ«rdrejtin radeonsi (AMD) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin OpenGL GL_NV_timeline_semaphore.
  • NĂ« drejtpĂ«rdrejtin panfrost (ARM Mali) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin OpenGL GL_EXT_shader_image_load_store.
  • NĂ« drejtpĂ«rdrejtin v3d (Broadcom VideoCore) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin OpenGL GL_ARB_sample_shading.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimet Vulkan:
    • VK_ARM_scheduling_controls pĂ«r panvk
    • VK_EXT_acquire_drm_display pĂ«r panvk
    • VK_EXT_astc_decode_mode pĂ«r panvk
    • VK_EXT_attachment_feedback_loop_dynamic_state pĂ«r panvk
    • VK_EXT_attachment_feedback_loop_layout pĂ«r panvk
    • VK_EXT_blend_operation_advanced pĂ«r lavapipe
    • VK_EXT_color_write_enable pĂ«r panvk
    • VK_EXT_conditional_rendering pĂ«r panvk
    • VK_EXT_depth_clamp_control pĂ«r panvk
    • VK_EXT_descriptor_heap pĂ«r RADV (kur vendoset ‘export RADV_EXPERIMENTAL=heap’)
    • VK_EXT_hdr_metadata pĂ«r v3dv
    • VK_EXT_image_drm_format_modifier pĂ«r pvr
    • VK_EXT_image_view_min_lod pĂ«r panvk
    • VK_EXT_legacy_dithering pĂ«r panvk
    • VK_EXT_map_memory_placed pĂ«r panvk
    • VK_EXT_nested_command_buffer pĂ«r panvk
    • VK_EXT_non_seamless_cube_map pĂ«r pvr
    • VK_EXT_present_timing pĂ«r RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • VK_EXT_primitive_restart_index pĂ«r RADV
    • VK_EXT_rgba10x6_formats pĂ«r panvk
    • VK_EXT_shader_atomic_float pĂ«r panvk
    • VK_EXT_shader_stencil_export pĂ«r panvk
    • VK_EXT_zero_initialize_device_memory pĂ«r panvk
    • VK_KHR_copy_memory_indirect pĂ«r nvk, RADV/GFX8+
    • VK_KHR_device_address_commands pĂ«r RADV
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 pĂ«r panvk
    • VK_KHR_get_display_properties2 pĂ«r panvk
    • VK_KHR_get_surface_capabilities2 pĂ«r panvk
    • VK_KHR_internally_synchronized_queues pĂ«r RADV
    • VK_KHR_maintenance4 pĂ«r pvr
    • VK_KHR_pipeline_executable_properties pĂ«r pvr
    • VK_KHR_present_id pĂ«r panvk, v3dv
    • VK_KHR_present_wait pĂ«r panvk, v3dv
    • VK_KHR_sampler_ycbcr_conversion pĂ«r pvr
    • VK_KHR_shader_integer_dot_product pĂ«r pvr
    • VK_KHR_shader_untyped_pointers pĂ«r panvk
    • VK_KHR_swapchain_mutable_format pĂ«r panvk
    • VK_QCOM_image_processing pĂ«r Turnip
    • VK_VALVE_mutable_descriptor_type pĂ«r panvk
    • VK_VALVE_shader_mixed_float_dot_product pĂ«r RADV (Vega20, Navi14, RDNA2+)
  • Implementohen zgjerimet OpenCL:
    • cl_khr_subgroup_ballot pĂ«r asahi, iris, llvmpipe, radeonsi dhe zink
    • cl_khr_subgroup_clustered_reduce pĂ«r asahi, llvmpipe, radeonsi dhe zink
    • cl_khr_subgroup_extended_types pĂ«r asahi, iris, llvmpipe, radeonsi dhe zink
    • cl_khr_subgroup_non_uniform_arithmetic pĂ«r asahi, llvmpipe, radeonsi dhe zink
    • cl_khr_subgroup_non_uniform_vote pĂ«r asahi, iris, llvmpipe, radeonsi dhe zink
    • cl_khr_subgroup_rotate pĂ«r asahi, llvmpipe dhe zink
  • PĂ«rgjegjĂ«sia e VirGL pĂ«r GPU-nĂ« virtuale pĂ«r QEMU ka mbetur pa mbĂ«shtetje dhe do tĂ« fshihet nĂ«se nuk gjendet njeri qĂ« do ta marrĂ« pĂ«rgjegjĂ«sinĂ«.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster