Module vulkano::format [] [src]

Declares all the formats of data and images supported by Vulkan.

Content of this module

This module contains three things:

Formats

List of suffixes:

Choosing a format

The following formats are guaranteed to be supported for everything that is related to texturing (ie. blitting source and sampling them linearly). You should choose one of these formats if you have an image that you are going to sample from:

// TODO: use vulkano enums - B4G4R4A4_UNORM_PACK16 - R5G6B5_UNORM_PACK16 - A1R5G5B5_UNORM_PACK16 - R8_UNORM - R8_SNORM - R8G8_UNORM - R8G8_SNORM - R8G8B8A8_UNORM - R8G8B8A8_SNORM - R8G8B8A8_SRGB - B8G8R8A8_UNORM - B8G8R8A8_SRGB - A8B8G8R8_UNORM_PACK32 - A8B8G8R8_SNORM_PACK32 - A8B8G8R8_SRGB_PACK32 - A2B10G10R10_UNORM_PACK32 - R16_SFLOAT - R16G16_SFLOAT - R16G16B16A16_SFLOAT - B10G11R11_UFLOAT_PACK32 - E5B9G9R9_UFLOAT_PACK32

The following formats are guaranteed to be supported for everything that is related to intermediate render targets (ie. blitting destination, color attachment and sampling linearly):

// TODO: use vulkano enums - R5G6B5_UNORM_PACK16 - A1R5G5B5_UNORM_PACK16 - R8_UNORM - R8G8_UNORM - R8G8B8A8_UNORM - R8G8B8A8_SRGB - B8G8R8A8_UNORM - B8G8R8A8_SRGB - A8B8G8R8_UNORM_PACK32 - A8B8G8R8_SRGB_PACK32 - A2B10G10R10_UNORM_PACK32 - R16_SFLOAT - R16G16_SFLOAT - R16G16B16A16_SFLOAT

For depth images, only D16Unorm is guaranteed to be supported. For depth-stencil images, it is guaranteed that either D24Unorm_S8Uint or D32Sfloat_S8Uint are supported.

// TODO: storage formats

Structs

