Mesa ํ๋ก์ ํธ์ ๊ฐ๋ฐ์๋ค์ CTS(Kronos Conformance Test Suite) ์ธํธ์ ๋ชจ๋ ํ ์คํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ์ผ๋ฉฐ API ๋ฐ ํฌ๋ก์ค ํ๋ซํผ ๋ณ๋ ฌ ์ปดํจํ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ C ์ธ์ด์ ํ์ฅ์ ๋๋ค. ์ธ์ฆ์๋ฅผ ํ๋ํ๋ฉด ๊ณต์์ ์ผ๋ก ํ์ค ์ค์๋ฅผ ์ ์ธํ๊ณ ๊ด๋ จ Khronos ์ํ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ ์คํธ๋ Gallium3.0D Iris ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ 12์ธ๋ ํตํฉ Intel GPU๊ฐ ํ์ฌ๋ ์์คํ ์์ ์ํ๋์์ต๋๋ค.
์ด ๋๋ผ์ด๋ฒ๋ Rust๋ก ์์ฑ๋์์ผ๋ฉฐ Mesa, Nouveau ๋๋ผ์ด๋ฒ ๋ฐ OpenCL ์คํ ์คํ ๊ฐ๋ฐ์ ์ฐธ์ฌํ Red Hat์ Karol Herbst๊ฐ ๊ฐ๋ฐํ์ต๋๋ค. Rusticle์ Mesa์ OpenCL ํ๋ก ํธ์๋ Clover์ ์ ์ฌํ ์ญํ ์ ํ๋ฉฐ Mesa์์ ์ ๊ณต๋๋ Gallium ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ต๋๋ค. Clover๋ ์ค๋ซ๋์ ๋ฒ๋ ค์ก๊ณ Rustel์ ํฅํ ๋์ฒดํ์ผ๋ก ์๋ฆฌ ์ก์์ต๋๋ค. OpenCL 3.0 ํธํ์ฑ์ ๋ฌ์ฑํ๋ ๊ฒ ์ธ์๋ Rusticle ํ๋ก์ ํธ๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ์ํ OpenCL ํ์ฅ์ ์ง์ํ๋ค๋ ์ ์์ Clover์ ๋ค๋ฅด์ง๋ง ์์ง FP16 ํ์์ ์ง์ํ์ง ์์ต๋๋ค. Mesa ๋ฐ OpenCL์ ๋ํ ๋ฐ์ธ๋ฉ์ ์์ฑํ์ฌ C ์ฝ๋์์ Rust ํจ์๋ฅผ ํธ์ถํ๊ฑฐ๋ ๊ทธ ๋ฐ๋๋ก ํธ์ถํ ์ ์๋๋ก ํ๊ธฐ ์ํด Rusticle์์๋ Rust-bindgen์ด ์ฌ์ฉ๋ฉ๋๋ค.
Rust ์ธ์ด ์ง์ ์ฝ๋์ Rustel ๋๋ผ์ด๋ฒ๋ Mesa ์ฃผ๋ฅ์ ์ฑํ๋์์ผ๋ฉฐ 22.3์ ๋ง์ ์์๋๋ Mesa 2021 ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต๋ ์์ ์ ๋๋ค. Rust ๋ฐ Rustic ์ง์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋๋ฉฐ "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=XNUMX" ์ต์ ์ด ๋ช ์์ ์ผ๋ก ์ง์ ๋ ๋น๋๊ฐ ํ์ํฉ๋๋ค. ๋น๋ํ ๋ ์ถ๊ฐ ์ข ์์ฑ์ผ๋ก Rustc ์ปดํ์ผ๋ฌ, Bindgen ๋ฐ์ธ๋ฉ ์์ฑ๊ธฐ, LLVM, SPIRV-Tools ๋ฐ SPIRV-LLVM-Translator๊ฐ ํ์ํฉ๋๋ค.
Mesa ํ๋ก์ ํธ์์ Rust ์ธ์ด๋ฅผ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ 2020๋ ๋ถํฐ ๋ ผ์๋์์ต๋๋ค. Rust ์ง์์ ์ฅ์ ์ค์๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ๊ณ Kazan(Vulkan ๊ตฌํ)๊ณผ ๊ฐ์ ํ์ฌ ๊ฐ๋ฐ์ Mesa์ ํฌํจํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ํฅ์๋ ๋ณด์ ๋ฐ ๋๋ผ์ด๋ฒ ํ์ง์ด ์ธ๊ธ๋ฉ๋๋ค. ๋ฌ์คํธ์์). ๋จ์ ์ผ๋ก๋ ๋น๋ ์์คํ ์ ๋ณต์ก์ฑ ์ฆ๊ฐ, ์นด๊ณ ํจํค์ง ์์คํ ์ ๋ํ ๊ฑฐ๋ถ๊ฐ, ๋น๋ ํ๊ฒฝ์ ๋ํ ์๊ตฌ ์ฌํญ ํ์ฅ, Linux์์ ์ฃผ์ ๋ฐ์คํฌํฑ ๊ตฌ์ฑ ์์๋ฅผ ๋น๋ํ๋ ๋ฐ ํ์ํ ๋น๋ ์ข ์์ฑ์ Rust ์ปดํ์ผ๋ฌ๋ฅผ ํฌํจํด์ผ ํ๋ค๋ ์ ๋ฑ์ด ์์ต๋๋ค.
๋ํ Carol Herbst๊ฐ ์ํํ Nouveau ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ์์
์ ๋ํด์๋ ์์๋ณผ ์ ์์ต๋๋ค. Nouveau ๋๋ผ์ด๋ฒ๋ 30๋
2020์ ์ดํ ์ถ์๋ Ampere ๋ง์ดํฌ๋ก์ํคํ
์ฒ ๊ธฐ๋ฐ์ GNU NVIDIA GeForce RTX 6.2xx์ ๋ํ ๊ธฐ๋ณธ OpenGL ์ง์์ ์ถ๊ฐํ์ต๋๋ค. ์๋ก์ด ์นฉ ์ง์๊ณผ ๊ด๋ จ๋ ๋ณ๊ฒฝ ์ฌํญ์ Linux 22.3 ์ปค๋ ๋ฐ Mesa XNUMX์ ํฌํจ๋ ์์ ์
๋๋ค.
์ถ์ฒ : opennet.ru