OpenGL, Vulkan เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดธเต—เดœเดจเตเดฏ เดจเดฟเตผเดตเตเดตเดนเดฃเดฎเดพเดฏ Mesa 26.1-เดจเตเดฑเต† เดฑเดฟเดฒเต€เดธเต

เดฎเต‚เดจเตเดจเต เดฎเดพเดธเดคเตเดคเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚, OpenGL, Vulkan API-เด•เดณเตเดŸเต† เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เด‡เด‚เดชเตเดฒเดฟเดฎเต†เดจเตเดฑเต‡เดทเตป, Mesa 26.1.0 เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ. Mesa 26.1.0 เดฌเตเดฐเดพเดžเตเดšเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดชเดคเดฟเดชเตเดชเต เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด•เดฎเดพเดฃเต; เด•เต‹เดกเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเตเดฅเดฟเดฐเดค เดชเตเดฐเดพเดฌเดฒเตเดฏเดคเตเดคเดฟเตฝ เดตเดจเตเดจเดคเดฟเดจเตเดถเต‡เดทเด‚, เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเต, 26.1.1 เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เตเด‚.

เด‡เดจเตเดฑเตฝ เดœเดฟเดชเดฟเดฏเตเดตเดฟเดจเตเดณเตเดณ ANV เดกเตเดฐเตˆเดตเดฑเตเด•เดณเดฟเตฝ, AMD เดœเดฟเดชเดฟเดฏเตเดตเดฟเดจเตเดณเตเดณ RADV, NVIDIA GPU-เด•เตพเด•เตเด•เตเดณเตเดณ NVK, Apple GPU-เด•เตพเด•เตเด•เตเดณเตเดณ HoneyKrisp (hk), Qualcomm GPU-เด•เตพเด•เตเด•เตเดณเตเดณ Turnip, ARM เดฎเดพเดฒเดฟ GPU-เด•เตพเด•เตเด•เตเดณเตเดณ PanVK, เดฒเดพเดตเดพเดชเตˆเดชเตเดชเต เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดฑเดพเดธเตเดฑเตเดฑเดฑเตˆเดธเตผ (lvp), เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดฎเต‹เดกเต (vn) เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ Mesa 26.1 เดตเตพเด•เตเด•เตป 1.4 เด—เตเดฐเดพเดซเดฟเด•เตเดธเต API-เดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. v3dv (เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟ เดชเตˆ 4+-เดจเตเดณเตเดณ เดฌเตเดฐเต‹เดกเตโ€Œเด•เต‹เด‚ เดตเต€เดกเดฟเดฏเต‹เด•เต‹เตผ GPU), dzn (Vulkan over Direct3D 12) เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดตเตพเด•เตเด•เตป 1.0-เดจเต†เดฏเตเด‚, kk เดกเตเดฐเตˆเดตเตผ (KosmicKrisp, Vulkan over Metal) เดตเตพเด•เตเด•เตป 1.1-เดจเต†เดฏเตเด‚, pvr เดกเตเดฐเตˆเดตเตผ (Imagination PowerVR GPU) เดตเตพเด•เตเด•เตป 1.2-เดจเต†เดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.

เดเดฑเดฟเดธเต (เด‡เดจเตเดฑเตฝ เดœเต†เตป 4.6+ เดœเดฟเดชเดฟเดฏเต), เดฑเต‡เดกเดฟเดฏเตปเดธเดฟ (เดŽเดŽเด‚เดกเดฟ), เด•เตเดฐเต‹เด•เตเด•เดธเต (เดชเดดเดฏ เด‡เดจเตเดฑเตฝ เดœเต†เตป8-เดœเต†เตป4 เดœเดฟเดชเดฟเดฏเต), เดŽเดŽเด‚เดกเดฟ (เด†เตผ7), เดธเดฟเด™เตเด•เต, เดŽเตฝเดŽเตฝเดตเดฟเดŽเด‚เดชเตˆเดชเตเดชเต, เดตเดฟเตผเดœเดฟเตฝ (เด•เตเดฏเตเด‡เดŽเด‚เดฏเต/เด•เต†เดตเดฟเดŽเดฎเตเดฎเดฟเดจเตเดณเตเดณ เดตเดฟเตผเดœเดฟเตฝ600เดกเดฟ เดตเต†เตผเดšเตเดตเตฝ เดœเดฟเดชเดฟเดฏเต), เดซเตเดฐเต€เดกเตเดฐเต†เดจเต‹ (เด•เตเดตเดพเตฝเด•เต‹เด‚ เด…เดกเตเดฐเดฟเดจเต‹), เดกเดฟ3เดกเดฟ3 (เดกเดฏเดฑเด•เตเดฑเตเดฑเตเดŽเด•เตเดธเต 12 เดจเต เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด“เดชเตเดชเตบเดœเดฟเดŽเตฝ เดฒเต†เดฏเตผ), เด†เดธเดพเดนเดฟ (เด†เดชเตเดชเดฟเตพ เดŽเด‚12, เดŽเด‚1 เดšเดฟเดชเตเดชเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดœเดฟเดŽเด•เตเดธเต เดœเดฟเดชเดฟเดฏเต) เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เต เดฎเต†เดธ เดชเต‚เตผเดฃเตเดฃ เด“เดชเตเดชเตบเดœเดฟเดŽเตฝ 2 เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดจเตฝเด•เตเดจเตเดจเต. เดŽเตปเดตเดฟเดกเดฟเดฏ (เดŽเตปเดตเดฟเดธเดฟ4.5) เดœเดฟเดชเดฟเดฏเตเด•เตพเด•เตเด•เต เด“เดชเตเดชเตบเดœเดฟเดŽเตฝ 0 เดชเดฟเดจเตเดคเตเดฃ เดฒเดญเตเดฏเดฎเดพเดฃเต. เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดชเตˆเดชเตเดชเต (เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดฑเดพเดธเตเดฑเตเดฑเดฑเตˆเดธเตผ), เดŽเตปเดตเดฟ3.3 (เดŽเตปเดตเดฟเดกเดฟเดฏ เดŽเตปเดตเดฟ50) เดกเตเดฐเตˆเดตเดฑเตเด•เดณเดฟเตฝ เด“เดชเตเดชเตบเดœเดฟเดŽเตฝ 50 เดชเดฟเดจเตเดคเตเดฃ เดฒเดญเตเดฏเดฎเดพเดฃเต. เดชเดพเตปเดซเตเดฐเต‹เดธเตเดฑเตเดฑเต (เดŽเด†เตผเดŽเด‚ เดฎเดพเดฒเดฟ เดœเดฟเดชเดฟเดฏเต), เดตเดฟ3เดกเดฟ (เดฌเตเดฐเต‹เดกเตโ€Œเด•เต‹เด‚ เดตเต€เดกเดฟเดฏเต‹เด•เต‹เตผ เดœเดฟเดชเดฟเดฏเต) เดกเตเดฐเตˆเดตเดฑเตเด•เดณเดฟเตฝ เด“เดชเตเดชเตบเดœเดฟเดŽเตฝ 3.1 เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.

เดชเตเดฐเดงเดพเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเตเดคเตเดคเด™เตเด™เตพ:

  • ะ’ ะดั€ะฐะนะฒะตั€ั‹ ะดะปั 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.
  • เดตเตพเด•เตเด•เตป เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต:
    • 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