A1R5G5B5UnormPack16
A2B10G10R10SintPack32
A2B10G10R10SnormPack32
A2B10G10R10SscaledPack32
A2B10G10R10UintPack32
A2B10G10R10UnormPack32
A2B10G10R10UscaledPack32
A2R10G10B10SintPack32
A2R10G10B10SnormPack32
A2R10G10B10SscaledPack32
A2R10G10B10UintPack32
A2R10G10B10UnormPack32
A2R10G10B10UscaledPack32
A8B8G8R8SintPack32
A8B8G8R8SnormPack32
A8B8G8R8SrgbPack32
A8B8G8R8SscaledPack32
A8B8G8R8UintPack32
A8B8G8R8UnormPack32
A8B8G8R8UscaledPack32
ASTC_10x10SrgbBlock
ASTC_10x10UnormBlock
ASTC_10x5SrgbBlock
ASTC_10x5UnormBlock
ASTC_10x6SrgbBlock
ASTC_10x6UnormBlock
ASTC_10x8SrgbBlock
ASTC_10x8UnormBlock
ASTC_12x10SrgbBlock
ASTC_12x10UnormBlock
ASTC_12x12SrgbBlock
ASTC_12x12UnormBlock
ASTC_4x4SrgbBlock
ASTC_4x4UnormBlock
ASTC_5x4SrgbBlock
ASTC_5x4UnormBlock
ASTC_5x5SrgbBlock
ASTC_5x5UnormBlock
ASTC_6x5SrgbBlock
ASTC_6x5UnormBlock
ASTC_6x6SrgbBlock
ASTC_6x6UnormBlock
ASTC_8x5SrgbBlock
ASTC_8x5UnormBlock
ASTC_8x6SrgbBlock
ASTC_8x6UnormBlock
ASTC_8x8SrgbBlock
ASTC_8x8UnormBlock
B10G11R11UfloatPack32
B4G4R4A4UnormPack16
B5G5R5A1UnormPack16
B5G6R5UnormPack16
B8G8R8A8Sint
B8G8R8A8Snorm
B8G8R8A8Srgb
B8G8R8A8Sscaled
B8G8R8A8Uint
B8G8R8A8Unorm
B8G8R8A8Uscaled
B8G8R8Sint
B8G8R8Snorm
B8G8R8Srgb
B8G8R8Sscaled
B8G8R8Uint
B8G8R8Unorm
B8G8R8Uscaled
BC1_RGBASrgbBlock
BC1_RGBAUnormBlock
BC1_RGBSrgbBlock
BC1_RGBUnormBlock
BC2SrgbBlock
BC2UnormBlock
BC3SrgbBlock
BC3UnormBlock
BC4SnormBlock
BC4UnormBlock
BC5SnormBlock
BC5UnormBlock
BC6HSfloatBlock
BC6HUfloatBlock
BC7SrgbBlock
BC7UnormBlock
D16Unorm
D16Unorm_S8Uint
D24Unorm_S8Uint
D32Sfloat
D32Sfloat_S8Uint
E5B9G9R9UfloatPack32
EAC_R11G11SnormBlock
EAC_R11G11UnormBlock
EAC_R11SnormBlock
EAC_R11UnormBlock
ETC2_R8G8B8A1SrgbBlock
ETC2_R8G8B8A1UnormBlock
ETC2_R8G8B8A8SrgbBlock
ETC2_R8G8B8A8UnormBlock
ETC2_R8G8B8SrgbBlock
ETC2_R8G8B8UnormBlock
IncompatiblePixelsType
R16G16B16A16Sfloat
R16G16B16A16Sint
R16G16B16A16Snorm
R16G16B16A16Sscaled
R16G16B16A16Uint
R16G16B16A16Unorm
R16G16B16A16Uscaled
R16G16B16Sfloat
R16G16B16Sint
R16G16B16Snorm
R16G16B16Sscaled
R16G16B16Uint
R16G16B16Unorm
R16G16B16Uscaled
R16G16Sfloat
R16G16Sint
R16G16Snorm
R16G16Sscaled
R16G16Uint
R16G16Unorm
R16G16Uscaled
R16Sfloat
R16Sint
R16Snorm
R16Sscaled
R16Uint
R16Unorm
R16Uscaled
R32G32B32A32Sfloat
R32G32B32A32Sint
R32G32B32A32Uint
R32G32B32Sfloat
R32G32B32Sint
R32G32B32Uint
R32G32Sfloat
R32G32Sint
R32G32Uint
R32Sfloat
R32Sint
R32Uint
R4G4B4A4UnormPack16
R4G4UnormPack8
R5G5B5A1UnormPack16
R5G6B5UnormPack16
R64G64B64A64Sfloat
R64G64B64A64Sint
R64G64B64A64Uint
R64G64B64Sfloat
R64G64B64Sint
R64G64B64Uint
R64G64Sfloat
R64G64Sint
R64G64Uint
R64Sfloat
R64Sint
R64Uint
R8G8B8A8Sint
R8G8B8A8Snorm
R8G8B8A8Srgb
R8G8B8A8Sscaled
R8G8B8A8Uint
R8G8B8A8Unorm
R8G8B8A8Uscaled
R8G8B8Sint
R8G8B8Snorm
R8G8B8Srgb
R8G8B8Sscaled
R8G8B8Uint
R8G8B8Unorm
R8G8B8Uscaled
R8G8Sint
R8G8Snorm
R8G8Srgb
R8G8Sscaled
R8G8Uint
R8G8Unorm
R8G8Uscaled
R8Sint
R8Snorm
R8Srgb
R8Sscaled
R8Uint
R8Unorm
R8Uscaled
S8Uint
X8_D24UnormPack32

Enums

ClearValue

Describes a uniform value that will be used to fill an image.

Format

An enumeration of all the possible formats.

FormatTy

Traits

AcceptsPixels
ClearValuesTuple
Data

Some data whose type must be known by the library.

FormatDesc
PossibleCompressedFormatDesc
PossibleDepthFormatDesc
PossibleDepthStencilFormatDesc
PossibleFloatFormatDesc

Trait for types that can possibly describe a float attachment.

PossibleFloatOrCompressedFormatDesc

Trait for types that can possibly describe a float or compressed attachment.

PossibleSintFormatDesc
PossibleStencilFormatDesc
PossibleUintFormatDesc
StrongStorage