Mesa 26.1 නිකුත් කිරීම, OpenGL සහ Vulkan නොමිලේ ක්‍රියාත්මක කිරීම

මාස තුනක සංවර්ධනයෙන් පසු, OpenGL සහ Vulkan API වල විවෘත මූලාශ්‍ර ක්‍රියාත්මක කිරීම වන Mesa 26.1.0 නිකුත් කර ඇත. Mesa 26.1.0 ශාඛාවේ පළමු නිකුතුව පර්යේෂණාත්මක ය; කේතය සම්පූර්ණයෙන්ම ස්ථාවර කළ පසු, ස්ථාවර අනුවාදය වන 26.1.1 නිකුත් කෙරේ.

Mesa 26.1 Intel GPU සඳහා ANV ධාවකවල Vulkan 1.4 ග්‍රැෆික් API සඳහා සහය එක් කරයි, AMD GPU සඳහා RADV, NVIDIA GPU සඳහා NVK, Apple GPU සඳහා HoneyKrisp (hk), Qualcomm GPU සඳහා Turnip, ARM Mali GPU සඳහා PanVK, lavapipe මෘදුකාංග rasterizer (lvp) සහ emulator මාදිලිය (vn). v3dv (Raspberry Pi 4+ සඳහා Broadcom VideoCore GPU) සහ dzn (Direct3D 12 හරහා Vulkan) ධාවක Vulkan 1.0 සඳහා සහය දක්වයි, kk ධාවකය (KosmicKrisp, Vulkan හරහා Metal) Vulkan 1.1 සඳහා සහය දක්වයි, සහ pvr ධාවකය (Imagination PowerVR GPU) Vulkan 1.2 සඳහා සහය දක්වයි.

මේසා විසින් iris (Intel Gen 4.6+ GPU), radeonsi (AMD), Crocus (පැරණි Intel Gen8-Gen4 GPU), AMD (r7), zink, llvmpipe, virgl (QEMU/KVM සඳහා virgil600D අථත්‍ය GPU), freedeneno (Qualcomm Adreno), d3d3 (DirectX 12 මත OpenGL ස්ථරය) සහ asahi (Apple M12 සහ M1 චිප් වල භාවිතා වන AGX GPU) සඳහා සම්පූර්ණ OpenGL 2 සහාය ද සපයයි. NVIDIA (nvc4.5) GPU සඳහා OpenGL 0 සහාය ලබා ගත හැකිය. OpenGL 3.3 සහාය softpipe (මෘදුකාංග rasterizer) සහ nv50 (NVIDIA NV50) ධාවක වල ඇත. OpenGL 3 panfrost (ARM Mali GPU) සහ v3.1d (Broadcom VideoCore GPU) ධාවක වල ඇත.

ප්රධාන නවෝත්පාදන:

  • В драйверы для GPU Intel (Iris, Crocus и ANV) добавлена возможность напрямую работать с GPU из виртуальных машин, используя нативные контексты (native context) в VirtIO-GPU. Нативные контексты позволяют повысить производительность работы с виртуальным GPU (virtio-gpu-gl) из гостевой системы за счёт прямой передачи команд в реальный хостовый GPU.
  • Для GPU PowerVR добавлена поддержка OpenGL ES 2.0, реализованная через драйвер Zink, позволяющий получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan.
  • Для OpenCL-драйвера rusticl теперь требуется статически собранная библиотека C++ stdlib для корректной работы с приложениями, использующими собственные C++ stdlib.
  • В драйвер radeonsi (AMD) добавлена поддержка OpenGL-расширения GL_NV_timeline_semaphore.
  • В драйвер panfrost (ARM Mali) добавлена поддержка OpenGL-расширения GL_EXT_shader_image_load_store.
  • В драйвер v3d (Broadcom VideoCore) добавлена поддержка OpenGL-расширения GL_ARB_sample_shading.
  • Vulkan දිගු සඳහා සහය එකතු කරන ලදි:
    • VK_ARM_scheduling_controls для panvk
    • VK_EXT_acquire_drm_display для panvk
    • VK_EXT_astc_decode_mode для panvk
    • VK_EXT_attachment_feedback_loop_dynamic_state для panvk
    • VK_EXT_attachment_feedback_loop_layout для panvk
    • VK_EXT_blend_operation_advanced для lavapipe
    • VK_EXT_color_write_enable для panvk
    • VK_EXT_conditional_rendering для panvk
    • VK_EXT_depth_clamp_control для panvk
    • VK_EXT_descriptor_heap для RADV (при выставлении ‘export RADV_EXPERIMENTAL=heap’)
    • VK_EXT_hdr_metadata для v3dv
    • VK_EXT_image_drm_format_modifier для pvr
    • VK_EXT_image_view_min_lod для panvk
    • VK_EXT_legacy_dithering для panvk
    • VK_EXT_map_memory_placed для panvk
    • VK_EXT_nested_command_buffer для panvk
    • VK_EXT_non_seamless_cube_map для pvr
    • VK_EXT_present_timing для RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • VK_EXT_primitive_restart_index для RADV
    • VK_EXT_rgba10x6_formats для panvk
    • VK_EXT_shader_atomic_float для panvk
    • VK_EXT_shader_stencil_export для panvk
    • VK_EXT_zero_initialize_device_memory для panvk
    • VK_KHR_copy_memory_indirect для nvk, RADV/GFX8+
    • VK_KHR_device_address_commands для RADV
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 для panvk
    • VK_KHR_get_display_properties2 для panvk
    • VK_KHR_get_surface_capabilities2 для panvk
    • VK_KHR_internally_synchronized_queues для RADV
    • VK_KHR_maintenance4 для pvr
    • VK_KHR_pipeline_executable_properties для pvr
    • VK_KHR_present_id для panvk, v3dv
    • VK_KHR_present_wait для panvk, v3dv
    • VK_KHR_sampler_ycbcr_conversion для pvr
    • VK_KHR_shader_integer_dot_product для pvr
    • VK_KHR_shader_untyped_pointers для panvk
    • VK_KHR_swapchain_mutable_format для panvk
    • VK_QCOM_image_processing для Turnip
    • VK_VALVE_mutable_descriptor_type для panvk
    • VK_VALVE_shader_mixed_float_dot_product для RADV (Vega20, Navi14, RDNA2+)
  • ක්‍රියාත්මක කරන ලද OpenCL දිගු:
    • cl_khr_subgroup_ballot для asahi, iris, llvmpipe, radeonsi и zink
    • cl_khr_subgroup_clustered_reduce для asahi, llvmpipe, radeonsi и zink
    • cl_khr_subgroup_extended_types для asahi, iris, llvmpipe, radeonsi и zink
    • cl_khr_subgroup_non_uniform_arithmetic для asahi, llvmpipe, radeonsi и zink
    • cl_khr_subgroup_non_uniform_vote для asahi, iris, llvmpipe, radeonsi и zink
    • cl_khr_subgroup_rotate для asahi, llvmpipe и zink
  • Драйвер VirGL с реализацией виртуального GPU для QEMU остался без сопровождения и будет удалён, если не найдётся желающий взять его сопровождение в свои руки.

මූලාශ්රය: opennet.ru