ACO āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ RADV Vulkan āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻ¸ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻŽā§‡āĻ¸āĻž 20.2 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ—āĻ āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ•ā§‹āĻĄāĻŦā§‡āĻ¸ā§‡, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻļā§‡āĻĄāĻžāĻ°ā§āĻ¸ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ RADV, AMD āĻšāĻŋāĻĒāĻ¸ā§‡āĻ° āĻ­āĻ˛āĻ•āĻžāĻ¨ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ "ACO", āĻ¯āĻž LLVM āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻ˛āĻ­ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ā§ˇ āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛ā§‡ āĻ—ā§‡āĻŽā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡, āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ “RADV_DEBUG=llvm” āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

RADV āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ACO-āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽāĻ¤āĻž āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ AMD āĻĻā§āĻŦāĻžāĻ°āĻž AMDGPU āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ, āĻ¯āĻž RadeonSI OpenGL āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ…āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ­āĻžāĻ˛āĻ­ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¯ā§‡ ACO āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻļāĻ¨ āĻ—āĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡ AMDGPU āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ RADV āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻšāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻ—ā§‡āĻŽā§‡ FPS āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

ACO āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ RADV Vulkan āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻ¸ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

ACO āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ RADV Vulkan āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻ¸ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

ACO āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻž āĻ—ā§‡āĻŽāĻŋāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§‡āĻĄāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨāĻžāĻ¸āĻŽā§āĻ­āĻŦ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ–ā§āĻŦ āĻ‰āĻšā§āĻš āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ—āĻ¤āĻŋ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻžāĨ¤ ACO C++ āĻ āĻ˛ā§‡āĻ–āĻž, JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨āĻ•ā§‡ āĻŽāĻžāĻĨāĻžāĻ¯āĻŧ āĻ°ā§‡āĻ–ā§‡ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻŽā§‚āĻ˛āĻ• āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ SSA (āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ¸āĻŋāĻ™ā§āĻ—ā§‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ) āĻāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻļā§‡āĻĄāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ•-āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨: āĻāĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡, ACO āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Mesa RADV Vulkan āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ ACO āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤āĻ¯ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻšāĻŦā§‡ RadeonSI OpenGL āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ ACO āĻāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž, āĻ¯āĻžāĻ¤ā§‡ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡, āĻāĻ‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, ACO āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ LLVM āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

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

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