벌컨 (API)

AsOf = 2016년 2월 16일 **벌컨**(Vulkan)은 오버헤드가 적은 크로스 플랫폼 3D 그래픽스 및 컴퓨팅 API이다. 이는 GDC 2015에서 크로노스 그룹에 의해 처음으로 소개되었다. 초기의 Vulkan API는 OpenGL의 차세대 버전으로 준비되었는데, 현재는 "OpenGL"이라는 이름을 이어가지 않고 Vulkan이라는 이름으로 결정되었다. OpenGL처럼 Vulkan은 게임이나 상호작용성 미디어와 같은 고성능 실시간 3D 그래픽스 애플리케이션을 모든 플랫폼에서 고성능으로 CPU를 적게 사용하도록 개발하는 것을 목표로 만들어진 API이며 마이크로소프트의 Direct3D 12, 애플의 메탈, AMD의 맨틀과 같은 성격의 API이다. CPU 사용량에 대해서 더 이야기 하자면 Vulkan은 멀티 코어 CPU의 여러 코어 사이에 로드를 더 잘 분배할 수 있다.
# 역사
크로노스 그룹은 2014년 7월 차세대 그래픽스 API를 만들기 위한 프로젝트를 시작하였으며, 이는 밸브 코퍼레이션의 킥오프 미팅과 함께한다.work=유튜브 SIGGRAPH 2014에서 이 프로젝트는 참여자들의 요청에 따라 공개 발표되었다.quote=Thanks AMD!
# 벌컨을 지원하는 소프트웨어

