namespace
VkVulkan wrapping layer.
C++14 wrappers and helpers for Vulkan development.
This library is depends on Vulkan and is built if MAGNUM_WITH_VK
is enabled when building Magnum. To use this library with CMake, request the Vk
component of the Magnum
package and link to the Magnum::Vk
target:
find_package(Magnum REQUIRED Vk) # ... target_link_libraries(your-app PRIVATE Magnum::Vk)
Additionally, if you're using Magnum as a CMake subproject, do the following before calling find_package()
to ensure it's enabled, as the library is not built by default:
set(MAGNUM_WITH_VK ON CACHE BOOL "" FORCE) add_subdirectory(magnum EXCLUDE_FROM_ALL)
See Downloading and building, Usage with CMake and Vulkan for more information.
Namespaces
- namespace Extensions new in Git master
- Compile-time information about Vulkan instance and device extensions.
Classes
- class AttachmentDescription new in Git master
- Attachment description.
- class AttachmentReference new in Git master
- Attachment reference.
- class Buffer new in Git master
- Buffer.
- class BufferCopy new in Git master
- Buffer copy region.
- class BufferCreateInfo new in Git master
- Buffer creation info.
- class BufferImageCopy new in Git master
- Buffer / image copy region.
- class BufferImageCopy1D new in Git master
- Convenience constructor for buffer / 1D image copy region.
- class BufferImageCopy1DArray new in Git master
- Convenience constructor for buffer / 1D array image copy region.
- class BufferImageCopy2D new in Git master
- Convenience constructor for buffer / 2D image copy region.
- class BufferImageCopy2DArray new in Git master
- Convenience constructor for buffer / 2D array image copy region.
- class BufferImageCopy3D new in Git master
- Convenience constructor for buffer / 3D image copy region.
- class BufferImageCopyCubeMap new in Git master
- Convenience constructor for buffer / cube map image copy region.
- class BufferImageCopyCubeMapArray new in Git master
- Convenience constructor for buffer / cube map image copy region.
- class BufferMemoryBarrier new in Git master
- Memory barrier affecting a single buffer.
- class CommandBuffer new in Git master
- Command buffer.
- class CommandBufferBeginInfo new in Git master
- Command buffer begin info.
- class CommandPool new in Git master
- Command pool.
- class CommandPoolCreateInfo new in Git master
- Command pool creation info.
- class ComputePipelineCreateInfo new in Git master
- Compute pipeline creation info.
- class CopyBufferInfo new in Git master
- Buffer copy command.
- class CopyBufferToImageInfo new in Git master
- Buffer to image copy command.
- class CopyBufferToImageInfo1D new in Git master
- Convenience constructor for a buffer to 1D image copy command.
- class CopyBufferToImageInfo1DArray new in Git master
- Convenience constructor for a buffer to 1D array image copy command.
- class CopyBufferToImageInfo2D new in Git master
- Convenience constructor for a buffer to 2D image copy command.
- class CopyBufferToImageInfo2DArray new in Git master
- Convenience constructor for a buffer to 2D array image copy command.
- class CopyBufferToImageInfo3D new in Git master
- Convenience constructor for a buffer to 3D image copy command.
- class CopyBufferToImageInfoCubeMap new in Git master
- Convenience constructor for a buffer to cube map image copy command.
- class CopyBufferToImageInfoCubeMapArray new in Git master
- Convenience constructor for a buffer to cube map array image copy command.
- class CopyImageInfo new in Git master
- Image copy command.
- class CopyImageToBufferInfo new in Git master
- Image to buffer copy command.
- class CopyImageToBufferInfo1D new in Git master
- Convenience constructor for a 1D image to buffer copy command.
- class CopyImageToBufferInfo1DArray new in Git master
- Convenience constructor for a 1D array image to buffer copy command.
- class CopyImageToBufferInfo2D new in Git master
- Convenience constructor for a 2D image to buffer copy command.
- class CopyImageToBufferInfo2DArray new in Git master
- Convenience constructor for a 2D array image to buffer copy command.
- class CopyImageToBufferInfo3D new in Git master
- Convenience constructor for a 3D image to buffer copy command.
- class CopyImageToBufferInfoCubeMap new in Git master
- Convenience constructor for a cube map image to buffer copy command.
- class CopyImageToBufferInfoCubeMapArray new in Git master
- Convenience constructor for a cube map array image to buffer copy command.
- class DescriptorPool new in Git master
- Descriptor pool.
- class DescriptorPoolCreateInfo new in Git master
- Descriptor pool creation info.
- class DescriptorSet new in Git master
- Descriptor set.
- class DescriptorSetLayout new in Git master
- Descriptor set layout.
- class DescriptorSetLayoutBinding new in Git master
- Descriptor set layout binding.
- class DescriptorSetLayoutCreateInfo new in Git master
- Descriptor set layout creation info.
- class Device new in Git master
- Device.
- class DeviceCreateInfo new in Git master
- Device creation info.
- class DeviceProperties new in Git master
- Physical device properties.
- class Extension new in Git master
- Run-time information about a Vulkan device extension.
- class ExtensionProperties new in Git master
- Extension properties.
- class Fence new in Git master
- Fence.
- class FenceCreateInfo new in Git master
- Fence creation info.
- class Framebuffer new in Git master
- Framebuffer.
- class FramebufferCreateInfo new in Git master
- Framebuffer creation info.
- class Image new in Git master
- Image.
- class ImageCopy new in Git master
- Image copy region.
- class ImageCreateInfo new in Git master
- Image creation info.
- class ImageCreateInfo1D new in Git master
- Convenience constructor for 1D images.
- class ImageCreateInfo1DArray new in Git master
- Convenience constructor for 1D array images.
- class ImageCreateInfo2D new in Git master
- Convenience constructor for 2D images.
- class ImageCreateInfo2DArray new in Git master
- Convenience constructor for 2D array images.
- class ImageCreateInfo3D new in Git master
- Convenience constructor for 3D images.
- class ImageCreateInfoCubeMap new in Git master
- Convenience constructor for cube map images.
- class ImageCreateInfoCubeMapArray new in Git master
- Convenience constructor for cube map array images.
- class ImageMemoryBarrier new in Git master
- Memory barrier affecting a single image.
- class ImageView new in Git master
- Image view.
- class ImageViewCreateInfo new in Git master
- Image view creation info.
- class ImageViewCreateInfo1D new in Git master
- Convenience constructor for 1D image views.
- class ImageViewCreateInfo1DArray new in Git master
- Convenience constructor for 1D array image views.
- class ImageViewCreateInfo2D new in Git master
- Convenience constructor for 2D image views.
- class ImageViewCreateInfo2DArray new in Git master
- Convenience constructor for 2D array image views.
- class ImageViewCreateInfo3D new in Git master
- Convenience constructor for 3D image views.
- class ImageViewCreateInfoCubeMap new in Git master
- Convenience constructor for cube map image views.
- class ImageViewCreateInfoCubeMapArray new in Git master
- Convenience constructor for cube map array image views.
- class Instance new in Git master
- Instance.
- class InstanceCreateInfo new in Git master
- Instance creation info.
- class InstanceExtension new in Git master
- Run-time information about a Vulkan instance extension.
- class InstanceExtensionProperties new in Git master
- Instance extension properties.
- class LayerProperties new in Git master
- Vulkan layer properties.
- class Memory new in Git master
- Device memory.
- class MemoryAllocateInfo new in Git master
- Memory allocation info.
- class MemoryBarrier new in Git master
- Global memory barrier.
- class MemoryMapDeleter new in Git master
- Deleter for mapped memory.
- class MemoryRequirements new in Git master
- Device memory requirements.
- class Mesh new in Git master
- Mesh.
- class MeshLayout new in Git master
- Mesh layout.
- class Pipeline new in Git master
- Pipeline.
- class PipelineLayout new in Git master
- Pipeline layout.
- class PipelineLayoutCreateInfo new in Git master
- Pipeline layout creation info.
- class Queue new in Git master
- Queue.
- class RasterizationPipelineCreateInfo new in Git master
- Rasterization pipeline creation info.
- class RenderPass new in Git master
- Render pass.
- class RenderPassBeginInfo new in Git master
- Render pass begin info.
- class RenderPassCreateInfo new in Git master
- Render pass creation info.
- class Sampler new in Git master
- Sampler.
- class SamplerCreateInfo new in Git master
- Sampler creation info.
- class Shader new in Git master
- Shader.
- class ShaderCreateInfo new in Git master
- Shader creation info.
- class ShaderSet new in Git master
- Shader set.
- class ShaderSpecialization new in Git master
- Shader specialization.
- class SubmitInfo new in Git master
- Queue submit info.
- class SubpassBeginInfo new in Git master
- Subpass begin info.
- class SubpassDependency new in Git master
- Subpass dependency.
- class SubpassDescription new in Git master
- Subpass description.
- class SubpassEndInfo new in Git master
- Subpass end info.
- class VulkanTester new in Git master
- Base class for Vulkan tests and benchmarks.
Enums
- enum class BufferUsage: UnsignedInt { 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, ShaderBindingTable = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, AccelerationStructureBuildInputReadOnly = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR, AccelerationStructureStorage = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR } new in Git master
- Buffer usage.
- enum class CommandBufferResetFlag: UnsignedInt { ReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT } new in Git master
- Command buffer reset flag.
- enum class CommandBufferLevel: Int { Primary = VK_COMMAND_BUFFER_LEVEL_PRIMARY, Secondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY } new in Git master
- Command buffer level.
- enum class CommandPoolResetFlag: UnsignedInt { ReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT } new in Git master
- Command buffer reset flag.
- enum class DescriptorType: Int { Sampler = VK_DESCRIPTOR_TYPE_SAMPLER, CombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, SampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, StorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, UniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, StorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, UniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, StorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, UniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, StorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, InputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, AccelerationStructure = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR } new in Git master
- Descriptor type.
- enum class DeviceFeature: UnsignedShort { RobustBufferAccess, FullDrawIndexUnsignedInt, ImageCubeArray, IndependentBlend, GeometryShader, TessellationShader, SampleRateShading, DualSrcBlend, LogicOp, MultiDrawIndirect, DrawIndirectFirstInstance, DepthClamp, DepthBiasClamp, FillModeNonSolid, DepthBounds, WideLines, LargePoints, AlphaToOne, MultiViewport, SamplerAnisotropy, TextureCompressionEtc2, TextureCompressionAstcLdr, TextureCompressionBc, OcclusionQueryPrecise, PipelineStatisticsQuery, VertexPipelineStoresAndAtomics, FragmentStoresAndAtomics, ShaderTessellationAndGeometryPointSize, ShaderImageGatherExtended, ShaderStorageImageExtendedFormats, ShaderStorageImageMultisample, ShaderStorageImageReadWithoutFormat, ShaderStorageImageWriteWithoutFormat, ShaderUniformBufferArrayDynamicIndexing, ShaderSampledImageArrayDynamicIndexing, ShaderStorageBufferArrayDynamicIndexing, ShaderStorageImageArrayDynamicIndexing, ShaderClipDistance, ShaderCullDistance, ShaderFloat64, ShaderInt64, ShaderInt16, ShaderResourceResidency, ShaderResourceMinLod, SparseBinding, SparseResidencyBuffer, SparseResidencyImage2D, SparseResidencyImage3D, SparseResidency2Samples, SparseResidency4Samples, SparseResidency8Samples, SparseResidency16Samples, SparseResidencyAliased, VariableMultisampleRate, InheritedQueries, ProtectedMemory, Multiview, MultiviewGeometryShader, MultiviewTessellationShader, ShaderDrawParameters, TextureCompressionAstcHdr, ShaderFloat16, ShaderInt8, StorageBuffer16BitAccess, UniformAndStorageBuffer16BitAccess, StoragePushConstant16, StorageInputOutput16, ImagelessFramebuffer, VariablePointersStorageBuffer, VariablePointers, AccelerationStructure, AccelerationStructureCaptureReplay, AccelerationStructureIndirectBuild, AccelerationStructureHostCommands, DescriptorBindingAccelerationStructureUpdateAfterBind, SamplerYcbcrConversion, ShaderInputAttachmentArrayDynamicIndexing, ShaderUniformTexelBufferArrayDynamicIndexing, ShaderStorageTexelBufferArrayDynamicIndexing, ShaderUniformBufferArrayNonUniformIndexing, ShaderSampledImageArrayNonUniformIndexing, ShaderStorageBufferArrayNonUniformIndexing, ShaderStorageImageArrayNonUniformIndexing, ShaderInputAttachmentArrayNonUniformIndexing, ShaderUniformTexelBufferArrayNonUniformIndexing, ShaderStorageTexelBufferArrayNonUniformIndexing, DescriptorBindingUniformBufferUpdateAfterBind, DescriptorBindingSampledImageUpdateAfterBind, DescriptorBindingStorageImageUpdateAfterBind, DescriptorBindingStorageBufferUpdateAfterBind, DescriptorBindingUniformTexelBufferUpdateAfterBind, DescriptorBindingStorageTexelBufferUpdateAfterBind, DescriptorBindingUpdateUnusedWhilePending, DescriptorBindingPartiallyBound, DescriptorBindingVariableDescriptorCount, RuntimeDescriptorArray, ConstantAlphaColorBlendFactors, Events, ImageViewFormatReinterpretation, ImageViewFormatSwizzle, ImageView2DOn3DImage, MultisampleArrayImage, MutableComparisonSamplers, PointPolygons, SamplerMipLodBias, SeparateStencilMaskRef, ShaderSampleRateInterpolationFunctions, TessellationIsolines, TessellationPointMode, TriangleFans, VertexAttributeAccessBeyondStride, ShaderSubgroupExtendedTypes, StorageBuffer8BitAccess, UniformAndStorageBuffer8BitAccess, StoragePushConstant8, ShaderBufferInt64Atomics, ShaderSharedInt64Atomics, VertexAttributeInstanceRateDivisor, VertexAttributeInstanceRateZeroDivisor, TimelineSemaphore, VulkanMemoryModel, VulkanMemoryModelDeviceScope, VulkanMemoryModelAvailabilityVisibilityChains, ScalarBlockLayout, SeparateDepthStencilLayouts, UniformBufferStandardLayout, BufferDeviceAddress, BufferDeviceAddressCaptureReplay, BufferDeviceAddressMultiDevice, HostQueryReset, IndexTypeUnsignedByte, ExtendedDynamicState, RobustBufferAccess2, RobustImageAccess2, NullDescriptor, RobustImageAccess, RayTracingPipeline, RayTracingPipelineShaderGroupHandleCaptureReplay, RayTracingPipelineShaderGroupHandleCaptureReplayMixed, RayTracingPipelineTraceRaysIndirect, RayTraversalPrimitiveCulling, RayQuery } new in Git master
- Device feature.
- enum class DeviceType: Int { Other = VK_PHYSICAL_DEVICE_TYPE_OTHER, IntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, DiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, Cpu = VK_PHYSICAL_DEVICE_TYPE_CPU } new in Git master
- Physical device type.
- enum class DeviceDriver: Int { Unknown = 0, AmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE, AmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY, ArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY, BroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY, GgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY, GoogleSwiftShader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, ImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, IntelOpenSourceMesa = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, IntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, MesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE, MesaRadv = VK_DRIVER_ID_MESA_RADV, MoltenVk = VK_DRIVER_ID_MOLTENVK, NVidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY, QualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY } new in Git master
- Physical device driver ID.
- enum class QueueFlag: UnsignedInt { Graphics = VK_QUEUE_GRAPHICS_BIT, Compute = VK_QUEUE_COMPUTE_BIT, Transfer = VK_QUEUE_TRANSFER_BIT, SparseBinding = VK_QUEUE_SPARSE_BINDING_BIT, Protected = VK_QUEUE_PROTECTED_BIT } new in Git master
- Queue flag.
- enum class MemoryHeapFlag: UnsignedInt { DeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT } new in Git master
- Memory heap flag.
- enum class HandleFlag: UnsignedByte { DestroyOnDestruction = 1 << 0 } new in Git master
- Handle wrapping flag.
- enum class ImageLayout: Int { Undefined = VK_IMAGE_LAYOUT_UNDEFINED, Preinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED, General = VK_IMAGE_LAYOUT_GENERAL, ColorAttachment = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, DepthStencilAttachment = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, ShaderReadOnly = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, TransferSource = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, TransferDestination = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL } new in Git master
- Image layout.
- enum class ImageAspect: UnsignedInt { Color = VK_IMAGE_ASPECT_COLOR_BIT, Depth = VK_IMAGE_ASPECT_DEPTH_BIT, Stencil = VK_IMAGE_ASPECT_STENCIL_BIT } new in Git master
- Image aspect.
- enum class ImageUsage: UnsignedInt { 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, ColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, DepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, TransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, InputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT } new in Git master
- Image usage.
- enum class MemoryFlag: UnsignedInt { DeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, HostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, HostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, HostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT, LazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT } new in Git master
- Memory type flag.
- enum class MeshIndexType: Int { UnsignedByte = VK_INDEX_TYPE_UINT8_EXT, UnsignedShort = VK_INDEX_TYPE_UINT16, UnsignedInt = VK_INDEX_TYPE_UINT32 } new in Git master
- Mesh index type.
- enum class MeshPrimitive: Int { Points = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, Lines = VK_PRIMITIVE_TOPOLOGY_LINE_LIST, LineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, Triangles = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, TriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, TriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN, LinesAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, LineStripAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY, TrianglesAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY, TriangleStripAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY, Patches = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST } new in Git master
- Mesh primitive.
- enum class PipelineBindPoint: Int { Rasterization = VK_PIPELINE_BIND_POINT_GRAPHICS, RayTracing = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, Compute = VK_PIPELINE_BIND_POINT_COMPUTE } new in Git master
- Pipeline bind point.
- enum class PipelineStage: UnsignedInt { TopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, DrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, VertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, VertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, TessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, TessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, GeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, FragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, EarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, LateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, ColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, ComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, Transfer = VK_PIPELINE_STAGE_TRANSFER_BIT, BottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, Host = VK_PIPELINE_STAGE_HOST_BIT, AccelerationStructureBuild = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, RayTracingShader = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, AllRasterization = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, AllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT } new in Git master
- Pipeline stage.
- enum class Access: UnsignedInt { IndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT, IndexRead = VK_ACCESS_INDEX_READ_BIT, VertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, UniformRead = VK_ACCESS_UNIFORM_READ_BIT, InputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, ShaderRead = VK_ACCESS_SHADER_READ_BIT, ShaderWrite = VK_ACCESS_SHADER_WRITE_BIT, ColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, ColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, DepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, DepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, TransferRead = VK_ACCESS_TRANSFER_READ_BIT, TransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT, HostRead = VK_ACCESS_HOST_READ_BIT, HostWrite = VK_ACCESS_HOST_WRITE_BIT, MemoryRead = VK_ACCESS_MEMORY_READ_BIT, MemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT, AccelerationStructureRead = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, AccelerationStructureWrite = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR } new in Git master
- Memory access type participating in a memory dependency.
- enum class DependencyFlag: UnsignedInt { ByRegion = VK_DEPENDENCY_BY_REGION_BIT } new in Git master
- Execution and memory dependency flag.
- enum class PixelFormat: Int { R8Unorm = VK_FORMAT_R8_UNORM, RG8Unorm = VK_FORMAT_R8G8_UNORM, RGB8Unorm = VK_FORMAT_R8G8B8_UNORM, RGBA8Unorm = VK_FORMAT_R8G8B8A8_UNORM, R8Snorm = VK_FORMAT_R8_SNORM, RG8Snorm = VK_FORMAT_R8G8_SNORM, RGB8Snorm = VK_FORMAT_R8G8B8_SNORM, RGBA8Snorm = VK_FORMAT_R8G8B8A8_SNORM, R8Srgb = VK_FORMAT_R8_SRGB, RG8Srgb = VK_FORMAT_R8G8_SRGB, RGB8Srgb = VK_FORMAT_R8G8B8_SRGB, RGBA8Srgb = VK_FORMAT_R8G8B8A8_SRGB, R8UI = VK_FORMAT_R8_UINT, RG8UI = VK_FORMAT_R8G8_UINT, RGB8UI = VK_FORMAT_R8G8B8_UINT, RGBA8UI = VK_FORMAT_R8G8B8A8_UINT, R8I = VK_FORMAT_R8_SINT, RG8I = VK_FORMAT_R8G8_SINT, RGB8I = VK_FORMAT_R8G8B8_SINT, RGBA8I = VK_FORMAT_R8G8B8A8_SINT, R16Unorm = VK_FORMAT_R16_UNORM, RG16Unorm = VK_FORMAT_R16G16_UNORM, RGB16Unorm = VK_FORMAT_R16G16B16_UNORM, RGBA16Unorm = VK_FORMAT_R16G16B16A16_UNORM, R16Snorm = VK_FORMAT_R16_SNORM, RG16Snorm = VK_FORMAT_R16G16_SNORM, RGB16Snorm = VK_FORMAT_R16G16B16_SNORM, RGBA16Snorm = VK_FORMAT_R16G16B16A16_SNORM, R16UI = VK_FORMAT_R16_UINT, RG16UI = VK_FORMAT_R16G16_UINT, RGB16UI = VK_FORMAT_R16G16B16_UINT, RGBA16UI = VK_FORMAT_R16G16B16A16_UINT, R16I = VK_FORMAT_R16_SINT, RG16I = VK_FORMAT_R16G16_SINT, RGB16I = VK_FORMAT_R16G16B16_SINT, RGBA16I = VK_FORMAT_R16G16B16A16_SINT, R32UI = VK_FORMAT_R32_UINT, RG32UI = VK_FORMAT_R32G32_UINT, RGB32UI = VK_FORMAT_R32G32B32_UINT, RGBA32UI = VK_FORMAT_R32G32B32A32_UINT, R32I = VK_FORMAT_R32_SINT, RG32I = VK_FORMAT_R32G32_SINT, RGB32I = VK_FORMAT_R32G32B32_SINT, RGBA32I = VK_FORMAT_R32G32B32A32_SINT, R16F = VK_FORMAT_R16_SFLOAT, RG16F = VK_FORMAT_R16G16_SFLOAT, RGB16F = VK_FORMAT_R16G16B16_SFLOAT, RGBA16F = VK_FORMAT_R16G16B16A16_SFLOAT, R32F = VK_FORMAT_R32_SFLOAT, RG32F = VK_FORMAT_R32G32_SFLOAT, RGB32F = VK_FORMAT_R32G32B32_SFLOAT, RGBA32F = VK_FORMAT_R32G32B32A32_SFLOAT, Depth16Unorm = VK_FORMAT_D16_UNORM, Depth24Unorm = VK_FORMAT_X8_D24_UNORM_PACK32, Depth32F = VK_FORMAT_D32_SFLOAT, Stencil8UI = VK_FORMAT_S8_UINT, Depth16UnormStencil8UI = VK_FORMAT_D16_UNORM_S8_UINT, Depth24UnormStencil8UI = VK_FORMAT_D24_UNORM_S8_UINT, Depth32FStencil8UI = VK_FORMAT_D32_SFLOAT_S8_UINT, CompressedBc1RGBUnorm = VK_FORMAT_BC1_RGB_UNORM_BLOCK, CompressedBc1RGBSrgb = VK_FORMAT_BC1_RGB_SRGB_BLOCK, CompressedBc1RGBAUnorm = VK_FORMAT_BC1_RGBA_UNORM_BLOCK, CompressedBc1RGBASrgb = VK_FORMAT_BC1_RGBA_SRGB_BLOCK, CompressedBc2RGBAUnorm = VK_FORMAT_BC2_UNORM_BLOCK, CompressedBc2RGBASrgb = VK_FORMAT_BC2_SRGB_BLOCK, CompressedBc3RGBAUnorm = VK_FORMAT_BC3_UNORM_BLOCK, CompressedBc3RGBASrgb = VK_FORMAT_BC3_SRGB_BLOCK, CompressedBc4RUnorm = VK_FORMAT_BC4_UNORM_BLOCK, CompressedBc4RSnorm = VK_FORMAT_BC4_SNORM_BLOCK, CompressedBc5RGUnorm = VK_FORMAT_BC5_UNORM_BLOCK, CompressedBc5RGSnorm = VK_FORMAT_BC5_SNORM_BLOCK, CompressedBc6hRGBUfloat = VK_FORMAT_BC6H_UFLOAT_BLOCK, CompressedBc6hRGBSfloat = VK_FORMAT_BC6H_SFLOAT_BLOCK, CompressedBc7RGBAUnorm = VK_FORMAT_BC7_UNORM_BLOCK, CompressedBc7RGBASrgb = VK_FORMAT_BC7_SRGB_BLOCK, CompressedEacR11Unorm = VK_FORMAT_EAC_R11_UNORM_BLOCK, CompressedEacR11Snorm = VK_FORMAT_EAC_R11_SNORM_BLOCK, CompressedEacRG11Unorm = VK_FORMAT_EAC_R11G11_UNORM_BLOCK, CompressedEacRG11Snorm = VK_FORMAT_EAC_R11G11_SNORM_BLOCK, CompressedEtc2RGB8Unorm = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, CompressedEtc2RGB8Srgb = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, CompressedEtc2RGB8A1Unorm = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, CompressedEtc2RGB8A1Srgb = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, CompressedEtc2RGBA8Unorm = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, CompressedEtc2RGBA8Srgb = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, CompressedAstc4x4RGBAUnorm = VK_FORMAT_ASTC_4x4_UNORM_BLOCK, CompressedAstc4x4RGBASrgb = VK_FORMAT_ASTC_4x4_SRGB_BLOCK, CompressedAstc4x4RGBAF = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT, CompressedAstc5x4RGBAUnorm = VK_FORMAT_ASTC_5x4_UNORM_BLOCK, CompressedAstc5x4RGBASrgb = VK_FORMAT_ASTC_5x4_SRGB_BLOCK, CompressedAstc5x4RGBAF = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT, CompressedAstc5x5RGBAUnorm = VK_FORMAT_ASTC_5x5_UNORM_BLOCK, CompressedAstc5x5RGBASrgb = VK_FORMAT_ASTC_5x5_SRGB_BLOCK, CompressedAstc5x5RGBAF = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT, CompressedAstc6x5RGBAUnorm = VK_FORMAT_ASTC_6x5_UNORM_BLOCK, CompressedAstc6x5RGBASrgb = VK_FORMAT_ASTC_6x5_SRGB_BLOCK, CompressedAstc6x5RGBAF = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT, CompressedAstc6x6RGBAUnorm = VK_FORMAT_ASTC_6x6_UNORM_BLOCK, CompressedAstc6x6RGBASrgb = VK_FORMAT_ASTC_6x6_SRGB_BLOCK, CompressedAstc6x6RGBAF = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT, CompressedAstc8x5RGBAUnorm = VK_FORMAT_ASTC_8x5_UNORM_BLOCK, CompressedAstc8x5RGBASrgb = VK_FORMAT_ASTC_8x5_SRGB_BLOCK, CompressedAstc8x5RGBAF = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT, CompressedAstc8x6RGBAUnorm = VK_FORMAT_ASTC_8x6_UNORM_BLOCK, CompressedAstc8x6RGBASrgb = VK_FORMAT_ASTC_8x6_SRGB_BLOCK, CompressedAstc8x6RGBAF = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT, CompressedAstc8x8RGBAUnorm = VK_FORMAT_ASTC_8x8_UNORM_BLOCK, CompressedAstc8x8RGBASrgb = VK_FORMAT_ASTC_8x8_SRGB_BLOCK, CompressedAstc8x8RGBAF = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT, CompressedAstc10x5RGBAUnorm = VK_FORMAT_ASTC_10x5_UNORM_BLOCK, CompressedAstc10x5RGBASrgb = VK_FORMAT_ASTC_10x5_SRGB_BLOCK, CompressedAstc10x5RGBAF = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT, CompressedAstc10x6RGBAUnorm = VK_FORMAT_ASTC_10x6_UNORM_BLOCK, CompressedAstc10x6RGBASrgb = VK_FORMAT_ASTC_10x6_SRGB_BLOCK, CompressedAstc10x6RGBAF = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT, CompressedAstc10x8RGBAUnorm = VK_FORMAT_ASTC_10x8_UNORM_BLOCK, CompressedAstc10x8RGBASrgb = VK_FORMAT_ASTC_10x8_SRGB_BLOCK, CompressedAstc10x8RGBAF = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT, CompressedAstc10x10RGBAUnorm = VK_FORMAT_ASTC_10x10_UNORM_BLOCK, CompressedAstc10x10RGBASrgb = VK_FORMAT_ASTC_10x10_SRGB_BLOCK, CompressedAstc10x10RGBAF = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT, CompressedAstc12x10RGBAUnorm = VK_FORMAT_ASTC_12x10_UNORM_BLOCK, CompressedAstc12x10RGBASrgb = VK_FORMAT_ASTC_12x10_SRGB_BLOCK, CompressedAstc12x10RGBAF = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT, CompressedAstc12x12RGBAUnorm = VK_FORMAT_ASTC_12x12_UNORM_BLOCK, CompressedAstc12x12RGBASrgb = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, CompressedAstc12x12RGBAF = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT, CompressedPvrtcRGBA2bppUnorm = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG, CompressedPvrtcRGBA2bppSrgb = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG, CompressedPvrtcRGBA4bppUnorm = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG, CompressedPvrtcRGBA4bppSrgb = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG, CompressedPvrtc2RGBA2bppUnorm = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG, CompressedPvrtc2RGBA2bppSrgb = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG, CompressedPvrtc2RGBA4bppUnorm = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG, CompressedPvrtc2RGBA4bppSrgb = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG } new in Git master
- Pixel format.
- enum class DynamicRasterizationState: UnsignedByte { Viewport, Scissor, LineWidth, DepthBias, BlendConstants, DepthBounds, StencilCompareMask, StencilWriteMask, StencilReference, CullMode, FrontFace, MeshPrimitive, ViewportWithCount, ScissorWithCount, VertexInputBindingStride, DepthTestEnable, DepthWriteEnable, DepthCompareOperation, DepthBoundsTestEnable, StencilTestEnable, StencilOperation } new in Git master
- Dynamic rasterization state.
- enum class SubpassContents: Int { Inline = VK_SUBPASS_CONTENTS_INLINE, SecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS } new in Git master
- Subpass contents.
- enum class AttachmentLoadOperation: Int { Load = VK_ATTACHMENT_LOAD_OP_LOAD, Clear = VK_ATTACHMENT_LOAD_OP_CLEAR, DontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE } new in Git master
- Attachment load operation.
- enum class AttachmentStoreOperation: Int { Store = VK_ATTACHMENT_STORE_OP_STORE, DontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE } new in Git master
- Attachment load operation.
- enum class Result: Int { Success = VK_SUCCESS, NotReady = VK_NOT_READY, Timeout = VK_TIMEOUT, EventSet = VK_EVENT_SET, EventReset = VK_EVENT_RESET, Incomplete = VK_INCOMPLETE, ThreadIdle = VK_THREAD_IDLE_KHR, ThreadDone = VK_THREAD_DONE_KHR, OperationDeferred = VK_OPERATION_DEFERRED_KHR, OperationNotDeferred = VK_OPERATION_NOT_DEFERRED_KHR, ErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY, ErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY, ErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED, ErrorDeviceLost = VK_ERROR_DEVICE_LOST, ErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED, ErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT, ErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT, ErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT, ErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER, ErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS, ErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED, ErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL, ErrorUnknown = VK_ERROR_UNKNOWN, ErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY, ErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE, ErrorFragmentation = VK_ERROR_FRAGMENTATION, ErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, ErrorValidationFailed = VK_ERROR_VALIDATION_FAILED_EXT } new in Git master
- Result.
- enum class SamplerFilter: Int { Nearest = VK_FILTER_NEAREST, Linear = VK_FILTER_LINEAR } new in Git master
- Texture sampler filtering.
- enum class SamplerMipmap: Int { Nearest = VK_SAMPLER_MIPMAP_MODE_NEAREST, Linear = VK_SAMPLER_MIPMAP_MODE_LINEAR } new in Git master
- Texture sampler mip level selection.
- enum class SamplerWrapping: Int { Repeat = VK_SAMPLER_ADDRESS_MODE_REPEAT, MirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT, ClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, ClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, MirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE } new in Git master
- Texture sampler wrapping.
- enum class ShaderStage: UnsignedInt { Vertex = VK_SHADER_STAGE_VERTEX_BIT, Fragment = VK_SHADER_STAGE_FRAGMENT_BIT, Geometry = VK_SHADER_STAGE_GEOMETRY_BIT, TessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, TessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, Compute = VK_SHADER_STAGE_COMPUTE_BIT, RayGeneration = VK_SHADER_STAGE_RAYGEN_BIT_KHR, RayAnyHit = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, RayClosestHit = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, RayMiss = VK_SHADER_STAGE_MISS_BIT_KHR, RayIntersection = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, RayCallable = VK_SHADER_STAGE_CALLABLE_BIT_KHR } new in Git master
- Shader stage.
- enum class Version: UnsignedInt { None = 0xffffffffu, Vk10 = (1 << 22) | (0 << 12), Vk11 = (1 << 22) | (1 << 12), Vk12 = (1 << 22) | (2 << 12) } new in Git master
- Vulkan version.
- enum class VertexFormat: Int { Float = VK_FORMAT_R32_SFLOAT, Half = VK_FORMAT_R16_SFLOAT, Double = VK_FORMAT_R64_SFLOAT, UnsignedByte = VK_FORMAT_R8_UINT, UnsignedByteNormalized = VK_FORMAT_R8_UNORM, Byte = VK_FORMAT_R8_SINT, ByteNormalized = VK_FORMAT_R8_SNORM, UnsignedShort = VK_FORMAT_R16_UINT, UnsignedShortNormalized = VK_FORMAT_R16_UNORM, Short = VK_FORMAT_R16_SINT, ShortNormalized = VK_FORMAT_R16_SNORM, UnsignedInt = VK_FORMAT_R32_UINT, Int = VK_FORMAT_R32_SINT, Vector2 = VK_FORMAT_R32G32_SFLOAT, Vector2h = VK_FORMAT_R16G16_SFLOAT, Vector2d = VK_FORMAT_R64G64_SFLOAT, Vector2ub = VK_FORMAT_R8G8_UINT, Vector2ubNormalized = VK_FORMAT_R8G8_UNORM, Vector2b = VK_FORMAT_R8G8_SINT, Vector2bNormalized = VK_FORMAT_R8G8_SNORM, Vector2us = VK_FORMAT_R16G16_UINT, Vector2usNormalized = VK_FORMAT_R16G16_UNORM, Vector2s = VK_FORMAT_R16G16_SINT, Vector2sNormalized = VK_FORMAT_R16G16_SNORM, Vector2ui = VK_FORMAT_R32G32_UINT, Vector2i = VK_FORMAT_R32G32_SINT, Vector3 = VK_FORMAT_R32G32B32_SFLOAT, Vector3h = VK_FORMAT_R16G16B16_SFLOAT, Vector3d = VK_FORMAT_R64G64B64_SFLOAT, Vector3ub = VK_FORMAT_R8G8B8_UINT, Vector3ubNormalized = VK_FORMAT_R8G8B8_UNORM, Vector3b = VK_FORMAT_R8G8B8_SINT, Vector3bNormalized = VK_FORMAT_R8G8B8_SNORM, Vector3us = VK_FORMAT_R16G16B16_UINT, Vector3usNormalized = VK_FORMAT_R16G16B16_UNORM, Vector3s = VK_FORMAT_R16G16B16_SINT, Vector3sNormalized = VK_FORMAT_R16G16B16_SNORM, Vector3ui = VK_FORMAT_R32G32B32_UINT, Vector3i = VK_FORMAT_R32G32B32_SINT, Vector4 = VK_FORMAT_R32G32B32A32_SFLOAT, Vector4h = VK_FORMAT_R16G16B16A16_SFLOAT, Vector4d = VK_FORMAT_R64G64B64A64_SFLOAT, Vector4ub = VK_FORMAT_R8G8B8A8_UINT, Vector4ubNormalized = VK_FORMAT_R8G8B8A8_UNORM, Vector4b = VK_FORMAT_R8G8B8A8_SINT, Vector4bNormalized = VK_FORMAT_R8G8B8A8_SNORM, Vector4us = VK_FORMAT_R16G16B16A16_UINT, Vector4usNormalized = VK_FORMAT_R16G16B16A16_UNORM, Vector4s = VK_FORMAT_R16G16B16A16_SINT, Vector4sNormalized = VK_FORMAT_R16G16B16A16_SNORM, Vector4ui = VK_FORMAT_R32G32B32A32_UINT, Vector4i = VK_FORMAT_R32G32B32A32_SINT } new in Git master
- Vertex format.
Typedefs
-
using BufferUsages = Containers::
EnumSet<BufferUsage> new in Git master - Buffer usages.
-
using CommandBufferResetFlags = Containers::
EnumSet<CommandBufferResetFlag> new in Git master - Command buffer reset flags.
-
using CommandPoolResetFlags = Containers::
EnumSet<CommandPoolResetFlag> new in Git master - Command pool reset flags.
-
using DeviceFeatures = Containers::
BigEnumSet<DeviceFeature, 4> new in Git master - Device features.
-
using QueueFlags = Containers::
EnumSet<QueueFlag> new in Git master - Queue flags.
-
using MemoryHeapFlags = Containers::
EnumSet<MemoryHeapFlag> new in Git master - Memory heap flags.
-
using HandleFlags = Containers::
EnumSet<HandleFlag> new in Git master - Handle wrapping flags.
-
using ImageAspects = Containers::
EnumSet<ImageAspect> new in Git master - Image aspects.
-
using ImageUsages = Containers::
EnumSet<ImageUsage> new in Git master - Image usages.
-
using MemoryFlags = Containers::
EnumSet<MemoryFlag> new in Git master - Memory type flags.
-
using PipelineStages = Containers::
EnumSet<PipelineStage> new in Git master - Pipeline stages.
-
using Accesses = Containers::
EnumSet<Access> new in Git master - Memory access type participating in a memory dependency.
-
using DependencyFlags = Containers::
EnumSet<DependencyFlag> new in Git master - Execution and memory dependency flags.
-
using DynamicRasterizationStates = Containers::
BigEnumSet<DynamicRasterizationState, 1> new in Git master - Dynamic rasterization states.
-
using ShaderStages = Containers::
EnumSet<ShaderStage, VK_SHADER_STAGE_ALL> new in Git master - Shader stages.
Functions
- auto operator<<(Debug& debug, DescriptorType value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, DeviceFeature value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, const DeviceFeatures& value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, DeviceType value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, DeviceDriver value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, QueueFlag value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, QueueFlags value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, MemoryHeapFlag value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, MemoryHeapFlags value) -> Debug& new in Git master
- Debug output operator.
-
auto enumerateDevices(Instance& instance) -> Containers::
Array<DeviceProperties> new in Git master - Enumerate physical devices.
- auto pickDevice(Instance& instance) -> DeviceProperties new in Git master
- Pick a physical device.
-
auto tryPickDevice(Instance& instance) -> Containers::
Optional<DeviceProperties> new in Git master - Try to pick a physical device.
-
auto hasVkPrimitiveTopology(Magnum::
MeshPrimitive primitive) -> bool deprecated in Git master - Check availability of a generic mesh primitive.
-
auto vkPrimitiveTopology(Magnum::
MeshPrimitive primitive) -> VkPrimitiveTopology deprecated in Git master - Convert generic mesh primitive to Vulkan mesh primitive.
-
auto hasVkIndexType(Magnum::
MeshIndexType type) -> bool deprecated in Git master - Check availability of a generic index type.
-
auto vkIndexType(Magnum::
MeshIndexType type) -> VkIndexType deprecated in Git master - Convert a generic index type to Vulkan index type.
-
auto hasVkFormat(Magnum::
VertexFormat format) -> bool deprecated in Git master - Check availability of a generic vertex format.
-
auto hasVkFormat(Magnum::
PixelFormat format) -> bool deprecated in Git master - Check availability of a generic pixel format.
-
auto hasVkFormat(Magnum::
CompressedPixelFormat format) -> bool deprecated in Git master - Check availability of a generic compressed pixel format.
-
auto vkFormat(Magnum::
VertexFormat format) -> VkFormat deprecated in Git master - Convert a generic vertex format to Vulkan vertex format.
-
auto vkFormat(Magnum::
PixelFormat format) -> VkFormat deprecated in Git master - Convert a generic pixel format to Vulkan pixel format.
-
auto vkFormat(Magnum::
CompressedPixelFormat format) -> VkFormat deprecated in Git master - Convert a generic compressed pixel format to Vulkan pixel format.
-
auto vkFilter(Magnum::
SamplerFilter filter) -> VkFilter deprecated in Git master - Convert a generic sampler filter to Vulkan sampler filter.
-
auto vkSamplerMipmapMode(Magnum::
SamplerMipmap mipmap) -> VkSamplerMipmapMode deprecated in Git master - Convert a generic sampler mipmap mode to Vulkan sampler mipmap mode.
-
auto hasVkSamplerAddressMode(Magnum::
SamplerWrapping wrapping) -> bool deprecated in Git master - Check availability of a generic sampler wrapping mode.
-
auto vkSamplerAddressMode(Magnum::
SamplerWrapping wrapping) -> VkSamplerAddressMode deprecated in Git master - Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
-
template<std::auto vkSamplerAddressMode(const Math::
size_t dimensions> Vector<dimensions, Magnum:: SamplerWrapping>& wrapping) -> Math:: Vector<dimensions, VkSamplerAddressMode> deprecated in Git master - Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
-
auto enumerateInstanceExtensionProperties(const Containers::
StringIterable& layers = {}) -> InstanceExtensionProperties new in Git master - Enumerate instance extension properties.
- auto operator<<(Debug& debug, HandleFlag value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, HandleFlags value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& out, ImageAspect value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& out, ImageAspects value) -> Debug& new in Git master
- Debug output operator.
- auto imageAspectsFor(PixelFormat format) -> ImageAspects new in Git master
- Image aspects corresponding to given pixel format.
-
auto imageAspectsFor(Magnum::
PixelFormat format) -> ImageAspects new in Git master - auto enumerateLayerProperties() -> LayerProperties new in Git master
- Enumerate instance layers.
- auto operator<<(Debug& debug, MemoryFlag value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, MemoryFlags value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, MeshIndexType value) -> Debug& new in Git master
- Debug output operator.
-
auto meshIndexType(Magnum::
MeshIndexType type) -> MeshIndexType new in Git master - Convert a generic index type to Vulkan index type.
- auto operator<<(Debug& debug, MeshPrimitive value) -> Debug& new in Git master
- Debug output operator.
-
auto hasMeshPrimitive(Magnum::
MeshPrimitive primitive) -> bool new in Git master - Check availability of a generic mesh primitive.
-
auto meshPrimitive(Magnum::
MeshPrimitive primitive) -> MeshPrimitive new in Git master - Convert generic mesh primitive to Vulkan mesh primitive.
- auto operator<<(Debug& debug, PipelineBindPoint value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, PixelFormat value) -> Debug& new in Git master
- Debug output operator.
-
auto hasPixelFormat(Magnum::
PixelFormat format) -> bool new in Git master - Check availability of a generic pixel format.
-
auto hasPixelFormat(Magnum::
CompressedPixelFormat format) -> bool new in Git master - Check availability of a generic compressed pixel format.
-
auto pixelFormat(Magnum::
PixelFormat format) -> PixelFormat new in Git master - Convert a generic pixel format to Vulkan pixel format.
-
auto pixelFormat(Magnum::
CompressedPixelFormat format) -> PixelFormat new in Git master - Convert a generic compressed pixel format to Vulkan pixel format.
-
auto genericPixelFormat(PixelFormat format) -> Containers::
Optional<Magnum:: PixelFormat> new in Git master - Convert Vulkan pixel format to a generic pixel format.
-
auto genericCompressedPixelFormat(PixelFormat format) -> Containers::
Optional<Magnum:: CompressedPixelFormat> new in Git master - Convert Vulkan compressed pixel format to a generic compressed pixel format.
- auto operator<<(Debug& debug, DynamicRasterizationState value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, const DynamicRasterizationStates& value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, Result value) -> Debug& new in Git master
- Debug output operator.
- auto operator<<(Debug& debug, SamplerFilter value) -> Debug& new in Git master
- Debug output operator.
-
auto samplerFilter(Magnum::
SamplerFilter filter) -> SamplerFilter new in Git master - Convert a generic sampler filter to Vulkan sampler filter.
- auto operator<<(Debug& debug, SamplerWrapping value) -> Debug& new in Git master
- Debug output operator.
-
auto samplerMipmap(Magnum::
SamplerMipmap mipmap) -> SamplerMipmap new in Git master - Convert a generic sampler mipmap mode to Vulkan sampler mipmap mode.
- auto operator<<(Debug& debug, SamplerMipmap value) -> Debug& new in Git master
- Debug output operator.
-
auto samplerWrapping(Magnum::
SamplerWrapping wrapping) -> SamplerWrapping new in Git master - Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
-
template<std::auto samplerWrapping(const Math::
size_t dimensions> Vector<dimensions, Magnum:: SamplerWrapping>& wrapping) -> Math:: Vector<dimensions, SamplerWrapping> deprecated in Git master - Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
- auto version(UnsignedInt major, UnsignedInt minor, UnsignedInt patch = 0) -> Version constexpr new in Git master
- Create a version from components.
- auto versionMajor(Version version) -> UnsignedInt constexpr new in Git master
- Extract major version number from a packed representation.
- auto versionMinor(Version version) -> UnsignedInt constexpr new in Git master
- Extract minor version number from a packed representation.
- auto versionPatch(Version version) -> UnsignedInt constexpr new in Git master
- Extract minor version number from a packed representation.
- auto operator<(Version a, Version b) -> bool constexpr new in Git master
- Whether a version is smaller than the other.
- auto operator<=(Version a, Version b) -> bool constexpr new in Git master
- Whether a version is smaller than or equal to the other.
- auto operator>=(Version a, Version b) -> bool constexpr new in Git master
- Whether a version is greater than or equal to the other.
- auto operator>(Version a, Version b) -> bool constexpr new in Git master
- Whether a version is greater than the other.
- auto operator<<(Debug& debug, Version value) -> Debug& new in Git master
- Debug output operator.
- auto enumerateInstanceVersion() -> Version new in Git master
- Enumerate version supported by the instance.
- auto operator<<(Debug& debug, VertexFormat value) -> Debug& new in Git master
- Debug output operator.
-
auto hasVertexFormat(Magnum::
VertexFormat format) -> bool new in Git master - Check availability of a generic vertex format.
-
auto vertexFormat(Magnum::
VertexFormat format) -> VertexFormat new in Git master - Convert a generic vertex format to Vulkan vertex format.
Enum documentation
enum class Magnum:: Vk:: BufferUsage: UnsignedInt new in Git master
#include <Magnum/Vk/BufferCreateInfo.h>
Buffer usage.
Wraps a VkBufferUsageFlagBits.
Enumerators | |
---|---|
TransferSource |
Source of a transfer command. |
TransferDestination |
Destination of a transfer command. |
UniformTexelBuffer |
Suitable for creating a uniform texel buffer view. |
StorageTexelBuffer |
Suitable for creating a storage texel buffer view. |
UniformBuffer |
Suitable for a uniform buffer. |
StorageBuffer |
Suitable for a storage buffer. |
IndexBuffer |
Suitable for an index buffer. |
VertexBuffer |
Suitable for a vertex buffer. |
IndirectBuffer |
Suitable for a indirect draw buffer |
ShaderBindingTable |
Suitable for a ray tracing shader binding table |
AccelerationStructureBuildInputReadOnly |
Suitable as a read-only input to an acceleration structure build |
AccelerationStructureStorage |
Suitable for an acceleration structure storage space |
enum class Magnum:: Vk:: CommandBufferResetFlag: UnsignedInt new in Git master
#include <Magnum/Vk/CommandBuffer.h>
Command buffer reset flag.
Wraps VkCommandBufferResetFlagBits.
Enumerators | |
---|---|
ReleaseResources |
Recycle all resources from the command pool back to the system |
enum class Magnum:: Vk:: CommandBufferLevel: Int new in Git master
#include <Magnum/Vk/CommandPool.h>
Command buffer level.
Wraps a VkCommandBufferLevel.
Enumerators | |
---|---|
Primary |
Primary command buffer |
Secondary |
Secondary command buffer |
enum class Magnum:: Vk:: CommandPoolResetFlag: UnsignedInt new in Git master
#include <Magnum/Vk/CommandPool.h>
Command buffer reset flag.
Wraps VkCommandPoolResetFlagBits.
Enumerators | |
---|---|
ReleaseResources |
Recycle all resources from the command pool back to the system |
enum class Magnum:: Vk:: DescriptorType: Int new in Git master
#include <Magnum/Vk/DescriptorType.h>
Descriptor type.
Wraps VkDescriptorType.
Enumerators | |
---|---|
Sampler | |
CombinedImageSampler |
Sampler combined with an Image. The image is expected to have been created with ImageUsage:: |
SampledImage |
Sampled Image. The image is expected to have been created with ImageUsage:: |
StorageImage |
Storage Image. The image is expected to have been created with ImageUsage:: |
UniformTexelBuffer |
Uniform texel buffer view. The buffer is expected to have been created with BufferUsage:: |
StorageTexelBuffer |
Storage texel buffer view. The buffer is expected to have been created with BufferUsage:: |
UniformBuffer |
Uniform Buffer. The buffer is expected to have been created with BufferUsage:: |
StorageBuffer |
Storage Buffer. The buffer is expected to have been created with BufferUsage:: |
UniformBufferDynamic |
Uniform Buffer with a dynamic offset. The buffer is expected to have been created with BufferUsage:: |
StorageBufferDynamic |
Storage Buffer with a dynamic offset. The buffer is expected to have been created with BufferUsage:: |
InputAttachment |
Input Image attachment. The image is expected to have been created with ImageUsage:: |
AccelerationStructure |
Acceleration structure. |
enum class Magnum:: Vk:: DeviceFeature: UnsignedShort new in Git master
#include <Magnum/Vk/DeviceFeatures.h>
Device feature.
Contains information stored in the VkPhysicalDeviceFeatures2 structure chain. Values correspond to equivalently named structure fields, usually just with the first letter uppercase instead of lowercase.
Enumerators | |
---|---|
RobustBufferAccess |
Whether accesses to buffers are bounds-checked against the range of the buffer descriptor. Out of bounds accesses are guaranteed to not cause application termination, but have implementation-dependent behavior. A subset of the guarantees provided by DeviceFeature:: |
FullDrawIndexUnsignedInt |
Whether the full 32-bit range is supported for indexed draw calls when using MeshIndexType:: |
ImageCubeArray |
Whether image views with VK_ |
IndependentBlend |
Whether blend state can be different per attachment. |
GeometryShader |
Whether geometry shaders are supported. |
TessellationShader |
Whether tessellation control and evaluation shaders are supported. |
SampleRateShading |
Whether sample shading and multisample interpolation is supported. |
DualSrcBlend |
Whether blend operations which take two sources are supported. |
LogicOp |
Whether logic operations are supported. |
MultiDrawIndirect |
Whether multiple draw indirect is supported. |
DrawIndirectFirstInstance |
Whether indirect draw calls support the first instance parameter. |
DepthClamp |
Whether depth clamping is supported. |
DepthBiasClamp |
Whether depth bias clamping is supported. |
FillModeNonSolid |
Whether point and wireframe fill modes are supported. |
DepthBounds |
Whether depth bound tests are supported. |
WideLines |
Whether lines with a width other than |
LargePoints |
Whether points with size greater than |
AlphaToOne |
Whether replacing the alpha of color fragment output from the fragment shader with |
MultiViewport |
Whether rendering to more than one viewport is supported. |
SamplerAnisotropy |
Whether anisotropic filtering is supported. |
TextureCompressionEtc2 |
Whether PixelFormat:: |
TextureCompressionAstcLdr |
Whether PixelFormat:: |
TextureCompressionBc |
Whether PixelFormat:: |
OcclusionQueryPrecise |
Whether occlusion queries returning actual sample counts are supported. |
PipelineStatisticsQuery |
Whether pipeline statistics queries are supported. |
VertexPipelineStoresAndAtomics |
Whether storage buffers and images support stores and atomic operations in the vertex, tessellation and geometry shader stages. |
FragmentStoresAndAtomics |
Whether storage buffers and images support stores and atomic operations in the fragment shader stage. |
ShaderTessellationAndGeometryPointSize |
Whether point size is accessible in tessellation control, tessellation evaluation and geometry shader stages. |
ShaderImageGatherExtended |
Whether the extended set of image gather instructions is available in shader code. |
ShaderStorageImageExtendedFormats |
Whether PixelFormat:: |
ShaderStorageImageMultisample |
Whether multisampled storage images are supported. |
ShaderStorageImageReadWithoutFormat |
Whether storage images require a format qualifier to be specified when reading from storage images. |
ShaderStorageImageWriteWithoutFormat |
Whether storage images require a format qualifier to be specified when writing to storage images. |
ShaderUniformBufferArrayDynamicIndexing |
Whether arrays of uniform buffers can be indexed by dynamically uniform integer expressions in shader code. |
ShaderSampledImageArrayDynamicIndexing |
Whether arrays of samplers or sampled images can be indexed by dynamically uniform integer expressions in shader code. |
ShaderStorageBufferArrayDynamicIndexing |
Whether arrays of storage buffers can be indexed by dynamically uniform integer expressions in shader code. |
ShaderStorageImageArrayDynamicIndexing |
Whether arrays of storage images can be indexed by dynamically uniform integer expressions in shader code. |
ShaderClipDistance |
Whether clip distances are supported in shader code. |
ShaderCullDistance |
Whether cull distances are supported in shader code. |
ShaderFloat64 |
Whether 64-bit floats are supported in shader code. |
ShaderInt64 |
Whether 64-bit integers are supported in shader code. |
ShaderInt16 |
Whether 16-bit integers are supported in shader code. |
ShaderResourceResidency |
Whether image operations that return resource residency information are supported in shader code. |
ShaderResourceMinLod |
Whether image operations specifying minimum resource LOD are supported in shader code. |
SparseBinding |
Whether resource memory can be managed at opaque sparse block level instead of at the object level. |
SparseResidencyBuffer |
Whether the device can access sparse buffers. |
SparseResidencyImage2D |
Whether the device can access sparse 2D images with 1 sample per pixel. |
SparseResidencyImage3D |
Whether the device can access sparse 3D images. |
SparseResidency2Samples |
Whether the device can access sparse 2D images with 2 samples per pixel. |
SparseResidency4Samples |
Whether the device can access sparse 2D images with 4 samples per pixel. |
SparseResidency8Samples |
Whether the device can access sparse 2D images with 8 samples per pixel. |
SparseResidency16Samples |
Whether the device can access sparse 2D images with 16 samples per pixel. |
SparseResidencyAliased |
Whether the device can correctly access sparse data aliased into multiple locations. |
VariableMultisampleRate |
Whether all pipelines bound to a command buffer during a subpass which uses no attachment must have the same samples. |
InheritedQueries |
Whether a secondary command buffer may be executed while a query is active. |
ProtectedMemory |
Whether protected memory is supported. |
Multiview |
Whether multiview rendering within a render pass is supported. |
MultiviewGeometryShader |
Whether multiview rendering within a render pass with geometry shaders is supported. |
MultiviewTessellationShader |
Whether multiview rendering within a render pass with tessellation shaders is supported. |
ShaderDrawParameters |
Whether shader draw parameters are supported. |
TextureCompressionAstcHdr |
Whether PixelFormat:: |
ShaderFloat16 |
Whether 16-bit floats are supported in shader code. |
ShaderInt8 |
Whether 8-bit integers are supported in shader code. |
StorageBuffer16BitAccess |
Whether shader storage buffers can have 16-bit integer and 16-bit floating-point members. Subset of DeviceFeature:: |
UniformAndStorageBuffer16BitAccess |
Whether shader uniforms and storage buffers can have 16-bit integer and 16-bit floating-point members. Superset of DeviceFeature:: |
StoragePushConstant16 |
Whether shader push constants can have 16-bit integer and 16-bit floating-point members. |
StorageInputOutput16 |
Whether shader inputs and outputs can have 16-bit integer and 16-bit floating-point members. |
ImagelessFramebuffer |
Specifying image view for attachments is possible at a time CommandBuffer:: |
VariablePointersStorageBuffer |
Whether SPIR-V variable pointer storage buffers are supported. |
VariablePointers |
Whether SPIR-V variable pointers are supported. |
AccelerationStructure |
Whether acceleration structure functionality is supported. |
AccelerationStructureCaptureReplay |
Whether saving and reusing acceleration structure devices for trace capture and replay is supported. |
AccelerationStructureIndirectBuild |
Whether indirect acceleration structure builds are supported. |
AccelerationStructureHostCommands |
Whether host-side acceleration structure commands are supported. |
DescriptorBindingAccelerationStructureUpdateAfterBind |
Whether acceleration structure descriptors can be updated after a set is bound. |
SamplerYcbcrConversion |
Whether sampler Y'CBCR conversion is supported. |
ShaderInputAttachmentArrayDynamicIndexing |
Whether arrays of input attachment can be indexed by dynamically uniform integer expressions in shader code. |
ShaderUniformTexelBufferArrayDynamicIndexing |
Whether arrays of uniform texel buffers can be indexed by dynamically uniform integer expressions in shader code. |
ShaderStorageTexelBufferArrayDynamicIndexing |
Whether arrays of storage texel buffers can be indexed by dynamically uniform integer expressions in shader code. |
ShaderUniformBufferArrayNonUniformIndexing |
Whether arrays of uniform buffers can be indexed by non-uniform integer expressions in shader code. |
ShaderSampledImageArrayNonUniformIndexing |
Whether arrays of samplers or sampled images can be indexed by non-uniform integer expressions in shader code. |
ShaderStorageBufferArrayNonUniformIndexing |
Whether arrays of storage buffers can be indexed by non-uniform integer expressions in shader code. |
ShaderStorageImageArrayNonUniformIndexing |
Whether arrays of storage images can be indexed by non-uniform integer expressions in shader code. |
ShaderInputAttachmentArrayNonUniformIndexing |
Whether arrays of input attachments can be indexed by non-uniform integer expressions in shader code. |
ShaderUniformTexelBufferArrayNonUniformIndexing |
Whether arrays of uniform texel buffers can be indexed by non-uniform integer expressions in shader code. |
ShaderStorageTexelBufferArrayNonUniformIndexing |
Whether arrays of storage texel buffers can be indexed by non-uniform integer expressions in shader code. |
DescriptorBindingUniformBufferUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingSampledImageUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingStorageImageUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingStorageBufferUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingUniformTexelBufferUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingStorageTexelBufferUpdateAfterBind |
Whether DescriptorType:: |
DescriptorBindingUpdateUnusedWhilePending |
Whether descriptors can be updated while the set is in use. |
DescriptorBindingPartiallyBound |
Whether a descriptor set binding in which some descriptors are not valid can be statically used. |
DescriptorBindingVariableDescriptorCount |
Whether descriptor sets with a variably-sized last binding are supported. |
RuntimeDescriptorArray |
Whether SPIR-V runtime descriptor arrays are supported. |
ConstantAlphaColorBlendFactors |
Whether constant alpha as source or destination blend color is supported. |
Events |
Whether synchronization using events is supported. |
ImageViewFormatReinterpretation |
Whether an ImageView can be created with a format containing different number of components or a different number of bits in each component than the format of the underlying Image. |
ImageViewFormatSwizzle |
Whether remapping format components in an ImageView is supported. |
ImageView2DOn3DImage |
Whether a 2D view can be created on a 3D Image can be created. |
MultisampleArrayImage |
Whether multisample 2D array Image can be created. |
MutableComparisonSamplers |
Whether descriptors with comparison samplers can be updated. |
PointPolygons |
Whether rasterization using a point polygon mode is supported. |
SamplerMipLodBias |
Whether setting a mipmap LOD bias when creating a sampler is supported. |
SeparateStencilMaskRef |
Whether separate front and back stencil test reference values are supported. |
ShaderSampleRateInterpolationFunctions |
Whether interpolation at centroid, offset and sample is supported. Depends on DeviceFeature:: |
TessellationIsolines |
Whether isoline output from a tessellation shader stage is supported. Depends on DeviceFeature:: |
TessellationPointMode |
Whether point output from a tessellation shader stage is supported. Depends on DeviceFeature:: |
TriangleFans |
Whether triangle fan mesh primitives are supported. |
VertexAttributeAccessBeyondStride |
Whether accessing a vertex input attribute beyond the stride of corresponding vertex input binding is supported. |
ShaderSubgroupExtendedTypes |
Whether subgroup operations can use 8-bit integer, 16-bit integer, 64-bit integer and 16-bit floating point types in group operations with subgroup scope, providing the types are supported. |
StorageBuffer8BitAccess |
Whether shader storage buffers can have 8-bit integer members. Subset of DeviceFeature:: |
UniformAndStorageBuffer8BitAccess |
Whether shader uniforms and storage buffers can have 8-bit integer members. Superset of DeviceFeature:: |
StoragePushConstant8 |
Whether shader push constants can have 8-bit integer members. |
ShaderBufferInt64Atomics |
Whether shaders can perform 64-bit integer atomic operations on buffers. |
ShaderSharedInt64Atomics |
Whether shaders can perform 64-bit integer atomic operations on shared memory. |
VertexAttributeInstanceRateDivisor |
Whether vertex attribute fetching may be repeated in case of instanced rendering. |
VertexAttributeInstanceRateZeroDivisor |
Whether zero vertex attribute divisor is supported. |
TimelineSemaphore |
Whether timeline semaphores are supported. |
VulkanMemoryModel |
Whether the Vulkan Memory Model is supported. |
VulkanMemoryModelDeviceScope |
Whether the Vulkan Memory Model can use device scope synchronization. |
VulkanMemoryModelAvailabilityVisibilityChains |
Whether the Vulkan Memory Model can use availability and visibility chains with more than one element. |
ScalarBlockLayout |
Whether layout of resource blocks in shaders using scalar alignment is supported. |
SeparateDepthStencilLayouts |
Whether the implementation supports an image barrier for a depth/stencil image with only one of the depth/stencil aspects and whether separate depth/stencil layouts can be used. |
UniformBufferStandardLayout |
Whether same layouts for uniform buffers as for storage and other kinds of buffers are supported. |
BufferDeviceAddress |
Whether accessing buffer memory in shaders as storage buffers via an address queried from vkGetBufferDeviceAddress() is supported. |
BufferDeviceAddressCaptureReplay |
Whether saving and reusing buffer dand device addresses for trace capture and replay is supported. |
BufferDeviceAddressMultiDevice |
Whether DeviceFeature:: |
HostQueryReset |
Whether queries can be reset from the host with vkResetQueryPool(). |
IndexTypeUnsignedByte |
Whether an 8-bit type can be used in index buffers. |
ExtendedDynamicState |
The DynamicRasterizationState:: |
RobustBufferAccess2 |
Whether accesses to buffers are bounds-checked against the range of the buffer descriptor, rounded up to a multiple of buffer access size alignment. Out of bounds writes are guaranteed to be discarded, out of bounds reads are guaranteed to return zero values. A stricter but more expensive variant of DeviceFeature:: |
RobustImageAccess2 |
Whether accesses to images are bounds-checked against the dimensions of the image view. Out of bounds loads are guaranteed to return zero values, with inserted for missing components based on the image format. A stricted but more expensive variant of DeviceFeature:: |
NullDescriptor |
Whether descriptors can be written with a null resource or view handle, at which point they're considered valid and act as if the descriptor was bound to nothing. |
RobustImageAccess |
Whether accesses to images are bounds-checked against the dimensions of the image view. Out of bounds loads are guaranteed to return zero values, with either or inserted for missing components based on the image format, with no guarantees provided for values returned for an invalid mip level. A subset of the guarantees provided by DeviceFeature:: |
RayTracingPipeline |
Whether ray tracing pipeline functionality is supported. |
RayTracingPipelineShaderGroupHandleCaptureReplay |
Whether saving and reusing shader group handles for trace capture and replay is supported. |
RayTracingPipelineShaderGroupHandleCaptureReplayMixed |
Whether reused shader group handles can be arbitrarily mixed with creation of non-reused shader group handles. |
RayTracingPipelineTraceRaysIndirect |
Whether indirect trace ray commands are supported. |
RayTraversalPrimitiveCulling |
Whether primitive culling during ray traversal is supported. |
RayQuery |
Whether ray query functionality is supported. |
enum class Magnum:: Vk:: DeviceType: Int new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Physical device type.
Wraps a VkPhysicalDeviceType.
Enumerators | |
---|---|
Other |
Anything that does not match any other available types |
IntegratedGpu |
Typically a device embedded in or tightly coupled with the host |
DiscreteGpu |
Typically a separate processor connected to the host via an interlink |
VirtualGpu |
Typically a virtual node in a virtualization environment |
Cpu |
Typically running on the same processors as the host |
enum class Magnum:: Vk:: DeviceDriver: Int new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Physical device driver ID.
Wraps a VkDriverId.
Enumerators | |
---|---|
Unknown |
Unknown. Returned from DeviceProperties:: |
AmdOpenSource |
Open-source AMD |
AmdProprietary |
Proprietary AMD |
ArmProprietary |
Proprietary ARM |
BroadcomProprietary |
Proprietary Broadcom |
GgpProprietary |
Proprietary GGP |
GoogleSwiftShader |
Google SwiftShader |
ImaginationProprietary |
Proprietary Imagination |
IntelOpenSourceMesa |
Open-source Intel Mesa drivers |
IntelProprietaryWindows |
Proprietary Intel driver on Windows |
MesaLlvmpipe |
Mesa LLVMpipe |
MesaRadv |
Mesa RADV |
MoltenVk |
MoltenVK |
NVidiaProprietary |
Proprietary NVidia |
QualcommProprietary |
Proprietary Qualcomm |
enum class Magnum:: Vk:: QueueFlag: UnsignedInt new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Queue flag.
Wraps a VkQueueFlagBits.
Enumerators | |
---|---|
Graphics |
Supports general graphics and rasterization operations. |
Compute |
Supports compute and ray tracing operations. |
Transfer |
Supports transfer operations |
SparseBinding |
Supports sparse memory management operations |
Protected |
Supports protected memory operations |
enum class Magnum:: Vk:: MemoryHeapFlag: UnsignedInt new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Memory heap flag.
Wraps a VkMemoryHeapFlagBits.
Enumerators | |
---|---|
DeviceLocal |
Corresponds to device-local memory |
enum class Magnum:: Vk:: HandleFlag: UnsignedByte new in Git master
#include <Magnum/Vk/Handle.h>
Handle wrapping flag.
Enumerators | |
---|---|
DestroyOnDestruction |
Destroy the handle on destruction. |
enum class Magnum:: Vk:: ImageLayout: Int new in Git master
#include <Magnum/Vk/Image.h>
Image layout.
Wraps VkImageLayout.
Enumerators | |
---|---|
Undefined |
Undefined. Can be used as the initial layout in ImageCreateInfo structures (and there it's the default) and as the initial layout in render pass AttachmentDescription (in which case it tells the driver that we don't care about the previous contents). Images in this layout are not accessible by the device, the image has to be transitioned to a defined layout such as ImageLayout:: |
Preinitialized |
Preinitialized. Can only be used as the initial layout in ImageCreateInfo structures. Compared to ImageLayout:: Usable only for images created with VK_ |
General |
General layout, supports all types of device access. |
ColorAttachment |
Layout optimal for a color or resolve attachment, not guaranteed to be usable for anything else. Only valid for images created with ImageUsage:: |
DepthStencilAttachment |
Layout optimal for a read/write depth/stencil attachment, not guaranteed to be usable for anything else. Only valid for images created with ImageUsage:: |
ShaderReadOnly |
Layout optimal for read-only access in a shader sampler, combined image/sampler or input attachment; not guaranteed to be usable for anything else. Only valid for images created with ImageUsage:: |
TransferSource |
Layout optimal for transfer sources; not guaranteed to be usable for anything else. Only valid for images created with ImageUsage:: |
TransferDestination |
Layout optimal for transfer destination; not guaranteed to be usable for anything else. Only valid for images created with ImageUsage:: |
enum class Magnum:: Vk:: ImageAspect: UnsignedInt new in Git master
#include <Magnum/Vk/Image.h>
Image aspect.
Wraps VkImageAspectFlagBits.
Enumerators | |
---|---|
Color |
Color |
Depth |
Depth |
Stencil |
Stencil |
enum class Magnum:: Vk:: ImageUsage: UnsignedInt new in Git master
#include <Magnum/Vk/ImageCreateInfo.h>
Image usage.
Wraps a VkImageUsageFlagBits.
Enumerators | |
---|---|
TransferSource |
Source of a transfer command |
TransferDestination |
Destination of a transfer command |
Sampled |
Sampled by a shader. Not all pixel formats support sampling, see PixelFormat for more information. |
Storage |
Shader storage. Not all pixel formats support shader storage, with some requiring the DeviceFeature:: |
ColorAttachment |
Color attachment Not all pixel formats support color attachment, see PixelFormat for more information. |
DepthStencilAttachment |
Depth/stencil attachment Note that only one of PixelFormat:: |
TransientAttachment |
Transient attachment |
InputAttachment |
Input attachment in a shader or framebuffer |
enum class Magnum:: Vk:: MemoryFlag: UnsignedInt new in Git master
#include <Magnum/Vk/Memory.h>
Memory type flag.
Wraps a VkMemoryPropertyFlagBits.
Enumerators | |
---|---|
DeviceLocal |
Device local. Always corresponds to a heap with MemoryHeapFlag:: |
HostVisible |
Memory that can be mapped for host access |
HostCoherent |
Memory with coherent access on the host |
HostCached |
Memory that is cached on the host. Host memory accesses to uncached memory are slower than to cached memory, however uncached memory is always MemoryFlag:: |
LazilyAllocated |
Lazily allocated memory. Allows only device access (i.e., there's no memory that has both this and MemoryFlag:: |
enum class Magnum:: Vk:: MeshIndexType: Int new in Git master
#include <Magnum/Vk/Mesh.h>
Mesh index type.
Wraps a VkIndexType.
Enumerators | |
---|---|
UnsignedByte | |
UnsignedShort | |
UnsignedInt |
enum class Magnum:: Vk:: MeshPrimitive: Int new in Git master
#include <Magnum/Vk/MeshLayout.h>
Mesh primitive.
Wraps a VkPrimitiveTopology.
Enumerators | |
---|---|
Points |
Single points. |
Lines |
Each pair of vertices defines a single line, lines aren't connected together. |
LineStrip |
First two vertices define first line segment, each following vertex defines another segment. |
Triangles |
Each three vertices define one triangle. |
TriangleStrip |
First three vertices define first triangle, each following vertex defines another triangle. |
TriangleFan |
First vertex is center, each following vertex is connected to previous and center vertex. |
LinesAdjacency |
Lines with adjacency information. |
LineStripAdjacency |
Line strip with adjacency information. |
TrianglesAdjacency |
Triangles with adjacency information. |
TriangleStripAdjacency |
Triangle strip with adjacency information. |
Patches |
Patches. |
enum class Magnum:: Vk:: PipelineBindPoint: Int new in Git master
#include <Magnum/Vk/Pipeline.h>
Pipeline bind point.
Wraps a VkPipelineBindPoint.
Enumerators | |
---|---|
Rasterization |
Rasterization pipeline |
RayTracing |
Ray tracing pipeline |
Compute |
Compute pipeline |
enum class Magnum:: Vk:: PipelineStage: UnsignedInt new in Git master
#include <Magnum/Vk/Pipeline.h>
Pipeline stage.
Wraps VkPipelineStageFlagBits.
Enumerators | |
---|---|
TopOfPipe |
Top of pipe. Equivalent to PipelineStage:: |
DrawIndirect |
Where indirect draw/dispatch/raytrace data structures are consumed |
VertexInput |
Where vertex and index buffers are consumed |
VertexShader |
Execution of a vertex shader |
TessellationControlShader |
Execution of a tessellation control shader. |
TessellationEvaluationShader |
Execution of a tessellation evaluation shader. |
GeometryShader |
Execution of a geometry shader |
FragmentShader |
Execution of a fragment shader. Does not include color or depth/stencil attachment writes, those are a separate PipelineStage:: |
EarlyFragmentTests |
Where early fragment tests (depth and stencil tests before fragment shader execution) are performed. Includes also subpass load operations for framebuffer attachments with a depth/stencil format. |
LateFragmentTests |
Where late fragment tests (depth and stencil tests after fragment shader execution) are performed. Includes also subpass store operations for framebuffer attachments with a depth/stencil format. |
ColorAttachmentOutput |
Where the final color values are output from the pipeline. Includes also subpass load and store operations and multisample resolve operations for framebuffer attachments with a color or depth/stencil format. |
ComputeShader |
Execution of a compute shader |
Transfer |
Copy, blit, resolve and clear commands |
BottomOfPipe |
Equivalent to PipelineStage:: |
Host |
Execution of host read/writes of device memory |
AccelerationStructureBuild |
Execution of commands related to an acceleration structure |
RayTracingShader |
Execution of ray tracing shaders |
AllRasterization |
Execution of all rasterization stages. While numerically a single bit, it's equivalent to the logical OR of a supported and enabled subset of the following:
As the name suggests, this does not include PipelineStage:: |
AllCommands |
All commands. |
enum class Magnum:: Vk:: Access: UnsignedInt new in Git master
#include <Magnum/Vk/Pipeline.h>
Memory access type participating in a memory dependency.
Wraps VkAccessFlagBits. Certain access types are performed only on a subset of pipeline stages and thus can be used only if a corresponding PipelineStage is present — see documentation of each value for more information.
Enumerators | |
---|---|
IndirectCommandRead |
Indirect command data read as part of an indirect build, trace, drawing or dispatch command. Valid for PipelineStage:: |
IndexRead |
Index buffer read as part of an indexed drawing command. Valid for PipelineStage:: |
VertexAttributeRead |
Vertex buffer read as part of a drawing command. Valid for PipelineStage:: |
UniformRead |
Uniform buffer read. Valid for PipelineStage:: |
InputAttachmentRead |
Input atachment read within a render pass during fragment shader execution. Valid for PipelineStage:: |
ShaderRead |
Storage buffer, physical storage buffer, shader binding table, uniform texel buffer, storage texel buffer, sampled image, or storage image read. Valid for PipelineStage:: |
ShaderWrite |
Storage buffer, physical storage buffer, storage texel buffer, or storage image write. Valid for PipelineStage:: |
ColorAttachmentRead |
Color attachment read via blending, logic operations or certain subpass load operations. Doesn't include advanced blend operations. Valid for PipelineStage:: |
ColorAttachmentWrite |
Color, resolve or depth/stencil resolve attachment write during a render pass or via certain subpass load and store operations. Valid for PipelineStage:: |
DepthStencilAttachmentRead |
Depth/stencil attachment read via depth or stencil operations or certain subpass load operations. Valid for PipelineStage:: |
DepthStencilAttachmentWrite |
Depth/stencil attachment write via depth or stencil operations or certain subpass load and store operations. Valid for PipelineStage:: |
TransferRead |
Buffer or image read in a copy operation. Valid for PipelineStage:: |
TransferWrite |
Buffer or image write in a copy or clear operation. Valid for PipelineStage:: |
HostRead |
Direct memory read from a host. Valid for PipelineStage:: |
HostWrite |
Direct memory write from a host. Valid for PipelineStage:: |
MemoryRead |
All read accesses. Valid for any PipelineStage, treated as equivalent of a combination of all |
MemoryWrite |
All write accesses. Valid for any PipelineStage, treated as equivalent of a combination of all |
AccelerationStructureRead |
Acceleration structure read as part of a trace, build, or copy command, or an acceleration structure scratch buffer read as part of a build command. Valid for PipelineStage:: |
AccelerationStructureWrite |
Acceleration structure or acceleration structure scratch buffer write as part of a build or copy command. Valid for PipelineStage:: |
enum class Magnum:: Vk:: DependencyFlag: UnsignedInt new in Git master
#include <Magnum/Vk/Pipeline.h>
Execution and memory dependency flag.
Wraps VkDependencyFlagBits.
Enumerators | |
---|---|
ByRegion |
Dependencies will be framebuffer-local. This flag has to be set in case SubpassDependency source and destination stage index is equal. |
enum class Magnum:: Vk:: PixelFormat: Int new in Git master
#include <Magnum/Vk/PixelFormat.h>
Pixel format.
Wraps a subset of VkFormat that's usable as a pixel format.
Note that while Vulkan exposes almost all imaginable formats, they're not universally usable in all scenarios and the support differs from device to device. To make things simpler, Vulkan provides implicit guarantees where certain formats can be used, see documentation of each value for more information. Generally, the following rules apply for uncompressed color formats:
- All implicit guarantees are only for optimal tiling, not linear
- RGB formats of all sizes don't have any guarantees due to alignment issues, and use of two- or four-channel formats is preferred
- Single-channel formats provide the same guarantees as a corresponding two-channel format, possibly supporting more
- While 8-bit normalized formats have guaranteed support for linear filtering and blending, it's not implicitly guaranteed for 16-bit normalized formats — the support is common, but not universal.
- Signed normalized formats don't have blit destination and color attachment support guaranteed as opposed to unsigned normalized formats
- Signed and unsigned integral formats of the same channel size and count provide the exact same guarantees
- Shader storage support is implicitly guaranteed only for full-width (32-bit) formats, for others it depends on DeviceFeature::
ShaderStorageImageExtendedFormats - Atomic operation support is only guaranteed for single-channel full-width integral formats
For compressed color formats, sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats, and a full support for a particular family of these formats is denoted by the DeviceFeature::
Enumerators | |
---|---|
R8Unorm |
Red component, normalized unsigned byte. Sampling, blit source/destination, linear filtering and color attachment including blending has guaranteed support with optimal tiling. |
RG8Unorm |
Red and green component, normalized unsigned byte. Sampling, blit source/destination, linear filtering and color attachment including blending has guaranteed support with optimal tiling. |
RGB8Unorm |
RGB, normalized unsigned byte. Compared to PixelFormat:: |
RGBA8Unorm |
RGBA, normalized unsigned byte. Sampling, blit source/destination, linear filtering, image storage, color attachment including blending has guaranteed support with optimal tiling. |
R8Snorm |
Red component, normalized signed byte. Sampling, blit source and linear filtering has guaranteed support with optimal tiling. Unlike PixelFormat:: |
RG8Snorm |
Red and green component, normalized signed byte, Sampling, blit source and linear filtering has guaranteed support with optimal tiling. Unlike PixelFormat:: |
RGB8Snorm |
RGB, normalized signed byte. Compared to PixelFormat:: |
RGBA8Snorm |
RGBA, normalized signed byte. Sampling, blit source, linear filtering and image storage has guaranteed support with optimal tiling. Unlike PixelFormat:: |
R8Srgb |
sRGB-encoded red component, normalized unsigned byte. Compared to PixelFormat:: |
RG8Srgb |
sRGB-encoded red and green component, normalized unsigned byte. Compared to PixelFormat:: |
RGB8Srgb |
sRGB, normalized unsigned byte Compared to PixelFormat:: |
RGBA8Srgb |
sRGB + linear alpha, normalized unsigned byte. Sampling, blit source/destination, linear filtering and color attachment including blending has guaranteed support with optimal tiling. Unlike PixelFormat:: |
R8UI |
Red component, integral unsigned byte. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RG8UI |
Red and green component, integral unsigned byte. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RGB8UI |
RGB, integral unsigned byte. Compared to PixelFormat:: |
RGBA8UI |
RGBA, integral unsigned byte. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
R8I |
Red component, integral signed byte. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RG8I |
Red and green component, integral signed byte. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RGB8I |
RGB, integral signed byte. Compared to PixelFormat:: |
RGBA8I |
RGBA, integral signed byte. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
R16Unorm |
Red component, normalized unsigned short. Compared to PixelFormat:: |
RG16Unorm |
Red and green component, normalized unsigned short. Compared to PixelFormat:: |
RGB16Unorm |
RGB, normalized unsigned short. Compared to PixelFormat:: |
RGBA16Unorm |
RGBA, normalized unsigned short. Compared to PixelFormat:: |
R16Snorm |
Red component, normalized signed short. Compared to PixelFormat:: |
RG16Snorm |
Red and green component, normalized signed short. Compared to PixelFormat:: |
RGB16Snorm |
RGB, normalized signed short. Compared to PixelFormat:: |
RGBA16Snorm |
RGBA, normalized signed short. Compared to PixelFormat:: |
R16UI |
Red component, integral unsigned short. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. |
RG16UI |
Red and green component, integral unsigned short. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. |
RGB16UI |
RGB, integral unsigned short. Compared to PixelFormat:: |
RGBA16UI |
RGBA, integral unsigned short. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
R16I |
Red component, integral signed short. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. |
RG16I |
Red and green component, integral signed short. Sampling, blit source/destination and color attachment has guaranteed support with optimal tiling. |
RGB16I |
RGB, integral signed short. Compared to PixelFormat:: |
RGBA16I |
RGBA, integral signed short. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
R32UI |
Red component, integral unsigned int. Sampling, blit source/destination, image storage including atomic operations and color attachment has guaranteed support with optimal tiling. |
RG32UI |
Red and green component, integral unsigned int. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
RGB32UI |
RGB, integral unsigned int. Compared to PixelFormat:: |
RGBA32UI |
RGBA, integral unsigned int. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
R32I |
Red component, integral signed int. Sampling, blit source/destination, image storage including atomic operations and color attachment has guaranteed support with optimal tiling. |
RG32I |
Red and green component, integral signed int. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
RGB32I |
RGB, integral signed int. Compared to PixelFormat:: |
RGBA32I |
RGBA, integral signed int. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. |
R16F |
Red component, half float. Sampling, blit source/destination, linear filtering and color attachment including blending has guaranteed support with optimal tiling. |
RG16F |
Red and green component, half float. Sampling, blit source/destination, linear filtering and color attachment including blending has guaranteed support with optimal tiling. |
RGB16F |
RGB, half float. Compared to PixelFormat:: |
RGBA16F |
RGBA, half float. Sampling, blit source/destination, image storage, linear filtering and color attachment including blending has guaranteed support with optimal tiling. |
R32F |
Red component, float. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RG32F |
Red and green component, float. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
RGB32F |
RGB, float. Compared to PixelFormat:: |
RGBA32F |
RGBA, float. Sampling, blit source/destination, image storage and color attachment has guaranteed support with optimal tiling. Compared to PixelFormat:: |
Depth16Unorm |
16-bit unsigned normalized depth. Sampling, blit source and depth attachment has guaranteed support with optimal tiling. |
Depth24Unorm |
24-bit unsigned normalized depth with 8-bit padding. Depth attachment support with optimal tiling is guaranteed for either this or the PixelFormat:: |
Depth32F |
32-bit float depth. Sampling and blit source has guaranteed support with optimal tiling. Depth attachment support with optimal tiling is guaranteed for either this or the PixelFormat:: |
Stencil8UI |
8-bit unsigned integral stencil. There are no guarantees for this format. |
Depth16UnormStencil8UI |
16-bit unsigned normalized depth with 8-bit unsigned integral stencil. There are no guarantees for this format. |
Depth24UnormStencil8UI |
24-bit unsigned normalized depth with 8-bit unsigned integral stencil. Depth/stencil attachment support with optimal tiling is guaranteed for either this or the PixelFormat:: |
Depth32FStencil8UI |
32-bit float depth with 8-bit unsigned integral stencil. Depth/stencil attachment support with optimal tiling is guaranteed for either this or the PixelFormat:: |
CompressedBc1RGBUnorm |
S3TC BC1 compressed RGB, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc1RGBSrgb |
S3TC BC1 compressed sRGB, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc1RGBAUnorm |
S3TC BC1 compressed RGBA, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc1RGBASrgb |
S3TC BC1 compressed sRGB + linear alpha, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc2RGBAUnorm |
S3TC BC2 compressed RGBA, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc2RGBASrgb |
S3TC BC2 compressed sRGB + linear alpha, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc3RGBAUnorm |
S3TC BC3 compressed RGBA, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc3RGBASrgb |
S3TC BC3 compressed sRGB + linear alpha, normalized unsigned. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc4RUnorm |
3Dc+ BC4 compressed red component, unsigned normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc4RSnorm |
3Dc+ BC4 compressed red component, signed normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc5RGUnorm |
3Dc BC5 compressed red and green component, unsigned normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc5RGSnorm |
3Dc BC5 compressed red and green component, signed normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc6hRGBUfloat |
BC6H compressed RGB, unsigned float. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc6hRGBSfloat |
BC6H compressed RGB, signed float. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc7RGBAUnorm |
BC7, compressed RGBA, unsigned normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedBc7RGBASrgb |
BC7, compressed sRGB + linear alpha, unsigned normalized. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEacR11Unorm |
EAC compressed red component, normalized unsigned 11-bit. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEacR11Snorm |
EAC compressed red component, normalized signed 11-bit. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEacRG11Unorm |
EAC compressed red and green component, normalized unsigned 11-bit. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEacRG11Snorm |
EAC compressed red and green component, normalized signed 11-bit. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGB8Unorm |
ETC2 compressed RGB, normalized unsigned byte. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGB8Srgb |
ETC2 compressed sRGB, normalized unsigned byte. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGB8A1Unorm |
ETC2 compressed RGB, normalized unsigned byte + a single-bit alpha. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGB8A1Srgb |
ETC2 compressed sRGB, normalized unsigned byte + a single-bit alpha. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGBA8Unorm |
ETC2 compressed RGBA, normalized unsigned byte. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedEtc2RGBA8Srgb |
ETC2 compressed sRGB + linear alpha, normalized unsigned byte. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc4x4RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 4x4 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc4x4RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 4x4 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc4x4RGBAF |
2D HDR ASTC compressed RGBA, float with 4x4 blocks. |
CompressedAstc5x4RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 5x4 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc5x4RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 5x4 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc5x4RGBAF |
2D HDR ASTC compressed RGBA, float with 5x4 blocks. |
CompressedAstc5x5RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 5x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc5x5RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 5x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc5x5RGBAF |
2D HDR ASTC compressed RGBA, float with 5x5 blocks. |
CompressedAstc6x5RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 6x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc6x5RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 6x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc6x5RGBAF |
2D HDR ASTC compressed RGBA, float with 6x5 blocks. |
CompressedAstc6x6RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 6x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc6x6RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 6x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc6x6RGBAF |
2D HDR ASTC compressed RGBA, float with 6x6 blocks. |
CompressedAstc8x5RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 8x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x5RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 8x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x5RGBAF |
2D HDR ASTC compressed RGBA, float with 8x5 blocks. |
CompressedAstc8x6RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 8x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x6RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 8x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x6RGBAF |
2D HDR ASTC compressed RGBA, float with 8x6 blocks. |
CompressedAstc8x8RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 8x8 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x8RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 8x8 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc8x8RGBAF |
2D HDR ASTC compressed RGBA, float with 8x8 blocks. |
CompressedAstc10x5RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 10x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x5RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 10x5 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x5RGBAF |
2D HDR ASTC compressed RGBA, float with 10x5 blocks. |
CompressedAstc10x6RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 10x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x6RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 10x6 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x6RGBAF |
2D HDR ASTC compressed RGBA, float with 10x6 blocks. |
CompressedAstc10x8RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 10x8 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x8RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 10x8 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x8RGBAF |
2D HDR ASTC compressed RGBA, float with 10x8 blocks. |
CompressedAstc10x10RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 10x10 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x10RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 10x10 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc10x10RGBAF |
2D HDR ASTC compressed RGBA, float with 10x10 blocks. |
CompressedAstc12x10RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 12x10 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc12x10RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 12x10 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc12x10RGBAF |
2D HDR ASTC compressed RGBA, float with 12x10 blocks. |
CompressedAstc12x12RGBAUnorm |
2D LDR ASTC compressed RGBA, normalized unsigned with 12x12 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc12x12RGBASrgb |
2D LDR ASTC compressed sRGB + linear alpha, normalized unsigned with 12x12 blocks. Sampling, blit source and linear filtering has guaranteed support with optimal tiling either for all BC formats, all ETC formats or all ASTC LDR formats. |
CompressedAstc12x12RGBAF |
2D HDR ASTC compressed RGBA, float with 12x12 blocks. |
CompressedPvrtcRGBA2bppUnorm |
PVRTC compressed RGBA, normalized unsigned byte with 2 bits per pixel. |
CompressedPvrtcRGBA2bppSrgb |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 2 bits per pixel. |
CompressedPvrtcRGBA4bppUnorm |
PVRTC compressed RGBA, normalized unsigned byte with 4 bits per pixel. |
CompressedPvrtcRGBA4bppSrgb |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 4 bits per pixel. |
CompressedPvrtc2RGBA2bppUnorm |
PVRTC2 compressed RGBA, normalized unsigned byte with 2 bits per pixel. |
CompressedPvrtc2RGBA2bppSrgb |
PVRTC2 compressed sRGB + linear alpha, normalized unsigned byte with 2 bits per pixel. |
CompressedPvrtc2RGBA4bppUnorm |
PVRTC2 compressed RGBA, normalized unsigned byte with 4 bits per pixel. |
CompressedPvrtc2RGBA4bppSrgb |
PVRTC2 compressed sRGB + linear alpha, normalized unsigned byte with 4 bits per pixel. |
enum class Magnum:: Vk:: DynamicRasterizationState: UnsignedByte new in Git master
Dynamic rasterization state.
Contains rasterization-related information from the VkDynamicState enum but with contiguos numbering to make it usable as a set of DynamicRasterizationStates.
Enumerators | |
---|---|
Viewport |
Viewport range set in RasterizationPipelineCreateInfo:: |
Scissor |
Scissor rectangle set in RasterizationPipelineCreateInfo:: |
LineWidth |
Line width set in RasterizationPipelineCreateInfo is ignored and is expected to be set dynamically using vkCmdSetLineWidth(). |
DepthBias |
Depth bias constant factor, depth bias clamp and depth bias slope factor set in RasterizationPipelineCreateInfo are ignored and expected to be set dynamically using vkCmdSetDepthBias(). |
BlendConstants |
Blend constants set in RasterizationPipelineCreateInfo are ignored and expected to be set dynamically using vkCmdSetBlendConstants(). |
DepthBounds |
Min and max depth bounds set in RasterizationPipelineCreateInfo are ignored and expected to be set dynamically using vkCmdSetDepthBounds(). |
StencilCompareMask |
Stencil compare mask set in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetStencilCompareMask(). |
StencilWriteMask |
Stencil write mask set in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetStencilWriteMask(). |
StencilReference |
Stencil reference set in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetStencilReference(). |
CullMode |
Cull mode set in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetCullModeEXT(). |
FrontFace |
Front face set in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetFrontFaceEXT(). |
MeshPrimitive |
Only the MeshPrimitive topology class set in MeshLayout and passed to RasterizationPipelineCreateInfo is used and the specific topology order and adjacency is expected to be set dynamically. CommandBuffer:: |
ViewportWithCount |
Both the number of viewports and their ranges set in RasterizationPipelineCreateInfo:: |
ScissorWithCount |
Both the number of scissors and their rectangles set in RasterizationPipelineCreateInfo:: |
VertexInputBindingStride |
Stride set in MeshLayout:: |
DepthTestEnable |
Depth test enablement in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetDepthTestEnableEXT(). |
DepthWriteEnable |
Depth write enablement in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetDepthWriteEnableEXT(). |
DepthCompareOperation |
Depth compare operation in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetDepthCompareOpEXT(). |
DepthBoundsTestEnable |
Depth bounds test enablement in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetDepthBoundsTestEnableEXT(). |
StencilTestEnable |
Stencil test enablement in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetStencilTestEnableEXT(). |
StencilOperation |
Stencil operation in RasterizationPipelineCreateInfo is ignored and expected to be set dynamically using vkCmdSetStencilOpEXT(). |
enum class Magnum:: Vk:: SubpassContents: Int new in Git master
#include <Magnum/Vk/RenderPass.h>
Subpass contents.
Wraps VkSubpassContents.
Enumerators | |
---|---|
Inline |
Contents of the subpass will be recorded inline in the primary command buffer. CommandBufferLevel:: |
SecondaryCommandBuffers |
Subpass contents are recorded in CommandBufferLevel:: |
enum class Magnum:: Vk:: AttachmentLoadOperation: Int new in Git master
#include <Magnum/Vk/RenderPassCreateInfo.h>
Attachment load operation.
Wraps a VkAttachmentLoadOp, specifies how previous contents of an attached image within the render area are treated at the beginning of a subpass.
Enumerators | |
---|---|
Load |
Previous contents are preserved. |
Clear |
Previous contents are cleared to a value specified when a render pass instance is begun. You're required to provide a clear value for this attachment index using RenderPassBeginInfo:: |
DontCare |
Previous contents don't need to be preserved. |
enum class Magnum:: Vk:: AttachmentStoreOperation: Int new in Git master
#include <Magnum/Vk/RenderPassCreateInfo.h>
Attachment load operation.
Wraps a VkAttachmentStoreOp, specifies how contents of an attached image generated during the render pass within the render area are treated at the end of a subpass.
Enumerators | |
---|---|
Store |
Generated contents are written to memory. |
DontCare |
Generated contentgs don't need to be preserved. |
enum class Magnum:: Vk:: Result: Int new in Git master
#include <Magnum/Vk/Result.h>
Result.
Wraps a VkResult.
Enumerators | |
---|---|
Success |
Command successfully completed |
NotReady |
A fence or query has not yet completed |
Timeout |
A wait operation has not completed in the specified time |
EventSet |
An event is signaled |
EventReset |
An event is unsignaled |
Incomplete |
A return array was too small for the result |
ThreadIdle |
A deferred operation is not complete but there is currently no work for this thread to do at the time of this call. |
ThreadDone |
A deferred operation is not complete but there is no work remaining to assign to additional threads. |
OperationDeferred |
A deferred operation was requested and at least some of the work was deferred. |
OperationNotDeferred |
A deferred operation was requested and no operations were deferred. |
ErrorOutOfHostMemory |
A host memory allocation has failed. |
ErrorOutOfDeviceMemory |
A device memory allocation has failed. |
ErrorInitializationFailed |
Initialization of an object could not be completed for implementation-specific reasons |
ErrorDeviceLost |
The logical or physical device has been lost |
ErrorMemoryMapFailed |
Mapping of a memory object has failed |
ErrorLayerNotPresent |
A requested layer is not present or could not be loaded |
ErrorExtensionNotPresent |
A requested extension is not supported |
ErrorFeatureNotPresent |
A requested feature is not supported |
ErrorIncompatibleDriver |
The requested version of Vulkan is not supported by the driver or is otherwise incompatible for implementation-specific reasons |
ErrorTooManyObjects |
Too many objects of the type have already been created |
ErrorFormatNotSupported |
A requested format is not supported on this device |
ErrorFragmentedPool |
A pool allocation has failed due to fragmentation of the pool's memory. |
ErrorUnknown |
An unknown error has occurred; either the application has provided invalid input, or an implementation failure has occurred |
ErrorOutOfPoolMemory |
A pool memory allocation has failed. |
ErrorInvalidExternalHandle |
An external handle is not a valid handle of the specified type. |
ErrorFragmentation |
A descriptor pool creation has failed due to fragmentation. |
ErrorInvalidOpaqueCaptureAddress |
A buffer creation or memory allocation failed because the requested address is not available. A shader group handle assignment failed because the requested shader group handle information is no longer valid. |
ErrorValidationFailed |
Validation failed. |
enum class Magnum:: Vk:: SamplerFilter: Int new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Texture sampler filtering.
Wraps a VkFilter.
Enumerators | |
---|---|
Nearest |
Nearest neighbor filtering |
Linear |
Linear interpolation filtering |
enum class Magnum:: Vk:: SamplerMipmap: Int new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Texture sampler mip level selection.
Wraps a VkSamplerMipmapMode.
Enumerators | |
---|---|
Nearest |
Select nearest mip level |
Linear |
Linear interpolation of nearest mip levels |
enum class Magnum:: Vk:: SamplerWrapping: Int new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Texture sampler wrapping.
Enumerators | |
---|---|
Repeat |
Repeat the texture |
MirroredRepeat |
Repeat a mirrored texture |
ClampToEdge |
Clamp to edge. Coordinates out of range will be clamped to the first / last column / row / layer in given direction. |
ClampToBorder |
Clamp to border color. Coordinates of out range will be clamped to the border color. |
MirrorClampToEdge |
Mirror the texture once in negative coordinates and clamp to edge after that. |
enum class Magnum:: Vk:: ShaderStage: UnsignedInt new in Git master
#include <Magnum/Vk/Shader.h>
Shader stage.
Wraps VkShaderStageFlagBits.
Enumerators | |
---|---|
Vertex |
Vertex stage |
Fragment |
Fragment stage |
Geometry |
Geometry stage |
TessellationControl |
Tessellation control stage |
TessellationEvaluation |
Tessellation evaluation stage |
Compute |
Compute stage |
RayGeneration |
Ray generation stage |
RayAnyHit |
Ray any hit stage |
RayClosestHit |
Ray closest hit stage |
RayMiss |
Ray miss stage |
RayIntersection |
Ray intersection stage |
RayCallable |
Ray callable stage |
enum class Magnum:: Vk:: Version: UnsignedInt new in Git master
#include <Magnum/Vk/Version.h>
Vulkan version.
Enumerators | |
---|---|
None |
Unspecified |
Vk10 |
Vulkan 1.0 |
Vk11 |
Vulkan 1.1 |
Vk12 |
Vulkan 1.2 |
enum class Magnum:: Vk:: VertexFormat: Int new in Git master
#include <Magnum/Vk/VertexFormat.h>
Vertex format.
Wraps a subset of VkFormat that's usable as a vertex format. Unless said otherwise (mostly in case of 8- and 16-bit three-component formats and doubles), all formats are guaranteed to be supported by the spec.
Typedef documentation
typedef Containers:: EnumSet<BufferUsage> Magnum:: Vk:: BufferUsages new in Git master
#include <Magnum/Vk/BufferCreateInfo.h>
Buffer usages.
Type-safe wrapper for VkBufferUsageFlags.
typedef Containers:: EnumSet<CommandBufferResetFlag> Magnum:: Vk:: CommandBufferResetFlags new in Git master
#include <Magnum/Vk/CommandBuffer.h>
Command buffer reset flags.
Wraps VkCommandBufferResetFlags.
typedef Containers:: EnumSet<CommandPoolResetFlag> Magnum:: Vk:: CommandPoolResetFlags new in Git master
#include <Magnum/Vk/CommandPool.h>
Command pool reset flags.
Wraps VkCommandPoolResetFlags.
typedef Containers:: BigEnumSet<DeviceFeature, 4> Magnum:: Vk:: DeviceFeatures new in Git master
#include <Magnum/Vk/DeviceFeatures.h>
Device features.
Combines information stored in the VkPhysicalDeviceFeatures2 structure chain.
typedef Containers:: EnumSet<QueueFlag> Magnum:: Vk:: QueueFlags new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Queue flags.
Type-safe wrapper for VkQueueFlags.
typedef Containers:: EnumSet<MemoryHeapFlag> Magnum:: Vk:: MemoryHeapFlags new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Memory heap flags.
Type-safe wrapper for VkMemoryHeapFlags.
typedef Containers:: EnumSet<HandleFlag> Magnum:: Vk:: HandleFlags new in Git master
#include <Magnum/Vk/Handle.h>
Handle wrapping flags.
typedef Containers:: EnumSet<ImageAspect> Magnum:: Vk:: ImageAspects new in Git master
#include <Magnum/Vk/Image.h>
Image aspects.
Type-safe wrapper for VkImageAspectFlags.
typedef Containers:: EnumSet<ImageUsage> Magnum:: Vk:: ImageUsages new in Git master
#include <Magnum/Vk/ImageCreateInfo.h>
Image usages.
Type-safe wrapper for VkImageUsageFlags.
typedef Containers:: EnumSet<MemoryFlag> Magnum:: Vk:: MemoryFlags new in Git master
#include <Magnum/Vk/Memory.h>
Memory type flags.
typedef Containers:: EnumSet<PipelineStage> Magnum:: Vk:: PipelineStages new in Git master
#include <Magnum/Vk/Pipeline.h>
Pipeline stages.
Type-safe wrapper for VkPipelineStageFlags.
typedef Containers:: EnumSet<Access> Magnum:: Vk:: Accesses new in Git master
#include <Magnum/Vk/Pipeline.h>
Memory access type participating in a memory dependency.
Type-safe wrapper for VkAccessFlags.
typedef Containers:: EnumSet<DependencyFlag> Magnum:: Vk:: DependencyFlags new in Git master
#include <Magnum/Vk/Pipeline.h>
Execution and memory dependency flags.
Type-safe wrapper for VkDependencyFlags.
typedef Containers:: BigEnumSet<DynamicRasterizationState, 1> Magnum:: Vk:: DynamicRasterizationStates new in Git master
Dynamic rasterization states.
A set of rasterization-related information from the VkDynamicState enum.
typedef Containers:: EnumSet<ShaderStage, VK_SHADER_STAGE_ALL> Magnum:: Vk:: ShaderStages new in Git master
#include <Magnum/Vk/Shader.h>
Shader stages.
Type-safe wrapper for VkShaderStageFlags. Note that ~Vk::ShaderStages{}
can be used for VK_
Function documentation
Debug& Magnum:: Vk:: operator<<(Debug& debug,
DescriptorType value) new in Git master
#include <Magnum/Vk/DescriptorType.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
DeviceFeature value) new in Git master
#include <Magnum/Vk/DeviceFeatures.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
const DeviceFeatures& value) new in Git master
#include <Magnum/Vk/DeviceFeatures.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
DeviceType value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
DeviceDriver value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
QueueFlag value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
QueueFlags value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MemoryHeapFlag value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MemoryHeapFlags value) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Debug output operator.
Containers:: Array<DeviceProperties> Magnum:: Vk:: enumerateDevices(Instance& instance) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Enumerate physical devices.
Returns a list of all devices present on the system. See pickDevice() for an alternative that pick just a single appropriate device. See Device for general usage information.
DeviceProperties Magnum:: Vk:: pickDevice(Instance& instance) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Pick a physical device.
Selects a device based on preferences specified through the --magnum-device
command-line option. If a device is not found, exits. See tryPickDevice() for an alternative that doesn't exit on failure. See Device for general usage information.
If --magnum-device
is not specified or --magnum-device
specifies a device index, this function enumerates just the first N devices to satisfy the request. Otherwise calls enumerateDevices() and picks the first device matching the criteria in --magnum-device
.
Containers:: Optional<DeviceProperties> Magnum:: Vk:: tryPickDevice(Instance& instance) new in Git master
#include <Magnum/Vk/DeviceProperties.h>
Try to pick a physical device.
Compared to pickDevice() the function returns Containers::
bool Magnum:: Vk:: hasVkPrimitiveTopology(Magnum:: MeshPrimitive primitive)
#include <Magnum/Vk/Enums.h>
Check availability of a generic mesh primitive.
VkPrimitiveTopology Magnum:: Vk:: vkPrimitiveTopology(Magnum:: MeshPrimitive primitive)
#include <Magnum/Vk/Enums.h>
Convert generic mesh primitive to Vulkan mesh primitive.
bool Magnum:: Vk:: hasVkIndexType(Magnum:: MeshIndexType type)
#include <Magnum/Vk/Enums.h>
Check availability of a generic index type.
VkIndexType Magnum:: Vk:: vkIndexType(Magnum:: MeshIndexType type)
#include <Magnum/Vk/Enums.h>
Convert a generic index type to Vulkan index type.
bool Magnum:: Vk:: hasVkFormat(Magnum:: VertexFormat format)
#include <Magnum/Vk/Enums.h>
Check availability of a generic vertex format.
bool Magnum:: Vk:: hasVkFormat(Magnum:: PixelFormat format)
#include <Magnum/Vk/Enums.h>
Check availability of a generic pixel format.
bool Magnum:: Vk:: hasVkFormat(Magnum:: CompressedPixelFormat format)
#include <Magnum/Vk/Enums.h>
Check availability of a generic compressed pixel format.
VkFormat Magnum:: Vk:: vkFormat(Magnum:: VertexFormat format)
#include <Magnum/Vk/Enums.h>
Convert a generic vertex format to Vulkan vertex format.
VkFormat Magnum:: Vk:: vkFormat(Magnum:: PixelFormat format)
#include <Magnum/Vk/Enums.h>
Convert a generic pixel format to Vulkan pixel format.
VkFormat Magnum:: Vk:: vkFormat(Magnum:: CompressedPixelFormat format)
#include <Magnum/Vk/Enums.h>
Convert a generic compressed pixel format to Vulkan pixel format.
VkFilter Magnum:: Vk:: vkFilter(Magnum:: SamplerFilter filter)
#include <Magnum/Vk/Enums.h>
Convert a generic sampler filter to Vulkan sampler filter.
VkSamplerMipmapMode Magnum:: Vk:: vkSamplerMipmapMode(Magnum:: SamplerMipmap mipmap)
#include <Magnum/Vk/Enums.h>
Convert a generic sampler mipmap mode to Vulkan sampler mipmap mode.
bool Magnum:: Vk:: hasVkSamplerAddressMode(Magnum:: SamplerWrapping wrapping)
#include <Magnum/Vk/Enums.h>
Check availability of a generic sampler wrapping mode.
VkSamplerAddressMode Magnum:: Vk:: vkSamplerAddressMode(Magnum:: SamplerWrapping wrapping)
#include <Magnum/Vk/Enums.h>
Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
#include <Magnum/Vk/Enums.h>
template<std:: size_t dimensions>
Math:: Vector<dimensions, VkSamplerAddressMode> Magnum:: Vk:: vkSamplerAddressMode(const Math:: Vector<dimensions, Magnum:: SamplerWrapping>& wrapping)
Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
InstanceExtensionProperties Magnum:: Vk:: enumerateInstanceExtensionProperties(const Containers:: StringIterable& layers = {}) new in Git master
#include <Magnum/Vk/ExtensionProperties.h>
Enumerate instance extension properties.
Parameters | |
---|---|
layers | Additional layers to list extensions from |
Expects that all listed layers are supported.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
HandleFlag value) new in Git master
#include <Magnum/Vk/Handle.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
HandleFlags value) new in Git master
#include <Magnum/Vk/Handle.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& out,
ImageAspect value) new in Git master
#include <Magnum/Vk/Image.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& out,
ImageAspects value) new in Git master
#include <Magnum/Vk/Image.h>
Debug output operator.
ImageAspects Magnum:: Vk:: imageAspectsFor(PixelFormat format) new in Git master
#include <Magnum/Vk/Image.h>
Image aspects corresponding to given pixel format.
Returns ImageAspect::
ImageAspects Magnum:: Vk:: imageAspectsFor(Magnum:: PixelFormat format) new in Git master
#include <Magnum/Vk/Image.h>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
LayerProperties Magnum:: Vk:: enumerateLayerProperties() new in Git master
#include <Magnum/Vk/LayerProperties.h>
Enumerate instance layers.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MemoryFlag value) new in Git master
#include <Magnum/Vk/Memory.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MemoryFlags value) new in Git master
#include <Magnum/Vk/Memory.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MeshIndexType value) new in Git master
#include <Magnum/Vk/Mesh.h>
Debug output operator.
MeshIndexType Magnum:: Vk:: meshIndexType(Magnum:: MeshIndexType type) new in Git master
#include <Magnum/Vk/Mesh.h>
Convert a generic index type to Vulkan index type.
In case isMeshIndexTypeImplementationSpecific() returns false
for type
, maps it to a corresponding Vulkan type. In case isMeshIndexTypeImplementationSpecific() returns true
, assumes type
stores a Vulkan-specific format and returns meshIndexTypeUnwrap() cast to MeshIndexType.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
MeshPrimitive value) new in Git master
#include <Magnum/Vk/MeshLayout.h>
Debug output operator.
bool Magnum:: Vk:: hasMeshPrimitive(Magnum:: MeshPrimitive primitive) new in Git master
#include <Magnum/Vk/MeshLayout.h>
Check availability of a generic mesh primitive.
In particular, Vulkan doesn't support the MeshPrimitive::false
if Vulkan doesn't support such primitive, true
otherwise. Moreover, returns true
also for all types that are isMeshPrimitiveImplementationSpecific(). The primitive
value is expected to be valid.
MeshPrimitive Magnum:: Vk:: meshPrimitive(Magnum:: MeshPrimitive primitive) new in Git master
#include <Magnum/Vk/MeshLayout.h>
Convert generic mesh primitive to Vulkan mesh primitive.
In case isMeshPrimitiveImplementationSpecific() returns false
for primitive
, maps it to a corresponding Vulkan primitive topology. In case isMeshPrimitiveImplementationSpecific() returns true
, assumes primitive
stores a Vulkan-specific primitive topology and returns meshPrimitiveUnwrap() cast to VkPrimitiveTopology.
Not all generic mesh primitives have a Vulkan equivalent and this function expects that given primitive is available. Use hasMeshPrimitive() to query availability of given primitive.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
PipelineBindPoint value) new in Git master
#include <Magnum/Vk/Pipeline.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
PixelFormat value) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Debug output operator.
bool Magnum:: Vk:: hasPixelFormat(Magnum:: PixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Check availability of a generic pixel format.
Returns false
if Vulkan doesn't support such format, true
otherwise. Moreover, returns true
also for all formats that are isPixelFormatImplementationSpecific(). The format
value is expected to be valid.
The mapping operation is done with an complexity.
bool Magnum:: Vk:: hasPixelFormat(Magnum:: CompressedPixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Check availability of a generic compressed pixel format.
Returns false
if Vulkan doesn't support such format, true
otherwise. Moreover, returns true
also for all formats that are isCompressedPixelFormatImplementationSpecific(). The format
value is expected to be valid.
The mapping operation is done with an complexity.
PixelFormat Magnum:: Vk:: pixelFormat(Magnum:: PixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Convert a generic pixel format to Vulkan pixel format.
In case isPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding Vulkan format. In case isPixelFormatImplementationSpecific() returns true
, assumes format
stores a Vulkan-specific format and returns pixelFormatUnwrap() cast to PixelFormat.
Not all generic pixel formats have a Vulkan equivalent and this function expects that given format is available. Use hasPixelFormat(Magnum::
The mapping operation is done with an complexity.
PixelFormat Magnum:: Vk:: pixelFormat(Magnum:: CompressedPixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Convert a generic compressed pixel format to Vulkan pixel format.
In case isCompressedPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding Vulkan format. In case isCompressedPixelFormatImplementationSpecific() returns true
, assumes format
stores a Vulkan-specific format and returns compressedPixelFormatUnwrap() cast to PixelFormat.
Not all generic pixel formats have a Vulkan equivalent and this function expects that given format is available. Use hasPixelFormat(Magnum::
The mapping operation is done with an complexity.
Containers:: Optional<Magnum:: PixelFormat> Magnum:: Vk:: genericPixelFormat(PixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Convert Vulkan pixel format to a generic pixel format.
Returns Containers::format
when passed back to pixelFormat(Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Containers:: Optional<Magnum:: CompressedPixelFormat> Magnum:: Vk:: genericCompressedPixelFormat(PixelFormat format) new in Git master
#include <Magnum/Vk/PixelFormat.h>
Convert Vulkan compressed pixel format to a generic compressed pixel format.
Returns Containers::format
when passed back to pixelFormat(Magnum::
An exception is PVRTC formats — the RGB and RGBA variants map to the same Vulkan format, e.g. Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
DynamicRasterizationState value) new in Git master
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
const DynamicRasterizationStates& value) new in Git master
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
Result value) new in Git master
#include <Magnum/Vk/Result.h>
Debug output operator.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
SamplerFilter value) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Debug output operator.
SamplerFilter Magnum:: Vk:: samplerFilter(Magnum:: SamplerFilter filter) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Convert a generic sampler filter to Vulkan sampler filter.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
SamplerWrapping value) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Debug output operator.
SamplerMipmap Magnum:: Vk:: samplerMipmap(Magnum:: SamplerMipmap mipmap) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Convert a generic sampler mipmap mode to Vulkan sampler mipmap mode.
Vulkan doesn't support the Magnum::
Debug& Magnum:: Vk:: operator<<(Debug& debug,
SamplerMipmap value) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Debug output operator.
SamplerWrapping Magnum:: Vk:: samplerWrapping(Magnum:: SamplerWrapping wrapping) new in Git master
#include <Magnum/Vk/SamplerCreateInfo.h>
Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
#include <Magnum/Vk/SamplerCreateInfo.h>
template<std:: size_t dimensions>
Math:: Vector<dimensions, SamplerWrapping> Magnum:: Vk:: samplerWrapping(const Math:: Vector<dimensions, Magnum:: SamplerWrapping>& wrapping)
Convert a generic sampler wrapping mode to Vulkan sampler wrapping mode.
Version Magnum:: Vk:: version(UnsignedInt major,
UnsignedInt minor,
UnsignedInt patch = 0) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Create a version from components.
Equivalent to VK_
UnsignedInt Magnum:: Vk:: versionMajor(Version version) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Extract major version number from a packed representation.
Equivalent to VK_
UnsignedInt Magnum:: Vk:: versionMinor(Version version) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Extract minor version number from a packed representation.
Equivalent to VK_
UnsignedInt Magnum:: Vk:: versionPatch(Version version) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Extract minor version number from a packed representation.
Equivalent to VK_
bool Magnum:: Vk:: operator<(Version a,
Version b) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Whether a version is smaller than the other.
bool Magnum:: Vk:: operator<=(Version a,
Version b) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Whether a version is smaller than or equal to the other.
bool Magnum:: Vk:: operator>=(Version a,
Version b) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Whether a version is greater than or equal to the other.
bool Magnum:: Vk:: operator>(Version a,
Version b) constexpr new in Git master
#include <Magnum/Vk/Version.h>
Whether a version is greater than the other.
Debug& Magnum:: Vk:: operator<<(Debug& debug,
Version value) new in Git master
#include <Magnum/Vk/Version.h>
Debug output operator.
Prints the version as <major>.<minor>.<patch>
, or just as <major>.<minor>
if patch is zero.
Version Magnum:: Vk:: enumerateInstanceVersion() new in Git master
#include <Magnum/Vk/Version.h>
Enumerate version supported by the instance.
Note that the vkEnumerateInstanceVersion() function isn't available in Vulkan 1.0 and thus is fetched at runtime via vkGetInstanceProcAddr() called in a static constructor. On Vulkan 1.0 always returns Version::
Debug& Magnum:: Vk:: operator<<(Debug& debug,
VertexFormat value) new in Git master
#include <Magnum/Vk/VertexFormat.h>
Debug output operator.
bool Magnum:: Vk:: hasVertexFormat(Magnum:: VertexFormat format) new in Git master
#include <Magnum/Vk/VertexFormat.h>
Check availability of a generic vertex format.
Returns false
if Vulkan doesn't support such format, true
otherwise. Moreover, returns true
also for all formats that are isVertexFormatImplementationSpecific(). The format
value is expected to be valid. Note that for matrix formats the function only returns a corresponding vector type, and the user is expected to bind the remaining vectors to consecutive attribute locations based on what vertexFormatVectorCount() and vertexFormatVectorStride() return.
VertexFormat Magnum:: Vk:: vertexFormat(Magnum:: VertexFormat format) new in Git master
#include <Magnum/Vk/VertexFormat.h>
Convert a generic vertex format to Vulkan vertex format.
In case isVertexFormatImplementationSpecific() returns false
for format
, maps it to a corresponding Vulkan format. In case isVertexFormatImplementationSpecific() returns true
, assumes format
stores a Vulkan-specific format and returns vertexFormatUnwrap() cast to VertexFormat.
Not all generic vertex formats have a Vulkan equivalent and this function expects that given format is available. Use hasVertexFormat() to query availability of given format.