A buffer is a linear array of data that can be bound to the graphics pipeline with descriptors set.
How to get the memory need of a buffer - vkGetBufferMemoryRequirements
How attach memory to a buffer - vkBindBufferMemory
Multidimensional, up to 3, arrays of data used for things such as textures and attachments. Bound to the graphics pipeline with descriptor sets.
How to get the memory need of a image - vkGetImageMemoryRequirements
How attach memory to a image - vkBindImageMemory
A shader module contain shader code in SPIR-V format. Each shader module has one or more entry points for shader code and it is used when creating a pipeline. Each stage can use shaders for different modules if one need to.
How to create a shader module - vkCreateShaderModule
How to destroy a shader module - vkDestroyShaderModule
A graphics Pipelines contains a large chunk of the state needed for rendering.
How to create pipelines - vkCreateGraphicsPipelines
Creates one or more pipelines.
How to destroy a pipeline - vkDestroyPipeline
The pipeline that is destroyed must have completed execution.
A pipeline cache is used to improve the speed of creating pipeline object. When creating a pipeline a cache can be given so the pipeline can be saved if the same or a similar one is created again. It can also be reused between runs of an application. This is done by the application by retrieving pipeline cache contents in one run of an application, saving the contents, and using them to preinitialize a pipeline cache on a subsequent run.
How to create a pipeline cache - vkCreatePipelineCache
How to save a pipeline cache - vkGetPipelineCacheData
How to merge two pipeline caches - vkMergePipelineCaches
How to destroy a pipeline cache - vkDestroyPipelineCache