- RadeonSI ๋๋ผ์ด๋ฒ(AMD GPU์ฉ)
์ ๊ณต๋ ์ง์
OpenGL 4.6 (OpenGL 4.6์ ์ด์ ์ Intel GPU์ ๋ํด์๋ง Mesa์์ ์ง์๋์์ต๋๋ค.) ๋ฐ SPIR-V ์ ฐ์ด๋ ์ค๊ฐ ํํ์ ๋๋ค. - AMD ๋ฐ Intel GPU์ฉ RADV ๋ฐ ANV ๋๋ผ์ด๋ฒ๊ฐ ์ด์ ๊ทธ๋ํฝ API๋ฅผ ์ง์ํฉ๋๋ค.
๋ถ์นธ 1.2 ; - Broadwell ๋ฐ Skylake ๋ง์ดํฌ๋ก ์ํคํ ์ฒ(Gen8+) ๊ธฐ๋ฐ Intel GPU์ ๊ฒฝ์ฐ ์๋ก์ด Iris ๋๋ผ์ด๋ฒ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ ํด๋น ๊ธฐ๋ฅ์ i965 ๋๋ผ์ด๋ฒ์ ๋๋ฑํฉ๋๋ค. Iris ๋๋ผ์ด๋ฒ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์ ์ Linux ์ปค๋์ DRI ๋๋ผ์ด๋ฒ ์ธก์ผ๋ก ์คํ๋ก๋ํ๊ณ ์ถ๋ ฅ ๊ฐ์ฒด์ ์ฌ์ฌ์ฉ ์บ์๋ฅผ ์ง์ํ๋ ๊ธฐ์ฑ ์ํ ์ถ์ ๊ธฐ๋ฅผ ์ ๊ณตํ๋ Gallium3D ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. Haswell์ ํฌํจํ ์ด์ ๋ง์ดํฌ๋ก ์ํคํ ์ฒ ๊ธฐ๋ฐ ์นฉ์ ๊ฒฝ์ฐ i965 ๋๋ผ์ด๋ฒ๊ฐ ์ ์ง๋ฉ๋๋ค.
- RADV(AMD ์นฉ์ฉ Vulkan ๋๋ผ์ด๋ฒ) ๋ฐ ์
ฐ์ด๋ ์ปดํ์ผ์ฉ ๋ฐฑ์๋์์ "
ACO "๋ LLVM ์ ฐ์ด๋ ์ปดํ์ผ๋ฌ์ ๋์์ผ๋ก Valve์์ ๊ฐ๋ฐ ์ค์ธ GPU ์ธ๋ GCN 1.0/GFX6(Southern Islands) ๋ฐ GCN 1.1/GFX7(Sea Islands)์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. - RADV ๋ฐ ACO๋ ์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋ ์ปดํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- GPU GFX10(Navi)์ฉ RADV ๋ฐ ACO๋ ๋ค์ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
Wave32 (๋์ ์คํ์ ์ํด 32๊ฐ์ ์ค๋ ๋๋ฅผ ํ๋์ "์จ์ด๋ธ"๋ก ๊ฒฐํฉ) - LLVMpipe ๋ฐ RadeonSI ๋๋ผ์ด๋ฒ๋ ์ ํ์ด ์๋ IR(์ค๊ฐ ํํ) ์
ฐ์ด๋๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณํ๋์์ต๋๋ค.
NIR , GLSL IR ๋ฐ Mesa์ ๋ด๋ถ IR ์๋์์ ๊ฐ์ฅ ๋ฎ์ ์์ค์์ ์๋ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. NIR ์ฑ๋ฅ์ด ์ต์ ํ๋์์ต๋๋ค. - RadeonSI ๋๋ผ์ด๋ฒ์์
์ถ๊ฐ ์ปดํ์ผ๋ ์ ฐ์ด๋ ๊ฐ์ฒด์ ์ค๋ณต์ ํํฐ๋งํ๋ ๋ผ์ด๋ธ ์บ์ ์ง์; - Intel GPU์ฉ OpenGL ๋ฐ Vulkan ๋๋ผ์ด๋ฒ์ Gen11 ์นฉ(Jasper Lake)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- V3D ๋๋ผ์ด๋ฒ(Raspberry Pi์ฉ)์๋ OpenGL ES 3.2์ ํธํ๋๋ ์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ OpenGL ES 3.1์ ๋ํ ์ ์ฒด ์ง์์ ์ ๊ณตํฉ๋๋ค.
- Qualcomm Adreno GPU์ฉ Vulkan ๋๋ผ์ด๋ฒ TURNIP์ ์ฑ๋ฅ์ด ์ต์ ํ๋์์ต๋๋ค.
- ์๋ก์ด OpenGL ํ์ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค:
GL_ARB_gl_spirv ๋ผ๋ฐ์จ์๋ฅผ ์ํด.GL_ARB_spirv_extensions ๋ผ๋ฐ์จ์๋ฅผ ์ํด.GL_EXT_direct_state_access ํธํ์ฑ ํ๋กํ์ ๊ฒฝ์ฐ.GL_INTEL_shader_integer_functions2 i965 ๋ฐ ์์ด๋ฆฌ์ค ๋๋ผ์ด๋ฒ์ฉ.
- RADV Vulkan ๋๋ผ์ด๋ฒ์ ํ์ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(AMD ์นด๋์ฉ):
- ANV Vulkan ๋๋ผ์ด๋ฒ์ ํ์ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(Intel ์นด๋์ฉ):
์ถ์ฒ : opennet.ru