vulkan-3.8.1: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Core10.DeviceInitialization

Synopsis

Documentation

createInstance Source #

Arguments

:: forall a io. (Extendss InstanceCreateInfo a, PokeChain a, MonadIO io) 
=> InstanceCreateInfo a

pCreateInfo is a pointer to a InstanceCreateInfo structure controlling creation of the instance.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io Instance 

vkCreateInstance - Create a new Vulkan instance

Description

createInstance verifies that the requested layers exist. If not, createInstance will return ERROR_LAYER_NOT_PRESENT. Next createInstance verifies that the requested extensions are supported (e.g. in the implementation or in any enabled instance layer) and if any requested extension is not supported, createInstance must return ERROR_EXTENSION_NOT_PRESENT. After verifying and enabling the instance layers and extensions the Instance object is created and returned to the application. If a requested extension is only supported by a layer, both the layer and the extension need to be specified at createInstance time for the creation to succeed.

Valid Usage

Valid Usage (Implicit)

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pInstance must be a valid pointer to a Instance handle

Return Codes

Success
Failure

See Also

AllocationCallbacks, Instance, InstanceCreateInfo

withInstance :: forall a io r. (Extendss InstanceCreateInfo a, PokeChain a, MonadIO io) => InstanceCreateInfo a -> Maybe AllocationCallbacks -> (io Instance -> (Instance -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createInstance and destroyInstance

To ensure that destroyInstance is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

destroyInstance Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is the handle of the instance to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyInstance - Destroy an instance of Vulkan

Valid Usage

  • All child objects created using instance must have been destroyed prior to destroying instance
  • If AllocationCallbacks were provided when instance was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when instance was created, pAllocator must be NULL

Valid Usage (Implicit)

  • If instance is not NULL, instance must be a valid Instance handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

Host Synchronization

  • Host access to instance must be externally synchronized
  • Host access to all PhysicalDevice objects enumerated from instance must be externally synchronized

See Also

AllocationCallbacks, Instance

enumeratePhysicalDevices Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is a handle to a Vulkan instance previously created with createInstance.

-> io (Result, "physicalDevices" ::: Vector PhysicalDevice) 

vkEnumeratePhysicalDevices - Enumerates the physical devices accessible to a Vulkan instance

Description

If pPhysicalDevices is NULL, then the number of physical devices available is returned in pPhysicalDeviceCount. Otherwise, pPhysicalDeviceCount must point to a variable set by the user to the number of elements in the pPhysicalDevices array, and on return the variable is overwritten with the number of handles actually written to pPhysicalDevices. If pPhysicalDeviceCount is less than the number of physical devices available, at most pPhysicalDeviceCount structures will be written. If pPhysicalDeviceCount is smaller than the number of physical devices available, INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available physical devices were returned.

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • pPhysicalDeviceCount must be a valid pointer to a uint32_t value
  • If the value referenced by pPhysicalDeviceCount is not 0, and pPhysicalDevices is not NULL, pPhysicalDevices must be a valid pointer to an array of pPhysicalDeviceCount PhysicalDevice handles

Return Codes

Success
Failure

See Also

Instance, PhysicalDevice

getDeviceProcAddr Source #

Arguments

:: forall io. MonadIO io 
=> Device

device must be a valid Device handle

-> ("name" ::: ByteString)

pName must be a null-terminated UTF-8 string

-> io PFN_vkVoidFunction 

vkGetDeviceProcAddr - Return a function pointer for a command

Parameters

The table below defines the various use cases for getDeviceProcAddr and expected return value for each case.

Description

The returned function pointer is of type PFN_vkVoidFunction, and must be cast to the type of the command being queried before use. The function pointer must only be called with a dispatchable object (the first parameter) that is device or a child of device.

device pName return value
NULL *1 undefined
invalid device *1 undefined
device NULL undefined
device core device-level Vulkan command2 fp3
device enabled extension device-level commands2 fp3
any other case, not covered above NULL

getDeviceProcAddr behavior

1
"*" means any representable value for the parameter (including valid values, invalid values, and NULL).
2
In this function, device-level excludes all physical-device-level commands.
3
The returned function pointer must only be called with a dispatchable object (the first parameter) that is device or a child of device e.g. Device, Queue, or CommandBuffer.

Valid Usage (Implicit)

See Also

PFN_vkVoidFunction, Device

getInstanceProcAddr Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is the instance that the function pointer will be compatible with, or NULL for commands not dependent on any instance.

-> ("name" ::: ByteString)

pName is the name of the command to obtain.

-> io PFN_vkVoidFunction 

vkGetInstanceProcAddr - Return a function pointer for a command

Description

getInstanceProcAddr itself is obtained in a platform- and loader- specific manner. Typically, the loader library will export this command as a function symbol, so applications can link against the loader library, or load it dynamically and look up the symbol using platform-specific APIs.

The table below defines the various use cases for getInstanceProcAddr and expected return value (“fp” is “function pointer”) for each case.

The returned function pointer is of type PFN_vkVoidFunction, and must be cast to the type of the command being queried before use.

instance pName return value
*1 NULL undefined
invalid non-NULL instance *1 undefined
NULL getInstanceProcAddr fp4
NULL enumerateInstanceVersion fp
NULL enumerateInstanceExtensionProperties fp
NULL enumerateInstanceLayerProperties fp
NULL createInstance fp
instance core Vulkan command fp2
instance enabled instance extension commands for instance fp2
instance available device extension3 commands for instance fp2
any other case, not covered above NULL

getInstanceProcAddr behavior

1
"*" means any representable value for the parameter (including valid values, invalid values, and NULL).
2
The returned function pointer must only be called with a dispatchable object (the first parameter) that is instance or a child of instance, e.g. Instance, PhysicalDevice, Device, Queue, or CommandBuffer.
3
An “available device extension” is a device extension supported by any physical device enumerated by instance.
4
Starting with Vulkan 1.2, getInstanceProcAddr can resolve itself with a NULL instance pointer.

Valid Usage (Implicit)

  • If instance is not NULL, instance must be a valid Instance handle
  • pName must be a null-terminated UTF-8 string

See Also

PFN_vkVoidFunction, Instance

getPhysicalDeviceProperties Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the handle to the physical device whose properties will be queried.

physicalDevice must be a valid PhysicalDevice handle

-> io PhysicalDeviceProperties 

vkGetPhysicalDeviceProperties - Returns properties of a physical device

Valid Usage (Implicit)

See Also

PhysicalDevice, PhysicalDeviceProperties

getPhysicalDeviceQueueFamilyProperties Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the handle to the physical device whose properties will be queried.

-> io ("queueFamilyProperties" ::: Vector QueueFamilyProperties) 

vkGetPhysicalDeviceQueueFamilyProperties - Reports properties of the queues of the specified physical device

Description

If pQueueFamilyProperties is NULL, then the number of queue families available is returned in pQueueFamilyPropertyCount. Implementations must support at least one queue family. Otherwise, pQueueFamilyPropertyCount must point to a variable set by the user to the number of elements in the pQueueFamilyProperties array, and on return the variable is overwritten with the number of structures actually written to pQueueFamilyProperties. If pQueueFamilyPropertyCount is less than the number of queue families available, at most pQueueFamilyPropertyCount structures will be written.

Valid Usage (Implicit)

  • pQueueFamilyPropertyCount must be a valid pointer to a uint32_t value
  • If the value referenced by pQueueFamilyPropertyCount is not 0, and pQueueFamilyProperties is not NULL, pQueueFamilyProperties must be a valid pointer to an array of pQueueFamilyPropertyCount QueueFamilyProperties structures

See Also

PhysicalDevice, QueueFamilyProperties

getPhysicalDeviceMemoryProperties Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the handle to the device to query.

physicalDevice must be a valid PhysicalDevice handle

-> io PhysicalDeviceMemoryProperties 

vkGetPhysicalDeviceMemoryProperties - Reports memory information for the specified physical device

Valid Usage (Implicit)

See Also

PhysicalDevice, PhysicalDeviceMemoryProperties

getPhysicalDeviceFeatures Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device from which to query the supported features.

physicalDevice must be a valid PhysicalDevice handle

-> io PhysicalDeviceFeatures 

vkGetPhysicalDeviceFeatures - Reports capabilities of a physical device

Valid Usage (Implicit)

See Also

PhysicalDevice, PhysicalDeviceFeatures

getPhysicalDeviceFormatProperties Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device from which to query the format properties.

physicalDevice must be a valid PhysicalDevice handle

-> Format

format is the format whose properties are queried.

format must be a valid Format value

-> io FormatProperties 

vkGetPhysicalDeviceFormatProperties - Lists physical device’s format capabilities

Valid Usage (Implicit)

See Also

Format, FormatProperties, PhysicalDevice

getPhysicalDeviceImageFormatProperties Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device from which to query the image capabilities.

physicalDevice must be a valid PhysicalDevice handle

-> Format

format is a Format value specifying the image format, corresponding to ImageCreateInfo::format.

format must be a valid Format value

-> ImageType

type is a ImageType value specifying the image type, corresponding to ImageCreateInfo::imageType.

type must be a valid ImageType value

-> ImageTiling

tiling is a ImageTiling value specifying the image tiling, corresponding to ImageCreateInfo::tiling.

tiling must not be IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT. (Use getPhysicalDeviceImageFormatProperties2 instead)

tiling must be a valid ImageTiling value

-> ImageUsageFlags

usage is a bitmask of ImageUsageFlagBits specifying the intended usage of the image, corresponding to ImageCreateInfo::usage.

usage must be a valid combination of ImageUsageFlagBits values

usage must not be 0

-> ImageCreateFlags

flags is a bitmask of ImageCreateFlagBits specifying additional parameters of the image, corresponding to ImageCreateInfo::flags.

flags must be a valid combination of ImageCreateFlagBits values

-> io ImageFormatProperties 

vkGetPhysicalDeviceImageFormatProperties - Lists physical device’s image format capabilities

Description

The format, type, tiling, usage, and flags parameters correspond to parameters that would be consumed by createImage (as members of ImageCreateInfo).

If format is not a supported image format, or if the combination of format, type, tiling, usage, and flags is not supported for images, then getPhysicalDeviceImageFormatProperties returns ERROR_FORMAT_NOT_SUPPORTED.

The limitations on an image format that are reported by getPhysicalDeviceImageFormatProperties have the following property: if usage1 and usage2 of type ImageUsageFlags are such that the bits set in usage1 are a subset of the bits set in usage2, and flags1 and flags2 of type ImageCreateFlags are such that the bits set in flags1 are a subset of the bits set in flags2, then the limitations for usage1 and flags1 must be no more strict than the limitations for usage2 and flags2, for all values of format, type, and tiling.

Return Codes

Success
Failure

See Also

Format, ImageCreateFlags, ImageFormatProperties, ImageTiling, ImageType, ImageUsageFlags, PhysicalDevice

data PhysicalDeviceProperties Source #

VkPhysicalDeviceProperties - Structure specifying physical device properties

Description

Note

The value of apiVersion may be different than the version returned by enumerateInstanceVersion; either higher or lower. In such cases, the application must not use functionality that exceeds the version of Vulkan associated with a given object. The pApiVersion parameter returned by enumerateInstanceVersion is the version associated with a Instance and its children, except for a PhysicalDevice and its children. PhysicalDeviceProperties::apiVersion is the version associated with a PhysicalDevice and its children.

The vendorID and deviceID fields are provided to allow applications to adapt to device characteristics that are not adequately exposed by other Vulkan queries.

Note

These may include performance profiles, hardware errata, or other characteristics.

The vendor identified by vendorID is the entity responsible for the most salient characteristics of the underlying implementation of the PhysicalDevice being queried.

Note

For example, in the case of a discrete GPU implementation, this should be the GPU chipset vendor. In the case of a hardware accelerator integrated into a system-on-chip (SoC), this should be the supplier of the silicon IP used to create the accelerator.

If the vendor has a PCI vendor ID, the low 16 bits of vendorID must contain that PCI vendor ID, and the remaining bits must be set to zero. Otherwise, the value returned must be a valid Khronos vendor ID, obtained as described in the Vulkan Documentation and Extensions: Procedures and Conventions document in the section “Registering a Vendor ID with Khronos”. Khronos vendor IDs are allocated starting at 0x10000, to distinguish them from the PCI vendor ID namespace. Khronos vendor IDs are symbolically defined in the VendorId type.

The vendor is also responsible for the value returned in deviceID. If the implementation is driven primarily by a PCI device with a PCI device ID, the low 16 bits of deviceID must contain that PCI device ID, and the remaining bits must be set to zero. Otherwise, the choice of what values to return may be dictated by operating system or platform policies - but should uniquely identify both the device version and any major configuration options (for example, core count in the case of multicore devices).

Note

The same device ID should be used for all physical implementations of that device version and configuration. For example, all uses of a specific silicon IP GPU version and configuration should use the same device ID, even if those uses occur in different SoCs.

See Also

PhysicalDeviceLimits, PhysicalDeviceProperties2, PhysicalDeviceSparseProperties, PhysicalDeviceType, getPhysicalDeviceProperties

Constructors

PhysicalDeviceProperties 

Fields

Instances

Instances details
Show PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

KnownPropertyStruct PhysicalDeviceProperties Source # 
Instance details

Defined in Vulkan.Requirement

data ApplicationInfo Source #

VkApplicationInfo - Structure specifying application info

Description

Vulkan 1.0 implementations were required to return ERROR_INCOMPATIBLE_DRIVER if apiVersion was larger than 1.0. Implementations that support Vulkan 1.1 or later must not return ERROR_INCOMPATIBLE_DRIVER for any value of apiVersion.

Note

Because Vulkan 1.0 implementations may fail with ERROR_INCOMPATIBLE_DRIVER, applications should determine the version of Vulkan available before calling createInstance. If the getInstanceProcAddr returns NULL for enumerateInstanceVersion, it is a Vulkan 1.0 implementation. Otherwise, the application can call enumerateInstanceVersion to determine the version of Vulkan.

As long as the instance supports at least Vulkan 1.1, an application can use different versions of Vulkan with an instance than it does with a device or physical device.

Note

The Khronos validation layers will treat apiVersion as the highest API version the application targets, and will validate API usage against the minimum of that version and the implementation version (instance or device, depending on context). If an application tries to use functionality from a greater version than this, a validation error will be triggered.

For example, if the instance supports Vulkan 1.1 and three physical devices support Vulkan 1.0, Vulkan 1.1, and Vulkan 1.2, respectively, and if the application sets apiVersion to 1.2, the application can use the following versions of Vulkan:

  • Vulkan 1.0 can be used with the instance and with all physical devices.
  • Vulkan 1.1 can be used with the instance and with the physical devices that support Vulkan 1.1 and Vulkan 1.2.
  • Vulkan 1.2 can be used with the physical device that supports Vulkan 1.2.

If we modify the above example so that the application sets apiVersion to 1.1, then the application must not use Vulkan 1.2 functionality on the physical device that supports Vulkan 1.2.

Implicit layers must be disabled if they do not support a version at least as high as apiVersion. See the Vulkan Loader Specification and Architecture Overview document for additional information.

Note

Providing a NULL InstanceCreateInfo::pApplicationInfo or providing an apiVersion of 0 is equivalent to providing an apiVersion of VK_MAKE_VERSION(1,0,0).

Valid Usage

  • If apiVersion is not 0, then it must be greater or equal to API_VERSION_1_0

Valid Usage (Implicit)

  • pNext must be NULL
  • If pApplicationName is not NULL, pApplicationName must be a null-terminated UTF-8 string
  • If pEngineName is not NULL, pEngineName must be a null-terminated UTF-8 string

See Also

InstanceCreateInfo, StructureType

Constructors

ApplicationInfo 

Fields

data InstanceCreateInfo (es :: [Type]) Source #

VkInstanceCreateInfo - Structure specifying parameters of a newly created instance

Valid Usage (Implicit)

  • Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of DebugReportCallbackCreateInfoEXT, DebugUtilsMessengerCreateInfoEXT, ValidationFeaturesEXT, or ValidationFlagsEXT
  • The sType value of each struct in the pNext chain must be unique, with the exception of structures of type DebugUtilsMessengerCreateInfoEXT
  • flags must be 0
  • If pApplicationInfo is not NULL, pApplicationInfo must be a valid pointer to a valid ApplicationInfo structure
  • If enabledLayerCount is not 0, ppEnabledLayerNames must be a valid pointer to an array of enabledLayerCount null-terminated UTF-8 strings
  • If enabledExtensionCount is not 0, ppEnabledExtensionNames must be a valid pointer to an array of enabledExtensionCount null-terminated UTF-8 strings

See Also

ApplicationInfo, InstanceCreateFlags, StructureType, createInstance

Constructors

InstanceCreateInfo 

Fields

Instances

Instances details
Extensible InstanceCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). InstanceCreateInfo es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). InstanceCreateInfo ds -> Chain es -> InstanceCreateInfo es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends InstanceCreateInfo e => b) -> Maybe b Source #

