Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Mesa ΠΎΠ±ΡΡΠΆΠ΄Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° OpenGL/Vulkan Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ. ΠΠΈΡΠΊΡΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π½Π° ΠΎΡ ΠΠ»ΠΈΡΠ° Π ΠΎΠ·Π΅Π½ΡΠ²Π°ΠΉΠ³, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΠ°ΠΌΡΡΠ·Π²Π°Π½Π΅ Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Mali, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ Midgard ΠΈ Bifrost. ΠΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°ΡΠ° Π΅ Π½Π° Π΅ΡΠ°ΠΏ ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅, Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Rust ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π» ΠΈ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust ΡΡΡΠΎ Π±ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π½Π° Mesa Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΡΡΡΠ΅ΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ ΠΠ°Π·Π°Π½ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Π½Π° Vulkan, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust.
ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΡΠΏΠ΅ΡΠ½ΠΎΡΡΡΠ° ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π½Π°ΡΠΊΠΎΡΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π² ΡΠ²Π΅ΡΠ»ΠΈΠ½Π°ΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° OpenGL ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ WebGL, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π²Π°ΠΆΠ΅Π½ Π²Π΅ΠΊΡΠΎΡ Π·Π° Π°ΡΠ°ΠΊΠΈ ΡΡΠ΅ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Mesa Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ralloc ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄, Π·Π° Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΈΠΌ Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ.
ΠΡΠΎΡΠΈΠ²Π½ΠΈΡΠΈ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Rust ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅, ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Rust ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΊΡΠΌ ΠΌΠΎΠ΄Π΅ΡΠ΅Π½ C++, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ-ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»Π½ΠΎ, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Mesa Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C. Π‘ΡΠ΅Π΄ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΡΠ΅ΡΡ Rust ΡΡΡΠΎ ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π° ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΎΠ²Π°ΡΠ½ΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ,
ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠ°ΠΆΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Rust Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅ΡΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ Π½Π° Linux.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Rust Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΈ Π² AMD, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΠΊΠΎΡΠΎ ΠΎΡΠ²ΠΎΡΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ Π½Π° Rust Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ 3D Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Radeon.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru