module
APISpec_Resource_CreationChapter 11: Specification
Classes
- struct VV::V0::Memory::Requirements
- Structure describing the memory requirements for a buffer or an image.
- struct VV::V1::Buffer::CreateInfo
- Specification
- struct VV::V1::Buffer
- A linear array of data.
- struct VV::V1::BufferView::CreateInfo
- Specification
- struct VV::V1::BufferView
- A buffer view represents a contiguous range of a buffer and a specific format to be used to interpret the data.
- struct VV::V1::Image::CreateInfo
- Specification
- struct VV::V1::Image::SubresourceRange
- Specification
- struct VV::V1::Image
- Images represent multidimensional - up to 3 - arrays of data which can be used for various purposes (e.g. attachments, textures), by binding them to a graphics or compute pipeline via descriptor sets, or by directly specifying them as parameters to certain commands.
- struct VV::V1::ImageView::CreateInfo
- Specification
- struct VV::V1::ImageView
- An object that represents an image subresource range of a specific image, and state that controls how the contents are interpreted.
- struct VV::Corridors::ComponentMapping
- Structure specifying a color component mapping.
Enums
- enum class EBufferCreateFlag: ui32 { SparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT, SparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, SparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, Protected = VK_BUFFER_CREATE_PROTECTED_BIT, DeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, DeviceAddressCaptureReplayExtension = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT, DeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, VV_SpecifyBitmaskable = VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EBufferUsage: ui32 { TransferSource = VK_BUFFER_USAGE_TRANSFER_SRC_BIT, TransferDestination = VK_BUFFER_USAGE_TRANSFER_DST_BIT, UniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, StorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, UniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, StorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, IndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, IndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, VV_SpecifyBitmaskable = VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EComponentSwizzle: ui32 { Identitity = VK_COMPONENT_SWIZZLE_IDENTITY, Zero = VK_COMPONENT_SWIZZLE_ZERO, One = VK_COMPONENT_SWIZZLE_ONE, R = VK_COMPONENT_SWIZZLE_R, G = VK_COMPONENT_SWIZZLE_G, B = VK_COMPONENT_SWIZZLE_B, A = VK_COMPONENT_SWIZZLE_A }
- Specification
- enum class EImageAspect: ui32 { Color = VK_IMAGE_ASPECT_COLOR_BIT, Depth = VK_IMAGE_ASPECT_DEPTH_BIT, Stencil = VK_IMAGE_ASPECT_STENCIL_BIT, MetaData = VK_IMAGE_ASPECT_METADATA_BIT, Plane_0 = VK_IMAGE_ASPECT_PLANE_0_BIT, Plane_1 = VK_IMAGE_ASPECT_PLANE_1_BIT, Plane_2 = VK_IMAGE_ASPECT_PLANE_2_BIT, MemoryPlane_0 = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, MemoryPlane_1 = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, MemroyPlane_2 = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, MemoryPlane_3 = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, KHR_Plane_0 = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, KHR_Plane_1 = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, KHR_Plane_2 = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR, VV_SpecifyBitmaskable = VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EImageCreateFlag: ui32 { SparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT, SparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, SparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, MutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, CubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, Alias = VK_IMAGE_CREATE_ALIAS_BIT, SplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, _2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, BlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, ExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, Protected = VK_IMAGE_CREATE_PROTECTED_BIT, Disjoint = VK_IMAGE_CREATE_DISJOINT_BIT, CornerSampled = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, SampleLocationsCompatibleDepth_Ext = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, Subsampled_Ext = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, SplitInstanceBindRegions_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, _2DArrayCompatible_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, BlockTexelViewCompatible_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, ExtendedUsage_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, Disjoint_KHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR, Alias_KHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR, VV_SpecifyBitmaskable = VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EImageLayout: ui32 { Undefined = VK_IMAGE_LAYOUT_UNDEFINED, General = VK_IMAGE_LAYOUT_GENERAL, Color_AttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, DepthStencil_AttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, DepthStencil_ReadonlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, Shader_ReadonlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, TransferSource_Optimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, TransferDestination_Optimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, Preinitalized = VK_IMAGE_LAYOUT_PREINITIALIZED, Depth_Readonly_Stencil_AttachemntOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, Depth_Attachment_Stencil_ReadonlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, Depth_AttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, Depth_ReadonlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, Stencil_AttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, Stencil_ReadonlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, PresentSource_KHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, SharedPresent_KHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, ShadingRate_Optimal = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV, Fragment_DensityMapOptimal_EXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT, Depth_Readonly_Stencil_AttachmentOptimal_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR, Depth_Atteachment_StencilReadonlyOptimal_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR, Depth_AttachmentOptimal_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR, Depth_ReadonlyOptimal_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR, Stencil_AttachmentOptimal_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR, Stencil_ReadonlyOptimal_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR }
- Specification
- enum class EImageTiling: ui32 { Optimal = VK_IMAGE_TILING_OPTIMAL, Linear = VK_IMAGE_TILING_LINEAR, DRM_FormatModifier_Extension = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT }
- Specification
- enum class EImageType: ui32 { _1D = VK_IMAGE_TYPE_1D, _2D = VK_IMAGE_TYPE_2D, _3D = VK_IMAGE_TYPE_3D }
- Specification
- enum class EImageUsage: ui32 { TransferSource = VK_IMAGE_USAGE_TRANSFER_SRC_BIT, TransferDestination = VK_IMAGE_USAGE_TRANSFER_DST_BIT, Sampled = VK_IMAGE_USAGE_SAMPLED_BIT, Storage = VK_IMAGE_USAGE_STORAGE_BIT, Color_Attachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, DepthStencil_Attachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, Transient_Attachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, Input_Attachemnt = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, Image_ShadingRate = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, DensityMap = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, VV_SpecifyBitmaskable = VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EImageViewCreateFlag: ui32 { Fragment_DensityMapDynamiic = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT, VV_SpecifyBitmaskable = VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM }
- Specification
- enum class EImageViewType: ui32 { _1D = VK_IMAGE_VIEW_TYPE_1D, _2D = VK_IMAGE_VIEW_TYPE_2D, _3D = VK_IMAGE_VIEW_TYPE_3D, _Cube = VK_IMAGE_VIEW_TYPE_CUBE, _1D_Array = VK_IMAGE_VIEW_TYPE_1D_ARRAY, _2D_Array = VK_IMAGE_VIEW_TYPE_2D_ARRAY, CubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY }
- Specification
- enum class ESharingMode: ui32 { Exclusive = VK_SHARING_MODE_EXCLUSIVE, Concurrent = VK_SHARING_MODE_CONCURRENT }
- Specification
Typedefs
- using Handle = VkBuffer
- Specification
- using CreateFlags = Bitfield<EBufferCreateFlag, VkBufferCreateFlags>
- Specification
- using UsageFlags = Bitfield<EBufferUsage, VkBufferUsageFlags>
- Specification
- using Handle = VkBufferView
- Specification
- using CreateFlags = Bitfield<EUndefined, VkBufferViewCreateFlags>
- Specification
- using Handle = VkImage
- Specification
- using AspectFlags = Bitfield<EImageAspect, VkImageAspectFlags>
- Specification
- using CreateFlags = Bitfield<EImageCreateFlag, VkImageCreateFlags>
- Specification
- using UsageFlags = Bitfield<EImageUsage, VkImageUsageFlags>
- Bitfield specifying intended usage of an image.
- using Handle = VkImageView
- Specification
- using CreateFlags = Bitfield<EImageViewCreateFlag, VkImageViewCreateFlags>
- Specification
Functions
- static auto BindMemory(LogicalDevice::Handle _device, Handle _buffer, Memory::Handle _memory, DeviceSize _memoryOffset) -> EResult
- Attach memory to a buffer object.
- static auto Create(LogicalDevice::Handle _device, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _buffer) -> EResult
- Create a new buffer object.
- static void Destroy(LogicalDevice::Handle _device, Handle _buffer, const Memory::AllocationCallbacks* _allocator)
- Destroy a buffer object.
- static void GetMemoryRequirements(LogicalDevice::Handle _device, Handle _buffer, Memory::Requirements& _memoryRequirements)
- Specification
- static auto Create(LogicalDevice::Handle _device, const CreateInfo& _info, const Memory::AllocationCallbacks* _allocator, Handle& _bufferView) -> EResult
- Create a new buffer view object.
- static void Destroy(LogicalDevice::Handle _device, Handle _bufferView, const Memory::AllocationCallbacks* _allocator)
- Destroy a buffer view object.
- static auto BindMemory(LogicalDevice::Handle _device, Handle _image, Memory::Handle _memory, DeviceSize _memoryOffset) -> EResult
- Attach memory to a VkImage object created without the VK_IMAGE_CREATE_DISJOINT_BIT set.
- static auto Create(LogicalDevice::Handle _deviceHandle, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _imageHandle) -> EResult
- Create an image object.
- static void Destroy(LogicalDevice::Handle _deviceHandle, Handle _image, const Memory::AllocationCallbacks* _allocator)
- Destroy an image object.
- static void GetMemoryRequirements(LogicalDevice::Handle _device, Handle _image, Memory::Requirements& _memoryRequirements)
- Specification
- static auto Create(LogicalDevice::Handle _deviceHandle, const CreateInfo& _creationSpec, const Memory::AllocationCallbacks* _allocator, Handle& _imageView) -> EResult
- Create an image view object.
- static void Destroy(LogicalDevice::Handle _deviceHandle, Handle _imageView, const Memory::AllocationCallbacks* _allocator)
- Destroy an image view.
Enum documentation
enum class EBufferCreateFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EBufferUsage: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EComponentSwizzle: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageAspect: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageCreateFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageLayout: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageTiling: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageType: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageUsage: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageViewCreateFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EImageViewType: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class ESharingMode: ui32
#include <VaultedVulkan/VV_Enums.hpp>
Typedef documentation
using Handle = VkBuffer
#include <VaultedVulkan/VV_Resource.hpp>
using CreateFlags = Bitfield<EBufferCreateFlag, VkBufferCreateFlags>
#include <VaultedVulkan/VV_Resource.hpp>
using UsageFlags = Bitfield<EBufferUsage, VkBufferUsageFlags>
#include <VaultedVulkan/VV_Resource.hpp>
using Handle = VkBufferView
#include <VaultedVulkan/VV_Resource.hpp>
using CreateFlags = Bitfield<EUndefined, VkBufferViewCreateFlags>
#include <VaultedVulkan/VV_Resource.hpp>
using Handle = VkImage
#include <VaultedVulkan/VV_Resource.hpp>
using AspectFlags = Bitfield<EImageAspect, VkImageAspectFlags>
#include <VaultedVulkan/VV_Resource.hpp>
using CreateFlags = Bitfield<EImageCreateFlag, VkImageCreateFlags>
#include <VaultedVulkan/VV_Resource.hpp>
using UsageFlags = Bitfield<EImageUsage, VkImageUsageFlags>
#include <VaultedVulkan/VV_Resource.hpp>
Bitfield specifying intended usage of an image.
using Handle = VkImageView
#include <VaultedVulkan/VV_Resource.hpp>
using CreateFlags = Bitfield<EImageViewCreateFlag, VkImageViewCreateFlags>
#include <VaultedVulkan/VV_Resource.hpp>
Function documentation
static EResult BindMemory(LogicalDevice::Handle _device,
Handle _buffer,
Memory::Handle _memory,
DeviceSize _memoryOffset)
#include <VaultedVulkan/VV_Resource.hpp>
Attach memory to a buffer object.
Parameters | |
---|---|
_device | |
_buffer | |
_memory | |
_memoryOffset |
static EResult Create(LogicalDevice::Handle _device,
const CreateInfo& _createInfo,
const Memory::AllocationCallbacks* _allocator,
Handle& _buffer)
#include <VaultedVulkan/VV_Resource.hpp>
Create a new buffer object.
Parameters | |
---|---|
_device | |
_createInfo | |
_allocator | |
_buffer |
static void Destroy(LogicalDevice::Handle _device,
Handle _buffer,
const Memory::AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Resource.hpp>
Destroy a buffer object.
Parameters | |
---|---|
_device | |
_buffer | |
_allocator |
static void GetMemoryRequirements(LogicalDevice::Handle _device,
Handle _buffer,
Memory::Requirements& _memoryRequirements)
#include <VaultedVulkan/VV_Resource.hpp>
Parameters | |
---|---|
_device | |
_buffer | |
_memoryRequirements |
static EResult Create(LogicalDevice::Handle _device,
const CreateInfo& _info,
const Memory::AllocationCallbacks* _allocator,
Handle& _bufferView)
#include <VaultedVulkan/VV_Resource.hpp>
Create a new buffer view object.
Parameters | |
---|---|
_device | |
_info | |
_allocator | |
_bufferView |
static void Destroy(LogicalDevice::Handle _device,
Handle _bufferView,
const Memory::AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Resource.hpp>
Destroy a buffer view object.
Parameters | |
---|---|
_device | |
_bufferView | |
_allocator |
static EResult BindMemory(LogicalDevice::Handle _device,
Handle _image,
Memory::Handle _memory,
DeviceSize _memoryOffset)
#include <VaultedVulkan/VV_Resource.hpp>
Attach memory to a VkImage object created without the VK_IMAGE_CREATE_DISJOINT_BIT set.
Parameters | |
---|---|
_device | |
_image | |
_memory | |
_memoryOffset |
static EResult Create(LogicalDevice::Handle _deviceHandle,
const CreateInfo& _createInfo,
const Memory::AllocationCallbacks* _allocator,
Handle& _imageHandle)
#include <VaultedVulkan/VV_Resource.hpp>
Create an image object.
Parameters | |
---|---|
_deviceHandle | |
_createInfo | |
_allocator | |
_imageHandle |
static void Destroy(LogicalDevice::Handle _deviceHandle,
Handle _image,
const Memory::AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Resource.hpp>
Destroy an image object.
Parameters | |
---|---|
_deviceHandle | |
_image | |
_allocator |
static void GetMemoryRequirements(LogicalDevice::Handle _device,
Handle _image,
Memory::Requirements& _memoryRequirements)
#include <VaultedVulkan/VV_Resource.hpp>
Parameters | |
---|---|
_device | |
_image | |
_memoryRequirements |
static EResult Create(LogicalDevice::Handle _deviceHandle,
const CreateInfo& _creationSpec,
const Memory::AllocationCallbacks* _allocator,
Handle& _imageView)
#include <VaultedVulkan/VV_Resource.hpp>
Create an image view object.
Parameters | |
---|---|
_deviceHandle | |
_creationSpec | |
_allocator | |
_imageView |
static void Destroy(LogicalDevice::Handle _deviceHandle,
Handle _imageView,
const Memory::AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Resource.hpp>
Destroy an image view.
Parameters | |
---|---|
_deviceHandle | |
_imageView | |
_allocator |