Show (Chain es) => Show (InstanceCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

(Extendss InstanceCreateInfo es, PeekChain es) => FromCStruct (InstanceCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

(Extendss InstanceCreateInfo es, PokeChain es) => ToCStruct (InstanceCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

es ~ ('[] :: [Type]) => Zero (InstanceCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data QueueFamilyProperties Source #

VkQueueFamilyProperties - Structure providing information about a queue family

Description

The value returned in minImageTransferGranularity has a unit of compressed texel blocks for images having a block-compressed format, and a unit of texels otherwise.

Possible values of minImageTransferGranularity are:

  • (0,0,0) which indicates that only whole mip levels must be transferred using the image transfer operations on the corresponding queues. In this case, the following restrictions apply to all offset and extent parameters of image transfer operations:

    • The x, y, and z members of a Offset3D parameter must always be zero.
    • The width, height, and depth members of a Extent3D parameter must always match the width, height, and depth of the image subresource corresponding to the parameter, respectively.
  • (Ax, Ay, Az) where Ax, Ay, and Az are all integer powers of two. In this case the following restrictions apply to all image transfer operations:

    • x, y, and z of a Offset3D parameter must be integer multiples of Ax, Ay, and Az, respectively.
    • width of a Extent3D parameter must be an integer multiple of Ax, or else x + width must equal the width of the image subresource corresponding to the parameter.
    • height of a Extent3D parameter must be an integer multiple of Ay, or else y + height must equal the height of the image subresource corresponding to the parameter.
    • depth of a Extent3D parameter must be an integer multiple of Az, or else z + depth must equal the depth of the image subresource corresponding to the parameter.
    • If the format of the image corresponding to the parameters is one of the block-compressed formats then for the purposes of the above calculations the granularity must be scaled up by the compressed texel block dimensions.

Queues supporting graphics and/or compute operations must report (1,1,1) in minImageTransferGranularity, meaning that there are no additional restrictions on the granularity of image transfer operations for these queues. Other queues supporting image transfer operations are only required to support whole mip level transfers, thus minImageTransferGranularity for queues belonging to such queue families may be (0,0,0).

The Device Memory section describes memory properties queried from the physical device.

For physical device feature queries see the Features chapter.

See Also

Extent3D, QueueFamilyProperties2, QueueFlags, getPhysicalDeviceQueueFamilyProperties

Constructors

QueueFamilyProperties 

Fields

  • queueFlags :: QueueFlags

    queueFlags is a bitmask of QueueFlagBits indicating capabilities of the queues in this queue family.

  • queueCount :: Word32

    queueCount is the unsigned integer count of queues in this queue family. Each queue family must support at least one queue.

  • timestampValidBits :: Word32

    timestampValidBits is the unsigned integer count of meaningful bits in the timestamps written via cmdWriteTimestamp. The valid range for the count is 36..64 bits, or a value of 0, indicating no support for timestamps. Bits outside the valid range are guaranteed to be zeros.

  • minImageTransferGranularity :: Extent3D

    minImageTransferGranularity is the minimum granularity supported for image transfer operations on the queues in this queue family.

Instances

Instances details
Show QueueFamilyProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable QueueFamilyProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct QueueFamilyProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct QueueFamilyProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero QueueFamilyProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data PhysicalDeviceMemoryProperties Source #

VkPhysicalDeviceMemoryProperties - Structure specifying physical device memory properties

Description

The PhysicalDeviceMemoryProperties structure describes a number of memory heaps as well as a number of memory types that can be used to access memory allocated in those heaps. Each heap describes a memory resource of a particular size, and each memory type describes a set of memory properties (e.g. host cached vs uncached) that can be used with a given memory heap. Allocations using a particular memory type will consume resources from the heap indicated by that memory type’s heap index. More than one memory type may share each heap, and the heaps and memory types provide a mechanism to advertise an accurate size of the physical memory resources while allowing the memory to be used with a variety of different properties.

The number of memory heaps is given by memoryHeapCount and is less than or equal to MAX_MEMORY_HEAPS. Each heap is described by an element of the memoryHeaps array as a MemoryHeap structure. The number of memory types available across all memory heaps is given by memoryTypeCount and is less than or equal to MAX_MEMORY_TYPES. Each memory type is described by an element of the memoryTypes array as a MemoryType structure.

At least one heap must include MEMORY_HEAP_DEVICE_LOCAL_BIT in MemoryHeap::flags. If there are multiple heaps that all have similar performance characteristics, they may all include MEMORY_HEAP_DEVICE_LOCAL_BIT. In a unified memory architecture (UMA) system there is often only a single memory heap which is considered to be equally “local” to the host and to the device, and such an implementation must advertise the heap as device-local.

Each memory type returned by getPhysicalDeviceMemoryProperties must have its propertyFlags set to one of the following values:

There must be at least one memory type with both the MEMORY_PROPERTY_HOST_VISIBLE_BIT and MEMORY_PROPERTY_HOST_COHERENT_BIT bits set in its propertyFlags. There must be at least one memory type with the MEMORY_PROPERTY_DEVICE_LOCAL_BIT bit set in its propertyFlags. If the deviceCoherentMemory feature is enabled, there must be at least one memory type with the MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD bit set in its propertyFlags.

For each pair of elements X and Y returned in memoryTypes, X must be placed at a lower index position than Y if:

  • the set of bit flags returned in the propertyFlags member of X is a strict subset of the set of bit flags returned in the propertyFlags member of Y; or
  • the propertyFlags members of X and Y are equal, and X belongs to a memory heap with greater performance (as determined in an implementation-specific manner) ; or
  • the propertyFlags members of Y includes MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD or MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD and X does not

Note

There is no ordering requirement between X and Y elements for the case their propertyFlags members are not in a subset relation. That potentially allows more than one possible way to order the same set of memory types. Notice that the list of all allowed memory property flag combinations is written in a valid order. But if instead MEMORY_PROPERTY_DEVICE_LOCAL_BIT was before MEMORY_PROPERTY_HOST_VISIBLE_BIT | MEMORY_PROPERTY_HOST_COHERENT_BIT, the list would still be in a valid order.

There may be a performance penalty for using device coherent or uncached device memory types, and using these accidentally is undesirable. In order to avoid this, memory types with these properties always appear at the end of the list; but are subject to the same rules otherwise.

This ordering requirement enables applications to use a simple search loop to select the desired memory type along the lines of:

// Find a memory in `memoryTypeBitsRequirement` that includes all of `requiredProperties`
int32_t findProperties(const VkPhysicalDeviceMemoryProperties* pMemoryProperties,
                       uint32_t memoryTypeBitsRequirement,
                       VkMemoryPropertyFlags requiredProperties) {
    const uint32_t memoryCount = pMemoryProperties->memoryTypeCount;
    for (uint32_t memoryIndex = 0; memoryIndex < memoryCount; ++memoryIndex) {
        const uint32_t memoryTypeBits = (1 << memoryIndex);
        const bool isRequiredMemoryType = memoryTypeBitsRequirement & memoryTypeBits;

        const VkMemoryPropertyFlags properties =
            pMemoryProperties->memoryTypes[memoryIndex].propertyFlags;
        const bool hasRequiredProperties =
            (properties & requiredProperties) == requiredProperties;

        if (isRequiredMemoryType && hasRequiredProperties)
            return static_cast<int32_t>(memoryIndex);
    }

    // failed to find memory type
    return -1;
}

// Try to find an optimal memory type, or if it does not exist try fallback memory type
// `device` is the VkDevice
// `image` is the VkImage that requires memory to be bound
// `memoryProperties` properties as returned by vkGetPhysicalDeviceMemoryProperties
// `requiredProperties` are the property flags that must be present
// `optimalProperties` are the property flags that are preferred by the application
VkMemoryRequirements memoryRequirements;
vkGetImageMemoryRequirements(device, image, &memoryRequirements);
int32_t memoryType =
    findProperties(&memoryProperties, memoryRequirements.memoryTypeBits, optimalProperties);
if (memoryType == -1) // not found; try fallback properties
    memoryType =
        findProperties(&memoryProperties, memoryRequirements.memoryTypeBits, requiredProperties);

See Also

MemoryHeap, MemoryType, PhysicalDeviceMemoryProperties2, getPhysicalDeviceMemoryProperties

Constructors

PhysicalDeviceMemoryProperties 

Fields

Instances

Instances details
Show PhysicalDeviceMemoryProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable PhysicalDeviceMemoryProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct PhysicalDeviceMemoryProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct PhysicalDeviceMemoryProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero PhysicalDeviceMemoryProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data MemoryType Source #

VkMemoryType - Structure specifying memory type

See Also

MemoryPropertyFlags, PhysicalDeviceMemoryProperties

Constructors

MemoryType 

Fields

Instances

Instances details
Eq MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero MemoryType Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data MemoryHeap Source #

VkMemoryHeap - Structure specifying a memory heap

See Also

DeviceSize, MemoryHeapFlags, PhysicalDeviceMemoryProperties

Constructors

MemoryHeap 

Fields

Instances

Instances details
Eq MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero MemoryHeap Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data FormatProperties Source #

VkFormatProperties - Structure specifying image format properties

Description

Note

If no format feature flags are supported, the format itself is not supported, and images of that format cannot be created.

If format is a block-compressed format, then bufferFeatures must not support any features for the format.

If format is not a multi-plane format then linearTilingFeatures and optimalTilingFeatures must not contain FORMAT_FEATURE_DISJOINT_BIT.

See Also

FormatFeatureFlags, FormatProperties2, getPhysicalDeviceFormatProperties

Constructors

FormatProperties 

Fields

Instances

Instances details
Eq FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero FormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data ImageFormatProperties Source #

VkImageFormatProperties - Structure specifying an image format properties

Members

  • maxExtent are the maximum image dimensions. See the Allowed Extent Values section below for how these values are constrained by type.

Description

Note

There is no mechanism to query the size of an image before creating it, to compare that size against maxResourceSize. If an application attempts to create an image that exceeds this limit, the creation will fail and createImage will return ERROR_OUT_OF_DEVICE_MEMORY. While the advertised limit must be at least 231, it may not be possible to create an image that approaches that size, particularly for IMAGE_TYPE_1D.

If the combination of parameters to getPhysicalDeviceImageFormatProperties is not supported by the implementation for use in createImage, then all members of ImageFormatProperties will be filled with zero.

Note

Filling ImageFormatProperties with zero for unsupported formats is an exception to the usual rule that output structures have undefined contents on error. This exception was unintentional, but is preserved for backwards compatibility.

See Also

DeviceSize, Extent3D, ExternalImageFormatPropertiesNV, ImageFormatProperties2, SampleCountFlags, getPhysicalDeviceImageFormatProperties

Instances

Instances details
Show ImageFormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable ImageFormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct ImageFormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct ImageFormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero ImageFormatProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data PhysicalDeviceFeatures Source #

VkPhysicalDeviceFeatures - Structure describing the fine-grained features that can be supported by an implementation

Members

The members of the PhysicalDeviceFeatures structure describe the following features:

See Also

Bool32, DeviceCreateInfo, PhysicalDeviceFeatures2, getPhysicalDeviceFeatures

Constructors

PhysicalDeviceFeatures 

Fields

Instances

Instances details
Eq PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

KnownFeatureStruct PhysicalDeviceFeatures Source # 
Instance details

Defined in Vulkan.Requirement

data PhysicalDeviceSparseProperties Source #

VkPhysicalDeviceSparseProperties - Structure specifying physical device sparse memory properties

See Also

Bool32, PhysicalDeviceProperties

Constructors

PhysicalDeviceSparseProperties 

Fields

  • residencyStandard2DBlockShape :: Bool

    residencyStandard2DBlockShape is TRUE if the physical device will access all single-sample 2D sparse resources using the standard sparse image block shapes (based on image format), as described in the Standard Sparse Image Block Shapes (Single Sample) table. If this property is not supported the value returned in the imageGranularity member of the SparseImageFormatProperties structure for single-sample 2D images is not required to match the standard sparse image block dimensions listed in the table.

  • residencyStandard2DMultisampleBlockShape :: Bool

    residencyStandard2DMultisampleBlockShape is TRUE if the physical device will access all multisample 2D sparse resources using the standard sparse image block shapes (based on image format), as described in the Standard Sparse Image Block Shapes (MSAA) table. If this property is not supported, the value returned in the imageGranularity member of the SparseImageFormatProperties structure for multisample 2D images is not required to match the standard sparse image block dimensions listed in the table.

  • residencyStandard3DBlockShape :: Bool

    residencyStandard3DBlockShape is TRUE if the physical device will access all 3D sparse resources using the standard sparse image block shapes (based on image format), as described in the Standard Sparse Image Block Shapes (Single Sample) table. If this property is not supported, the value returned in the imageGranularity member of the SparseImageFormatProperties structure for 3D images is not required to match the standard sparse image block dimensions listed in the table.

  • residencyAlignedMipSize :: Bool

    residencyAlignedMipSize is TRUE if images with mip level dimensions that are not integer multiples of the corresponding dimensions of the sparse image block may be placed in the mip tail. If this property is not reported, only mip levels with dimensions smaller than the imageGranularity member of the SparseImageFormatProperties structure will be placed in the mip tail. If this property is reported the implementation is allowed to return SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT in the flags member of SparseImageFormatProperties, indicating that mip level dimensions that are not integer multiples of the corresponding dimensions of the sparse image block will be placed in the mip tail.

  • residencyNonResidentStrict :: Bool

    residencyNonResidentStrict specifies whether the physical device can consistently access non-resident regions of a resource. If this property is TRUE, access to non-resident regions of resources will be guaranteed to return values as if the resource were populated with 0; writes to non-resident regions will be discarded.

Instances

Instances details
Eq PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero PhysicalDeviceSparseProperties Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data PhysicalDeviceLimits Source #

VkPhysicalDeviceLimits - Structure reporting implementation-dependent physical device limits

Members

The PhysicalDeviceLimits are properties of the physical device. These are available in the limits member of the PhysicalDeviceProperties structure which is returned from getPhysicalDeviceProperties.

Description

1
For all bitmasks of SampleCountFlagBits, the sample count limits defined above represent the minimum supported sample counts for each image type. Individual images may support additional sample counts, which are queried using getPhysicalDeviceImageFormatProperties as described in Supported Sample Counts.

See Also

Bool32, DeviceSize, PhysicalDeviceProperties, SampleCountFlags

Constructors

PhysicalDeviceLimits 

Fields

Instances

Instances details
Eq PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Show PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Storable PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

FromCStruct PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

ToCStruct PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

Zero PhysicalDeviceLimits Source # 
Instance details

Defined in Vulkan.Core10.DeviceInitialization

data Instance Source #

Instances

Instances details
Eq Instance Source # 
Instance details

Defined in Vulkan.Core10.Handles

Show Instance Source # 
Instance details

Defined in Vulkan.Core10.Handles

Zero Instance Source # 
Instance details

Defined in Vulkan.Core10.Handles

Methods

zero :: Instance Source #

HasObjectType Instance Source # 
Instance details

Defined in Vulkan.Core10.Handles

IsHandle Instance Source # 
Instance details

Defined in Vulkan.Core10.Handles

data PhysicalDevice Source #

VkPhysicalDevice - Opaque handle to a physical device object

See Also

DeviceGroupDeviceCreateInfo, PhysicalDeviceGroupProperties, acquireWinrtDisplayNV, acquireXlibDisplayEXT, createDevice, createDisplayModeKHR, enumerateDeviceExtensionProperties, enumerateDeviceLayerProperties, enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, enumeratePhysicalDevices, getDisplayModeProperties2KHR, getDisplayModePropertiesKHR, getDisplayPlaneCapabilities2KHR, getDisplayPlaneCapabilitiesKHR, getDisplayPlaneSupportedDisplaysKHR, getPhysicalDeviceCalibrateableTimeDomainsEXT, getPhysicalDeviceCooperativeMatrixPropertiesNV, getPhysicalDeviceDirectFBPresentationSupportEXT, getPhysicalDeviceDisplayPlaneProperties2KHR, getPhysicalDeviceDisplayPlanePropertiesKHR, getPhysicalDeviceDisplayProperties2KHR, getPhysicalDeviceDisplayPropertiesKHR, getPhysicalDeviceExternalBufferProperties, getPhysicalDeviceExternalBufferPropertiesKHR, getPhysicalDeviceExternalFenceProperties, getPhysicalDeviceExternalFencePropertiesKHR, getPhysicalDeviceExternalImageFormatPropertiesNV, getPhysicalDeviceExternalSemaphoreProperties, getPhysicalDeviceExternalSemaphorePropertiesKHR, getPhysicalDeviceFeatures, getPhysicalDeviceFeatures2, getPhysicalDeviceFeatures2KHR, getPhysicalDeviceFormatProperties, getPhysicalDeviceFormatProperties2, getPhysicalDeviceFormatProperties2KHR, getPhysicalDeviceFragmentShadingRatesKHR, getPhysicalDeviceImageFormatProperties, getPhysicalDeviceImageFormatProperties2, getPhysicalDeviceImageFormatProperties2KHR, getPhysicalDeviceMemoryProperties, getPhysicalDeviceMemoryProperties2, getPhysicalDeviceMemoryProperties2KHR, getPhysicalDeviceMultisamplePropertiesEXT, getPhysicalDevicePresentRectanglesKHR, getPhysicalDeviceProperties, getPhysicalDeviceProperties2, getPhysicalDeviceProperties2KHR, getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, getPhysicalDeviceQueueFamilyProperties, getPhysicalDeviceQueueFamilyProperties2, getPhysicalDeviceQueueFamilyProperties2KHR, getPhysicalDeviceSparseImageFormatProperties, getPhysicalDeviceSparseImageFormatProperties2, getPhysicalDeviceSparseImageFormatProperties2KHR, getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, getPhysicalDeviceSurfaceCapabilities2EXT, getPhysicalDeviceSurfaceCapabilities2KHR, getPhysicalDeviceSurfaceCapabilitiesKHR, getPhysicalDeviceSurfaceFormats2KHR, getPhysicalDeviceSurfaceFormatsKHR, getPhysicalDeviceSurfacePresentModes2EXT, getPhysicalDeviceSurfacePresentModesKHR, getPhysicalDeviceSurfaceSupportKHR, getPhysicalDeviceToolPropertiesEXT, getPhysicalDeviceWaylandPresentationSupportKHR, getPhysicalDeviceWin32PresentationSupportKHR, getPhysicalDeviceXcbPresentationSupportKHR, getPhysicalDeviceXlibPresentationSupportKHR, getRandROutputDisplayEXT, getWinrtDisplayNV, releaseDisplayEXT

data AllocationCallbacks Source #

VkAllocationCallbacks - Structure containing callback function pointers for memory allocation

Valid Usage

  • pfnReallocation must be a valid pointer to a valid user-defined PFN_vkReallocationFunction
  • pfnFree must be a valid pointer to a valid user-defined PFN_vkFreeFunction
  • If either of pfnInternalAllocation or pfnInternalFree is not NULL, both must be valid callbacks

See Also

PFN_vkAllocationFunction, PFN_vkFreeFunction, PFN_vkInternalAllocationNotification, PFN_vkInternalFreeNotification, PFN_vkReallocationFunction, allocateMemory, createAccelerationStructureKHR, createAccelerationStructureNV, createAndroidSurfaceKHR, createBuffer, createBufferView, createCommandPool, createComputePipelines, createDebugReportCallbackEXT, createDebugUtilsMessengerEXT, createDeferredOperationKHR, createDescriptorPool, createDescriptorSetLayout, createDescriptorUpdateTemplate, createDescriptorUpdateTemplateKHR, createDevice, createDirectFBSurfaceEXT, createDisplayModeKHR, createDisplayPlaneSurfaceKHR, createEvent, createFence, createFramebuffer, createGraphicsPipelines, createHeadlessSurfaceEXT, createIOSSurfaceMVK, createImage, createImagePipeSurfaceFUCHSIA, createImageView, createIndirectCommandsLayoutNV, createInstance, createMacOSSurfaceMVK, createMetalSurfaceEXT, createPipelineCache, createPipelineLayout, createPrivateDataSlotEXT, createQueryPool, createRayTracingPipelinesKHR, createRayTracingPipelinesNV, createRenderPass, createRenderPass2, createRenderPass2KHR, createSampler, createSamplerYcbcrConversion, createSamplerYcbcrConversionKHR, createSemaphore, createShaderModule, createSharedSwapchainsKHR, createStreamDescriptorSurfaceGGP, createSwapchainKHR, createValidationCacheEXT, createViSurfaceNN, createWaylandSurfaceKHR, createWin32SurfaceKHR, createXcbSurfaceKHR, createXlibSurfaceKHR, destroyAccelerationStructureKHR, destroyAccelerationStructureNV, destroyBuffer, destroyBufferView, destroyCommandPool, destroyDebugReportCallbackEXT, destroyDebugUtilsMessengerEXT, destroyDeferredOperationKHR, destroyDescriptorPool, destroyDescriptorSetLayout, destroyDescriptorUpdateTemplate, destroyDescriptorUpdateTemplateKHR, destroyDevice, destroyEvent, destroyFence, destroyFramebuffer, destroyImage, destroyImageView, destroyIndirectCommandsLayoutNV, destroyInstance, destroyPipeline, destroyPipelineCache, destroyPipelineLayout, destroyPrivateDataSlotEXT, destroyQueryPool, destroyRenderPass, destroySampler, destroySamplerYcbcrConversion, destroySamplerYcbcrConversionKHR, destroySemaphore, destroyShaderModule, destroySurfaceKHR, destroySwapchainKHR, destroyValidationCacheEXT, freeMemory, registerDeviceEventEXT, registerDisplayEventEXT

Constructors

AllocationCallbacks 

Fields

Instances

Instances details
Show AllocationCallbacks Source # 
Instance details

Defined in Vulkan.Core10.AllocationCallbacks

Storable AllocationCallbacks Source # 
Instance details

Defined in Vulkan.Core10.AllocationCallbacks

FromCStruct AllocationCallbacks Source # 
Instance details

Defined in Vulkan.Core10.AllocationCallbacks

ToCStruct AllocationCallbacks Source # 
Instance details

Defined in Vulkan.Core10.AllocationCallbacks

Zero AllocationCallbacks Source # 
Instance details

Defined in Vulkan.Core10.AllocationCallbacks

newtype InstanceCreateFlags Source #

VkInstanceCreateFlags - Reserved for future use

Description

InstanceCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

InstanceCreateInfo

Instances

Instances details
Eq InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Ord InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Read InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Show InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Storable InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Bits InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

FiniteBits InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

Zero InstanceCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.InstanceCreateFlags

newtype ImageType Source #

Constructors

ImageType Int32 

Bundled Patterns

pattern IMAGE_TYPE_1D :: ImageType

IMAGE_TYPE_1D specifies a one-dimensional image.

pattern IMAGE_TYPE_2D :: ImageType

IMAGE_TYPE_2D specifies a two-dimensional image.

pattern IMAGE_TYPE_3D :: ImageType

IMAGE_TYPE_3D specifies a three-dimensional image.

Instances

Instances details
Eq ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

Ord ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

Read ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

Show ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

Storable ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

Zero ImageType Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageType

newtype ImageTiling Source #

Constructors

ImageTiling Int32 

Bundled Patterns

pattern IMAGE_TILING_OPTIMAL :: ImageTiling

IMAGE_TILING_OPTIMAL specifies optimal tiling (texels are laid out in an implementation-dependent arrangement, for more optimal memory access).

pattern IMAGE_TILING_LINEAR :: ImageTiling

IMAGE_TILING_LINEAR specifies linear tiling (texels are laid out in memory in row-major order, possibly with some padding on each row).

pattern IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: ImageTiling

IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT indicates that the image’s tiling is defined by a Linux DRM format modifier. The modifier is specified at image creation with ImageDrmFormatModifierListCreateInfoEXT or ImageDrmFormatModifierExplicitCreateInfoEXT, and can be queried with getImageDrmFormatModifierPropertiesEXT.

Instances

Instances details
Eq ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

Ord ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

Read ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

Show ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

Storable ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

Zero ImageTiling Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageTiling

newtype InternalAllocationType Source #

VkInternalAllocationType - Allocation type

See Also

PFN_vkInternalAllocationNotification, PFN_vkInternalFreeNotification

Bundled Patterns

pattern INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: InternalAllocationType

INTERNAL_ALLOCATION_TYPE_EXECUTABLE specifies that the allocation is intended for execution by the host.

Instances

Instances details
Eq InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

Ord InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

Read InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

Show InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

Storable InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

Zero InternalAllocationType Source # 
Instance details

Defined in Vulkan.Core10.Enums.InternalAllocationType

newtype SystemAllocationScope Source #

VkSystemAllocationScope - Allocation scope

Description

Most Vulkan commands operate on a single object, or there is a sole object that is being created or manipulated. When an allocation uses an allocation scope of SYSTEM_ALLOCATION_SCOPE_OBJECT or SYSTEM_ALLOCATION_SCOPE_CACHE, the allocation is scoped to the object being created or manipulated.

When an implementation requires host memory, it will make callbacks to the application using the most specific allocator and allocation scope available:

  • If an allocation is scoped to the duration of a command, the allocator will use the SYSTEM_ALLOCATION_SCOPE_COMMAND allocation scope. The most specific allocator available is used: if the object being created or manipulated has an allocator, that object’s allocator will be used, else if the parent Device has an allocator it will be used, else if the parent Instance has an allocator it will be used. Else,
  • If an allocation is associated with a ValidationCacheEXT or PipelineCache object, the allocator will use the SYSTEM_ALLOCATION_SCOPE_CACHE allocation scope. The most specific allocator available is used (cache, else device, else instance). Else,
  • If an allocation is scoped to the lifetime of an object, that object is being created or manipulated by the command, and that object’s type is not Device or Instance, the allocator will use an allocation scope of SYSTEM_ALLOCATION_SCOPE_OBJECT. The most specific allocator available is used (object, else device, else instance). Else,
  • If an allocation is scoped to the lifetime of a device, the allocator will use an allocation scope of SYSTEM_ALLOCATION_SCOPE_DEVICE. The most specific allocator available is used (device, else instance). Else,
  • If the allocation is scoped to the lifetime of an instance and the instance has an allocator, its allocator will be used with an allocation scope of SYSTEM_ALLOCATION_SCOPE_INSTANCE.
  • Otherwise an implementation will allocate memory through an alternative mechanism that is unspecified.

See Also

AllocationCallbacks

Instances

Instances details
Eq SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

Ord SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

Read SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

Show SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

Storable SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

Zero SystemAllocationScope Source # 
Instance details

Defined in Vulkan.Core10.Enums.SystemAllocationScope

newtype PhysicalDeviceType Source #

VkPhysicalDeviceType - Supported physical device types

Description

The physical device type is advertised for informational purposes only, and does not directly affect the operation of the system. However, the device type may correlate with other advertised properties or capabilities of the system, such as how many memory heaps there are.

See Also

PhysicalDeviceProperties

Bundled Patterns

pattern PHYSICAL_DEVICE_TYPE_OTHER :: PhysicalDeviceType

PHYSICAL_DEVICE_TYPE_OTHER - the device does not match any other available types.

pattern PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: PhysicalDeviceType

PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU - the device is typically one embedded in or tightly coupled with the host.

pattern PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: PhysicalDeviceType

PHYSICAL_DEVICE_TYPE_DISCRETE_GPU - the device is typically a separate processor connected to the host via an interlink.

pattern PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: PhysicalDeviceType

PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU - the device is typically a virtual node in a virtualization environment.

pattern PHYSICAL_DEVICE_TYPE_CPU :: PhysicalDeviceType

PHYSICAL_DEVICE_TYPE_CPU - the device is typically running on the same processors as the host.

Instances

Instances details
Eq PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

Ord PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

Read PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

Show PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

Storable PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

Zero PhysicalDeviceType Source # 
Instance details

Defined in Vulkan.Core10.Enums.PhysicalDeviceType

newtype Format Source #

Constructors

Format Int32 

Bundled Patterns

pattern FORMAT_UNDEFINED :: Format

FORMAT_UNDEFINED specifies that the format is not specified.

pattern FORMAT_R4G4_UNORM_PACK8 :: Format

FORMAT_R4G4_UNORM_PACK8 specifies a two-component, 8-bit packed unsigned normalized format that has a 4-bit R component in bits 4..7, and a 4-bit G component in bits 0..3.

pattern FORMAT_R4G4B4A4_UNORM_PACK16 :: Format

FORMAT_R4G4B4A4_UNORM_PACK16 specifies a four-component, 16-bit packed unsigned normalized format that has a 4-bit R component in bits 12..15, a 4-bit G component in bits 8..11, a 4-bit B component in bits 4..7, and a 4-bit A component in bits 0..3.

pattern FORMAT_B4G4R4A4_UNORM_PACK16 :: Format

FORMAT_B4G4R4A4_UNORM_PACK16 specifies a four-component, 16-bit packed unsigned normalized format that has a 4-bit B component in bits 12..15, a 4-bit G component in bits 8..11, a 4-bit R component in bits 4..7, and a 4-bit A component in bits 0..3.

pattern FORMAT_R5G6B5_UNORM_PACK16 :: Format

FORMAT_R5G6B5_UNORM_PACK16 specifies a three-component, 16-bit packed unsigned normalized format that has a 5-bit R component in bits 11..15, a 6-bit G component in bits 5..10, and a 5-bit B component in bits 0..4.

pattern FORMAT_B5G6R5_UNORM_PACK16 :: Format

FORMAT_B5G6R5_UNORM_PACK16 specifies a three-component, 16-bit packed unsigned normalized format that has a 5-bit B component in bits 11..15, a 6-bit G component in bits 5..10, and a 5-bit R component in bits 0..4.

pattern FORMAT_R5G5B5A1_UNORM_PACK16 :: Format

FORMAT_R5G5B5A1_UNORM_PACK16 specifies a four-component, 16-bit packed unsigned normalized format that has a 5-bit R component in bits 11..15, a 5-bit G component in bits 6..10, a 5-bit B component in bits 1..5, and a 1-bit A component in bit 0.

pattern FORMAT_B5G5R5A1_UNORM_PACK16 :: Format

FORMAT_B5G5R5A1_UNORM_PACK16 specifies a four-component, 16-bit packed unsigned normalized format that has a 5-bit B component in bits 11..15, a 5-bit G component in bits 6..10, a 5-bit R component in bits 1..5, and a 1-bit A component in bit 0.

pattern FORMAT_A1R5G5B5_UNORM_PACK16 :: Format

FORMAT_A1R5G5B5_UNORM_PACK16 specifies a four-component, 16-bit packed unsigned normalized format that has a 1-bit A component in bit 15, a 5-bit R component in bits 10..14, a 5-bit G component in bits 5..9, and a 5-bit B component in bits 0..4.

pattern FORMAT_R8_UNORM :: Format

FORMAT_R8_UNORM specifies a one-component, 8-bit unsigned normalized format that has a single 8-bit R component.

pattern FORMAT_R8_SNORM :: Format

FORMAT_R8_SNORM specifies a one-component, 8-bit signed normalized format that has a single 8-bit R component.

pattern FORMAT_R8_USCALED :: Format

FORMAT_R8_USCALED specifies a one-component, 8-bit unsigned scaled integer format that has a single 8-bit R component.

pattern FORMAT_R8_SSCALED :: Format

FORMAT_R8_SSCALED specifies a one-component, 8-bit signed scaled integer format that has a single 8-bit R component.

pattern FORMAT_R8_UINT :: Format

FORMAT_R8_UINT specifies a one-component, 8-bit unsigned integer format that has a single 8-bit R component.

pattern FORMAT_R8_SINT :: Format

FORMAT_R8_SINT specifies a one-component, 8-bit signed integer format that has a single 8-bit R component.

pattern FORMAT_R8_SRGB :: Format

FORMAT_R8_SRGB specifies a one-component, 8-bit unsigned normalized format that has a single 8-bit R component stored with sRGB nonlinear encoding.

pattern FORMAT_R8G8_UNORM :: Format

FORMAT_R8G8_UNORM specifies a two-component, 16-bit unsigned normalized format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_SNORM :: Format

FORMAT_R8G8_SNORM specifies a two-component, 16-bit signed normalized format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_USCALED :: Format

FORMAT_R8G8_USCALED specifies a two-component, 16-bit unsigned scaled integer format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_SSCALED :: Format

FORMAT_R8G8_SSCALED specifies a two-component, 16-bit signed scaled integer format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_UINT :: Format

FORMAT_R8G8_UINT specifies a two-component, 16-bit unsigned integer format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_SINT :: Format

FORMAT_R8G8_SINT specifies a two-component, 16-bit signed integer format that has an 8-bit R component in byte 0, and an 8-bit G component in byte 1.

pattern FORMAT_R8G8_SRGB :: Format

FORMAT_R8G8_SRGB specifies a two-component, 16-bit unsigned normalized format that has an 8-bit R component stored with sRGB nonlinear encoding in byte 0, and an 8-bit G component stored with sRGB nonlinear encoding in byte 1.

pattern FORMAT_R8G8B8_UNORM :: Format

FORMAT_R8G8B8_UNORM specifies a three-component, 24-bit unsigned normalized format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_SNORM :: Format

FORMAT_R8G8B8_SNORM specifies a three-component, 24-bit signed normalized format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_USCALED :: Format

FORMAT_R8G8B8_USCALED specifies a three-component, 24-bit unsigned scaled format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_SSCALED :: Format

FORMAT_R8G8B8_SSCALED specifies a three-component, 24-bit signed scaled format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_UINT :: Format

FORMAT_R8G8B8_UINT specifies a three-component, 24-bit unsigned integer format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_SINT :: Format

FORMAT_R8G8B8_SINT specifies a three-component, 24-bit signed integer format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, and an 8-bit B component in byte 2.

pattern FORMAT_R8G8B8_SRGB :: Format

FORMAT_R8G8B8_SRGB specifies a three-component, 24-bit unsigned normalized format that has an 8-bit R component stored with sRGB nonlinear encoding in byte 0, an 8-bit G component stored with sRGB nonlinear encoding in byte 1, and an 8-bit B component stored with sRGB nonlinear encoding in byte 2.

pattern FORMAT_B8G8R8_UNORM :: Format

FORMAT_B8G8R8_UNORM specifies a three-component, 24-bit unsigned normalized format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_SNORM :: Format

FORMAT_B8G8R8_SNORM specifies a three-component, 24-bit signed normalized format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_USCALED :: Format

FORMAT_B8G8R8_USCALED specifies a three-component, 24-bit unsigned scaled format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_SSCALED :: Format

FORMAT_B8G8R8_SSCALED specifies a three-component, 24-bit signed scaled format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_UINT :: Format

FORMAT_B8G8R8_UINT specifies a three-component, 24-bit unsigned integer format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_SINT :: Format

FORMAT_B8G8R8_SINT specifies a three-component, 24-bit signed integer format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, and an 8-bit R component in byte 2.

pattern FORMAT_B8G8R8_SRGB :: Format

FORMAT_B8G8R8_SRGB specifies a three-component, 24-bit unsigned normalized format that has an 8-bit B component stored with sRGB nonlinear encoding in byte 0, an 8-bit G component stored with sRGB nonlinear encoding in byte 1, and an 8-bit R component stored with sRGB nonlinear encoding in byte 2.

pattern FORMAT_R8G8B8A8_UNORM :: Format

FORMAT_R8G8B8A8_UNORM specifies a four-component, 32-bit unsigned normalized format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_SNORM :: Format

FORMAT_R8G8B8A8_SNORM specifies a four-component, 32-bit signed normalized format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_USCALED :: Format

FORMAT_R8G8B8A8_USCALED specifies a four-component, 32-bit unsigned scaled format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_SSCALED :: Format

FORMAT_R8G8B8A8_SSCALED specifies a four-component, 32-bit signed scaled format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_UINT :: Format

FORMAT_R8G8B8A8_UINT specifies a four-component, 32-bit unsigned integer format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_SINT :: Format

FORMAT_R8G8B8A8_SINT specifies a four-component, 32-bit signed integer format that has an 8-bit R component in byte 0, an 8-bit G component in byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_R8G8B8A8_SRGB :: Format

FORMAT_R8G8B8A8_SRGB specifies a four-component, 32-bit unsigned normalized format that has an 8-bit R component stored with sRGB nonlinear encoding in byte 0, an 8-bit G component stored with sRGB nonlinear encoding in byte 1, an 8-bit B component stored with sRGB nonlinear encoding in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_UNORM :: Format

FORMAT_B8G8R8A8_UNORM specifies a four-component, 32-bit unsigned normalized format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_SNORM :: Format

FORMAT_B8G8R8A8_SNORM specifies a four-component, 32-bit signed normalized format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_USCALED :: Format

FORMAT_B8G8R8A8_USCALED specifies a four-component, 32-bit unsigned scaled format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_SSCALED :: Format

FORMAT_B8G8R8A8_SSCALED specifies a four-component, 32-bit signed scaled format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_UINT :: Format

FORMAT_B8G8R8A8_UINT specifies a four-component, 32-bit unsigned integer format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_SINT :: Format

FORMAT_B8G8R8A8_SINT specifies a four-component, 32-bit signed integer format that has an 8-bit B component in byte 0, an 8-bit G component in byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_B8G8R8A8_SRGB :: Format

FORMAT_B8G8R8A8_SRGB specifies a four-component, 32-bit unsigned normalized format that has an 8-bit B component stored with sRGB nonlinear encoding in byte 0, an 8-bit G component stored with sRGB nonlinear encoding in byte 1, an 8-bit R component stored with sRGB nonlinear encoding in byte 2, and an 8-bit A component in byte 3.

pattern FORMAT_A8B8G8R8_UNORM_PACK32 :: Format

FORMAT_A8B8G8R8_UNORM_PACK32 specifies a four-component, 32-bit packed unsigned normalized format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_SNORM_PACK32 :: Format

FORMAT_A8B8G8R8_SNORM_PACK32 specifies a four-component, 32-bit packed signed normalized format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_USCALED_PACK32 :: Format

FORMAT_A8B8G8R8_USCALED_PACK32 specifies a four-component, 32-bit packed unsigned scaled integer format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_SSCALED_PACK32 :: Format

FORMAT_A8B8G8R8_SSCALED_PACK32 specifies a four-component, 32-bit packed signed scaled integer format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_UINT_PACK32 :: Format

FORMAT_A8B8G8R8_UINT_PACK32 specifies a four-component, 32-bit packed unsigned integer format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_SINT_PACK32 :: Format

FORMAT_A8B8G8R8_SINT_PACK32 specifies a four-component, 32-bit packed signed integer format that has an 8-bit A component in bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15, and an 8-bit R component in bits 0..7.

pattern FORMAT_A8B8G8R8_SRGB_PACK32 :: Format

FORMAT_A8B8G8R8_SRGB_PACK32 specifies a four-component, 32-bit packed unsigned normalized format that has an 8-bit A component in bits 24..31, an 8-bit B component stored with sRGB nonlinear encoding in bits 16..23, an 8-bit G component stored with sRGB nonlinear encoding in bits 8..15, and an 8-bit R component stored with sRGB nonlinear encoding in bits 0..7.

pattern FORMAT_A2R10G10B10_UNORM_PACK32 :: Format

FORMAT_A2R10G10B10_UNORM_PACK32 specifies a four-component, 32-bit packed unsigned normalized format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2R10G10B10_SNORM_PACK32 :: Format

FORMAT_A2R10G10B10_SNORM_PACK32 specifies a four-component, 32-bit packed signed normalized format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2R10G10B10_USCALED_PACK32 :: Format

FORMAT_A2R10G10B10_USCALED_PACK32 specifies a four-component, 32-bit packed unsigned scaled integer format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2R10G10B10_SSCALED_PACK32 :: Format

FORMAT_A2R10G10B10_SSCALED_PACK32 specifies a four-component, 32-bit packed signed scaled integer format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2R10G10B10_UINT_PACK32 :: Format

FORMAT_A2R10G10B10_UINT_PACK32 specifies a four-component, 32-bit packed unsigned integer format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2R10G10B10_SINT_PACK32 :: Format

FORMAT_A2R10G10B10_SINT_PACK32 specifies a four-component, 32-bit packed signed integer format that has a 2-bit A component in bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit B component in bits 0..9.

pattern FORMAT_A2B10G10R10_UNORM_PACK32 :: Format

FORMAT_A2B10G10R10_UNORM_PACK32 specifies a four-component, 32-bit packed unsigned normalized format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_A2B10G10R10_SNORM_PACK32 :: Format

FORMAT_A2B10G10R10_SNORM_PACK32 specifies a four-component, 32-bit packed signed normalized format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_A2B10G10R10_USCALED_PACK32 :: Format

FORMAT_A2B10G10R10_USCALED_PACK32 specifies a four-component, 32-bit packed unsigned scaled integer format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_A2B10G10R10_SSCALED_PACK32 :: Format

FORMAT_A2B10G10R10_SSCALED_PACK32 specifies a four-component, 32-bit packed signed scaled integer format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_A2B10G10R10_UINT_PACK32 :: Format

FORMAT_A2B10G10R10_UINT_PACK32 specifies a four-component, 32-bit packed unsigned integer format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_A2B10G10R10_SINT_PACK32 :: Format

FORMAT_A2B10G10R10_SINT_PACK32 specifies a four-component, 32-bit packed signed integer format that has a 2-bit A component in bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in bits 10..19, and a 10-bit R component in bits 0..9.

pattern FORMAT_R16_UNORM :: Format

FORMAT_R16_UNORM specifies a one-component, 16-bit unsigned normalized format that has a single 16-bit R component.

pattern FORMAT_R16_SNORM :: Format

FORMAT_R16_SNORM specifies a one-component, 16-bit signed normalized format that has a single 16-bit R component.

pattern FORMAT_R16_USCALED :: Format

FORMAT_R16_USCALED specifies a one-component, 16-bit unsigned scaled integer format that has a single 16-bit R component.

pattern FORMAT_R16_SSCALED :: Format

FORMAT_R16_SSCALED specifies a one-component, 16-bit signed scaled integer format that has a single 16-bit R component.

pattern FORMAT_R16_UINT :: Format

FORMAT_R16_UINT specifies a one-component, 16-bit unsigned integer format that has a single 16-bit R component.

pattern FORMAT_R16_SINT :: Format

FORMAT_R16_SINT specifies a one-component, 16-bit signed integer format that has a single 16-bit R component.

pattern FORMAT_R16_SFLOAT :: Format

FORMAT_R16_SFLOAT specifies a one-component, 16-bit signed floating-point format that has a single 16-bit R component.

pattern FORMAT_R16G16_UNORM :: Format

FORMAT_R16G16_UNORM specifies a two-component, 32-bit unsigned normalized format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_SNORM :: Format

FORMAT_R16G16_SNORM specifies a two-component, 32-bit signed normalized format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_USCALED :: Format

FORMAT_R16G16_USCALED specifies a two-component, 32-bit unsigned scaled integer format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_SSCALED :: Format

FORMAT_R16G16_SSCALED specifies a two-component, 32-bit signed scaled integer format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_UINT :: Format

FORMAT_R16G16_UINT specifies a two-component, 32-bit unsigned integer format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_SINT :: Format

FORMAT_R16G16_SINT specifies a two-component, 32-bit signed integer format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16_SFLOAT :: Format

FORMAT_R16G16_SFLOAT specifies a two-component, 32-bit signed floating-point format that has a 16-bit R component in bytes 0..1, and a 16-bit G component in bytes 2..3.

pattern FORMAT_R16G16B16_UNORM :: Format

FORMAT_R16G16B16_UNORM specifies a three-component, 48-bit unsigned normalized format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_SNORM :: Format

FORMAT_R16G16B16_SNORM specifies a three-component, 48-bit signed normalized format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_USCALED :: Format

FORMAT_R16G16B16_USCALED specifies a three-component, 48-bit unsigned scaled integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_SSCALED :: Format

FORMAT_R16G16B16_SSCALED specifies a three-component, 48-bit signed scaled integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_UINT :: Format

FORMAT_R16G16B16_UINT specifies a three-component, 48-bit unsigned integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_SINT :: Format

FORMAT_R16G16B16_SINT specifies a three-component, 48-bit signed integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16_SFLOAT :: Format

FORMAT_R16G16B16_SFLOAT specifies a three-component, 48-bit signed floating-point format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, and a 16-bit B component in bytes 4..5.

pattern FORMAT_R16G16B16A16_UNORM :: Format

FORMAT_R16G16B16A16_UNORM specifies a four-component, 64-bit unsigned normalized format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_SNORM :: Format

FORMAT_R16G16B16A16_SNORM specifies a four-component, 64-bit signed normalized format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_USCALED :: Format

FORMAT_R16G16B16A16_USCALED specifies a four-component, 64-bit unsigned scaled integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_SSCALED :: Format

FORMAT_R16G16B16A16_SSCALED specifies a four-component, 64-bit signed scaled integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_UINT :: Format

FORMAT_R16G16B16A16_UINT specifies a four-component, 64-bit unsigned integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_SINT :: Format

FORMAT_R16G16B16A16_SINT specifies a four-component, 64-bit signed integer format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R16G16B16A16_SFLOAT :: Format

FORMAT_R16G16B16A16_SFLOAT specifies a four-component, 64-bit signed floating-point format that has a 16-bit R component in bytes 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a 16-bit A component in bytes 6..7.

pattern FORMAT_R32_UINT :: Format

FORMAT_R32_UINT specifies a one-component, 32-bit unsigned integer format that has a single 32-bit R component.

pattern FORMAT_R32_SINT :: Format

FORMAT_R32_SINT specifies a one-component, 32-bit signed integer format that has a single 32-bit R component.

pattern FORMAT_R32_SFLOAT :: Format

FORMAT_R32_SFLOAT specifies a one-component, 32-bit signed floating-point format that has a single 32-bit R component.

pattern FORMAT_R32G32_UINT :: Format

FORMAT_R32G32_UINT specifies a two-component, 64-bit unsigned integer format that has a 32-bit R component in bytes 0..3, and a 32-bit G component in bytes 4..7.

pattern FORMAT_R32G32_SINT :: Format

FORMAT_R32G32_SINT specifies a two-component, 64-bit signed integer format that has a 32-bit R component in bytes 0..3, and a 32-bit G component in bytes 4..7.

pattern FORMAT_R32G32_SFLOAT :: Format

FORMAT_R32G32_SFLOAT specifies a two-component, 64-bit signed floating-point format that has a 32-bit R component in bytes 0..3, and a 32-bit G component in bytes 4..7.

pattern FORMAT_R32G32B32_UINT :: Format

FORMAT_R32G32B32_UINT specifies a three-component, 96-bit unsigned integer format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, and a 32-bit B component in bytes 8..11.

pattern FORMAT_R32G32B32_SINT :: Format

FORMAT_R32G32B32_SINT specifies a three-component, 96-bit signed integer format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, and a 32-bit B component in bytes 8..11.

pattern FORMAT_R32G32B32_SFLOAT :: Format

FORMAT_R32G32B32_SFLOAT specifies a three-component, 96-bit signed floating-point format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, and a 32-bit B component in bytes 8..11.

pattern FORMAT_R32G32B32A32_UINT :: Format

FORMAT_R32G32B32A32_UINT specifies a four-component, 128-bit unsigned integer format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, a 32-bit B component in bytes 8..11, and a 32-bit A component in bytes 12..15.

pattern FORMAT_R32G32B32A32_SINT :: Format

FORMAT_R32G32B32A32_SINT specifies a four-component, 128-bit signed integer format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, a 32-bit B component in bytes 8..11, and a 32-bit A component in bytes 12..15.

pattern FORMAT_R32G32B32A32_SFLOAT :: Format

FORMAT_R32G32B32A32_SFLOAT specifies a four-component, 128-bit signed floating-point format that has a 32-bit R component in bytes 0..3, a 32-bit G component in bytes 4..7, a 32-bit B component in bytes 8..11, and a 32-bit A component in bytes 12..15.

pattern FORMAT_R64_UINT :: Format

FORMAT_R64_UINT specifies a one-component, 64-bit unsigned integer format that has a single 64-bit R component.

pattern FORMAT_R64_SINT :: Format

FORMAT_R64_SINT specifies a one-component, 64-bit signed integer format that has a single 64-bit R component.

pattern FORMAT_R64_SFLOAT :: Format

FORMAT_R64_SFLOAT specifies a one-component, 64-bit signed floating-point format that has a single 64-bit R component.

pattern FORMAT_R64G64_UINT :: Format

FORMAT_R64G64_UINT specifies a two-component, 128-bit unsigned integer format that has a 64-bit R component in bytes 0..7, and a 64-bit G component in bytes 8..15.

pattern FORMAT_R64G64_SINT :: Format

FORMAT_R64G64_SINT specifies a two-component, 128-bit signed integer format that has a 64-bit R component in bytes 0..7, and a 64-bit G component in bytes 8..15.

pattern FORMAT_R64G64_SFLOAT :: Format

FORMAT_R64G64_SFLOAT specifies a two-component, 128-bit signed floating-point format that has a 64-bit R component in bytes 0..7, and a 64-bit G component in bytes 8..15.

pattern FORMAT_R64G64B64_UINT :: Format

FORMAT_R64G64B64_UINT specifies a three-component, 192-bit unsigned integer format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, and a 64-bit B component in bytes 16..23.

pattern FORMAT_R64G64B64_SINT :: Format

FORMAT_R64G64B64_SINT specifies a three-component, 192-bit signed integer format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, and a 64-bit B component in bytes 16..23.

pattern FORMAT_R64G64B64_SFLOAT :: Format

FORMAT_R64G64B64_SFLOAT specifies a three-component, 192-bit signed floating-point format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, and a 64-bit B component in bytes 16..23.

pattern FORMAT_R64G64B64A64_UINT :: Format

FORMAT_R64G64B64A64_UINT specifies a four-component, 256-bit unsigned integer format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, a 64-bit B component in bytes 16..23, and a 64-bit A component in bytes 24..31.

pattern FORMAT_R64G64B64A64_SINT :: Format

FORMAT_R64G64B64A64_SINT specifies a four-component, 256-bit signed integer format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, a 64-bit B component in bytes 16..23, and a 64-bit A component in bytes 24..31.

pattern FORMAT_R64G64B64A64_SFLOAT :: Format

FORMAT_R64G64B64A64_SFLOAT specifies a four-component, 256-bit signed floating-point format that has a 64-bit R component in bytes 0..7, a 64-bit G component in bytes 8..15, a 64-bit B component in bytes 16..23, and a 64-bit A component in bytes 24..31.

pattern FORMAT_B10G11R11_UFLOAT_PACK32 :: Format

FORMAT_B10G11R11_UFLOAT_PACK32 specifies a three-component, 32-bit packed unsigned floating-point format that has a 10-bit B component in bits 22..31, an 11-bit G component in bits 11..21, an 11-bit R component in bits 0..10. See https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-fp10 and https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-fp11.

pattern FORMAT_E5B9G9R9_UFLOAT_PACK32 :: Format

FORMAT_E5B9G9R9_UFLOAT_PACK32 specifies a three-component, 32-bit packed unsigned floating-point format that has a 5-bit shared exponent in bits 27..31, a 9-bit B component mantissa in bits 18..26, a 9-bit G component mantissa in bits 9..17, and a 9-bit R component mantissa in bits 0..8.

pattern FORMAT_D16_UNORM :: Format

FORMAT_D16_UNORM specifies a one-component, 16-bit unsigned normalized format that has a single 16-bit depth component.

pattern FORMAT_X8_D24_UNORM_PACK32 :: Format

FORMAT_X8_D24_UNORM_PACK32 specifies a two-component, 32-bit format that has 24 unsigned normalized bits in the depth component and, optionally:, 8 bits that are unused.

pattern FORMAT_D32_SFLOAT :: Format

FORMAT_D32_SFLOAT specifies a one-component, 32-bit signed floating-point format that has 32-bits in the depth component.

pattern FORMAT_S8_UINT :: Format

FORMAT_S8_UINT specifies a one-component, 8-bit unsigned integer format that has 8-bits in the stencil component.

pattern FORMAT_D16_UNORM_S8_UINT :: Format

FORMAT_D16_UNORM_S8_UINT specifies a two-component, 24-bit format that has 16 unsigned normalized bits in the depth component and 8 unsigned integer bits in the stencil component.

pattern FORMAT_D24_UNORM_S8_UINT :: Format

FORMAT_D24_UNORM_S8_UINT specifies a two-component, 32-bit packed format that has 8 unsigned integer bits in the stencil component, and 24 unsigned normalized bits in the depth component.

pattern FORMAT_D32_SFLOAT_S8_UINT :: Format

FORMAT_D32_SFLOAT_S8_UINT specifies a two-component format that has 32 signed float bits in the depth component and 8 unsigned integer bits in the stencil component. There are optionally: 24-bits that are unused.

pattern FORMAT_BC1_RGB_UNORM_BLOCK :: Format

FORMAT_BC1_RGB_UNORM_BLOCK specifies a three-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data. This format has no alpha and is considered opaque.

pattern FORMAT_BC1_RGB_SRGB_BLOCK :: Format

FORMAT_BC1_RGB_SRGB_BLOCK specifies a three-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data with sRGB nonlinear encoding. This format has no alpha and is considered opaque.

pattern FORMAT_BC1_RGBA_UNORM_BLOCK :: Format

FORMAT_BC1_RGBA_UNORM_BLOCK specifies a four-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data, and provides 1 bit of alpha.

pattern FORMAT_BC1_RGBA_SRGB_BLOCK :: Format

FORMAT_BC1_RGBA_SRGB_BLOCK specifies a four-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data with sRGB nonlinear encoding, and provides 1 bit of alpha.

pattern FORMAT_BC2_UNORM_BLOCK :: Format

FORMAT_BC2_UNORM_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values.

pattern FORMAT_BC2_SRGB_BLOCK :: Format

FORMAT_BC2_SRGB_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values with sRGB nonlinear encoding.

pattern FORMAT_BC3_UNORM_BLOCK :: Format

FORMAT_BC3_UNORM_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values.

pattern FORMAT_BC3_SRGB_BLOCK :: Format

FORMAT_BC3_SRGB_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values with sRGB nonlinear encoding.

pattern FORMAT_BC4_UNORM_BLOCK :: Format

FORMAT_BC4_UNORM_BLOCK specifies a one-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized red texel data.

pattern FORMAT_BC4_SNORM_BLOCK :: Format

FORMAT_BC4_SNORM_BLOCK specifies a one-component, block-compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of signed normalized red texel data.

pattern FORMAT_BC5_UNORM_BLOCK :: Format

FORMAT_BC5_UNORM_BLOCK specifies a two-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RG texel data with the first 64 bits encoding red values followed by 64 bits encoding green values.

pattern FORMAT_BC5_SNORM_BLOCK :: Format

FORMAT_BC5_SNORM_BLOCK specifies a two-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of signed normalized RG texel data with the first 64 bits encoding red values followed by 64 bits encoding green values.

pattern FORMAT_BC6H_UFLOAT_BLOCK :: Format

FORMAT_BC6H_UFLOAT_BLOCK specifies a three-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned floating-point RGB texel data.

pattern FORMAT_BC6H_SFLOAT_BLOCK :: Format

FORMAT_BC6H_SFLOAT_BLOCK specifies a three-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of signed floating-point RGB texel data.

pattern FORMAT_BC7_UNORM_BLOCK :: Format

FORMAT_BC7_UNORM_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_BC7_SRGB_BLOCK :: Format

FORMAT_BC7_SRGB_BLOCK specifies a four-component, block-compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: Format

FORMAT_ETC2_R8G8B8_UNORM_BLOCK specifies a three-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data. This format has no alpha and is considered opaque.

pattern FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: Format

FORMAT_ETC2_R8G8B8_SRGB_BLOCK specifies a three-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data with sRGB nonlinear encoding. This format has no alpha and is considered opaque.

pattern FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: Format

FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK specifies a four-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data, and provides 1 bit of alpha.

pattern FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: Format

FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK specifies a four-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGB texel data with sRGB nonlinear encoding, and provides 1 bit of alpha.

pattern FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: Format

FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK specifies a four-component, ETC2 compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values.

pattern FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: Format

FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK specifies a four-component, ETC2 compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with the first 64 bits encoding alpha values followed by 64 bits encoding RGB values with sRGB nonlinear encoding applied.

pattern FORMAT_EAC_R11_UNORM_BLOCK :: Format

FORMAT_EAC_R11_UNORM_BLOCK specifies a one-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized red texel data.

pattern FORMAT_EAC_R11_SNORM_BLOCK :: Format

FORMAT_EAC_R11_SNORM_BLOCK specifies a one-component, ETC2 compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of signed normalized red texel data.

pattern FORMAT_EAC_R11G11_UNORM_BLOCK :: Format

FORMAT_EAC_R11G11_UNORM_BLOCK specifies a two-component, ETC2 compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RG texel data with the first 64 bits encoding red values followed by 64 bits encoding green values.

pattern FORMAT_EAC_R11G11_SNORM_BLOCK :: Format

FORMAT_EAC_R11G11_SNORM_BLOCK specifies a two-component, ETC2 compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of signed normalized RG texel data with the first 64 bits encoding red values followed by 64 bits encoding green values.

pattern FORMAT_ASTC_4x4_UNORM_BLOCK :: Format

FORMAT_ASTC_4x4_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_4x4_SRGB_BLOCK :: Format

FORMAT_ASTC_4x4_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_5x4_UNORM_BLOCK :: Format

FORMAT_ASTC_5x4_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_5x4_SRGB_BLOCK :: Format

FORMAT_ASTC_5x4_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_5x5_UNORM_BLOCK :: Format

FORMAT_ASTC_5x5_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×5 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_5x5_SRGB_BLOCK :: Format

FORMAT_ASTC_5x5_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×5 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_6x5_UNORM_BLOCK :: Format

FORMAT_ASTC_6x5_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×5 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_6x5_SRGB_BLOCK :: Format

FORMAT_ASTC_6x5_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×5 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_6x6_UNORM_BLOCK :: Format

FORMAT_ASTC_6x6_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×6 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_6x6_SRGB_BLOCK :: Format

FORMAT_ASTC_6x6_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×6 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_8x5_UNORM_BLOCK :: Format

FORMAT_ASTC_8x5_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×5 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_8x5_SRGB_BLOCK :: Format

FORMAT_ASTC_8x5_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×5 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_8x6_UNORM_BLOCK :: Format

FORMAT_ASTC_8x6_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×6 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_8x6_SRGB_BLOCK :: Format

FORMAT_ASTC_8x6_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×6 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_8x8_UNORM_BLOCK :: Format

FORMAT_ASTC_8x8_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×8 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_8x8_SRGB_BLOCK :: Format

FORMAT_ASTC_8x8_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes an 8×8 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_10x5_UNORM_BLOCK :: Format

FORMAT_ASTC_10x5_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×5 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_10x5_SRGB_BLOCK :: Format

FORMAT_ASTC_10x5_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×5 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_10x6_UNORM_BLOCK :: Format

FORMAT_ASTC_10x6_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×6 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_10x6_SRGB_BLOCK :: Format

FORMAT_ASTC_10x6_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×6 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_10x8_UNORM_BLOCK :: Format

FORMAT_ASTC_10x8_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×8 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_10x8_SRGB_BLOCK :: Format

FORMAT_ASTC_10x8_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×8 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_10x10_UNORM_BLOCK :: Format

FORMAT_ASTC_10x10_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×10 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_10x10_SRGB_BLOCK :: Format

FORMAT_ASTC_10x10_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×10 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_12x10_UNORM_BLOCK :: Format

FORMAT_ASTC_12x10_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×10 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_12x10_SRGB_BLOCK :: Format

FORMAT_ASTC_12x10_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×10 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_ASTC_12x12_UNORM_BLOCK :: Format

FORMAT_ASTC_12x12_UNORM_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×12 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_ASTC_12x12_SRGB_BLOCK :: Format

FORMAT_ASTC_12x12_SRGB_BLOCK specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×12 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_A4B4G4R4_UNORM_PACK16_EXT :: Format

FORMAT_A4B4G4R4_UNORM_PACK16_EXT specifies a four-component, 16-bit packed unsigned normalized format that has a 4-bit A component in bits 12..15, a 4-bit B component in bits 8..11, a 4-bit G component in bits 4..7, and a 4-bit R component in bits 0..3.

pattern FORMAT_A4R4G4B4_UNORM_PACK16_EXT :: Format

FORMAT_A4R4G4B4_UNORM_PACK16_EXT specifies a four-component, 16-bit packed unsigned normalized format that has a 4-bit A component in bits 12..15, a 4-bit R component in bits 8..11, a 4-bit G component in bits 4..7, and a 4-bit B component in bits 0..3.

pattern FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×12 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 12×10 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×10 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×8 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×6 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 10×5 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 8×8 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 8×6 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 8×5 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×6 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 6×5 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×5 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 5×4 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT :: Format

FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT specifies a four-component, ASTC compressed format where each 128-bit compressed texel block encodes a 4×4 rectangle of signed floating-point RGBA texel data.

pattern FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG :: Format

FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG :: Format

FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes an 8×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG :: Format

FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG :: Format

FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes an 8×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear encoding applied to the RGB components.

pattern FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG :: Format

FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG :: Format

FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes an 8×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG :: Format

FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes a 4×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG :: Format

FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG specifies a four-component, PVRTC compressed format where each 64-bit compressed texel block encodes an 8×4 rectangle of unsigned normalized RGBA texel data.

pattern FORMAT_G16_B16_R16_3PLANE_444_UNORM :: Format

FORMAT_G16_B16_R16_3PLANE_444_UNORM specifies an unsigned normalized multi-planar format that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2. Each plane has the same dimensions and each R, G and B component contributes to a single texel. The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane.

pattern FORMAT_G16_B16R16_2PLANE_422_UNORM :: Format

FORMAT_G16_B16R16_2PLANE_422_UNORM specifies an unsigned normalized multi-planar format that has a 16-bit G component in each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 16-bit B component in the word in bytes 0..1, and a 16-bit R component in the word in bytes 2..3. The horizontal dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM :: Format

FORMAT_G16_B16_R16_3PLANE_422_UNORM specifies an unsigned normalized multi-planar format that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2. The horizontal dimension of the R and B plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G16_B16R16_2PLANE_420_UNORM :: Format

FORMAT_G16_B16R16_2PLANE_420_UNORM specifies an unsigned normalized multi-planar format that has a 16-bit G component in each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 16-bit B component in the word in bytes 0..1, and a 16-bit R component in the word in bytes 2..3. The horizontal and vertical dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM :: Format

FORMAT_G16_B16_R16_3PLANE_420_UNORM specifies an unsigned normalized multi-planar format that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2. The horizontal and vertical dimensions of the R and B planes are halved relative to the image dimensions, and each R and B component is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_B16G16R16G16_422_UNORM :: Format

FORMAT_B16G16R16G16_422_UNORM specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 16-bit B component in the word in bytes 0..1, a 16-bit G component for the even i coordinate in the word in bytes 2..3, a 16-bit R component in the word in bytes 4..5, and a 16-bit G component for the odd i coordinate in the word in bytes 6..7. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_G16B16G16R16_422_UNORM :: Format

FORMAT_G16B16G16R16_422_UNORM specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 16-bit G component for the even i coordinate in the word in bytes 0..1, a 16-bit B component in the word in bytes 2..3, a 16-bit G component for the odd i coordinate in the word in bytes 4..5, and a 16-bit R component in the word in bytes 6..7. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: Format

FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with the bottom 4 bits of each word unused. Each plane has the same dimensions and each R, G and B component contributes to a single texel. The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane.

pattern FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: Format

FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 12-bit B component in the top 12 bits of the word in bytes 0..1, and a 12-bit R component in the top 12 bits of the word in bytes 2..3, the bottom 4 bits of each word unused. The horizontal dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: Format

FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with the bottom 4 bits of each word unused. The horizontal dimension of the R and B plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: Format

FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 12-bit B component in the top 12 bits of the word in bytes 0..1, and a 12-bit R component in the top 12 bits of the word in bytes 2..3, the bottom 4 bits of each word unused. The horizontal and vertical dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: Format

FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with the bottom 4 bits of each word unused. The horizontal and vertical dimensions of the R and B planes are halved relative to the image dimensions, and each R and B component is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: Format

FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 12-bit B component in the top 12 bits of the word in bytes 0..1, a 12-bit G component for the even i coordinate in the top 12 bits of the word in bytes 2..3, a 12-bit R component in the top 12 bits of the word in bytes 4..5, and a 12-bit G component for the odd i coordinate in the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of each word unused. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: Format

FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 12-bit G component for the even i coordinate in the top 12 bits of the word in bytes 0..1, a 12-bit B component in the top 12 bits of the word in bytes 2..3, a 12-bit G component for the odd i coordinate in the top 12 bits of the word in bytes 4..5, and a 12-bit R component in the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of each word unused. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: Format

FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 specifies a four-component, 64-bit unsigned normalized format that has a 12-bit R component in the top 12 bits of the word in bytes 0..1, a 12-bit G component in the top 12 bits of the word in bytes 2..3, a 12-bit B component in the top 12 bits of the word in bytes 4..5, and a 12-bit A component in the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of each word unused.

pattern FORMAT_R12X4G12X4_UNORM_2PACK16 :: Format

FORMAT_R12X4G12X4_UNORM_2PACK16 specifies a two-component, 32-bit unsigned normalized format that has a 12-bit R component in the top 12 bits of the word in bytes 0..1, and a 12-bit G component in the top 12 bits of the word in bytes 2..3, with the bottom 4 bits of each word unused.

pattern FORMAT_R12X4_UNORM_PACK16 :: Format

FORMAT_R12X4_UNORM_PACK16 specifies a one-component, 16-bit unsigned normalized format that has a single 12-bit R component in the top 12 bits of a 16-bit word, with the bottom 4 bits unused.

pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: Format

FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the bottom 6 bits of each word unused. Each plane has the same dimensions and each R, G and B component contributes to a single texel. The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane.

pattern FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: Format

FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 10-bit B component in the top 10 bits of the word in bytes 0..1, and a 10-bit R component in the top 10 bits of the word in bytes 2..3, the bottom 6 bits of each word unused. The horizontal dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: Format

FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the bottom 6 bits of each word unused. The horizontal dimension of the R and B plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: Format

FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 10-bit B component in the top 10 bits of the word in bytes 0..1, and a 10-bit R component in the top 10 bits of the word in bytes 2..3, the bottom 6 bits of each word unused. The horizontal and vertical dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: Format

FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 specifies an unsigned normalized multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the bottom 6 bits of each word unused. The horizontal and vertical dimensions of the R and B planes are halved relative to the image dimensions, and each R and B component is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: Format

FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 10-bit B component in the top 10 bits of the word in bytes 0..1, a 10-bit G component for the even i coordinate in the top 10 bits of the word in bytes 2..3, a 10-bit R component in the top 10 bits of the word in bytes 4..5, and a 10-bit G component for the odd i coordinate in the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of each word unused. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: Format

FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 specifies a four-component, 64-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has a 10-bit G component for the even i coordinate in the top 10 bits of the word in bytes 0..1, a 10-bit B component in the top 10 bits of the word in bytes 2..3, a 10-bit G component for the odd i coordinate in the top 10 bits of the word in bytes 4..5, and a 10-bit R component in the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of each word unused. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: Format

FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 specifies a four-component, 64-bit unsigned normalized format that has a 10-bit R component in the top 10 bits of the word in bytes 0..1, a 10-bit G component in the top 10 bits of the word in bytes 2..3, a 10-bit B component in the top 10 bits of the word in bytes 4..5, and a 10-bit A component in the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of each word unused.

pattern FORMAT_R10X6G10X6_UNORM_2PACK16 :: Format

FORMAT_R10X6G10X6_UNORM_2PACK16 specifies a two-component, 32-bit unsigned normalized format that has a 10-bit R component in the top 10 bits of the word in bytes 0..1, and a 10-bit G component in the top 10 bits of the word in bytes 2..3, with the bottom 6 bits of each word unused.

pattern FORMAT_R10X6_UNORM_PACK16 :: Format

FORMAT_R10X6_UNORM_PACK16 specifies a one-component, 16-bit unsigned normalized format that has a single 10-bit R component in the top 10 bits of a 16-bit word, with the bottom 6 bits unused.

pattern FORMAT_G8_B8_R8_3PLANE_444_UNORM :: Format

FORMAT_G8_B8_R8_3PLANE_444_UNORM specifies an unsigned normalized multi-planar format that has an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R component in plane 2. Each plane has the same dimensions and each R, G and B component contributes to a single texel. The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane.

pattern FORMAT_G8_B8R8_2PLANE_422_UNORM :: Format

FORMAT_G8_B8R8_2PLANE_422_UNORM specifies an unsigned normalized multi-planar format that has an 8-bit G component in plane 0, and a two-component, 16-bit BR plane 1 consisting of an 8-bit B component in byte 0 and an 8-bit R component in byte 1. The horizontal dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM :: Format

FORMAT_G8_B8_R8_3PLANE_422_UNORM specifies an unsigned normalized multi-planar format that has an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R component in plane 2. The horizontal dimension of the R and B plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width that is a multiple of two.

pattern FORMAT_G8_B8R8_2PLANE_420_UNORM :: Format

FORMAT_G8_B8R8_2PLANE_420_UNORM specifies an unsigned normalized multi-planar format that has an 8-bit G component in plane 0, and a two-component, 16-bit BR plane 1 consisting of an 8-bit B component in byte 0 and an 8-bit R component in byte 1. The horizontal and vertical dimensions of the BR plane is halved relative to the image dimensions, and each R and B value is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, and IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM :: Format

FORMAT_G8_B8_R8_3PLANE_420_UNORM specifies an unsigned normalized multi-planar format that has an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R component in plane 2. The horizontal and vertical dimensions of the R and B planes are halved relative to the image dimensions, and each R and B component is shared with the G components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of each plane when this image is in linear layout can be determined via getImageSubresourceLayout, using IMAGE_ASPECT_PLANE_0_BIT for the G plane, IMAGE_ASPECT_PLANE_1_BIT for the B plane, and IMAGE_ASPECT_PLANE_2_BIT for the R plane. Images in this format must be defined with a width and height that is a multiple of two.

pattern FORMAT_B8G8R8G8_422_UNORM :: Format

FORMAT_B8G8R8G8_422_UNORM specifies a four-component, 32-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has an 8-bit B component in byte 0, an 8-bit G component for the even i coordinate in byte 1, an 8-bit R component in byte 2, and an 8-bit G component for the odd i coordinate in byte 3. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

pattern FORMAT_G8B8G8R8_422_UNORM :: Format

FORMAT_G8B8G8R8_422_UNORM specifies a four-component, 32-bit format containing a pair of G components, an R component, and a B component, collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data. One G value is present at each i coordinate, with the B and R values shared across both G values and thus recorded at half the horizontal resolution of the image. This format has an 8-bit G component for the even i coordinate in byte 0, an 8-bit B component in byte 1, an 8-bit G component for the odd i coordinate in byte 2, and an 8-bit R component in byte 3. Images in this format must be defined with a width that is a multiple of two. For the purposes of the constraints on copy extents, this format is treated as a compressed format with a 2×1 compressed texel block.

Instances

Instances details
Eq Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Methods

(==) :: Format -> Format -> Bool #

(/=) :: Format -> Format -> Bool #

Ord Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Read Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Show Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Storable Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Zero Format Source # 
Instance details

Defined in Vulkan.Core10.Enums.Format

Methods

zero :: Format Source #

newtype StructureType Source #

VkStructureType - Vulkan structure types (sType)

Description

Each value corresponds to a particular structure with a sType member with a matching name. As a general rule, the name of each StructureType value is obtained by taking the name of the structure, stripping the leading Vk, prefixing each capital letter with _, converting the entire resulting string to upper case, and prefixing it with VK_STRUCTURE_TYPE_. For example, structures of type ImageCreateInfo correspond to a StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and thus its sType member must equal that when it is passed to the API.

The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for internal use by the loader, and do not have corresponding Vulkan structures in this Specification.

See Also

AccelerationStructureBuildGeometryInfoKHR, AccelerationStructureBuildSizesInfoKHR, AccelerationStructureCreateInfoKHR, AccelerationStructureCreateInfoNV, AccelerationStructureDeviceAddressInfoKHR, AccelerationStructureGeometryAabbsDataKHR, AccelerationStructureGeometryInstancesDataKHR, AccelerationStructureGeometryKHR, AccelerationStructureGeometryTrianglesDataKHR, AccelerationStructureInfoNV, AccelerationStructureMemoryRequirementsInfoNV, AccelerationStructureVersionInfoKHR, AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID, AndroidHardwareBufferUsageANDROID, AndroidSurfaceCreateInfoKHR, ApplicationInfo, AttachmentDescription2, AttachmentDescriptionStencilLayout, AttachmentReference2, AttachmentReferenceStencilLayout, BaseInStructure, BaseOutStructure, BindAccelerationStructureMemoryInfoNV, BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, BindImageMemorySwapchainInfoKHR, BindImagePlaneMemoryInfo, BindSparseInfo, BlitImageInfo2KHR, BufferCopy2KHR, BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, BufferDeviceAddressInfo, BufferImageCopy2KHR, BufferMemoryBarrier, BufferMemoryRequirementsInfo2, BufferOpaqueCaptureAddressCreateInfo, BufferViewCreateInfo, CalibratedTimestampInfoEXT, CheckpointDataNV, CommandBufferAllocateInfo, CommandBufferBeginInfo, CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo, CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandPoolCreateInfo, ComputePipelineCreateInfo, ConditionalRenderingBeginInfoEXT, CooperativeMatrixPropertiesNV, CopyAccelerationStructureInfoKHR, CopyAccelerationStructureToMemoryInfoKHR, CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, CopyCommandTransformInfoQCOM, CopyDescriptorSet, CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, CopyMemoryToAccelerationStructureInfoKHR, D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT, DebugMarkerObjectTagInfoEXT, DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, DebugUtilsMessengerCallbackDataEXT, DebugUtilsMessengerCreateInfoEXT, DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, DedicatedAllocationBufferCreateInfoNV, DedicatedAllocationImageCreateInfoNV, DedicatedAllocationMemoryAllocateInfoNV, DescriptorPoolCreateInfo, DescriptorPoolInlineUniformBlockCreateInfoEXT, DescriptorSetAllocateInfo, DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo, DescriptorSetLayoutSupport, DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, DeviceDeviceMemoryReportCreateInfoEXT, DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, DeviceGroupBindSparseInfo, DeviceGroupCommandBufferBeginInfo, DeviceGroupDeviceCreateInfo, DeviceGroupPresentCapabilitiesKHR, DeviceGroupPresentInfoKHR, DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, DeviceGroupSwapchainCreateInfoKHR, DeviceMemoryOpaqueCaptureAddressInfo, DeviceMemoryOverallocationCreateInfoAMD, DeviceMemoryReportCallbackDataEXT, DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, DeviceQueueGlobalPriorityCreateInfoEXT, DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, DisplayEventInfoEXT, DisplayModeCreateInfoKHR, DisplayModeProperties2KHR, DisplayNativeHdrSurfaceCapabilitiesAMD, DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, DisplayPresentInfoKHR, DisplayProperties2KHR, DisplaySurfaceCreateInfoKHR, DrmFormatModifierPropertiesListEXT, EventCreateInfo, ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, ExportMemoryWin32HandleInfoKHR, ExportMemoryWin32HandleInfoNV, ExportSemaphoreCreateInfo, ExportSemaphoreWin32HandleInfoKHR, ExternalBufferProperties, ExternalFenceProperties, ExternalFormatANDROID, ExternalImageFormatProperties, ExternalMemoryBufferCreateInfo, ExternalMemoryImageCreateInfo, ExternalMemoryImageCreateInfoNV, ExternalSemaphoreProperties, FenceCreateInfo, FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, FilterCubicImageViewImageFormatPropertiesEXT, FormatProperties2, FragmentShadingRateAttachmentInfoKHR, FramebufferAttachmentImageInfo, FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, FramebufferMixedSamplesCombinationNV, GeneratedCommandsInfoNV, GeneratedCommandsMemoryRequirementsInfoNV, GeometryAABBNV, GeometryNV, GeometryTrianglesNV, GraphicsPipelineCreateInfo, GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, ImageDrmFormatModifierExplicitCreateInfoEXT, ImageDrmFormatModifierListCreateInfoEXT, ImageDrmFormatModifierPropertiesEXT, ImageFormatListCreateInfo, ImageFormatProperties2, ImageMemoryBarrier, ImageMemoryRequirementsInfo2, ImagePipeSurfaceCreateInfoFUCHSIA, ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, ImageSparseMemoryRequirementsInfo2, ImageStencilUsageCreateInfo, ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, ImageViewAddressPropertiesNVX, ImageViewCreateInfo, ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, ImportAndroidHardwareBufferInfoANDROID, ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, ImportMemoryWin32HandleInfoKHR, ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, ImportSemaphoreWin32HandleInfoKHR, IndirectCommandsLayoutCreateInfoNV, IndirectCommandsLayoutTokenNV, InitializePerformanceApiInfoINTEL, InstanceCreateInfo, MacOSSurfaceCreateInfoMVK, MappedMemoryRange, MemoryAllocateFlagsInfo, MemoryAllocateInfo, MemoryBarrier, MemoryDedicatedAllocateInfo, MemoryDedicatedRequirements, MemoryFdPropertiesKHR, MemoryGetAndroidHardwareBufferInfoANDROID, MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, MemoryHostPointerPropertiesEXT, MemoryOpaqueCaptureAddressAllocateInfo, MemoryPriorityAllocateInfoEXT, MemoryRequirements2, MemoryWin32HandlePropertiesKHR, MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, MutableDescriptorTypeCreateInfoVALVE, PerformanceConfigurationAcquireInfoINTEL, PerformanceCounterDescriptionKHR, PerformanceCounterKHR, PerformanceMarkerInfoINTEL, PerformanceOverrideInfoINTEL, PerformanceQuerySubmitInfoKHR, PerformanceStreamMarkerInfoINTEL, PhysicalDevice16BitStorageFeatures, PhysicalDevice4444FormatsFeaturesEXT, PhysicalDevice8BitStorageFeatures, PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceDriverProperties, PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceExternalBufferInfo, PhysicalDeviceExternalFenceInfo, PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceExternalSemaphoreInfo, PhysicalDeviceFeatures2, PhysicalDeviceFloatControlsProperties, PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceFragmentShaderBarycentricFeaturesNV, PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceGroupProperties, PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceIDProperties, PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2, PhysicalDeviceImageRobustnessFeaturesEXT, PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceInlineUniformBlockFeaturesEXT, PhysicalDeviceInlineUniformBlockPropertiesEXT, PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceMaintenance3Properties, PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceMemoryProperties2, PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceMultiviewFeatures, PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceMultiviewProperties, PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDevicePipelineCreationCacheControlFeaturesEXT, PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDevicePointClippingProperties, PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDevicePrivateDataFeaturesEXT, PhysicalDeviceProperties2, PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceProtectedMemoryProperties, PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceShaderTerminateInvocationFeaturesKHR, PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceSparseImageFormatInfo2, PhysicalDeviceSubgroupProperties, PhysicalDeviceSubgroupSizeControlFeaturesEXT, PhysicalDeviceSubgroupSizeControlPropertiesEXT, PhysicalDeviceSurfaceInfo2KHR, PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceTexelBufferAlignmentPropertiesEXT, PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceToolPropertiesEXT, PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceVariablePointersFeatures, PhysicalDeviceVertexAttributeDivisorFeaturesEXT, PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceVulkan11Features, PhysicalDeviceVulkan11Properties, PhysicalDeviceVulkan12Features, PhysicalDeviceVulkan12Properties, PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceYcbcrImageArraysFeaturesEXT, PipelineCacheCreateInfo, PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo, PipelineCompilerControlCreateInfoAMD, PipelineCoverageModulationStateCreateInfoNV, PipelineCoverageReductionStateCreateInfoNV, PipelineCoverageToColorStateCreateInfoNV, PipelineCreationFeedbackCreateInfoEXT, PipelineDepthStencilStateCreateInfo, PipelineDiscardRectangleStateCreateInfoEXT, PipelineDynamicStateCreateInfo, PipelineExecutableInfoKHR, PipelineExecutableInternalRepresentationKHR, PipelineExecutablePropertiesKHR, PipelineExecutableStatisticKHR, PipelineFragmentShadingRateEnumStateCreateInfoNV, PipelineFragmentShadingRateStateCreateInfoKHR, PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, PipelineMultisampleStateCreateInfo, PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo, PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateStreamCreateInfoEXT, PipelineRepresentativeFragmentTestStateCreateInfoNV, PipelineSampleLocationsStateCreateInfoEXT, PipelineShaderStageCreateInfo, PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo, PipelineVertexInputDivisorStateCreateInfoEXT, PipelineVertexInputStateCreateInfo, PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo, PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportWScalingStateCreateInfoNV, PresentFrameTokenGGP, PresentInfoKHR, PresentRegionsKHR, PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, QueryPoolPerformanceQueryCreateInfoINTEL, QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, RayTracingPipelineCreateInfoNV, RayTracingPipelineInterfaceCreateInfoKHR, RayTracingShaderGroupCreateInfoKHR, RayTracingShaderGroupCreateInfoNV, RenderPassAttachmentBeginInfo, RenderPassBeginInfo, RenderPassCreateInfo, RenderPassCreateInfo2, RenderPassFragmentDensityMapCreateInfoEXT, RenderPassInputAttachmentAspectCreateInfo, RenderPassMultiviewCreateInfo, RenderPassSampleLocationsBeginInfoEXT, RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, SampleLocationsInfoEXT, SamplerCreateInfo, SamplerCustomBorderColorCreateInfoEXT, SamplerReductionModeCreateInfo, SamplerYcbcrConversionCreateInfo, SamplerYcbcrConversionImageFormatProperties, SamplerYcbcrConversionInfo, SemaphoreCreateInfo, SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, SemaphoreSignalInfo, SemaphoreTypeCreateInfo, SemaphoreWaitInfo, ShaderModuleCreateInfo, ShaderModuleValidationCacheCreateInfoEXT, SharedPresentSurfaceCapabilitiesKHR, SparseImageFormatProperties2, SparseImageMemoryRequirements2, StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, SubpassBeginInfo, SubpassDependency2, SubpassDescription2, SubpassDescriptionDepthStencilResolve, SubpassEndInfo, SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, SurfaceFullScreenExclusiveWin32InfoEXT, SurfaceProtectedCapabilitiesKHR, SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, SwapchainDisplayNativeHdrCreateInfoAMD, TextureLODGatherFormatPropertiesAMD, TimelineSemaphoreSubmitInfo, ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, ValidationFlagsEXT, ViSurfaceCreateInfoNN, WaylandSurfaceCreateInfoKHR, Win32KeyedMutexAcquireReleaseInfoKHR, Win32KeyedMutexAcquireReleaseInfoNV, Win32SurfaceCreateInfoKHR, WriteDescriptorSet, WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSetInlineUniformBlockEXT, XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR

Constructors

StructureType Int32 

Bundled Patterns

pattern STRUCTURE_TYPE_BUFFER_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_APPLICATION_INFO :: StructureType 
pattern STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_SUBMIT_INFO :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: StructureType 
pattern STRUCTURE_TYPE_BIND_SPARSE_INFO :: StructureType 
pattern STRUCTURE_TYPE_FENCE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EVENT_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_BARRIER :: StructureType 
pattern STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType 
pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType 
pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType 
pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType 
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType 
pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType 
pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType 
pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType 
pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType 
pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType 
pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType 
pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType 
pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType 
pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType 
pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType 
pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType 
pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType 
pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType 
pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType 
pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType 
pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType 
pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType 
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType 
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType 
pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType 
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType 
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType 
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType 
pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType 
pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType 
pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType 
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType 
pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType 
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType 
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType 
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType 
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType 
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType 
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 

Instances

Instances details
Eq StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

Ord StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

Read StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

Show StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

Storable StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

Zero StructureType Source # 
Instance details

Defined in Vulkan.Core10.Enums.StructureType

newtype QueueFlagBits Source #

VkQueueFlagBits - Bitmask specifying capabilities of queues in a queue family

Description

  • QUEUE_GRAPHICS_BIT specifies that queues in this queue family support graphics operations.

If an implementation exposes any queue family that supports graphics operations, at least one queue family of at least one physical device exposed by the implementation must support both graphics and compute operations.

Furthermore, if the protected memory physical device feature is supported, then at least one queue family of at least one physical device exposed by the implementation must support graphics operations, compute operations, and protected memory operations.

Note

All commands that are allowed on a queue that supports transfer operations are also allowed on a queue that supports either graphics or compute operations. Thus, if the capabilities of a queue family include QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT, then reporting the QUEUE_TRANSFER_BIT capability separately for that queue family is optional.

For further details see Queues.

See Also

QueueFlags

Constructors

QueueFlagBits Flags 

Instances

Instances details
Eq QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Ord QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Read QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Show QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Storable QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Bits QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

FiniteBits QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

Zero QueueFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueueFlagBits

newtype MemoryPropertyFlagBits Source #

VkMemoryPropertyFlagBits - Bitmask specifying properties for a memory type

Description

For any memory allocated with both the MEMORY_PROPERTY_HOST_COHERENT_BIT and the MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD, host or device accesses also perform automatic memory domain transfer operations, such that writes are always automatically available and visible to both host and device memory domains.

Note

Device coherence is a useful property for certain debugging use cases (e.g. crash analysis, where performing separate coherence actions could mean values are not reported correctly). However, device coherent accesses may be slower than equivalent accesses without device coherence, particularly if they are also device uncached. For device uncached memory in particular, repeated accesses to the same or neighbouring memory locations over a short time period (e.g. within a frame) may be slower than it would be for the equivalent cached memory type. As such, it is generally inadvisable to use device coherent or device uncached memory except when really needed.

See Also

MemoryPropertyFlags

Bundled Patterns

pattern MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_DEVICE_LOCAL_BIT bit specifies that memory allocated with this type is the most efficient for device access. This property will be set if and only if the memory type belongs to a heap with the MEMORY_HEAP_DEVICE_LOCAL_BIT set.

pattern MEMORY_PROPERTY_HOST_VISIBLE_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_HOST_VISIBLE_BIT bit specifies that memory allocated with this type can be mapped for host access using mapMemory.

pattern MEMORY_PROPERTY_HOST_COHERENT_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_HOST_COHERENT_BIT bit specifies that the host cache management commands flushMappedMemoryRanges and invalidateMappedMemoryRanges are not needed to flush host writes to the device or make device writes visible to the host, respectively.

pattern MEMORY_PROPERTY_HOST_CACHED_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_HOST_CACHED_BIT bit specifies that memory allocated with this type is cached on the host. Host memory accesses to uncached memory are slower than to cached memory, however uncached memory is always host coherent.

pattern MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT bit specifies that the memory type only allows device access to the memory. Memory types must not have both MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT and MEMORY_PROPERTY_HOST_VISIBLE_BIT set. Additionally, the object’s backing memory may be provided by the implementation lazily as specified in Lazily Allocated Memory.

pattern MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD :: MemoryPropertyFlagBits

MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD bit specifies that memory allocated with this type is not cached on the device. Uncached device memory is always device coherent.

pattern MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD :: MemoryPropertyFlagBits

MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD bit specifies that device accesses to allocations of this memory type are automatically made available and visible.

pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits

MEMORY_PROPERTY_PROTECTED_BIT bit specifies that the memory type only allows device access to the memory, and allows protected queue operations to access the memory. Memory types must not have MEMORY_PROPERTY_PROTECTED_BIT set and any of MEMORY_PROPERTY_HOST_VISIBLE_BIT set, or MEMORY_PROPERTY_HOST_COHERENT_BIT set, or MEMORY_PROPERTY_HOST_CACHED_BIT set.

Instances

Instances details
Eq MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Ord MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Read MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Show MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Storable MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Bits MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

FiniteBits MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

Zero MemoryPropertyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryPropertyFlagBits

newtype MemoryHeapFlagBits Source #

VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap

See Also

MemoryHeapFlags

Bundled Patterns

pattern MEMORY_HEAP_DEVICE_LOCAL_BIT :: MemoryHeapFlagBits

MEMORY_HEAP_DEVICE_LOCAL_BIT specifies that the heap corresponds to device local memory. Device local memory may have different performance characteristics than host local memory, and may support different memory property flags.

pattern MEMORY_HEAP_MULTI_INSTANCE_BIT :: MemoryHeapFlagBits

MEMORY_HEAP_MULTI_INSTANCE_BIT specifies that in a logical device representing more than one physical device, there is a per-physical device instance of the heap memory. By default, an allocation from such a heap will be replicated to each physical device’s instance of the heap.

Instances

Instances details
Eq MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Ord MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Read MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Show MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Storable MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Bits MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

FiniteBits MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

Zero MemoryHeapFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.MemoryHeapFlagBits

newtype ImageUsageFlagBits Source #

VkImageUsageFlagBits - Bitmask specifying intended usage of an image

See Also

ImageUsageFlags

Bundled Patterns

pattern IMAGE_USAGE_TRANSFER_SRC_BIT :: ImageUsageFlagBits

IMAGE_USAGE_TRANSFER_SRC_BIT specifies that the image can be used as the source of a transfer command.

pattern IMAGE_USAGE_TRANSFER_DST_BIT :: ImageUsageFlagBits

IMAGE_USAGE_TRANSFER_DST_BIT specifies that the image can be used as the destination of a transfer command.

pattern IMAGE_USAGE_SAMPLED_BIT :: ImageUsageFlagBits

IMAGE_USAGE_SAMPLED_BIT specifies that the image can be used to create a ImageView suitable for occupying a DescriptorSet slot either of type DESCRIPTOR_TYPE_SAMPLED_IMAGE or DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and be sampled by a shader.

pattern IMAGE_USAGE_STORAGE_BIT :: ImageUsageFlagBits

IMAGE_USAGE_STORAGE_BIT specifies that the image can be used to create a ImageView suitable for occupying a DescriptorSet slot of type DESCRIPTOR_TYPE_STORAGE_IMAGE.

pattern IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: ImageUsageFlagBits

IMAGE_USAGE_COLOR_ATTACHMENT_BIT specifies that the image can be used to create a ImageView suitable for use as a color or resolve attachment in a Framebuffer.

pattern IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: ImageUsageFlagBits

IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT specifies that the image can be used to create a ImageView suitable for use as a depth/stencil or depth/stencil resolve attachment in a Framebuffer.

pattern IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: ImageUsageFlagBits

IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT specifies that the memory bound to this image will have been allocated with the MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT (see https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory for more detail). This bit can be set for any image that can be used to create a ImageView suitable for use as a color, resolve, depth/stencil, or input attachment.

pattern IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: ImageUsageFlagBits

IMAGE_USAGE_INPUT_ATTACHMENT_BIT specifies that the image can be used to create a ImageView suitable for occupying DescriptorSet slot of type DESCRIPTOR_TYPE_INPUT_ATTACHMENT; be read from a shader as an input attachment; and be used as an input attachment in a framebuffer.

pattern IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT :: ImageUsageFlagBits

IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that the image can be used to create a ImageView suitable for use as a fragment density map image.

pattern IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV :: ImageUsageFlagBits 

Instances

Instances details
Eq ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Ord ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Read ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Show ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Storable ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Bits ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

FiniteBits ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

Zero ImageUsageFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageUsageFlagBits

newtype ImageCreateFlagBits Source #

VkImageCreateFlagBits - Bitmask specifying additional parameters of an image

Description

See Sparse Resource Features and Sparse Physical Device Features for more details.

See Also

ImageCreateFlags

Bundled Patterns

pattern IMAGE_CREATE_SPARSE_BINDING_BIT :: ImageCreateFlagBits

IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will be backed using sparse memory binding.

pattern IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: ImageCreateFlagBits

IMAGE_CREATE_SPARSE_RESIDENCY_BIT specifies that the image can be partially backed using sparse memory binding. Images created with this flag must also be created with the IMAGE_CREATE_SPARSE_BINDING_BIT flag.

pattern IMAGE_CREATE_SPARSE_ALIASED_BIT :: ImageCreateFlagBits

IMAGE_CREATE_SPARSE_ALIASED_BIT specifies that the image will be backed using sparse memory binding with memory ranges that might also simultaneously be backing another image (or another portion of the same image). Images created with this flag must also be created with the IMAGE_CREATE_SPARSE_BINDING_BIT flag

pattern IMAGE_CREATE_MUTABLE_FORMAT_BIT :: ImageCreateFlagBits

IMAGE_CREATE_MUTABLE_FORMAT_BIT specifies that the image can be used to create a ImageView with a different format from the image. For multi-planar formats, IMAGE_CREATE_MUTABLE_FORMAT_BIT specifies that a ImageView can be created of a plane of the image.

pattern IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: ImageCreateFlagBits

IMAGE_CREATE_CUBE_COMPATIBLE_BIT specifies that the image can be used to create a ImageView of type IMAGE_VIEW_TYPE_CUBE or IMAGE_VIEW_TYPE_CUBE_ARRAY.

pattern IMAGE_CREATE_SUBSAMPLED_BIT_EXT :: ImageCreateFlagBits

IMAGE_CREATE_SUBSAMPLED_BIT_EXT specifies that an image can be in a subsampled format which may be more optimal when written as an attachment by a render pass that has a fragment density map attachment. Accessing a subsampled image has additional considerations:

pattern IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits

IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT specifies that an image with a depth or depth/stencil format can be used with custom sample locations when used as a depth/stencil attachment.

pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: ImageCreateFlagBits

IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is a corner-sampled image.

pattern IMAGE_CREATE_DISJOINT_BIT :: ImageCreateFlagBits

IMAGE_CREATE_DISJOINT_BIT specifies that an image with a multi-planar format must have each plane separately bound to memory, rather than having a single memory binding for the whole image; the presence of this bit distinguishes a disjoint image from an image without this bit set.

pattern IMAGE_CREATE_PROTECTED_BIT :: ImageCreateFlagBits

IMAGE_CREATE_PROTECTED_BIT specifies that the image is a protected image.

pattern IMAGE_CREATE_EXTENDED_USAGE_BIT :: ImageCreateFlagBits

IMAGE_CREATE_EXTENDED_USAGE_BIT specifies that the image can be created with usage flags that are not supported for the format the image is created with but are supported for at least one format a ImageView created from the image can have.

pattern IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT :: ImageCreateFlagBits

IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT specifies that the image having a compressed format can be used to create a ImageView with an uncompressed format where each texel in the image view corresponds to a compressed texel block of the image.

pattern IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT :: ImageCreateFlagBits

IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT specifies that the image can be used to create a ImageView of type IMAGE_VIEW_TYPE_2D or IMAGE_VIEW_TYPE_2D_ARRAY.

pattern IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT :: ImageCreateFlagBits

IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT specifies that the image can be used with a non-zero value of the splitInstanceBindRegionCount member of a BindImageMemoryDeviceGroupInfo structure passed into bindImageMemory2. This flag also has the effect of making the image use the standard sparse image block dimensions.

pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits

IMAGE_CREATE_ALIAS_BIT specifies that two images created with the same creation parameters and aliased to the same memory can interpret the contents of the memory consistently with each other, subject to the rules described in the Memory Aliasing section. This flag further specifies that each plane of a disjoint image can share an in-memory non-linear representation with single-plane images, and that a single-plane image can share an in-memory non-linear representation with a plane of a multi-planar disjoint image, according to the rules in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes. If the pNext chain includes a ExternalMemoryImageCreateInfo or ExternalMemoryImageCreateInfoNV structure whose handleTypes member is not 0, it is as if IMAGE_CREATE_ALIAS_BIT is set.

Instances

Instances details
Eq ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Ord ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Read ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Show ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Storable ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Bits ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

FiniteBits ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

Zero ImageCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.ImageCreateFlagBits

newtype FormatFeatureFlagBits Source #

VkFormatFeatureFlagBits - Bitmask specifying features supported by a buffer

Description

The following bits may be set in linearTilingFeatures, optimalTilingFeatures, and DrmFormatModifierPropertiesEXT::drmFormatModifierTilingFeatures, specifying that the features are supported by images or image views or sampler Y′CBCR conversion objects created with the queried getPhysicalDeviceFormatProperties::format:

The following bits may be set in bufferFeatures, specifying that the features are supported by buffers or buffer views created with the queried getPhysicalDeviceProperties::format:

See Also

FormatFeatureFlags

Bundled Patterns

pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view can be sampled from.

pattern FORMAT_FEATURE_STORAGE_IMAGE_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view can be used as a storage images.

pattern FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an image view can be used as storage image that supports atomic operations.

pattern FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT specifies that the format can be used to create a buffer view that can be bound to a DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor.

pattern FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT specifies that the format can be used to create a buffer view that can be bound to a DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor.

pattern FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT specifies that atomic operations are supported on DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.

pattern FORMAT_FEATURE_VERTEX_BUFFER_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format can be used as a vertex attribute format (VertexInputAttributeDescription::format).

pattern FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image view can be used as a framebuffer color attachment and as an input attachment.

pattern FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT specifies that an image view can be used as a framebuffer color attachment that supports blending and as an input attachment.

pattern FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT specifies that an image view can be used as a framebuffer depth/stencil attachment and as an input attachment.

pattern FORMAT_FEATURE_BLIT_SRC_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image can be used as srcImage for the cmdBlitImage2KHR and cmdBlitImage commands.

pattern FORMAT_FEATURE_BLIT_DST_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_BLIT_DST_BIT specifies that an image can be used as dstImage for the cmdBlitImage2KHR and cmdBlitImage commands.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT specifies that if FORMAT_FEATURE_SAMPLED_IMAGE_BIT is also set, an image view can be used with a sampler that has either of magFilter or minFilter set to FILTER_LINEAR, or mipmapMode set to SAMPLER_MIPMAP_MODE_LINEAR. If FORMAT_FEATURE_BLIT_SRC_BIT is also set, an image can be used as the srcImage to cmdBlitImage2KHR and cmdBlitImage with a filter of FILTER_LINEAR. This bit must only be exposed for formats that also support the FORMAT_FEATURE_SAMPLED_IMAGE_BIT or FORMAT_FEATURE_BLIT_SRC_BIT.

If the format being queried is a depth/stencil format, this bit only specifies that the depth aspect (not the stencil aspect) of an image of this format supports linear filtering, and that linear filtering of the depth aspect is supported whether depth compare is enabled in the sampler or not. If this bit is not present, linear filtering with depth compare disabled is unsupported and linear filtering with depth compare enabled is supported, but may compute the filtered value in an implementation-dependent manner which differs from the normal rules of linear filtering. The resulting value must be in the range [0,1] and should be proportional to, or a weighted average of, the number of comparison passes or failures.

pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits

FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR specifies that an image view can be used as a fragment shading rate attachment. An implementation must not set this feature for formats that with numeric type other than *UINT, or set it as a buffer feature.

pattern FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits

FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an image view can be used as a fragment density map attachment.

pattern FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits

FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR specifies that the format can be used as the vertex format when creating an acceleration structure (AccelerationStructureGeometryTrianglesDataKHR::vertexFormat). This format can also be used as the vertex format in host memory when doing host acceleration structure builds.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: FormatFeatureFlagBits 
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT specifies Image can be used as a sampled image with a min or max SamplerReductionMode. This bit must only be exposed for formats that also support the FORMAT_FEATURE_SAMPLED_IMAGE_BIT.

pattern FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT specifies that an application can define a sampler Y′CBCR conversion using this format as a source, and that an image of this format can be used with a SamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of CHROMA_LOCATION_COSITED_EVEN. Otherwise both xChromaOffset and yChromaOffset must be CHROMA_LOCATION_MIDPOINT. If neither FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT nor FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT is set, the application must not define a sampler Y′CBCR conversion using this format as a source.

pattern FORMAT_FEATURE_DISJOINT_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_DISJOINT_BIT specifies that a multi-planar image can have the IMAGE_CREATE_DISJOINT_BIT set during image creation. An implementation must not set FORMAT_FEATURE_DISJOINT_BIT for single-plane formats.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT specifies that reconstruction can be forcibly made explicit by setting SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction to TRUE. If the format being queried supports FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT it must also support FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT specifies that reconstruction is explicit, as described in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction. If this bit is not present, reconstruction is implicit by default.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT specifies that the format can have different chroma, min, and mag filters.

pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT specifies that the format can do linear sampler filtering (min/magFilter) whilst sampler Y′CBCR conversion is enabled.

pattern FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT specifies that an application can define a sampler Y′CBCR conversion using this format as a source, and that an image of this format can be used with a SamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of CHROMA_LOCATION_MIDPOINT. Otherwise both xChromaOffset and yChromaOffset must be CHROMA_LOCATION_COSITED_EVEN. If a format does not incorporate chroma downsampling (it is not a “422” or “420” format) but the implementation supports sampler Y′CBCR conversion for this format, the implementation must set FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT.

pattern FORMAT_FEATURE_TRANSFER_DST_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image can be used as a destination image for copy commands and clear commands.

pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits

FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image can be used as a source image for copy commands.

Instances

Instances details
Eq FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Ord FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Read FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Show FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Storable FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Bits FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

FiniteBits FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

Zero FormatFeatureFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FormatFeatureFlagBits

newtype SampleCountFlagBits Source #

Bundled Patterns

pattern SAMPLE_COUNT_1_BIT :: SampleCountFlagBits

SAMPLE_COUNT_1_BIT specifies an image with one sample per pixel.

pattern SAMPLE_COUNT_2_BIT :: SampleCountFlagBits

SAMPLE_COUNT_2_BIT specifies an image with 2 samples per pixel.

pattern SAMPLE_COUNT_4_BIT :: SampleCountFlagBits

SAMPLE_COUNT_4_BIT specifies an image with 4 samples per pixel.

pattern SAMPLE_COUNT_8_BIT :: SampleCountFlagBits

SAMPLE_COUNT_8_BIT specifies an image with 8 samples per pixel.

pattern SAMPLE_COUNT_16_BIT :: SampleCountFlagBits

SAMPLE_COUNT_16_BIT specifies an image with 16 samples per pixel.

pattern SAMPLE_COUNT_32_BIT :: SampleCountFlagBits

SAMPLE_COUNT_32_BIT specifies an image with 32 samples per pixel.

pattern SAMPLE_COUNT_64_BIT :: SampleCountFlagBits

SAMPLE_COUNT_64_BIT specifies an image with 64 samples per pixel.

Instances

Instances details
Eq SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Ord SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Read SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Show SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Storable SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Bits SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

FiniteBits SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

Zero SampleCountFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SampleCountFlagBits

type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification Source #

PFN_vkInternalAllocationNotification - Application-defined memory allocation notification function

Description

This is a purely informational callback.

See Also

AllocationCallbacks

type PFN_vkInternalFreeNotification = FunPtr FN_vkInternalFreeNotification Source #

PFN_vkInternalFreeNotification - Application-defined memory free notification function

See Also

AllocationCallbacks

type FN_vkReallocationFunction = ("pUserData" ::: Ptr ()) -> ("pOriginal" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ()) Source #

type PFN_vkReallocationFunction = FunPtr FN_vkReallocationFunction Source #

PFN_vkReallocationFunction - Application-defined memory reallocation function

Description

pfnReallocation must return an allocation with enough space for size bytes, and the contents of the original allocation from bytes zero to min(original size, new size) - 1 must be preserved in the returned allocation. If size is larger than the old size, the contents of the additional space are undefined. If satisfying these requirements involves creating a new allocation, then the old allocation should be freed.

If pOriginal is NULL, then pfnReallocation must behave equivalently to a call to PFN_vkAllocationFunction with the same parameter values (without pOriginal).

If size is zero, then pfnReallocation must behave equivalently to a call to PFN_vkFreeFunction with the same pUserData parameter value, and pMemory equal to pOriginal.

If pOriginal is non-NULL, the implementation must ensure that alignment is equal to the alignment used to originally allocate pOriginal.

If this function fails and pOriginal is non-NULL the application must not free the old allocation.

pfnReallocation must follow the same rules for return values as.

See Also

AllocationCallbacks

type FN_vkAllocationFunction = ("pUserData" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ()) Source #

type PFN_vkAllocationFunction = FunPtr FN_vkAllocationFunction Source #

PFN_vkAllocationFunction - Application-defined memory allocation function

Description

If pfnAllocation is unable to allocate the requested memory, it must return NULL. If the allocation was successful, it must return a valid pointer to memory allocation containing at least size bytes, and with the pointer value being a multiple of alignment.

Note

Correct Vulkan operation cannot be assumed if the application does not follow these rules.

For example, pfnAllocation (or pfnReallocation) could cause termination of running Vulkan instance(s) on a failed allocation for debugging purposes, either directly or indirectly. In these circumstances, it cannot be assumed that any part of any affected Instance objects are going to operate correctly (even destroyInstance), and the application must ensure it cleans up properly via other means (e.g. process termination).

If pfnAllocation returns NULL, and if the implementation is unable to continue correct processing of the current command without the requested allocation, it must treat this as a runtime error, and generate ERROR_OUT_OF_HOST_MEMORY at the appropriate time for the command in which the condition was detected, as described in Return Codes.

If the implementation is able to continue correct processing of the current command without the requested allocation, then it may do so, and must not generate ERROR_OUT_OF_HOST_MEMORY as a result of this failed allocation.

See Also

AllocationCallbacks

type FN_vkFreeFunction = ("pUserData" ::: Ptr ()) -> ("pMemory" ::: Ptr ()) -> IO () Source #

type PFN_vkFreeFunction = FunPtr FN_vkFreeFunction Source #

PFN_vkFreeFunction - Application-defined memory free function

Description

pMemory may be NULL, which the callback must handle safely. If pMemory is non-NULL, it must be a pointer previously allocated by pfnAllocation or pfnReallocation. The application should free this memory.

See Also

AllocationCallbacks

type FN_vkVoidFunction = () -> IO () Source #

type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction Source #

PFN_vkVoidFunction - Placeholder function pointer type returned by queries

See Also

getDeviceProcAddr, getInstanceProcAddr