Vulkan10 Reference Guide
Vulkan10 Reference Guide
Vulkan10 Reference Guide
0 Quick Reference
Vulkan is a graphics and compute API consisting of procedures and
functions to specify shader programs, compute kernels, objects,
and operations involved in producing high-quality graphical images,
specifically color images of three-dimensional objects. Vulkan is
also a pipeline with programmable and state-driven fixed-function Color coded names as follows: Function names and Structure names
stages that are invoked by a set of specific drawing operations. [n.n.n] Indicates sections and text in the Vulkan API 1.0 Specification.
Specification and additional resources at P.# Indicates a page in this reference guide for more information.
www.khronos.org/vulkan = 0 Indicates reserved for future use.
Extended Functionality [30] Features, Limits, and Formats [31] enum VkFormatFeatureFlagBits:
VK_FORMAT_FEATURE_X_BIT where X is
Layers [30.1] Features [31.1] SAMPLED_IMAGE,
VkResult vkEnumerateInstanceLayerProperties( void vkGetPhysicalDeviceFeatures( STORAGE_IMAGE[_ATOMIC],
uint32_t* pPropertyCount, VkPhysicalDevice physicalDevice, P.11
UNIFORM_TEXEL_BUFFER,
VkLayerProperties* pProperties); VkPhysicalDeviceFeatures* pFeatures); STORAGE_TEXEL_BUFFER[_ATOMIC],
Format Properties [31.3.2] VERTEX_BUFFER,
VkResult vkEnumerateDeviceLayerProperties( COLOR_ATTACHMENT[_BLEND],
VkPhysicalDevice physicalDevice, void vkGetPhysicalDeviceFormatProperties(
VkPhysicalDevice physicalDevice, DEPTH_STENCIL_ATTACHMENT,
uint32_t* pPropertyCount, BLIT_{SRC, DST},
VkLayerProperties* pProperties); VkFormat format, P.11
VkFormatProperties* pFormatProperties); SAMPLED_IMAGE_FILTER_LINEAR
typedef struct VkLayerProperties { Additional Image Capabilities [31.4]
char layerName [VK_MAX_EXTENSION_NAME_SIZE]; typedef struct VkFormatProperties {
uint32_t specVersion; VkFormatFeatureFlags linearTilingFeatures; VkResult vkGetPhysicalDeviceImageFormatProperties(
uint32_t implementationVersion; VkFormatFeatureFlags optimalTilingFeatures; VkPhysicalDevice physicalDevice,
char description [VK_MAX_DESCRIPTION_SIZE]; VkFormatFeatureFlags bufferFeatures; VkFormat format, P.11
} VkFormatProperties; VkImageType type, P.11
} VkLayerProperties; VkImageTiling tiling, P.11
Extensions [30.2] VkImageUsageFlags usage, P.11
VkResult vkEnumerateInstanceExtensionProperties( VkImageCreateFlags flags, P.11
const char* pLayerName, VkImageFormatProperties* pImageFormatProperties);
uint32_t* pPropertyCount, typedef struct VkExtensionProperties { typedef struct VkImageFormatProperties {
VkExtensionProperties* pProperties); char layerName [VK_MAX_EXTENSION_NAME_SIZE]; VkExtent3D maxExtent; P.10
uint32_t specVersion; uint32_t maxMipLevels;
VkResult vkEnumerateDeviceExtensionProperties( } VkExtensionProperties;
VkPhysicalDevice physicalDevice, uint32_t maxArrayLayers;
const char* pLayerName, VkSampleCountFlags sampleCounts; P.12
uint32_t* pPropertyCount, VkDeviceSize maxResourceSize;
VkExtensionProperties* pProperties); } VkImageFormatProperties;
Notes
Vulkan is a registered trademark of the Khronos Group. The Khronos Group is an industry
consortium creating open standards for the authoring and acceleration of parallel
computing, graphics and dynamic media on a wide variety of platforms and devices.
See www.khronos.org to learn more about the Khronos Group.
See www.khronos.org/vulkan to learn more about Vulkan.
2016 Khronos Group - Rev. 1216 Reference guide production by Miller & Mattson www.millermattson.com www.khronos.org/vulkan