## 비디오 게임
벌컨을 지원하는 게임 목록 * The Talos Principle - 벌컨 렌더링을 지원하는 최초의 게임.url-status= * 도타 2 - 2016년 5월 벌컨 지원을 공개.accessdate=May 24, 2016 * 둠 - 2016년 7월 벌컨 지원을 공개.access-date=July 11, 2016 * vkQuake - 벌컨 퀘이크 이식을 2016년 7월 공개.access-date=August 8, 2017date=July 21, 2016 * Roblox - 2017년 3월, Roblox를 위한 벌컨 지원이 추가됨. * Star Citizen - 2017년 3월, 클라우드 임페리엄 게임즈의 그래픽스 프로그래밍 감독 Alistair Brown은 공식 스타 시티즌 포럼에서 클라우드 임페리엄이 이제 스타 시티즌과 Squadron 42에 벌컨 구현을 집중할 것이라고 발표하였다. DirectX 지원은 중단될 것인데, 이는 고객들이 윈도우 10을 사용하도록 강제하기 때문이다.accessdate=August 8, 2017 * 매드 맥스 - 2017년 3월, 개발자들은 리눅스 포팅으로 예외적으로 벌컨의 베타 지원을 추가하였다.access-date=August 8, 2017 * Ballistic Overkill - 2017년 5월 벌컨 지원을 공개. * Quake III Arena Kenny Edition - 퀘이크 3 엔진 모드(mod)가 2017년 5월 벌컨 지원을 추가. * Ashes of the Singularity: Escalation - 차기작에 벌컨 지원 추가 예정. * vkDoom3 - Doom3 BFG의 벌컨 포팅 지원을 2017년 8월 공개. * Wolfenstein II: The New Colossus - 벌컨만 지원. 2017년 런칭. * X4: Foundations - 벌컨 전용 그래픽스 엔진과 함께 2018년 런칭 예정 * X-Plane 11 - Laminar Research는 2017년 하반기에 OpenGL에서 벌컨으로 이동할 예정이며, 테스트는 2018년에 시작. * 레드 데드 리뎀션 2/레드 데드 온라인 - 처음 공개후, 베타 테스트때 추가되었다.
## 게임 콘솔 에뮬레이터
* Beetle/Mednafen PSX,url-status=dead Mednafen PlayStation의 Libretro 포팅 * 돌핀access-date=February 14, 2017 * Mupen64Plus의 Libretro 포팅access-date=February 14, 2017 * RPCS3 * PPSSPP * Xenia
## 게임 엔진
* 소스 - 2015년 3월, 밸브 코퍼레이션은 소스 2 엔진을 발표하였으며 이는 오리지널 소스 엔진의 뒤를 이으며 벌컨을 지원한다.accessdate=March 3, 2015date=March 3, 2015 * 시리어스 엔진 4 - 2016년 2월, Croteam은 시리어스 엔진에 벌컨을 지원하고 있었다고 발표하였다.date=February 4, 2016 * 언리얼 엔진 - 2016년 2월, 에픽게임즈는 언리얼 엔진 4가 삼성그룹의 삼성 갤럭시 S7 언팩 행사에서 벌컨을 지원할 것임을 발표하였다.access-date = February 24, 2016url-status = dead * 토크 - 2016년 4월, 개발자 공동체는 벌컨 지원 포함을 발표하였다.publisher=Torque 3Dpublisher=레딧 * 퀘이크 엔진 - 2016년 7월 벌컨 지원이 추가되었다. * id Tech 3 - 2017년 5월 벌컨 지원이 추가되었다. * id Tech 4 - 2017년 8월 벌컨 지원이 추가되었다. * id Tech 6 - 2016년 5월, 이드 소프트웨어는 테크 6 엔진을 구동하는 둠이 벌컨을 지원할 것이라 발표하였다.date=May 7, 2016 * Xenko - 2016년 7월 벌컨 지원이 추가되었다.date=July 1, 2016 * 유니티 - 이 엔진은 버전 5.6부터 벌컨 지원이 추가되었다.url-status= * 크라이엔진 - 5.4 릴리스에 벌컨 지원이 추가되었다.publisher=Bit-Tech * Intrinsic - 벌컨을 지원하는 자유-오픈 소스 크로스 플랫폼 게임 엔진.url-status=dead * Unigine - 2017년 4월, Unigine Corp는 Unigine의 벌컨 지원이 2017년 로드맵에 있다고 발표하였다.accessdate=July 31, 2017url=https://www.gamingonlinux.com/articles/the-unigine-powered-superposition-benchmark-will-get-vulkan-support-this-year.9509 * Abyss Engine - 2017년 5월, 딥 실버 FISHLABS는 벌컨을 지원하는 안드로이드에 갤럭시 온 파이어 3를 출시하였다.accessdate=June 11, 2017 * Banshee 3D - 벌컨을 지원하는 자유-오픈 소스 크로스 플랫폼 게임 엔진.url-status=dead * Godot - 2차원, 3차원 크로스 플랫폼 오픈 소스, 게임 엔진. 2018년 2월 말에 개발자들은 모든 플랫폼을 대상으로 OpenGL ES 3만을 사용하지 않고 OpenGL ES 2와 벌컨을 혼합하여 사용하겠다고 발표하였다accessdate=March 7, 2018. * RAGE - 레드 데드 리뎀션 2에서 지원하고 있다.
## 렌더링 엔진
* UX3D Engine - 2017년 9월 벌컨 지원이 추가되었다.
## 개발 도구
* GPU PerfStudio 3.6은 리눅스, 윈도우에서 벌컨을 지원한다.url-status=dead * GTK+ Scene Graph Kit은 GTK+ 3.90의 일부로서 2017년 3월 출시되었으며 벌컨 렌더링 경로를 포함한다.title=gskvulkanrenderer.curl=https://git.gnome.org/browse/gtk+/log/gsk/gskvulkanrenderer.c * RenderDoc은 벌컨을 지원하며, 그 추가 시점은 2016년 2월 10일이다.title=RenderDoc Version v0.27
## 운영 체제 구성 요소
벌컨 윈도우 시스템 통합(Vulkan Window System Integration, WSI)은 EGL이 OpenGL ES를 위해 하는 것과 동일한 것을 벌컨을 위해 한다.date=February 16, 2016 EGL은 네이티브 플랫폼 윈도잉 시스템과 통신할 목적으로 OpenGL ES 프로그램에 쓰인다. EGL은 컨텍스트 관리, 표면 바인딩, 렌더링 동기화를 관리한다.
# 호환성
{| class="wikitable" |- ! rowspan="2" | 기업 ! colspan="4" | 하드웨어 ! colspan="4" | 소프트웨어 지원: Vulkan 1.0 |- ! 마이크로아키텍처 ! 이용 가능 시점 ! GPU (칩) ! 그래픽 카드 / SoC ! 안드로이드date=April 5, 2016 ! 리눅스 ! 마이크로소프트 윈도우현재까지의 드라이버는 윈도우 7 이상을 지원해 왔다. |- | rowspan="9" | AMD |- | GCN 5th | 2017년 8월 | Vega 10 | Radeon Rx Vega series | rowspan="5" N/A | rowspan="3" publisher=AMD
& RADV in 메사access-date=August 8, 2017 | rowspan="5" url-status=dead |- | GCN 4th | 2016년 6월 | Polaris 10, Polaris 11, Polaris 12 | Radeon Rx 400 series |- | GCN 3rd | 2014년 8월 | Tonga, Fiji, Carrizo | Radeon R9 Series |- | GCN 2nd | 2013년 3월 | Bonaire, Hawaii, Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L | Radeon HD 7790, 플레이스테이션 4, 엑스박스 원 | rowspan="2" 실험적 |- | GCN 1st | 2012년 1월 | Oland, Cape Verde, Pitcairn, Tahiti | Radeon HD 77xx-7900 Series |- | TeraScale 3 | 2010년 12월 | Cayman, Trinity/Richland | Radeon HD 69xx Series, Radeon HD 7xxx-76xx Series | rowspan="3" colspan="3" 지원하지 않음 |- | TeraScale 2 | 2009년 9월 | Cedar, Cypress, Juniper, Redwood, Palm, Sumo | 라데온 HD 5000 시리즈, Radeon HD 6350, Radeon HD 64xx-68xx Series |- | TeraScale 1 | 2007년 5월 | R600, RV630, RV610, RV790, RV770, … | 라데온 HD 2000 시리즈, HD 3000, HD 4000 |- | rowspan="7" | Nvidia |- | 볼타 | December 2017 | GV10x | Nvidia Titan V | | | 지포스 |- | 파스칼 | 2016년 5월 | GP10x | 지포스 10 시리즈, Tegra X2 | rowspan="3" yes | rowspan="3" | rowspan="3" |- | 맥스웰 | 2014년 2월 | GM10x, GM20x | GeForce GTX 750 Ti, GTX 750, GTX 860M, 지포스 900 시리즈, 엔비디아 테그라 |- | 케플러 | 2012년 3월 | GK10x, GK110, GK208 | 지포스 600 시리즈, 지포스 700 시리즈, 엔비디아 테그라 |- | 페르미 | 2010년 3월 | GF10x, GF11x | 지포스 400 시리즈, 지포스 500 시리즈 | rowspan="2" colspan="3" 지원하지 않음 |- | 테슬라 | 2006년 11월 | G8x, G9x, GT20x, GT21x | 지포스 8 시리즈, 지포스 9 시리즈, 지포스 100 시리즈, 지포스 200 시리즈, 지포스 300 시리즈 |- | rowspan="8" | Intel |커피레이크 | 2017년 10월 | |Core i3-/i5-/i7-8000, | | |- | Kaby Lake | 2016년 9월 | | Core i3-/i5-/i7-7000, Pentium xyz, Celeron xyz | rowspan="5" Anvil in Mesa 17.1date=January 31, 2017 | rowspan="5" access-date=August 8, 2017 | rowspan="2" Intel Graphics driverurl-status=dead |- | Skylake | 2015년 8월 | | Core i3-/i5-/i7-6000, Core m3-/m5-/m7-6Yxx, Pentium G4xxx, Celeron G39xx |- | Broadwell | 2014년 9월 | | Core i3-/i5-/i7-5000, Core M-5Yxx | rowspan="5" 지원하지 않음 |- | Haswell | 2013년 6월 | | Core i3-/i5-/i7-4000, Pentium G3xxx, Celeron G18xx |- | Ivy Bridge | 2012년 4월 | | Core i3-/i5-/i7-3000, Pentium G2xxx, Celeron G16xx |- | Sandy Bridge | 2011년 1월 | | Core i3-/i5-/i7-2000, Pentium Gxxx, Celeron Gxxx | rowspan="2" 지원하지 않음 | rowspan="2" 지원하지 않음 |- | Westmere | 2010년 1월 | | Core i3-/i5-/i7-xxx, Pentium G69xx, Celeron G1101 |- | rowspan="5" | Imagination Technologies |- | 파워VR Series 8 | 2016년 2월 | GE8200, GE8300 | | rowspan="3" colspan="3" archive-url=https://web.archive.org/web/20160531085412/http://blog.imgtec.com/powervr/imagination-announces-vulkan-sdk-for-powervr-rogue-gpus |- | PowerVR Series 7 | 2014년 11월 | GE7400, GE7800, GT7200, GT7400, GT7600, GT7800, GT7900 | Apple A9, A9X, A10 Fusion, Helio X30 (MT6799) |- | PowerVR Series 6 | 2012년 1월 | G6100, G6200, G6230, G6400, G6430, G6630, RK3368, G6050, G6060, G6100 (XE), G6110, GX6240, GX6250, GX6450, GX6650 | Apple A7, A8, A8X, MediaTek MT8173, MT8176, MediaTek MT6595M, MT6595T, MT6595M, MT6795, MT8135, Helio X10 (MT6795), LG H13, Atom Z3460, Z3480, Z3530, Z3560, Z3570, Z3580 |- | PowerVR Series 5 | 2009년 1월 | SGX543, SGX544, SGX554 | Apple S1, A5, A5X, A6, A6X, NovaThor L8540, L8580, L9540, TI OMAP 4470, 5430, 5432, MediaTek MT5327, MT6589M, MT6589T, MT6589, MT8117, MT8121, MT8125, MT8389, Atom Z2460, Z2520, Z2560, Z2580, Z2760, Exynos 5410 | colspan="3" 지원하지 않음 |- | rowspan="4" | Qualcomm |- | 아드레노 500 series | | Adreno 510, Adreno 530, Adreno 540, adreno 506 | Snapdragon 430, 625, 650, 652, 820, 821, 835, 450 | colspan="3" title=Qualcomm announces Vulkan API support for Adreno 5xx and 4xx GPUs |- | Adreno 400 series | |Adreno 418,Adreno 420,Adreno 430, | Snapdragon 415, 615, 616, 617, 805, 808, 810 | colspan="3" title=Vulkan Hardware Database |- | Adreno 300 series | | | Snapdragon 200, 208, 210, 212, 400, 410, 412, 600, 800, 801 | colspan="3" 지원하지 않음 |- | rowspan="5" | ARM |- | Bifrosturl-status= | 2016년 6월 | Mali-G71, … | Kirin 960, 970, Exynos 8895, MediaTek Helio P23 (MT6763T), Helio P30 | colspan="3" rowspan="3" url-status= |- | Midgard 4th | Q4 2015 | Mali-T860, Mali-T830, Mali-T880 | Exynos 8890, Exynos7880, Exynos 7870, Kirin 950, 955, MediaTek MT6738, MT6750, Helio X20 (MT6797), X25 (MT6797T), P10 (MT6755), P20 (MT6757) |- | Midgard 3rd | 2013년 10월 | Mali-T760, … | Exynos 7420, Exynos 5433, MT6752, MT6732, RK3288 |- | Midgard 2nd | 2012년 8월 | Mali-T600 series, T720 | Exynos 5250, 5260, 5410, 5420, 5422, 5430, 5800, 7580, Mediatek MT6735, MT6753, Kirin 920, 925, 930, 935 | colspan="3" 지원하지 않음 |}