๋ ๋ฌ ๊ฐ์ ๊ฐ๋ฐ ๋์ OpenGL ๋ฐ Vulkan API์ ๋ฌด๋ฃ ๊ตฌํ์ธ Mesa 22.1.0์ด ์ถ์๋์์ต๋๋ค. Mesa 22.1.0 ๋ธ๋์น์ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๋ ์คํ์ ์ํ์ ๋๋ค. ์ฝ๋๊ฐ ์ต์ข ์์ ํ๋๋ฉด ์์ ์ ์ธ ๋ฒ์ 22.1.1์ด ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค.
Mesa 22.1์์๋ Intel GPU์ฉ anv ๋๋ผ์ด๋ฒ, AMD GPU์ฉ radv ๋ฐ lavapipe ์ํํธ์จ์ด ๋์คํฐ๋ผ์ด์ ์์ Vulkan 1.3 ๊ทธ๋ํฝ API์ ๋ํ ์ง์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Vulkan 1.2์ ๋ํ ์ง์์ ์๋ฎฌ๋ ์ดํฐ ๋ชจ๋(vn)์์ ๊ตฌํ๋๊ณ , Vulkan 1.1์ Qualcomm GPU์ฉ ๋๋ผ์ด๋ฒ(tu)์์ ๊ตฌํ๋ฉ๋๋ค. Broadcom VideoCore VI GPU(Raspberry Pi 1.0)์ฉ ๋๋ผ์ด๋ฒ์ Vulkan 4. Mesa๋ ๋ํ 4.6, iris(Intel), radeonsi(AMD), zink ๋ฐ llvmpipe ๋๋ผ์ด๋ฒ์ ๋ํ ์์ ํ OpenGL 965 ์ง์์ ์ ๊ณตํฉ๋๋ค. OpenGL 4.5 ์ง์์ AMD(r600) ๋ฐ NVIDIA(nvc0) GPU์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ OpenGL 4.3์ virgl(QEMU/KVM์ฉ Virgil3D ๊ฐ์ GPU) ๋ฐ vmwgfx(VMware)์ ๋ํด ์ง์๋ฉ๋๋ค.
์ฃผ์ ํ์ :
- ANV Vulkan ๋๋ผ์ด๋ฒ(Intel) ๋ฐ Iris OpenGL ๋๋ผ์ด๋ฒ๋ Intel DG2(Arc Alchemist) ๋ฐ Arctic Sound-M ๊ฐ๋ณ ๊ทธ๋ํฝ ์นด๋๋ฅผ ์ง์ํฉ๋๋ค.
- DirectX 3 API(D12D12) ์์ OpenGL ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋ ์ด์ด๊ฐ ์๋ D3D12 ๋๋ผ์ด๋ฒ๋ OpenGL 4.2์์ ํธํ์ฑ์ ๋ณด์ฅํฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ Windows์์ Linux ๊ทธ๋ํฝ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด WSL2 ๊ณ์ธต์์ ์ฌ์ฉ๋ฉ๋๋ค.
- Vulkan API(llvmpipe์ ์ ์ฌํ์ง๋ง Vulkan์ ๊ฒฝ์ฐ Vulkan API ํธ์ถ์ Gallium API๋ก ๋ณํ)์ฉ ์ํํธ์จ์ด ๋์คํฐ๋ผ์ด์ ๋ฅผ ๊ตฌํํ๋ lavapipe ๋๋ผ์ด๋ฒ๋ Vulkan 1.3์ ์ง์ํฉ๋๋ค.
- AMD GFX1036 ๋ฐ GFX1037 GPU์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- RADV ๋๋ผ์ด๋ฒ(AMD)๋ DOOM Eternal๊ณผ ๊ฐ์ ๊ฒ์์ ๋ํ ๊ด์ ์ถ์ ์ง์์ ํฅ์์ํค๋ ๊ด์ ๊ธฐ๋ณธ ์ปฌ๋ง์ ๊ตฌํํ์ต๋๋ค.
- Imagination์์ ๊ฐ๋ฐํ PowerVR Rogue ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ GPU์ฉ Vulkan ๋๋ผ์ด๋ฒ์ ์ด๊ธฐ ๊ตฌํ์ด ์ ์๋์์ต๋๋ค.
- ๊ตฌํ GeForce 6/7/8 GPU์ฉ Nouveau ๋๋ผ์ด๋ฒ๋ NIR ์ ฐ์ด๋์ ์ ํ ์๋ IR(์ค๊ฐ ํํ)์ ์ฌ์ฉํ๋๋ก ๋ณํ๋์์ต๋๋ค. NIR ์ง์์ ์ฌ์ฉํ๋ฉด NIR์ TGSI๋ก ๋ณํํ๋ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ TGSI(Tungsten Graphics Shader Infrastructure) ์ค๊ฐ ํํ์ ๋ํ ์ง์์ ์ป์ ์๋ ์์ต๋๋ค.
- ์ด ๊ตฌ์ฑ์๋ Intel์์ ์ ์ํ๊ณ ๊ด์ ์ถ์ ์ ์ฌ์ฉ๋๋ ์ํ OpenCL ์ปดํ์ผ๋ฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- Raspberry Pi 3 ๋ชจ๋ธ๋ถํฐ ์ฌ์ฉ๋๋ VideoCore VI ๊ทธ๋ํฝ ๊ฐ์๊ธฐ์ฉ์ผ๋ก ๊ฐ๋ฐ๋ OpenGL ๋๋ผ์ด๋ฒ v4d๋ ๋์คํฌ์ ์ ฐ์ด๋ ์บ์ฑ ์ง์์ ๊ตฌํํฉ๋๋ค.
- VCN 2.0 ๋น๋์ค ์ฒ๋ฆฌ ์์ง์ด ํ์ฌ๋ AMD GPU์ ๊ฒฝ์ฐ EFC(์ธ์ฝ๋ ํ์ ๋ณํ) ์ง์์ด ๊ตฌํ๋์ด ํ๋์จ์ด ๋น๋์ค ์ธ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ฐ์ด๋์์ ์ํ๋๋ RGB->YUV ๋ณํ ์์ด RGB ํ๋ฉด์ ์ง์ ์ฝ์ ์ ์์ต๋๋ค.
- Iris ๋๋ผ์ด๋ฒ์์ ์ง์ํ์ง ์๋ Gen4-Gen7 ๋ง์ดํฌ๋ก์ํคํ ์ฒ ๊ธฐ๋ฐ์ ์ด์ Intel GPU์ฉ์ผ๋ก ๊ฐ๋ฐ๋ Crocus ๋๋ผ์ด๋ฒ์๋ ์ด์ ๋ฒ์ ์ OpenGL๊ณผ์ ํธํ์ฑ ํ๋กํ์ด ํฌํจ๋์ด ์์ต๋๋ค.
- ARM Mali Midgard ๋ฐ Bifrost GPU์ฉ Vulkan ๊ทธ๋ํฝ API์ ๋ํ ์ง์์ ์ ๊ณตํ๋ PanVk ๋๋ผ์ด๋ฒ๊ฐ ์ปดํจํ ์ ฐ์ด๋ ์ง์ ์์ ์ ์์ํ์ต๋๋ค.
- Vulkan API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ GPU(virtio-gpu)๋ฅผ ๊ตฌํํ Venus ๋๋ผ์ด๋ฒ์๋ OpenGL ES ํธ์ถ์ OpenGL, Direct3D 9/11, Desktop GL ๋ฐ Vulkan์ผ๋ก ๋ณํํ๋ ANGLE ๋ ์ด์ด์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ๋ ์ ๋ฒํผ ๋๋ ํ ์ค์ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ฌ๊ฐํ์ ์ ๋ฐ์ดํธํ๋๋ก ์ค๊ณ๋ NVIDIA์ OpenGL ํ์ฅ GL_NV_pack_subimage์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Vulkan ๋๋ผ์ด๋ฒ RADV(AMD), ANV(Intel) ๋ฐ lavapipe์ ํ์ฅ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฉ์ํ์ดํ ๋ฐ RADV์ฉ VK_EXT_๊น์ด_ํด๋ฆฝ_์ปจํธ๋กค.
- ์ฉ์ํ์ดํ์ฉ VK_EXT_graphics_pipeline_library.
- ์ฉ์ ํ์ดํ์ ๋ํ VK_EXT_primitives_generated_query.
- ANV ๋ฐ ์ฉ์ํ์ดํ์ ๊ฒฝ์ฐ VK_EXT_image_2d_view_of_3d์ ๋๋ค.
- ์ฉ์ ํ์ดํ์ ๋ํ VK_KHR_swapchain_mutable_format.
์ถ์ฒ : opennet.ru