VkInstance | 用于存储Vulkan程序的相关状态,Vulkan上下文 |
VkPhysicalDevice | 对GPU硬件的抽象,每个GPU对应一个VkPhysicalDevice,每个VkInstance可以有多个VkPhysicalDevice |
VkDevice | VkPhysicalDevice创建的逻辑设备,存储对应VkPhysicalDevice的相关资源信息,每个VkPhysicalDevice可以对应多个VkDevice |
VkCommandPool | 创建命令缓冲 |
VkCommandBuffer | 记录组成绘制或计算任务的命令,命令在VkCommandPool中创建。如何执行的是不变的绘制命令,该缓冲区可以重用 |
VkCommandBufferBeginInfo | 包含VkCommandBuffer启动的必要信息对象 |
VkSubmitInfo | 包含VkCommandBuffer提交队列执行时必要信息对象,包括需要等待的信号量数量、等待信号量列表、VkCommandBuffer数量、命令缓冲列表、触发的信号量数量、触发的信号量列表等 |
VkQueueFamilyProperties | 特定队列家族属性信息,包含队列的数量、特性。每个队列家族可能含有功能相近的队列,只要分为两类图形和计算任务 |
VkQueue | 接收提交的任务,将任务提交所属GPU硬件依次执行 |
VkFormat | 枚举类型,包含各种内存组织格式,如:VK_FORMAT_R8G8B8A8_UNORM表示单通道8bit的RGBA |
VkExtent2D | 2D尺寸,包含width和height |
VkImage | 存储图像像素数据,数据是纹理或绘制任务的结果 |
VkImageView | 包含了VkImage对象的相关信息,如类型、格式、色彩通道等 |
VkSwapchainKHR | 交换链,将画面呈现在特定目标平台,一般包含两个以上图像 |
VkFrameBuffer | 帧缓存,可以包含颜色附件、深度附件、模板附件等 |
VkBuffer | 设备内存的使用,这种方式可以存储各种数据,如:顶点数据、绘制数据等 |
VkDescriptorBufferInfo | 包含VkBuffer的描述信息,对应缓冲、内存偏移量和范围 |
VkRenderPass | 包含一次绘制任务需要的多方面信息,如颜色附件、深度附件、子通道列表、子通道相互依赖信息等,用于向驱动解释绘制工作的结构和过程。一般来说,每个渲染通道从开始到结束将产生一帧完整的画面 |
VkClearValue | 清除帧缓存的数据,一般是颜色、深度和模板值 |
VkRenderPassBeginInfo | 包含启动渲染通道时的信息,如:渲染通道、渲染区域的位置及尺寸、绘制前的清除数据值 |
VkSubpassDescription | 一个渲染通道由多个子通道组成,子通道由VkSubpassDescription进行描述,包含了子通道的输入附件、颜色附件、深度附件等 |
VkDescriptorSetLayout | 给出布局接口,即:给出着色器包含了哪些一致变量、分别是什么类型、绑定编号、对应于管线阶段等 |
VkDescriptorSet | 通过布局接口将资源和着色器连接起来,帮助解释资源数据 |
VkWriteDescriptorSet | 用于更新着色器的一致性变量 |
VkDescriptorPool | 创建VkDescriptorSet对象 |
VkPipelineLayout | 描述管线整体布局,包含有哪些推送常量、有哪些VkDescriptorSet等 |
VkPipeline | 包含了执行指定绘制工作对应管线的各方面信息,如:VkPipelineLayout、顶点数据输入情况、图元组装设置、光栅化设置、混合设置、视口与裁剪设置、深度和模板测试设置、多重采样设置等 |
VkPipelineShaderStageCreateInfo | 单个着色器阶段信息对象,包含SPIR-V模块、着色器主方法名称、着色器对应阶段等 |
VkVertexInputBindingDescription | 描述顶点输入情况,如:绑定点编号、数据输入频率、数据间隔 |
VkVertexInputAttributeDescription | 描述输入某项数据信息,如:绑定点编号、位置编号、数据格式、偏移量等 |
VkPipelineCache | 创建VkPipeline |
VkFormatProperties | 用于存储指定格式类型的格式属性 |
VkPhysicalDeviceMemoryProperties | 用于存储获取指定GPU的设备内存属性,如:内存类型数量、内存类型列表、内存堆数量、内存堆列表等 |
VkDeviceMemory | 设备内存逻辑抽象,VkBuffer和VkImage需要绑定VkDeviceMemory才能使用 |
VkSemaphore | 用于一个GPU内部相同或不同队列并发执行任务时的同步工作,一般与VkQueueSubmit配合使用,以确保通过VkQueueSubmit方法提交的任务在指定信号量未触发前阻塞直至信号触发之后才执行 |
VkFence | 用于主机和设备之间的同步,CPU和GPU并发执行任务时的同步 |
VkSurfaceKHR | 服务帧画面呈现 |
VkSurfaceCapabilitiesKHR | 呈现能力的信息,如画面尺寸范围、VkSwapchainKHR的图片数量、是否支持平面变换等 |
VkPresentInfoKHR | 包含执行呈现时的信息,如:需要等待VkSemaphore数量、VkSemaphore列表、VkSwapchainKHR数量、VkSwapchainKHR列表、此次呈现的图像在VkSwapchainKHR中的索引等 |