āĻŽāĻ°āĻŋāĻšāĻž āĻŽāĻ§ā§āĻ¯ā§‡ VGEM āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻžāĻœ

āĻ‡āĻ—āĻžāĻ˛āĻŋāĻ¯āĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ‡āĻ°āĻž āĻ–āĻžāĻ˛ āĻŽāĻ°āĻŋāĻšāĻžāĻ¯āĻŧ āĻ­āĻŋāĻœāĻŋāĻ‡āĻāĻŽ (āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻœāĻŋāĻ‡āĻāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€) āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ VGEM āĻ•ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ 400 āĻ˛āĻžāĻ‡āĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ°āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ LLVMpipe-āĻāĻ° āĻŽāĻ¤ā§‹ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° 3D āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻžāĻĢāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ­āĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°-āĻ…ā§āĻ¯āĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻœāĻŋāĻ‡āĻāĻŽ (āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°) āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

VGEM āĻšāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ°āĻžāĻ¸ā§āĻŸ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° (āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻ›āĻŋāĻ˛ Apple M1/M2 āĻšāĻŋāĻĒāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ Apple AGX GPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ Asahi DRM (āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°) āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°)āĨ¤ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸, XArray āĻŸāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ DMA-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻž āĻ¯ā§‡āĻŽāĻ¨ DMA āĻŦā§‡āĻĄāĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ°āĻžāĻ¸ā§āĻŸ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻĻā§āĻŸāĻŋ āĻšā§‡āĻ• (vgem_slow āĻāĻŦāĻ‚ vgem_basic@unload) āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— IGT āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ‰āĻ¤ā§āĻ¤ā§€āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ IOCTL āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

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

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