Vulkan의 주요 기능 중 하나는 여러 플랫폼과 기기에서 개발할 수 있다는 점입니다. 이를 가능하게 하기 위해 애플리케이션은 각 물리적 장치에서 정보를 쿼리한 다음 이 정보를 기반으로 의사 결정을 내립니다.
물리적 장치에서 쿼리할 수 있는 항목
-
속성(Properties)
-
기능(Features)
-
확장 기능(Extensions)
-
제한(Limits)
-
포맷(Formats)
Vulkan에는 프로퍼티로 이름이 붙은 다른 많은 요소들이 있습니다. “properties” 는 쿼리할 수 있는 모든 읽기 전용 데이터를 포괄하는 용어입니다.
Note
|
자세한 내용은 확장 기능 사용 챕터를 참조하세요 사용 가능한 모든 확장자가 있는 레지스트리(Registry)가 있습니다. |
Vulkan에 현재 존재하지 않는 새로운 기능이 필요할 때가 많습니다. 확장 기능에는 새로운 기능을 추가할 수 있는 기능이 있습니다. 확장 기능은 새로운 Vulkan 함수, 열거형, 구조체 또는 기능 비트를 정의할 수 있습니다. 이러한 모든 확장 항목은 기본적으로 Vulkan 헤더에서 찾을 수 있지만, 확장이 활성화되지 않은 경우 확장된 Vulkan을 사용하는 것은 정의되지 않은 동작입니다.
Vulkan은 많은 VkFormat
을 제공하고 있습니다. VkFormat`은 VkFormatFeatureFlagBits 비트마스크를 보유하는 복수의 `VkFormatFeatureFlags
를 가지고 쿼리할 수 있습니다.
자세한 내용은 포맷 챕터를 참조하세요.
모든 정보를 사람이 읽을 수 있는 포맷으로 빠르게 파악하는데 도움이 되는 몇 가지 도구가 있습니다.
vulkaninfo
는 Windows, Linux, macOS용 명령줄 유틸리티로, GPU에 대해 위에 나열된 모든 항목을 확인할 수 있습니다. Vulkan SDK의 Vulkaninfo 문서를 참고하세요.
Sascha Willems가 개발한 Vulkan 하드웨어 기능 뷰어 앱은 Vulkan을 지원하는 기기에 대한 모든 세부 정보를 표시하는 안드로이드 앱입니다.