Paglabas ng Mesa 20.2.0, isang libreng pagpapatupad ng OpenGL at Vulkan

Ipinasa ni paglabas ng isang libreng pagpapatupad ng OpenGL at Vulkan API - Mesa 20.2.0. Sa Mesa 20.2 ipinatupad buong OpenGL 4.6 support para sa Intel (i965, iris) at AMD (radeonsi) GPUs, OpenGL 4.5 support para sa AMD (r600), NVIDIA (nvc0) at llvmpipe GPUs, OpenGL 4.3 para sa virgl (virtual GPU Virgil3D para sa QEMU/KVM), pati na rin ang suporta ng Vulkan 1.2 para sa mga Intel at AMD card.

sa mga pagbabago:

  • Sa driver lvmpipe, na idinisenyo para sa pag-render ng software, ay sumusuporta sa OpenGL 4.5.
  • Ang driver ng RADV Vulkan (para sa mga AMD card) ay gumagamit ng shader compiler bilang default "ACO", na binuo ng Valve bilang isang alternatibo sa LLVM shader compiler. Ang ACO ay nakasulat sa C++, na idinisenyo nang nasa isip ang JIT compilation, at naglalayong magbigay ng code generation na pinakamainam hangga't maaari para sa mga shader ng laro, pati na rin ang pagkamit ng napakataas na bilis ng compilation.
  • Nagdagdag ng paunang suporta para sa AMD Navi 21 (Navy Flounder) at Navi 22 (Sienna Cichlid) GPU.
  • Pinahusay ng mga driver ng Intel GPU ang suporta para sa mga chips batay sa microarchitecture rocket lake ΠΈ idinagdag paunang suporta para sa mga discrete card Intel Xe DG1.
  • Ang mga kakayahan ng driver ng Gallium3D ay pinalawak Zink, na nagpapatupad ng OpenGL API sa itaas ng Vulkan. Binibigyang-daan ka ng Zink na makakuha ng hardware accelerated OpenGL kung ang system ay may mga driver na limitado sa pagsuporta lamang sa Vulkan API.
  • Ang Gallium3D driver na Nouveau NVC0 ay gumagamit ng HMM (heterogeneous memory management) upang suportahan OpenCL SVM (Nakabahaging Virtual Memory).
  • Sa driver panfrost Ang suporta sa pag-render ng 3D para sa mga Midgard GPU (Mali-T6xx, Mali-T7xx, Mali-T8xx) ay na-stabilize.
  • Kasama sa RadeonSI ang mga pagpapahusay na nauugnay sa virtualization ng GPU.
  • Nagdagdag ng suporta para sa disk caching ng intermediate na representasyon ng TGSI (Tungsten Graphics Shader Infrastructure).
  • Nagdagdag ng mga bagong extension ng OpenGL:
    • GL_ARB_compute_variable_group_size para sa Intel Iris.
    • GL_ARB_gl_spirv para sa Nouveau nvc0.
    • GL_NV_half_float para sa Nouveau nvc0.
    • GL_NV_copy_depth_to_color para sa Nouveau nvc0.
    • GL_ARB_spirv_extensions para sa Nouveau nvc0.
    • GL_EXT_shader_group_vote para sa llvmpipe.
    • GL_ARB_gpu_shader5 para sa llvmpipe.
    • GL_ARB_post_depth_coverage para sa llvmpipe.
    • GL_EXT_texture_shadow_lod para sa llvmpipe.
  • Nagdagdag ng suporta para sa EGL extension na EGL_KHR_swap_buffers_with_damage (para sa X11 DRI3), pati na rin sa mga GLX extension na GLX_EXT_swap_control (DRI2, DRI3) at GLX_EXT_swap_control_tear (DRI3).
  • Nagdagdag ng mga extension sa RADV Vulkan driver (para sa AMD card):
    • VK_EXT_4444_formats
    • VK_KHR_memory_model
    • VK_AMD_text_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_extended_dynamic_state
    • VK_EXT_image_robustness
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_GOOGLE_user_type
    • VK_KHR_shader_subgroup_extended_types
  • Nagdagdag ng mga extension sa driver ng ANV Vulkan (para sa mga Intel card):
    • VK_EXT_image_robustness
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_formats
    • VK_EXT_extended_dynamic_state
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control

Pinagmulan: opennet.ru

Magdagdag ng komento