Mesa 22.3 āĻāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ, OpenGL āĻāĻŦāĻ‚ Vulkan-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨

OpenGL āĻāĻŦāĻ‚ Vulkan API - āĻŽā§‡āĻ¸āĻž 22.3.0 - āĻāĻ° āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŽā§‡āĻ¸āĻž 22.3.0 āĻļāĻžāĻ–āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ•ā§‹āĻĄā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 22.3.1 āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

Mesa 22.3 Intel GPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ anv-āĻ Vulkan 1.3 āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ API, AMD GPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ radv, Qualcomm GPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ tu, āĻāĻŦāĻ‚ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŽā§‹āĻĄā§‡ (vn) āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ Vulkan 1.1 āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ˛āĻžāĻ­āĻĒāĻžāĻ‡āĻĒ (lvp) āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ°āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻžāĻ‡āĻœāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ V1.0dv āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡ Vulkan 3 āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (Raspberry Pi 4 āĻĨā§‡āĻ•ā§‡ Broadcom VideoCore VI GPU)āĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ Mesa 4.6, iris (Intel), radeonsi (AMD), zink āĻāĻŦāĻ‚ llvmpipe āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ OpenGL 965 āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ OpenGL 4.5 āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ AMD (r600), NVIDIA (nvc0) āĻāĻŦāĻ‚ Qualcomm Adreno (freedreno) GPU-āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§, OpenGL 4.3 virgl (QEMU/KVM-āĻāĻ° āĻœāĻ¨ā§āĻ¯ virgil3D āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ GPU), āĻāĻŦāĻ‚ OpenGL 4.2 d3d12 organL āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° (a OpenGL) āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ DirectX 12 āĻāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§āĻ¨)āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨:

  • Qualcomm Adreno GPU-āĻ° āĻœāĻ¨ā§āĻ¯ freedreno āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° OpenGL 4.5 āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ API-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° (vn) Vulkan 1.3 API āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  • āĻĒā§āĻ¯āĻžāĻ¨āĻĢā§āĻ°āĻ¸ā§āĻŸ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻļā§‡āĻĄāĻžāĻ°ā§āĻ¸ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŽāĻžāĻ˛āĻŋ T620 GPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻŸāĻŋ OpenGL 3.1 āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ OpenGL ES 3.1 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤
  • RADV (AMD) Vulkan āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° GFX11/RDNA3 GPUs (Radeon RX 7000 āĻ¸āĻŋāĻ°āĻŋāĻœ) āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ°ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ R8G8B8, B8G8R8 āĻāĻŦāĻ‚ R16G16B16 āĻĒāĻŋāĻ•ā§āĻ¸ā§‡āĻ˛ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ 64-āĻŦāĻŋāĻŸ āĻ­āĻžāĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸ āĻŦāĻžāĻĢāĻžāĻ° āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ExtendedDynamicState2PatchControlPoints āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž VK_EXT_extended_dynamic_state2 āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ Radeon Raytracing āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤.
  • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋāĻ¤ā§‡ āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ 3.0 āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ°āĻžāĻ¸ā§āĻŸāĻŋāĻ•āĻ˛ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻĒāĻŋāĻ†āĻ‡ āĻāĻŦāĻ‚ C āĻ­āĻžāĻˇāĻžāĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻŸāĻŋ āĻ°āĻžāĻ¸ā§āĻŸā§‡ āĻ˛ā§‡āĻ–āĻž, āĻŽā§‡āĻ¸āĻž-āĻ¤ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ—ā§āĻ¯āĻžāĻ˛āĻŋāĻ¯āĻŧāĻžāĻŽ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŽā§‡āĻ¸āĻž-āĻ¤ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ•ā§āĻ˛ā§‹āĻ­āĻžāĻ° āĻ“āĻĒā§‡āĻ¨āĻ¸āĻŋāĻāĻ˛ āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ— āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§āĻ˛ā§‹āĻ­āĻžāĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¤ā§āĻ¯āĻ•ā§āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°āĻžāĻ¸ā§āĻŸāĻŋāĻ•āĻ˛ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻŽāĻ°āĻŋāĻšāĻž āĻāĻŦāĻ‚ āĻ°āĻžāĻ¸ā§āĻŸāĻŋāĻ•ā§āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ°āĻžāĻ¸ā§āĻŸāĻ¸āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°, āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻœā§‡āĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°, LLVM, SPIRV-Tools āĻāĻŦāĻ‚ SPIRV-LLVM-āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻ˛ā§‡āĻŸāĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤
  • RadeonSI āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡ OpenGL āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻŽā§‡āĻ¸āĻž-āĻĄāĻŋāĻŦāĻŋ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻļā§‡āĻĄāĻžāĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡āĨ¤
  • OpenGL āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:
    • llvmpipe-āĻāĻ° āĻœāĻ¨ā§āĻ¯ GL_ARB_shader_clockāĨ¤
    • āĻœāĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ GL_KHR_blend_equation_advanced_coherent.
    • llvmpipe-āĻāĻ° āĻœāĻ¨ā§āĻ¯ GL_NV_shader_atomic_float
  • āĻ­āĻ˛āĻ•āĻžāĻ¨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:
    • āĻ˛āĻžāĻ­āĻĒāĻžāĻ‡āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ VK_KHR_shader_clockāĨ¤
    • RADV, āĻ˛āĻžāĻ­āĻĒāĻžāĻ‡āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_attachment_feedback_loop_layout.
    • RADV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_KHR_global_priority.
    • RADV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_load_store_op_none
    • RADV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_mutable_descriptor_type.
    • lvp āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_shader_atomic_float
    • lvp āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_shader_atomic_float2
    • v3dv-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_image_robustness.
    • āĻ˛āĻžāĻ­āĻĒāĻžāĻ‡āĻĒ, RADV āĻāĻŦāĻ‚ ANV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_extended_dynamic_state3āĨ¤
    • RADV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_extended_dynamic_state2āĨ¤
    • v3dv-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_pipeline_robustness.
    • ANV-āĻāĻ° āĻœāĻ¨ā§āĻ¯ VK_EXT_mesh_shaderāĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