Mesa ๊ฐœ๋ฐœ์ž๋“ค์€ Rust ์ฝ”๋“œ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

๋ฉ”์‚ฌ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž ๋…ผ์˜ ์ค‘์ด๋‹ค. Rust ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OpenGL/Vulkan ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ๊ทธ๋ž˜ํ”ฝ ์Šคํƒ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ธฐ๋Šฅ. ํ† ๋ก ์€ ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ์ž์ธ Alyssa Rosenzweig์— ์˜ํ•ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒฌํ”„๋กœ์ŠคํŠธ Midgard ๋ฐ Bifrost ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Mali GPU์šฉ. ์ด ๊ณ„ํš์€ ๋…ผ์˜ ๋‹จ๊ณ„์— ์žˆ์œผ๋ฉฐ ์•„์ง ๊ตฌ์ฒด์ ์ธ ๊ฒฐ์ •์€ ๋‚ด๋ ค์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Rust ์‚ฌ์šฉ์„ ์ง€์ง€ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  after-free ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค, ๋„ ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ ๋ฐ ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. Rust ์ง€์›์„ ํ†ตํ•ด Mesa๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ Œ๋”๋ง ์‹œ์Šคํ…œ๊ณผ ๊ฐ™์€ ์ œXNUMX์ž ๊ฐœ๋ฐœ์„ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์ž” Rust๋กœ ์ž‘์„ฑ๋œ Vulkan ๊ทธ๋ž˜ํ”ฝ API ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ WebGL์„ ์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ OpenGL์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ๋“œ๋ผ์ด๋ฒ„ ๋ณด์•ˆ ๊ฐœ์„ ์˜ ์‹œ๊ธ‰์„ฑ์ด ๋†’์•„์กŒ์œผ๋ฉฐ, ์ด๋Š” ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์˜ ์ค‘์š”ํ•œ ๋ฒกํ„ฐ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ˜„์žฌ Mesa๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ralloc ๋ฐ ์ •์  ์ฝ”๋“œ ๋ถ„์„๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๊ทธ ์‚ฌ์šฉ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Rust ๊ตฌํ˜„์„ ๋ฐ˜๋Œ€ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค ๊ณ ๋ คํ•˜๋‹ค, Rust์˜ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ ๋Œ€๋ถ€๋ถ„์€ ๊ฐœ๋ฐœ์„ ์ตœ์‹  C++๋กœ ์ด์ „ํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, Mesa์˜ ๋Œ€๋ถ€๋ถ„์ด C๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜๋ฉด ๋”์šฑ ๋งค๋ ฅ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. Rust์— ๋Œ€ํ•œ ์ฃผ์žฅ ์ค‘์—๋„ ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์žก ์กฐ๋ฆฝ ์‹œ์Šคํ…œ, ์š•๋ง์ด ์•„๋‹ˆ๋‹ค ํ™”๋ฌผ ํฌ์žฅ ์‹œ์Šคํ…œ์— ๋ฐ”์ธ๋”ฉ,
์กฐ๋ฆฝ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ ํ™•๋Œ€ ๋ฐ ํฌํ•จํ•ด์•ผ Linux์—์„œ ์ฃผ์š” ๋ฐ์Šคํฌํ†ฑ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ ์ข…์†์„ฑ์— ๋Œ€ํ•œ Rust ์ปดํŒŒ์ผ๋Ÿฌ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์— Rust๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์›€์ง์ž„์€ ์ตœ๊ทผ AMD์—์„œ๋„ ๊ด€์ฐฐ๋ฉ๋‹ˆ๋‹ค. ๊ณต์„์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค Radeon GPU์šฉ 3D ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ๋œ ์ƒˆ๋กœ์šด ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Rust ํ”„๋กœ๊ทธ๋ž˜๋จธ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€