-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Bindings to the Vulkan graphics API.
--
-- Please see the readme
@package vulkan
@version 3.14.2
module Vulkan.CStruct
-- | A class for types which can be marshalled into a C style structure.
class ToCStruct a
-- | Allocates a C type structure and all dependencies and passes it to a
-- continuation. The space is deallocated when this continuation returns
-- and the C type structure must not be returned out of it.
withCStruct :: ToCStruct a => a -> (Ptr a -> IO b) -> IO b
-- | Write a C type struct into some existing memory and run a
-- continuation. The pointed to structure is not necessarily valid
-- outside the continuation as additional allocations may have been made.
pokeCStruct :: ToCStruct a => Ptr a -> a -> IO b -> IO b
-- | Allocate space for an "empty" a and populate any univalued
-- members with their value.
withZeroCStruct :: ToCStruct a => (Ptr a -> IO b) -> IO b
-- | And populate any univalued members with their value, run a function
-- and then clean up any allocated resources.
pokeZeroCStruct :: ToCStruct a => Ptr a -> IO b -> IO b
-- | The size of this struct, note that this doesn't account for any extra
-- pointed-to data
cStructSize :: ToCStruct a => Int
-- | The required memory alignment for this type
cStructAlignment :: ToCStruct a => Int
-- | A class for types which can be marshalled from a C style structure.
class FromCStruct a
-- | Read an a and any other pointed to data from memory
peekCStruct :: FromCStruct a => Ptr a -> IO a
module Vulkan.CStruct.Utils
-- | Store a ByteString in a fixed amount of space, truncating if
-- necessary.
--
-- If the ByteString is not long enough to fill the space the
-- remaining bytes are unchanged
pokeFixedLengthByteString :: forall n. KnownNat n => Ptr (FixedArray n Word8) -> ByteString -> IO ()
-- | Store a ByteString in a fixed amount of space inserting a null
-- character at the end and truncating if necessary.
--
-- If the ByteString is not long enough to fill the space the
-- remaining bytes are unchanged
--
-- Note that if the ByteString is exactly long enough the last
-- byte will still be replaced with 0
pokeFixedLengthNullTerminatedByteString :: forall n. KnownNat n => Ptr (FixedArray n CChar) -> ByteString -> IO ()
-- | Peek a ByteString from a fixed sized array of bytes
peekByteStringFromSizedVectorPtr :: forall n. KnownNat n => Ptr (FixedArray n Word8) -> IO ByteString
-- | Allocate a zero array with the size specified by the FixedArray
-- return type. Make sure to release the memory with free
callocFixedArray :: forall n a. (KnownNat n, Storable a) => IO (Ptr (FixedArray n a))
-- | Get the pointer to the first element in the array
lowerArrayPtr :: forall a n. Ptr (FixedArray n a) -> Ptr a
-- | A type restricted plusPtr
advancePtrBytes :: Ptr a -> Int -> Ptr a
-- | An unpopulated type intended to be used as in Ptr
-- (FixedArray n a) to indicate that the pointer points to an array
-- of n as
data FixedArray (n :: Nat) (a :: Type)
-- |
Name
--
-- VK_AMD_gcn_shader - device extension
--
-- VK_AMD_gcn_shader
--
--
-- - Name String VK_AMD_gcn_shader
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 26
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-05-30
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Dominik Witczak,
-- AMD
- Daniel Rakos, AMD
- Rex Xu, AMD
- Graham
-- Sellers, AMD
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-05-30 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_gcn_shader
type AMD_GCN_SHADER_SPEC_VERSION = 1
pattern AMD_GCN_SHADER_SPEC_VERSION :: forall a. Integral a => a
type AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader"
pattern AMD_GCN_SHADER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_gpu_shader_half_float - device extension
--
-- VK_AMD_gpu_shader_half_float
--
--
-- - Name String
-- VK_AMD_gpu_shader_half_float
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 37
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_KHR_shader_float16_int8 extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-04-11
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Rakos,
-- AMD
- Dominik Witczak, AMD
- Donglin Wei,
-- AMD
- Graham Sellers, AMD
- Qun Lin, AMD
- Rex Xu,
-- AMD
--
--
-- Description
--
-- This extension adds support for using half float variables in shaders.
--
-- Deprecation by VK_KHR_shader_float16_int8
--
-- Functionality in this extension was included in
-- VK_KHR_shader_float16_int8 extension, when
-- PhysicalDeviceShaderFloat16Int8FeaturesKHR::shaderFloat16
-- is enabled.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2019-04-11 (Tobias Hector)
--
--
--
-- - Revision 1, 2016-09-21 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_gpu_shader_half_float
type AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 2
pattern AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION :: forall a. Integral a => a
type AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float"
pattern AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_gpu_shader_int16 - device extension
--
-- VK_AMD_gpu_shader_int16
--
--
-- - Name String VK_AMD_gpu_shader_int16
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 133
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_KHR_shader_float16_int8 extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-04-11
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Rakos,
-- AMD
- Dominik Witczak, AMD
- Matthaeus G. Chajdas,
-- AMD
- Rex Xu, AMD
- Timothy Lottes, AMD
- Zhi Cai,
-- AMD
--
--
-- Description
--
-- This extension adds support for using 16-bit integer variables in
-- shaders.
--
-- Deprecation by VK_KHR_shader_float16_int8
--
-- Functionality in this extension was included in
-- VK_KHR_shader_float16_int8 extension, when
-- PhysicalDeviceFeatures::shaderInt16 and
-- PhysicalDeviceShaderFloat16Int8FeaturesKHR::shaderFloat16
-- are enabled.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2019-04-11 (Tobias Hector)
--
--
--
-- - Revision 1, 2017-06-18 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_gpu_shader_int16
type AMD_GPU_SHADER_INT16_SPEC_VERSION = 2
pattern AMD_GPU_SHADER_INT16_SPEC_VERSION :: forall a. Integral a => a
type AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16"
pattern AMD_GPU_SHADER_INT16_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_mixed_attachment_samples - device extension
--
-- VK_AMD_mixed_attachment_samples
--
--
-- - Name String
-- VK_AMD_mixed_attachment_samples
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 137
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-07-24
--
--
--
-- - Contributors
- Mais Alnasser,
-- AMD
- Matthaeus G. Chajdas, AMD
- Maciej Jesionowski,
-- AMD
- Daniel Rakos, AMD
--
--
-- Description
--
-- This extension enables applications to use multisampled rendering with
-- a depth/stencil sample count that is larger than the color sample
-- count. Having a depth/stencil sample count larger than the color
-- sample count allows maintaining geometry and coverage information at a
-- higher sample rate than color information. All samples are
-- depth/stencil tested, but only the first color sample count number of
-- samples get a corresponding color output.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2017-07-24 (Daniel Rakos)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_mixed_attachment_samples
type AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1
pattern AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION :: forall a. Integral a => a
type AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples"
pattern AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_negative_viewport_height - device extension
--
-- VK_AMD_negative_viewport_height
--
--
-- - Name String
-- VK_AMD_negative_viewport_height
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 36
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
- Obsoleted by
-- VK_KHR_maintenance1 extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-09-02
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Graham Sellers, AMD
- Baldur Karlsson
--
--
-- Description
--
-- This extension allows an application to specify a negative viewport
-- height. The result is that the viewport transformation will flip along
-- the y-axis.
--
--
-- - Allow negative height to be specified in the
-- Viewport::height field to perform y-inversion of the
-- clip-space to framebuffer-space transform. This allows apps to avoid
-- having to use gl_Position.y = -gl_Position.y in shaders also
-- targeting other APIs.
--
--
-- Obsoletion by VK_KHR_maintenance1 and Vulkan 1.1
--
-- Functionality in this extension is included in
-- VK_KHR_maintenance1 and subsequently Vulkan 1.1. Due to some
-- slight behavioral differences, this extension must not be
-- enabled alongside VK_KHR_maintenance1, or in an instance
-- created with version 1.1 or later requested in
-- ApplicationInfo::apiVersion.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-09-02 (Matthaeus Chajdas)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_negative_viewport_height
type AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1
pattern AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION :: forall a. Integral a => a
type AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height"
pattern AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_shader_ballot - device extension
--
-- VK_AMD_shader_ballot
--
--
-- - Name String VK_AMD_shader_ballot
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 38
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-09-19
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Qun Lin, AMD
- Graham
-- Sellers, AMD
- Daniel Rakos, AMD
- Rex Xu,
-- AMD
- Dominik Witczak, AMD
- Matthäus G. Chajdas,
-- AMD
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-09-19 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_ballot
type AMD_SHADER_BALLOT_SPEC_VERSION = 1
pattern AMD_SHADER_BALLOT_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot"
pattern AMD_SHADER_BALLOT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_shader_explicit_vertex_parameter - device extension
--
-- VK_AMD_shader_explicit_vertex_parameter
--
--
-- - Name String
-- VK_AMD_shader_explicit_vertex_parameter
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 22
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-05-10
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Qun Lin, AMD
- Daniel Rakos, AMD
- Graham
-- Sellers, AMD
- Rex Xu, AMD
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-05-10 (Daniel Rakos)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_explicit_vertex_parameter
type AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1
pattern AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter"
pattern AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_shader_fragment_mask - device extension
--
-- VK_AMD_shader_fragment_mask
--
--
-- - Name String
-- VK_AMD_shader_fragment_mask
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 138
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-16
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Aaron Hagan, AMD
- Daniel
-- Rakos, AMD
- Timothy Lottes, AMD
--
--
-- Description
--
-- This extension provides efficient read access to the fragment mask in
-- compressed multisampled color surfaces. The fragment mask is a lookup
-- table that associates color samples with color fragment values.
--
-- From a shader, the fragment mask can be fetched with a call to
-- fragmentMaskFetchAMD, which returns a single uint
-- where each subsequent four bits specify the color fragment index
-- corresponding to the color sample, starting from the least significant
-- bit. For example, when eight color samples are used, the color
-- fragment index for color sample 0 will be in bits 0-3 of the fragment
-- mask, for color sample 7 the index will be in bits 28-31.
--
-- The color fragment for a particular color sample may then be fetched
-- with the corresponding fragment mask value using the
-- fragmentFetchAMD shader function.
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Examples
--
-- This example shows a shader that queries the fragment mask from a
-- multisampled compressed surface and uses it to query fragment values.
--
--
-- #version 450 core
--
-- #extension GL_AMD_shader_fragment_mask: enable
--
-- layout(binding = 0) uniform sampler2DMS s2DMS;
-- layout(binding = 1) uniform isampler2DMSArray is2DMSArray;
--
-- layout(binding = 2, input_attachment_index = 0) uniform usubpassInputMS usubpassMS;
--
-- layout(location = 0) out vec4 fragColor;
--
-- void main()
-- {
-- vec4 fragOne = vec4(0.0);
--
-- uint fragMask = fragmentMaskFetchAMD(s2DMS, ivec2(2, 3));
-- uint fragIndex = (fragMask & 0xF0) >> 4;
-- fragOne += fragmentFetchAMD(s2DMS, ivec2(2, 3), 1);
--
-- fragMask = fragmentMaskFetchAMD(is2DMSArray, ivec3(2, 3, 1));
-- fragIndex = (fragMask & 0xF0) >> 4;
-- fragOne += fragmentFetchAMD(is2DMSArray, ivec3(2, 3, 1), fragIndex);
--
-- fragMask = fragmentMaskFetchAMD(usubpassMS);
-- fragIndex = (fragMask & 0xF0) >> 4;
-- fragOne += fragmentFetchAMD(usubpassMS, fragIndex);
--
-- fragColor = fragOne;
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-16 (Aaron Hagan)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_fragment_mask
type AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1
pattern AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask"
pattern AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_shader_image_load_store_lod - device extension
--
-- VK_AMD_shader_image_load_store_lod
--
--
-- - Name String
-- VK_AMD_shader_image_load_store_lod
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 47
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-21
--
--
--
-- - Interactions and External Dependencies
-- - IP Status No known IP claims.
-- - Contributors
- Dominik Witczak,
-- AMD
- Qun Lin, AMD
- Rex Xu, AMD
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-21 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_image_load_store_lod
type AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1
pattern AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod"
pattern AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_shader_trinary_minmax - device extension
--
-- VK_AMD_shader_trinary_minmax
--
--
-- - Name String
-- VK_AMD_shader_trinary_minmax
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 21
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-05-10
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Qun Lin, AMD
- Daniel Rakos, AMD
- Graham
-- Sellers, AMD
- Rex Xu, AMD
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-05-10 (Daniel Rakos)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_trinary_minmax
type AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1
pattern AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax"
pattern AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_depth_range_unrestricted - device extension
--
-- VK_EXT_depth_range_unrestricted
--
--
-- - Name String
-- VK_EXT_depth_range_unrestricted
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 14
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-06-22
--
--
--
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension removes the Viewport minDepth and
-- maxDepth restrictions that the values must be between
-- 0.0 and 1.0, inclusive. It also removes the same
-- restriction on PipelineDepthStencilStateCreateInfo
-- minDepthBounds and maxDepthBounds. Finally it
-- removes the restriction on the depth value in
-- ClearDepthStencilValue.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How do Viewport minDepth and maxDepth
-- values outside of the 0.0 to 1.0 range interact with
-- Primitive Clipping?
--
-- RESOLVED: The behavior described in Primitive Clipping
-- still applies. If depth clamping is disabled the depth values are
-- still clipped to 0 ≤ zc ≤ wc before the viewport transform. If depth
-- clamping is enabled the above equation is ignored and the depth values
-- are instead clamped to the Viewport minDepth and
-- maxDepth values, which in the case of this extension can be
-- outside of the 0.0 to 1.0 range.
--
-- 2) What happens if a resulting depth fragment is outside of the
-- 0.0 to 1.0 range and the depth buffer is fixed-point
-- rather than floating-point?
--
-- RESOLVED: The supported range of a fixed-point depth buffer is
-- 0.0 to 1.0 and depth fragments are clamped to this
-- range.
--
-- Version History
--
--
-- - Revision 1, 2017-06-22 (Piers Daniell)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_depth_range_unrestricted
type EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1
pattern EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted"
pattern EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_external_memory_dma_buf - device extension
--
-- VK_EXT_external_memory_dma_buf
--
--
-- - Name String
-- VK_EXT_external_memory_dma_buf
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 126
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory_fd
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-10
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Chad Versace,
-- Google
- James Jones, NVIDIA
- Jason Ekstrand,
-- Intel
--
--
-- Description
--
-- A dma_buf is a type of file descriptor, defined by the Linux
-- kernel, that allows sharing memory across kernel device drivers and
-- across processes. This extension enables applications to import a
-- dma_buf as DeviceMemory, to export DeviceMemory
-- as a dma_buf, and to create Buffer objects that
-- can be bound to that memory.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How does the application, when creating a Image that it
-- intends to bind to dma_buf DeviceMemory containing an
-- externally produced image, specify the memory layout (such as row
-- pitch and DRM format modifier) of the Image? In other words,
-- how does the application achieve behavior comparable to that provided
-- by EGL_EXT_image_dma_buf_import and
-- EGL_EXT_image_dma_buf_import_modifiers ?
--
-- RESOLVED: Features comparable to those in
-- EGL_EXT_image_dma_buf_import and
-- EGL_EXT_image_dma_buf_import_modifiers will be provided by an
-- extension layered atop this one.
--
-- 2) Without the ability to specify the memory layout of external
-- dma_buf images, how is this extension useful?
--
-- RESOLVED: This extension provides exactly one new feature: the
-- ability to import/export between dma_buf and
-- DeviceMemory. This feature, together with features provided by
-- VK_KHR_external_memory_fd, is sufficient to bind a
-- Buffer to dma_buf.
--
-- Version History
--
--
-- - Revision 1, 2017-10-10 (Chad Versace)
- Squashed internal
-- revisions
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_external_memory_dma_buf
type EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1
pattern EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: forall a. Integral a => a
type EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf"
pattern EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_post_depth_coverage - device extension
--
-- VK_EXT_post_depth_coverage
--
--
-- - Name String VK_EXT_post_depth_coverage
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 156
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-07-17
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- which allows the fragment shader to control whether values in the
-- SampleMask built-in input variable reflect the coverage after
-- early depth and stencil tests are applied.
--
-- This extension adds a new PostDepthCoverage execution mode
-- under the SampleMaskPostDepthCoverage capability. When this
-- mode is specified along with EarlyFragmentTests, the value of
-- an input variable decorated with the
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-samplemask
-- built-in reflects the coverage after the early fragment tests
-- are applied. Otherwise, it reflects the coverage before the depth and
-- stencil tests.
--
-- When using GLSL source-based shading languages, the
-- post_depth_coverage layout qualifier from
-- GL_ARB_post_depth_coverage or GL_EXT_post_depth_coverage maps to the
-- PostDepthCoverage execution mode.
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-07-17 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_post_depth_coverage
type EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1
pattern EXT_POST_DEPTH_COVERAGE_SPEC_VERSION :: forall a. Integral a => a
type EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage"
pattern EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_shader_stencil_export - device extension
--
-- VK_EXT_shader_stencil_export
--
--
-- - Name String
-- VK_EXT_shader_stencil_export
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 141
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-07-19
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Dominik Witczak,
-- AMD
- Daniel Rakos, AMD
- Rex Xu, AMD
--
--
-- Description
--
-- This extension adds support for the SPIR-V extension
-- SPV_EXT_shader_stencil_export, providing a mechanism whereby
-- a shader may generate the stencil reference value per invocation. When
-- stencil testing is enabled, this allows the test to be performed
-- against the value generated in the shader.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-07-19 (Dominik Witczak)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_stencil_export
type EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1
pattern EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export"
pattern EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_shader_subgroup_ballot - device extension
--
-- VK_EXT_shader_subgroup_ballot
--
--
-- - Name String
-- VK_EXT_shader_subgroup_ballot
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 65
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-11-28
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Jeff Bolz, NVIDIA
- Neil
-- Henning, Codeplay
- Daniel Koch, NVIDIA
-- Corporation
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
-- SPV_KHR_shader_ballot
--
--
-- This extension provides the ability for a group of invocations, which
-- execute in parallel, to do limited forms of cross-invocation
-- communication via a group broadcast of a invocation value, or
-- broadcast of a bitarray representing a predicate value from each
-- invocation in the group.
--
-- This extension provides access to a number of additional built-in
-- shader variables in Vulkan:
--
--
-- - SubgroupEqMaskKHR, containing the subgroup mask of the
-- current subgroup invocation,
-- - SubgroupGeMaskKHR, containing the subgroup mask of the
-- invocations greater than or equal to the current invocation,
-- - SubgroupGtMaskKHR, containing the subgroup mask of the
-- invocations greater than the current invocation,
-- - SubgroupLeMaskKHR, containing the subgroup mask of the
-- invocations less than or equal to the current invocation,
-- - SubgroupLtMaskKHR, containing the subgroup mask of the
-- invocations less than the current invocation,
-- - SubgroupLocalInvocationId, containing the index of an
-- invocation within a subgroup, and
-- - SubgroupSize, containing the maximum number of
-- invocations in a subgroup.
--
--
-- Additionally, this extension provides access to the new SPIR-V
-- instructions:
--
--
-- - OpSubgroupBallotKHR,
-- - OpSubgroupFirstInvocationKHR, and
-- - OpSubgroupReadInvocationKHR,
--
--
-- When using GLSL source-based shader languages, the following variables
-- and shader functions from GL_ARB_shader_ballot can map to these SPIR-V
-- built-in decorations and instructions:
--
--
-- - in uint64_t gl_SubGroupEqMaskARB; →
-- SubgroupEqMaskKHR,
-- - in uint64_t gl_SubGroupGeMaskARB; →
-- SubgroupGeMaskKHR,
-- - in uint64_t gl_SubGroupGtMaskARB; →
-- SubgroupGtMaskKHR,
-- - in uint64_t gl_SubGroupLeMaskARB; →
-- SubgroupLeMaskKHR,
-- - in uint64_t gl_SubGroupLtMaskARB; →
-- SubgroupLtMaskKHR,
-- - in uint gl_SubGroupInvocationARB; →
-- SubgroupLocalInvocationId,
-- - uniform uint gl_SubGroupSizeARB; →
-- SubgroupSize,
-- - ballotARB() → OpSubgroupBallotKHR,
-- - readFirstInvocationARB() →
-- OpSubgroupFirstInvocationKHR, and
-- - readInvocationARB() →
-- OpSubgroupReadInvocationKHR.
--
--
-- Deprecated by Vulkan 1.2
--
-- Most of the functionality in this extension is superseded by the core
-- Vulkan 1.1 subgroup operations. However, Vulkan 1.1 required
-- the OpGroupNonUniformBroadcast “Id” to be constant. This
-- restriction was removed in Vulkan 1.2 with the addition of the
-- subgroupBroadcastDynamicId feature.
--
-- New Enum Constants
--
--
--
--
--
-- New Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-11-28 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_subgroup_ballot
type EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1
pattern EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot"
pattern EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_shader_subgroup_vote - device extension
--
-- VK_EXT_shader_subgroup_vote
--
--
-- - Name String
-- VK_EXT_shader_subgroup_vote
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 66
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-11-28
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Neil Henning,
-- Codeplay
- Daniel Koch, NVIDIA Corporation
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
-- SPV_KHR_subgroup_vote
--
--
-- This extension provides new SPIR-V instructions:
--
--
-- - OpSubgroupAllKHR,
-- - OpSubgroupAnyKHR, and
-- - OpSubgroupAllEqualKHR.
--
--
-- to compute the composite of a set of boolean conditions across a group
-- of shader invocations that are running concurrently (a
-- subgroup). These composite results may be used to execute
-- shaders more efficiently on a PhysicalDevice.
--
-- When using GLSL source-based shader languages, the following shader
-- functions from GL_ARB_shader_group_vote can map to these SPIR-V
-- instructions:
--
--
-- - anyInvocationARB() → OpSubgroupAnyKHR,
-- - allInvocationsARB() → OpSubgroupAllKHR, and
-- - allInvocationsEqualARB() →
-- OpSubgroupAllEqualKHR.
--
--
-- The subgroup across which the boolean conditions are evaluated is
-- implementation-dependent, and this extension provides no guarantee
-- over how individual shader invocations are assigned to subgroups. In
-- particular, a subgroup has no necessary relationship with the compute
-- shader local workgroup — any pair of shader invocations in a
-- compute local workgroup may execute in different subgroups as used by
-- these instructions.
--
-- Compute shaders operate on an explicitly specified group of threads (a
-- local workgroup), but many implementations will also group non-compute
-- shader invocations and execute them concurrently. When executing code
-- like
--
--
-- if (condition) {
-- result = do_fast_path();
-- } else {
-- result = do_general_path();
-- }
--
--
-- where condition diverges between invocations, an
-- implementation might first execute do_fast_path() for the
-- invocations where condition is true and leave the other
-- invocations dormant. Once do_fast_path() returns, it might
-- call do_general_path() for invocations where
-- condition is false and leave the other invocations
-- dormant. In this case, the shader executes both the fast and
-- the general path and might be better off just using the general path
-- for all invocations.
--
-- This extension provides the ability to avoid divergent execution by
-- evaluating a condition across an entire subgroup using code like:
--
--
-- if (allInvocationsARB(condition)) {
-- result = do_fast_path();
-- } else {
-- result = do_general_path();
-- }
--
--
-- The built-in function allInvocationsARB() will return the
-- same value for all invocations in the group, so the group will either
-- execute do_fast_path() or do_general_path(), but
-- never both. For example, shader code might want to evaluate a complex
-- function iteratively by starting with an approximation of the result
-- and then refining the approximation. Some input values may require a
-- small number of iterations to generate an accurate result
-- (do_fast_path) while others require a larger number
-- (do_general_path). In another example, shader code might want
-- to evaluate a complex function (do_general_path) that can be
-- greatly simplified when assuming a specific value for one of its
-- inputs (do_fast_path).
--
-- Deprecated by Vulkan 1.1
--
-- All functionality in this extension is superseded by the core Vulkan
-- 1.1 subgroup operations.
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-11-28 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_subgroup_vote
type EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1
pattern EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote"
pattern EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_shader_viewport_index_layer - device extension
--
-- VK_EXT_shader_viewport_index_layer
--
--
-- - Name String
-- VK_EXT_shader_viewport_index_layer
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 163
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-08
--
--
--
-- - Interactions and External Dependencies
--
-- - Contributors
- Piers Daniell,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Jan-Harald Fredriksen,
-- ARM
- Daniel Rakos, AMD
- Slawomir Grajeswki,
-- Intel
--
--
-- Description
--
-- This extension adds support for the
-- ShaderViewportIndexLayerEXT capability from the
-- SPV_EXT_shader_viewport_index_layer extension in Vulkan.
--
-- This extension allows variables decorated with the Layer and
-- ViewportIndex built-ins to be exported from vertex or
-- tessellation shaders, using the ShaderViewportIndexLayerEXT
-- capability.
--
-- When using GLSL source-based shading languages, the
-- gl_ViewportIndex and gl_Layer built-in variables map
-- to the SPIR-V ViewportIndex and Layer built-in
-- decorations, respectively. Behaviour of these variables is extended as
-- described in the GL_ARB_shader_viewport_layer_array (or the
-- precursor GL_AMD_vertex_shader_layer,
-- GL_AMD_vertex_shader_viewport_index, and
-- GL_NV_viewport_array2 extensions).
--
-- Note
--
-- The ShaderViewportIndexLayerEXT capability is equivalent to
-- the ShaderViewportIndexLayerNV capability added by
-- VK_NV_viewport_array2.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2.
--
-- The single ShaderViewportIndexLayerEXT capability from the
-- SPV_EXT_shader_viewport_index_layer extension is replaced by
-- the ShaderViewportIndex and ShaderLayer capabilities
-- from SPIR-V 1.5 which are enabled by the
-- shaderOutputViewportIndex and shaderOutputLayer
-- features, respectively. Additionally, if Vulkan 1.2 is supported but
-- this extension is not, these capabilities are optional.
--
-- Enabling both features is equivalent to enabling the
-- VK_EXT_shader_viewport_index_layer extension.
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-08 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_viewport_index_layer
type EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1
pattern EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer"
pattern EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_GOOGLE_decorate_string - device extension
--
-- VK_GOOGLE_decorate_string
--
--
-- - Name String VK_GOOGLE_decorate_string
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 225
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-09
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Hai Nguyen, Google
- Neil
-- Henning, AMD
--
--
-- Description
--
-- The VK_GOOGLE_decorate_string extension allows use of the
-- SPV_GOOGLE_decorate_string extension in SPIR-V shader
-- modules.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-09 (Neil Henning)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GOOGLE_decorate_string
type GOOGLE_DECORATE_STRING_SPEC_VERSION = 1
pattern GOOGLE_DECORATE_STRING_SPEC_VERSION :: forall a. Integral a => a
type GOOGLE_DECORATE_STRING_EXTENSION_NAME = "VK_GOOGLE_decorate_string"
pattern GOOGLE_DECORATE_STRING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_GOOGLE_hlsl_functionality1 - device extension
--
-- VK_GOOGLE_hlsl_functionality1
--
--
-- - Name String
-- VK_GOOGLE_hlsl_functionality1
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 224
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-09
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Hai Nguyen, Google
- Neil
-- Henning, AMD
--
--
-- Description
--
-- The VK_GOOGLE_hlsl_functionality1 extension allows use of the
-- SPV_GOOGLE_hlsl_functionality1 extension in SPIR-V shader
-- modules.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-09 (Neil Henning)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1
pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: Integral a => a
pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: (Eq a, IsString a) => a
type GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1
pattern GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION :: forall a. Integral a => a
type GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1"
pattern GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_GOOGLE_user_type - device extension
--
-- VK_GOOGLE_user_type
--
--
-- - Name String VK_GOOGLE_user_type
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 290
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-07-09
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Kaye Mason, Google
- Hai
-- Nguyen, Google
--
--
-- Description
--
-- The VK_GOOGLE_user_type extension allows use of the
-- SPV_GOOGLE_user_type extension in SPIR-V shader modules.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-09-07 (Kaye Mason)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GOOGLE_user_type
type GOOGLE_USER_TYPE_SPEC_VERSION = 1
pattern GOOGLE_USER_TYPE_SPEC_VERSION :: forall a. Integral a => a
type GOOGLE_USER_TYPE_EXTENSION_NAME = "VK_GOOGLE_user_type"
pattern GOOGLE_USER_TYPE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_IMG_filter_cubic - device extension
--
-- VK_IMG_filter_cubic
--
--
-- - Name String VK_IMG_filter_cubic
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 16
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-02-23
--
--
--
-- - Contributors
- Tobias Hector, Imagination
-- Technologies
--
--
-- Description
--
-- VK_IMG_filter_cubic adds an additional, high quality cubic
-- filtering mode to Vulkan, using a Catmull-Rom bicubic filter.
-- Performing this kind of filtering can be done in a shader by using 16
-- samples and a number of instructions, but this can be inefficient. The
-- cubic filter mode exposes an optimized high quality texture sampling
-- using fixed texture sampling functionality.
--
-- New Enum Constants
--
--
--
--
--
-- Example
--
-- Creating a sampler with the new filter for both magnification and
-- minification
--
--
-- VkSamplerCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType
-- // Other members set to application-desired values
-- };
--
-- createInfo.magFilter = VK_FILTER_CUBIC_IMG;
-- createInfo.minFilter = VK_FILTER_CUBIC_IMG;
--
-- VkSampler sampler;
-- VkResult result = vkCreateSampler(
-- device,
-- &createInfo,
-- &sampler);
--
--
-- Version History
--
--
-- - Revision 1, 2016-02-23 (Tobias Hector)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_IMG_filter_cubic
type IMG_FILTER_CUBIC_SPEC_VERSION = 1
pattern IMG_FILTER_CUBIC_SPEC_VERSION :: forall a. Integral a => a
type IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic"
pattern IMG_FILTER_CUBIC_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_IMG_format_pvrtc - device extension
--
-- VK_IMG_format_pvrtc
--
--
-- - Name String VK_IMG_format_pvrtc
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 55
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-09-02
--
--
--
-- - IP Status Imagination Technologies Proprietary
-- - Contributors
- Stuart Smith, Imagination
-- Technologies
--
--
-- Description
--
-- VK_IMG_format_pvrtc provides additional texture compression
-- functionality specific to Imagination Technologies PowerVR Texture
-- compression format (called PVRTC).
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-09-02 (Stuart Smith)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_IMG_format_pvrtc
type IMG_FORMAT_PVRTC_SPEC_VERSION = 1
pattern IMG_FORMAT_PVRTC_SPEC_VERSION :: forall a. Integral a => a
type IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc"
pattern IMG_FORMAT_PVRTC_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_KHR_relaxed_block_layout - device extension
--
-- VK_KHR_relaxed_block_layout
--
--
-- - Name String
-- VK_KHR_relaxed_block_layout
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 145
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-26
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- John Kessenich,
-- Google
--
--
-- Description
--
-- The VK_KHR_relaxed_block_layout extension allows
-- implementations to indicate they can support more variation in block
-- Offset decorations. For example, placing a vector of three
-- floats at an offset of 16×N + 4.
--
-- See Offset and Stride Assignment for details.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-26 (JohnK)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_relaxed_block_layout
type KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1
pattern KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION :: forall a. Integral a => a
type KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout"
pattern KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_KHR_shader_draw_parameters - device extension
--
-- VK_KHR_shader_draw_parameters
--
--
-- - Name String
-- VK_KHR_shader_draw_parameters
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 64
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Koch, NVIDIA
-- Corporation
- Jeff Bolz, NVIDIA
- Daniel Rakos,
-- AMD
- Jan-Harald Fredriksen, ARM
- John Kessenich,
-- Google
- Stuart Smith, IMG
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- The extension provides access to three additional built-in shader
-- variables in Vulkan:
--
--
-- - BaseInstance, containing the firstInstance
-- parameter passed to drawing commands,
-- - BaseVertex, containing the firstVertex or
-- vertexOffset parameter passed to drawing commands, and
-- - DrawIndex, containing the index of the draw call
-- currently being processed from an indirect drawing call.
--
--
-- When using GLSL source-based shader languages, the following variables
-- from GL_ARB_shader_draw_parameters can map to these SPIR-V
-- built-in decorations:
--
--
-- - in int gl_BaseInstanceARB; → BaseInstance,
-- - in int gl_BaseVertexARB; → BaseVertex, and
-- - in int gl_DrawIDARB; → DrawIndex.
--
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- however a feature bit was added to distinguish whether it is
-- actually available or not.
--
-- New Enum Constants
--
--
--
--
--
-- New Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
-- 1) Is this the same functionality as
-- GL_ARB_shader_draw_parameters?
--
-- RESOLVED: It is actually a superset, as it also adds in support
-- for arrayed drawing commands.
--
-- In GL for GL_ARB_shader_draw_parameters,
-- gl_BaseVertexARB holds the integer value passed to the
-- parameter to the command that resulted in the current shader
-- invocation. In the case where the command has no baseVertex
-- parameter, the value of gl_BaseVertexARB is zero. This means
-- that gl_BaseVertexARB = baseVertex (for
-- glDrawElements commands with baseVertex) or 0. In
-- particular there are no glDrawArrays commands that take a
-- baseVertex parameter.
--
-- Now in Vulkan, we have BaseVertex = vertexOffset
-- (for indexed drawing commands) or firstVertex (for arrayed
-- drawing commands), and so Vulkan’s version is really a superset of GL
-- functionality.
--
-- Version History
--
--
-- - Revision 1, 2016-10-05 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_draw_parameters
type KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1
pattern KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters"
pattern KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_KHR_shader_non_semantic_info - device extension
--
-- VK_KHR_shader_non_semantic_info
--
--
-- - Name String
-- VK_KHR_shader_non_semantic_info
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 294
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-10-16
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Baldur Karlsson,
-- Valve
--
--
-- Description
--
-- This extension allows the use of the
-- SPV_KHR_non_semantic_info extension in SPIR-V shader modules.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-10-16 (Baldur Karlsson)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_non_semantic_info
type KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1
pattern KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info"
pattern KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_KHR_spirv_1_4 - device extension
--
-- VK_KHR_spirv_1_4
--
--
-- - Name String VK_KHR_spirv_1_4
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 237
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires
-- VK_KHR_shader_float_controls
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-04-01
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Requires SPIR-V 1.4.
- Promoted to Vulkan 1.2
-- Core
-- - Contributors
- Alexander Galazin,
-- Arm
- David Neto, Google
- Jesse Hall, Google
- John
-- Kessenich, Google
- Neil Henning, AMD
- Tom Olson,
-- Arm
--
--
-- Description
--
-- This extension allows the use of SPIR-V 1.4 shader modules. SPIR-V
-- 1.4’s new features primarily make it an easier target for compilers
-- from high-level languages, rather than exposing new hardware
-- functionality.
--
-- SPIR-V 1.4 incorporates features that are also available separately as
-- extensions. SPIR-V 1.4 shader modules do not need to enable those
-- extensions with the OpExtension opcode, since they are
-- integral parts of SPIR-V 1.4.
--
-- SPIR-V 1.4 introduces new floating point execution mode capabilities,
-- also available via SPV_KHR_float_controls. Implementations
-- are not required to support all of these new capabilities; support can
-- be queried using PhysicalDeviceFloatControlsPropertiesKHR from
-- the VK_KHR_shader_float_controls extension.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Should we have an extension specific to this SPIR-V version, or
-- add a version-generic query for SPIR-V version? SPIR-V 1.4 does not
-- need any other API changes.
--
--
-- RESOLVED: Just expose SPIR-V 1.4.
--
-- Most new SPIR-V versions introduce optionally-required capabilities or
-- have implementation-defined limits, and would need more API and
-- specification changes specific to that version to make them available
-- in Vulkan. For example, to support the subgroup capabilities added in
-- SPIR-V 1.3 required introducing
-- PhysicalDeviceSubgroupProperties to allow querying the
-- supported group operation categories, maximum supported subgroup size,
-- etc. While we could expose the parts of a new SPIR-V version that do
-- not need accompanying changes generically, we will still end up
-- writing extensions specific to each version for the remaining parts.
-- Thus the generic mechanism will not reduce future spec-writing effort.
-- In addition, making it clear which parts of a future version are
-- supported by the generic mechanism and which cannot be used without
-- specific support would be difficult to get right ahead of time.
--
--
-- - Can different stages of the same pipeline use shaders with
-- different SPIR-V versions?
--
--
-- RESOLVED: Yes.
--
-- Mixing SPIR-V versions 1.0-1.3 in the same pipeline has not been
-- disallowed, so it would be inconsistent to disallow mixing 1.4 with
-- previous versions.. SPIR-V 1.4 does not introduce anything that should
-- cause new difficulties here.
--
--
-- - Must Vulkan extensions corresponding to SPIR-V extensions that
-- were promoted to core in 1.4 be enabled in order to use that
-- functionality in a SPIR-V 1.4 module?
--
--
-- RESOLVED: No, with caveats.
--
-- The SPIR-V 1.4 module does not need to declare the SPIR-V extensions,
-- since the functionality is now part of core, so there is no need to
-- enable the Vulkan extension that allows SPIR-V modules to declare the
-- SPIR-V extension. However, when the functionality that is now core in
-- SPIR-V 1.4 is optionally supported, the query for support is provided
-- by a Vulkan extension, and that query can only be used if the
-- extension is enabled.
--
-- This applies to any SPIR-V version; specifically for SPIR-V 1.4 this
-- only applies to the functionality from
-- SPV_KHR_float_controls, which was made available in Vulkan by
-- VK_KHR_shader_float_controls. Even though the extension was
-- promoted in SPIR-V 1.4, the capabilities are still optional in
-- implementations that support VK_KHR_spirv_1_4.
--
-- A SPIR-V 1.4 module does not need to enable
-- SPV_KHR_float_controls in order to use the capabilities, so
-- if the application has a priori knowledge that the
-- implementation supports the capabilities, it does not need to enable
-- VK_KHR_shader_float_controls. However, if it does not have
-- this knowledge and has to query for support at runtime, it must enable
-- VK_KHR_shader_float_controls in order to use
-- PhysicalDeviceFloatControlsPropertiesKHR.
--
-- Version History
--
--
-- - Revision 1, 2019-04-01 (Jesse Hall)
- Internal draft
-- versions
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_spirv_1_4
type KHR_SPIRV_1_4_SPEC_VERSION = 1
pattern KHR_SPIRV_1_4_SPEC_VERSION :: forall a. Integral a => a
type KHR_SPIRV_1_4_EXTENSION_NAME = "VK_KHR_spirv_1_4"
pattern KHR_SPIRV_1_4_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_KHR_storage_buffer_storage_class - device extension
--
-- VK_KHR_storage_buffer_storage_class
--
--
-- - Name String
-- VK_KHR_storage_buffer_storage_class
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 132
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Alexander Galazin,
-- ARM
- David Neto, Google
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- This extension provides a new SPIR-V StorageBuffer storage
-- class. A Block-decorated object in this class is equivalent
-- to a BufferBlock-decorated object in the Uniform
-- storage class.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-23 (Alexander Galazin)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_storage_buffer_storage_class
type KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1
pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION :: forall a. Integral a => a
type KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class"
pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_fill_rectangle - device extension
--
-- VK_NV_fill_rectangle
--
--
-- - Name String VK_NV_fill_rectangle
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 154
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-22
--
--
--
--
-- Description
--
-- This extension adds a new PolygonMode enum where a
-- triangle is rasterized by computing and filling its axis-aligned
-- screen-space bounding box, disregarding the actual triangle edges.
-- This can be useful for drawing a rectangle without being split into
-- two triangles with an internal edge. It is also useful to minimize the
-- number of primitives that need to be drawn, particularly for a user
-- interface.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-05-22 (Jeff Bolz)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_fill_rectangle
type NV_FILL_RECTANGLE_SPEC_VERSION = 1
pattern NV_FILL_RECTANGLE_SPEC_VERSION :: forall a. Integral a => a
type NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle"
pattern NV_FILL_RECTANGLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_geometry_shader_passthrough - device extension
--
-- VK_NV_geometry_shader_passthrough
--
--
-- - Name String
-- VK_NV_geometry_shader_passthrough
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 96
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-15
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Piers Daniell,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- Geometry shaders provide the ability for applications to process each
-- primitive sent through the graphics pipeline using a programmable
-- shader. However, one common use case treats them largely as a
-- “passthrough”. In this use case, the bulk of the geometry shader code
-- simply copies inputs from each vertex of the input primitive to
-- corresponding outputs in the vertices of the output primitive. Such
-- shaders might also compute values for additional built-in or
-- user-defined per-primitive attributes (e.g., Layer) to be
-- assigned to all the vertices of the output primitive.
--
-- This extension provides access to the PassthroughNV
-- decoration under the GeometryShaderPassthroughNV capability.
-- Adding this to a geometry shader input variable specifies that the
-- values of this input are copied to the corresponding vertex of the
-- output primitive.
--
-- When using GLSL source-based shading languages, the
-- passthrough layout qualifier from
-- GL_NV_geometry_shader_passthrough maps to the
-- PassthroughNV decoration. To use the passthrough
-- layout, in GLSL the GL_NV_geometry_shader_passthrough
-- extension must be enabled. Behaviour is described in the
-- GL_NV_geometry_shader_passthrough extension specification.
--
-- New Enum Constants
--
--
--
--
--
-- New Variable Decoration
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
-- 1) Should we require or allow a passthrough geometry shader to specify
-- the output layout qualifiers for the output primitive type and maximum
-- vertex count in the SPIR-V?
--
-- RESOLVED: Yes they should be required in the SPIR-V. Per
-- GL_NV_geometry_shader_passthrough they are not permitted in the GLSL
-- source shader, but SPIR-V is lower-level. It is straightforward for
-- the GLSL compiler to infer them from the input primitive type and to
-- explicitly emit them in the SPIR-V according to the following table.
--
-- TODO: table
--
-- 2) How does interface matching work with passthrough geometry shaders?
--
-- RESOLVED: This is described in Passthrough Interface
-- Matching. In GL when using passthough geometry shaders in
-- separable mode, all inputs must also be explicitly assigned location
-- layout qualifiers. In Vulkan all SPIR-V shader inputs (except
-- built-ins) must also have location decorations specified.
-- Redeclarations of built-in varables that add the passthrough layout
-- qualifier are exempted from the rule requiring location assignment
-- because built-in variables do not have locations and are matched by
-- BuiltIn decoration.
--
-- Sample Code
--
-- Consider the following simple geometry shader in unextended GLSL:
--
--
-- layout(triangles) in;
-- layout(triangle_strip) out;
-- layout(max_vertices=3) out;
--
-- in Inputs {
-- vec2 texcoord;
-- vec4 baseColor;
-- } v_in[];
-- out Outputs {
-- vec2 texcoord;
-- vec4 baseColor;
-- };
--
-- void main()
-- {
-- int layer = compute_layer();
-- for (int i = 0; i < 3; i++) {
-- gl_Position = gl_in[i].gl_Position;
-- texcoord = v_in[i].texcoord;
-- baseColor = v_in[i].baseColor;
-- gl_Layer = layer;
-- EmitVertex();
-- }
-- }
--
--
-- In this shader, the inputs gl_Position,
-- Inputs.texcoord, and Inputs.baseColor are simply
-- copied from the input vertex to the corresponding output vertex. The
-- only “interesting” work done by the geometry shader is computing and
-- emitting a gl_Layer value for the primitive.
--
-- The following geometry shader, using this extension, is equivalent:
--
--
-- #extension GL_NV_geometry_shader_passthrough : require
--
-- layout(triangles) in;
-- // No output primitive layout qualifiers required.
--
-- // Redeclare gl_PerVertex to pass through "gl_Position".
-- layout(passthrough) in gl_PerVertex {
-- vec4 gl_Position;
-- } gl_in[];
--
-- // Declare "Inputs" with "passthrough" to automatically copy members.
-- layout(passthrough) in Inputs {
-- vec2 texcoord;
-- vec4 baseColor;
-- } v_in[];
--
-- // No output block declaration required.
--
-- void main()
-- {
-- // The shader simply computes and writes gl_Layer. We do not
-- // loop over three vertices or call EmitVertex().
-- gl_Layer = compute_layer();
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-15 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_geometry_shader_passthrough
type NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1
pattern NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION :: forall a. Integral a => a
type NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough"
pattern NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_glsl_shader - device extension
--
-- VK_NV_glsl_shader
--
--
-- - Name String VK_NV_glsl_shader
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 13
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated without
-- replacement
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-02-14
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension allows GLSL shaders written to the
-- GL_KHR_vulkan_glsl extension specification to be used instead
-- of SPIR-V. The implementation will automatically detect whether the
-- shader is SPIR-V or GLSL, and compile it appropriately.
--
-- Deprecation
--
-- Functionality in this extension is outside of the scope of Vulkan and
-- is better served by a compiler library such as glslang. No new
-- implementations will support this extension, so applications
-- should not use it.
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- Example 1
--
-- Passing in GLSL code
--
--
-- char const vss[] =
-- "#version 450 core\n"
-- "layout(location = 0) in vec2 aVertex;\n"
-- "layout(location = 1) in vec4 aColor;\n"
-- "out vec4 vColor;\n"
-- "void main()\n"
-- "{\n"
-- " vColor = aColor;\n"
-- " gl_Position = vec4(aVertex, 0, 1);\n"
-- "}\n"
-- ;
-- VkShaderModuleCreateInfo vertexShaderInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO };
-- vertexShaderInfo.codeSize = sizeof vss;
-- vertexShaderInfo.pCode = vss;
-- VkShaderModule vertexShader;
-- vkCreateShaderModule(device, &vertexShaderInfo, 0, &vertexShader);
--
--
-- Version History
--
--
-- - Revision 1, 2016-02-14 (Piers Daniell)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_glsl_shader
type NV_GLSL_SHADER_SPEC_VERSION = 1
pattern NV_GLSL_SHADER_SPEC_VERSION :: forall a. Integral a => a
type NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader"
pattern NV_GLSL_SHADER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_sample_mask_override_coverage - device extension
--
-- VK_NV_sample_mask_override_coverage
--
--
-- - Name String
-- VK_NV_sample_mask_override_coverage
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 95
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-08
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- The extension provides access to the OverrideCoverageNV
-- decoration under the SampleMaskOverrideCoverageNV capability.
-- Adding this decoration to a variable with the SampleMask
-- builtin decoration allows the shader to modify the coverage mask and
-- affect which samples are used to process the fragment.
--
-- When using GLSL source-based shader languages, the
-- override_coverage layout qualifier from
-- GL_NV_sample_mask_override_coverage maps to the
-- OverrideCoverageNV decoration. To use the
-- override_coverage layout qualifier in GLSL the
-- GL_NV_sample_mask_override_coverage extension must be
-- enabled. Behavior is described in the
-- GL_NV_sample_mask_override_coverage extension spec.
--
-- New Enum Constants
--
--
--
--
--
-- New Variable Decoration
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-12-08 (Piers Daniell)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_sample_mask_override_coverage
type NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1
pattern NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION :: forall a. Integral a => a
type NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage"
pattern NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_shader_subgroup_partitioned - device extension
--
-- VK_NV_shader_subgroup_partitioned
--
--
-- - Name String
-- VK_NV_shader_subgroup_partitioned
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 199
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-03-17
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension enables support for a new class of group
-- operations on subgroups via the
-- GL_NV_shader_subgroup_partitioned GLSL extension and
-- SPV_NV_shader_subgroup_partitioned SPIR-V extension. Support
-- for these new operations is advertised via the
-- SUBGROUP_FEATURE_PARTITIONED_BIT_NV bit.
--
-- This extension requires Vulkan 1.1, for general subgroup support.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-03-17 (Jeff Bolz)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_shader_subgroup_partitioned
type NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1
pattern NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION :: forall a. Integral a => a
type NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME = "VK_NV_shader_subgroup_partitioned"
pattern NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_NV_viewport_array2 - device extension
--
-- VK_NV_viewport_array2
--
--
-- - Name String VK_NV_viewport_array2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 97
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-15
--
--
--
-- - Interactions and External Dependencies
- This
-- extension requires SPV_NV_viewport_array2
- This
-- extension provides API support for
-- GL_NV_viewport_array2
- This extension requires the
-- geometryShader and multiViewport
-- features.
- This extension interacts with the
-- tessellationShader feature.
-- - Contributors
- Piers Daniell,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
-- SPV_NV_viewport_array2
--
--
-- which allows a single primitive to be broadcast to multiple viewports
-- and/or multiple layers. A new shader built-in output
-- ViewportMaskNV is provided, which allows a single primitive
-- to be output to multiple viewports simultaneously. Also, a new SPIR-V
-- decoration is added to control whether the effective viewport index is
-- added into the variable decorated with the Layer built-in
-- decoration. These capabilities allow a single primitive to be output
-- to multiple layers simultaneously.
--
-- This extension allows variables decorated with the Layer and
-- ViewportIndex built-ins to be exported from vertex or
-- tessellation shaders, using the ShaderViewportIndexLayerNV
-- capability.
--
-- This extension adds a new ViewportMaskNV built-in decoration
-- that is available for output variables in vertex, tessellation
-- evaluation, and geometry shaders, and a new
-- ViewportRelativeNV decoration that can be added on variables
-- decorated with Layer when using the
-- ShaderViewportMaskNV capability.
--
-- When using GLSL source-based shading languages, the
-- gl_ViewportMask[] built-in output variable and
-- viewport_relative layout qualifier from
-- GL_NV_viewport_array2 map to the ViewportMaskNV and
-- ViewportRelativeNV decorations, respectively. Behaviour is
-- described in the GL_NV_viewport_array2 extension
-- specificiation.
--
-- Note
--
-- The ShaderViewportIndexLayerNV capability is equivalent to
-- the ShaderViewportIndexLayerEXT capability added by
-- VK_EXT_shader_viewport_index_layer.
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New Variable Decoration
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-15 (Daniel Koch)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_viewport_array2
pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION :: Integral a => a
pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: (Eq a, IsString a) => a
type NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1
pattern NV_VIEWPORT_ARRAY_2_SPEC_VERSION :: forall a. Integral a => a
type NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2"
pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_QCOM_render_pass_shader_resolve - device extension
--
-- VK_QCOM_render_pass_shader_resolve
--
--
-- - Name String
-- VK_QCOM_render_pass_shader_resolve
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 172
-- - Revision 4
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-11-07
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies None.
-- - Contributors
- Srihari Babu Alla,
-- Qualcomm
- Bill Licea-Kane, Qualcomm
- Jeff Leger,
-- Qualcomm
--
--
-- Description
--
-- This extension allows a shader resolve to replace fixed-function
-- resolve.
--
-- Fixed-function resolve is limited in function to simple filters of
-- multisample buffers to a single sample buffer.
--
-- Fixed-function resolve is more performance efficient and/or power
-- efficient than shader resolve for such simple filters.
--
-- Shader resolve allows a shader writer to create complex, non-linear
-- filtering of a multisample buffer in the last subpass of a subpass
-- dependency chain.
--
-- This extension also provides a bit which can be used to enlarge
-- a sample region dependency to a fragment region dependency, so that a
-- framebuffer-region dependency can replace a framebuffer-global
-- dependency in some cases.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this extension be named render_pass_shader_resolve?
--
-- RESOLVED Yes.
--
-- This is part of suite of small extensions to render pass.
--
-- Following the style guide, instead of following
-- VK_KHR_create_renderpass2.
--
-- 2) Should the VK_SAMPLE_COUNT_1_BIT be required for each
-- pColorAttachment and the DepthStencilAttachent?
--
-- RESOLVED No.
--
-- While this may not be a common use case, and while most fixed-function
-- resolve hardware has this limitation, there is little reason to
-- require a shader resolve to resolve to a single sample buffer.
--
-- 3) Should a shader resolve subpass be the last subpass in a render
-- pass?
--
-- RESOLVED Yes.
--
-- To be more specific, it should be the last subpass in a subpass
-- dependency chain.
--
-- 4) Do we need the SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
-- bit?
--
-- RESOLVED Yes.
--
-- This applies when an input attachment’s sample count is equal to
-- rasterizationSamples. Further, if sampleShading is
-- enabled (explicitly or implicitly) then minSampleShading
-- must equal 0.0.
--
-- However, this bit may be set on any subpass, it is not restricted to a
-- shader resolve subpass.
--
-- Version History
--
--
-- - Revision 1, 2019-06-28 (wwlk)
--
--
--
-- - Revision 2, 2019-11-06 (wwlk)
- General clean-up/spec
-- updates
- Added issues
-- - Revision 3, 2019-11-07 (wwlk)
- Typos
- Additional
-- issues
- Clarified that a shader resolve subpass is the last
-- subpass in a subpass dependency chain
-- - Revision 4, 2020-01-06 (wwlk)
- Change resolution of Issue 1
-- (render_pass, not renderpass)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
type QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION = 4
pattern QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION :: forall a. Integral a => a
type QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME = "VK_QCOM_render_pass_shader_resolve"
pattern QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Internal.Utils
-- | The common bits of enumeration and bitmask read instances
enumReadPrec :: Read i => String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
-- | The common bits of enumeration and bitmask show instances
enumShowsPrec :: Eq a => String -> [(a, String)] -> String -> (a -> i) -> (i -> ShowS) -> Int -> a -> ShowS
-- | Wrap an IO action with a pair of traceEventIO using the
-- specified message with "begin" or "end" appended.
traceAroundEvent :: String -> IO a -> IO a
module Vulkan.NamedType
-- | Annotate a type with a name
type (name :: k) ::: a = a
module Vulkan.Version
pattern HEADER_VERSION :: Word32
pattern HEADER_VERSION_COMPLETE :: Word32
pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
-- | Deprecated: This pattern is deprecated. MAKE_API_VERSION should be
-- used instead.
pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
-- | Deprecated: This function is deprecated. _API_VERSION_MAJOR should
-- be used instead.
_VERSION_MAJOR :: Word32 -> Word32
-- | Deprecated: This function is deprecated. _API_VERSION_MINOR should
-- be used instead.
_VERSION_MINOR :: Word32 -> Word32
-- | Deprecated: This function is deprecated. _API_VERSION_PATCH should
-- be used instead.
_VERSION_PATCH :: Word32 -> Word32
_API_VERSION_MAJOR :: Word32 -> Word32
_API_VERSION_MINOR :: Word32 -> Word32
_API_VERSION_PATCH :: Word32 -> Word32
module Vulkan.Zero
-- | A class for initializing things with all zero data
--
-- Any instance should satisfy the following law:
--
-- new zero = calloc or with zero = withZeroCStruct
--
-- i.e. Marshaling zero to memory yeilds only zero-valued bytes,
-- except for structs which require a "type" tag
class Zero a
zero :: Zero a => a
instance Vulkan.Zero.Zero GHC.Types.Bool
instance Vulkan.Zero.Zero (GHC.Ptr.FunPtr a)
instance Vulkan.Zero.Zero (GHC.Ptr.Ptr a)
instance Vulkan.Zero.Zero GHC.Int.Int8
instance Vulkan.Zero.Zero GHC.Int.Int16
instance Vulkan.Zero.Zero GHC.Int.Int32
instance Vulkan.Zero.Zero GHC.Int.Int64
instance Vulkan.Zero.Zero GHC.Word.Word8
instance Vulkan.Zero.Zero GHC.Word.Word16
instance Vulkan.Zero.Zero GHC.Word.Word32
instance Vulkan.Zero.Zero GHC.Word.Word64
instance Vulkan.Zero.Zero GHC.Types.Float
instance Vulkan.Zero.Zero Foreign.C.Types.CFloat
instance Vulkan.Zero.Zero Foreign.C.Types.CChar
instance Vulkan.Zero.Zero Foreign.C.Types.CSize
instance Vulkan.Zero.Zero Foreign.C.Types.CInt
module Vulkan.Core12.Enums.ShaderFloatControlsIndependence
-- | VkShaderFloatControlsIndependence - Bitmask specifying whether, and
-- how, shader float controls can be set separately
--
-- See Also
--
-- VK_KHR_shader_float_controls, VK_VERSION_1_2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceVulkan12Properties
newtype ShaderFloatControlsIndependence
ShaderFloatControlsIndependence :: Int32 -> ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY specifies that
-- shader float controls for 32-bit floating point can be set
-- independently; other bit widths must be set identically to each
-- other.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL specifies that shader
-- float controls for all bit widths can be set independently.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE specifies that shader
-- float controls for all bit widths must be set identically.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: ShaderFloatControlsIndependence
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
instance Foreign.Storable.Storable Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
instance GHC.Classes.Ord Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
instance GHC.Classes.Eq Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
instance GHC.Show.Show Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
instance GHC.Read.Read Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence
module Vulkan.Core12.Enums.SemaphoreType
-- | VkSemaphoreType - Sepcifies the type of a semaphore object
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- SemaphoreTypeCreateInfo
newtype SemaphoreType
SemaphoreType :: Int32 -> SemaphoreType
-- | SEMAPHORE_TYPE_BINARY specifies a binary semaphore type
-- that has a boolean payload indicating whether the semaphore is
-- currently signaled or unsignaled. When created, the semaphore is in
-- the unsignaled state.
pattern SEMAPHORE_TYPE_BINARY :: SemaphoreType
-- | SEMAPHORE_TYPE_TIMELINE specifies a timeline semaphore
-- type that has a strictly increasing 64-bit unsigned integer payload
-- indicating whether the semaphore is signaled with respect to a
-- particular reference value. When created, the semaphore payload has
-- the value given by the initialValue field of
-- SemaphoreTypeCreateInfo.
pattern SEMAPHORE_TYPE_TIMELINE :: SemaphoreType
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
instance Foreign.Storable.Storable Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
instance GHC.Classes.Ord Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
instance GHC.Classes.Eq Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
instance GHC.Show.Show Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
instance GHC.Read.Read Vulkan.Core12.Enums.SemaphoreType.SemaphoreType
module Vulkan.Core12.Enums.SamplerReductionMode
-- | VkSamplerReductionMode - Specify reduction mode for texture filtering
--
-- See Also
--
-- VK_EXT_sampler_filter_minmax, VK_VERSION_1_2,
-- SamplerReductionModeCreateInfo
newtype SamplerReductionMode
SamplerReductionMode :: Int32 -> SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE specifies that texel
-- values are combined by computing a weighted average of values in the
-- footprint, using weights as specified in the image operations
-- chapter.
pattern SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_MIN specifies that texel values are
-- combined by taking the component-wise minimum of values in the
-- footprint with non-zero weights.
pattern SAMPLER_REDUCTION_MODE_MIN :: SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_MAX specifies that texel values are
-- combined by taking the component-wise maximum of values in the
-- footprint with non-zero weights.
pattern SAMPLER_REDUCTION_MODE_MAX :: SamplerReductionMode
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
instance Foreign.Storable.Storable Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
instance GHC.Classes.Ord Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
instance GHC.Classes.Eq Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
instance GHC.Show.Show Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
instance GHC.Read.Read Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode
module Vulkan.Core12.Enums.DriverId
-- | VkDriverId - Khronos driver IDs
--
-- Description
--
-- Note
--
-- Khronos driver IDs may be allocated by vendors at any time. There may
-- be multiple driver IDs for the same vendor, representing different
-- drivers (for e.g. different platforms, proprietary or open source,
-- etc.). Only the latest canonical versions of this Specification, of
-- the corresponding vk.xml API Registry, and of the
-- corresponding vulkan_core.h header file must contain
-- all reserved Khronos driver IDs.
--
-- Only driver IDs registered with Khronos are given symbolic names.
-- There may be unregistered driver IDs returned.
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceVulkan12Properties
newtype DriverId
DriverId :: Int32 -> DriverId
pattern DRIVER_ID_AMD_PROPRIETARY :: DriverId
pattern DRIVER_ID_AMD_OPEN_SOURCE :: DriverId
pattern DRIVER_ID_MESA_RADV :: DriverId
pattern DRIVER_ID_NVIDIA_PROPRIETARY :: DriverId
pattern DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: DriverId
pattern DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: DriverId
pattern DRIVER_ID_IMAGINATION_PROPRIETARY :: DriverId
pattern DRIVER_ID_QUALCOMM_PROPRIETARY :: DriverId
pattern DRIVER_ID_ARM_PROPRIETARY :: DriverId
pattern DRIVER_ID_GOOGLE_SWIFTSHADER :: DriverId
pattern DRIVER_ID_GGP_PROPRIETARY :: DriverId
pattern DRIVER_ID_BROADCOM_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_LLVMPIPE :: DriverId
pattern DRIVER_ID_MOLTENVK :: DriverId
pattern DRIVER_ID_COREAVI_PROPRIETARY :: DriverId
pattern DRIVER_ID_JUICE_PROPRIETARY :: DriverId
pattern DRIVER_ID_VERISILICON_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_TURNIP :: DriverId
pattern DRIVER_ID_MESA_V3DV :: DriverId
pattern DRIVER_ID_MESA_PANVK :: DriverId
pattern DRIVER_ID_SAMSUNG_PROPRIETARY :: DriverId
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.DriverId.DriverId
instance Foreign.Storable.Storable Vulkan.Core12.Enums.DriverId.DriverId
instance GHC.Classes.Ord Vulkan.Core12.Enums.DriverId.DriverId
instance GHC.Classes.Eq Vulkan.Core12.Enums.DriverId.DriverId
instance GHC.Show.Show Vulkan.Core12.Enums.DriverId.DriverId
instance GHC.Read.Read Vulkan.Core12.Enums.DriverId.DriverId
module Vulkan.Core11.Enums.TessellationDomainOrigin
-- | VkTessellationDomainOrigin - Enum describing tessellation domain
-- origin
--
-- Description
--
-- This enum affects how the VertexOrderCw and
-- VertexOrderCcw tessellation execution modes are interpreted,
-- since the winding is defined relative to the orientation of the
-- domain.
--
-- See Also
--
-- VK_VERSION_1_1,
-- PipelineTessellationDomainOriginStateCreateInfo
newtype TessellationDomainOrigin
TessellationDomainOrigin :: Int32 -> TessellationDomainOrigin
-- | TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT specifies that the origin
-- of the domain space is in the upper left corner, as shown in figure
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#img-tessellation-topology-ul.
pattern TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT :: TessellationDomainOrigin
-- | TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT specifies that the origin
-- of the domain space is in the lower left corner, as shown in figure
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#img-tessellation-topology-ll.
pattern TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT :: TessellationDomainOrigin
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
instance Foreign.Storable.Storable Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
instance GHC.Classes.Ord Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
instance GHC.Classes.Eq Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
instance GHC.Show.Show Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
instance GHC.Read.Read Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin
module Vulkan.Core11.Enums.SamplerYcbcrRange
-- | VkSamplerYcbcrRange - Range of encoded values in a color space
--
-- Description
--
-- The formulae for these conversions is described in the Sampler
-- Y′CBCR Range Expansion section of the Image Operations
-- chapter.
--
-- No range modification takes place if ycbcrModel is
-- SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; the
-- ycbcrRange field of SamplerYcbcrConversionCreateInfo
-- is ignored in this case.
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype SamplerYcbcrRange
SamplerYcbcrRange :: Int32 -> SamplerYcbcrRange
-- | SAMPLER_YCBCR_RANGE_ITU_FULL specifies that the full range of
-- the encoded values are valid and interpreted according to the ITU
-- “full range” quantization rules.
pattern SAMPLER_YCBCR_RANGE_ITU_FULL :: SamplerYcbcrRange
-- | SAMPLER_YCBCR_RANGE_ITU_NARROW specifies that headroom and foot
-- room are reserved in the numerical range of encoded values, and the
-- remaining values are expanded according to the ITU “narrow range”
-- quantization rules.
pattern SAMPLER_YCBCR_RANGE_ITU_NARROW :: SamplerYcbcrRange
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
instance Foreign.Storable.Storable Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
instance GHC.Classes.Ord Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
instance GHC.Classes.Eq Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
instance GHC.Show.Show Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
instance GHC.Read.Read Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange
module Vulkan.Core11.Enums.SamplerYcbcrModelConversion
-- | VkSamplerYcbcrModelConversion - Color model component of a color space
--
-- Description
--
--
--
--
--
-- In the VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_* color
-- models, for the input to the sampler Y′CBCR range expansion and model
-- conversion:
--
--
-- - the Y (Y′ luma) component corresponds to the G component of an RGB
-- image.
-- - the CB (CB or “U” blue color difference) component corresponds to
-- the B component of an RGB image.
-- - the CR (CR or “V” red color difference) component corresponds to
-- the R component of an RGB image.
-- - the alpha component, if present, is not modified by color model
-- conversion.
--
--
-- These rules reflect the mapping of components after the component
-- swizzle operation (controlled by
-- SamplerYcbcrConversionCreateInfo::components).
--
-- Note
--
-- For example, an “YUVA” 32-bit format comprising four 8-bit components
-- can be implemented as FORMAT_R8G8B8A8_UNORM with a component
-- mapping:
--
--
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype SamplerYcbcrModelConversion
SamplerYcbcrModelConversion :: Int32 -> SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: SamplerYcbcrModelConversion
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
instance Foreign.Storable.Storable Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
instance GHC.Classes.Ord Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
instance GHC.Classes.Eq Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
instance GHC.Show.Show Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
instance GHC.Read.Read Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion
module Vulkan.Core11.Enums.PointClippingBehavior
-- | VkPointClippingBehavior - Enum specifying the point clipping behavior
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevicePointClippingProperties,
-- PhysicalDeviceVulkan11Properties
newtype PointClippingBehavior
PointClippingBehavior :: Int32 -> PointClippingBehavior
-- | POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES specifies that the
-- primitive is discarded if the vertex lies outside any clip plane,
-- including the planes bounding the view volume.
pattern POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: PointClippingBehavior
-- | POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY specifies that
-- the primitive is discarded only if the vertex lies outside any user
-- clip plane.
pattern POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: PointClippingBehavior
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
instance Foreign.Storable.Storable Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
instance GHC.Classes.Ord Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
instance GHC.Classes.Eq Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
instance GHC.Show.Show Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
instance GHC.Read.Read Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior
module Vulkan.Core11.Enums.DescriptorUpdateTemplateType
-- | VkDescriptorUpdateTemplateType - Indicates the valid usage of the
-- descriptor update template
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorUpdateTemplateCreateInfo
newtype DescriptorUpdateTemplateType
DescriptorUpdateTemplateType :: Int32 -> DescriptorUpdateTemplateType
-- | DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET specifies that
-- the descriptor update template will be used for descriptor set updates
-- only.
pattern DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: DescriptorUpdateTemplateType
-- | DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR specifies
-- that the descriptor update template will be used for push descriptor
-- updates only.
pattern DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR :: DescriptorUpdateTemplateType
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
instance Foreign.Storable.Storable Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
instance GHC.Classes.Ord Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
instance GHC.Classes.Eq Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
instance GHC.Show.Show Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
instance GHC.Read.Read Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DescriptorUpdateTemplateType
module Vulkan.Core11.Enums.ChromaLocation
-- | VkChromaLocation - Position of downsampled chroma samples
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype ChromaLocation
ChromaLocation :: Int32 -> ChromaLocation
-- | CHROMA_LOCATION_COSITED_EVEN specifies that downsampled chroma
-- samples are aligned with luma samples with even coordinates.
pattern CHROMA_LOCATION_COSITED_EVEN :: ChromaLocation
-- | CHROMA_LOCATION_MIDPOINT specifies that downsampled chroma
-- samples are located half way between each even luma sample and the
-- nearest higher odd luma sample.
pattern CHROMA_LOCATION_MIDPOINT :: ChromaLocation
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
instance GHC.Classes.Ord Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
instance GHC.Classes.Eq Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
instance GHC.Show.Show Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
instance GHC.Read.Read Vulkan.Core11.Enums.ChromaLocation.ChromaLocation
module Vulkan.Core10.Enums.VertexInputRate
-- | VkVertexInputRate - Specify rate at which vertex attributes are pulled
-- from buffers
--
-- See Also
--
-- VK_VERSION_1_0, VertexInputBindingDescription,
-- VertexInputBindingDescription2EXT
newtype VertexInputRate
VertexInputRate :: Int32 -> VertexInputRate
-- | VERTEX_INPUT_RATE_VERTEX specifies that vertex attribute
-- addressing is a function of the vertex index.
pattern VERTEX_INPUT_RATE_VERTEX :: VertexInputRate
-- | VERTEX_INPUT_RATE_INSTANCE specifies that vertex attribute
-- addressing is a function of the instance index.
pattern VERTEX_INPUT_RATE_INSTANCE :: VertexInputRate
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
instance Foreign.Storable.Storable Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
instance GHC.Classes.Ord Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
instance GHC.Classes.Eq Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
instance GHC.Show.Show Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
instance GHC.Read.Read Vulkan.Core10.Enums.VertexInputRate.VertexInputRate
module Vulkan.Core10.Enums.VendorId
-- | VkVendorId - Khronos vendor IDs
--
-- Description
--
-- Note
--
-- Khronos vendor IDs may be allocated by vendors at any time. Only the
-- latest canonical versions of this Specification, of the corresponding
-- vk.xml API Registry, and of the corresponding
-- vulkan_core.h header file must contain all reserved
-- Khronos vendor IDs.
--
-- Only Khronos vendor IDs are given symbolic names at present. PCI
-- vendor IDs returned by the implementation can be looked up in the
-- PCI-SIG database.
--
-- See Also
--
-- VK_VERSION_1_0
newtype VendorId
VendorId :: Int32 -> VendorId
pattern VENDOR_ID_VIV :: VendorId
pattern VENDOR_ID_VSI :: VendorId
pattern VENDOR_ID_KAZAN :: VendorId
pattern VENDOR_ID_CODEPLAY :: VendorId
pattern VENDOR_ID_MESA :: VendorId
pattern VENDOR_ID_POCL :: VendorId
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.VendorId.VendorId
instance Foreign.Storable.Storable Vulkan.Core10.Enums.VendorId.VendorId
instance GHC.Classes.Ord Vulkan.Core10.Enums.VendorId.VendorId
instance GHC.Classes.Eq Vulkan.Core10.Enums.VendorId.VendorId
instance GHC.Show.Show Vulkan.Core10.Enums.VendorId.VendorId
instance GHC.Read.Read Vulkan.Core10.Enums.VendorId.VendorId
module Vulkan.Core10.Enums.SystemAllocationScope
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
newtype SystemAllocationScope
SystemAllocationScope :: Int32 -> SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_COMMAND :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_OBJECT :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_CACHE :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_DEVICE :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_INSTANCE :: SystemAllocationScope
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
instance GHC.Classes.Ord Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
instance GHC.Classes.Eq Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
instance GHC.Show.Show Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
instance GHC.Read.Read Vulkan.Core10.Enums.SystemAllocationScope.SystemAllocationScope
module Vulkan.Core10.Enums.SubpassContents
-- | VkSubpassContents - Specify how commands in the first subpass of a
-- render pass are provided
--
-- See Also
--
-- VK_VERSION_1_0, SubpassBeginInfo,
-- cmdBeginRenderPass, cmdNextSubpass
newtype SubpassContents
SubpassContents :: Int32 -> SubpassContents
-- | SUBPASS_CONTENTS_INLINE specifies that the contents of the
-- subpass will be recorded inline in the primary command buffer, and
-- secondary command buffers must not be executed within the
-- subpass.
pattern SUBPASS_CONTENTS_INLINE :: SubpassContents
-- | SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS specifies that the
-- contents are recorded in secondary command buffers that will be called
-- from the primary command buffer, and cmdExecuteCommands is the
-- only valid command on the command buffer until cmdNextSubpass
-- or cmdEndRenderPass.
pattern SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: SubpassContents
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SubpassContents.SubpassContents
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SubpassContents.SubpassContents
instance GHC.Classes.Ord Vulkan.Core10.Enums.SubpassContents.SubpassContents
instance GHC.Classes.Eq Vulkan.Core10.Enums.SubpassContents.SubpassContents
instance GHC.Show.Show Vulkan.Core10.Enums.SubpassContents.SubpassContents
instance GHC.Read.Read Vulkan.Core10.Enums.SubpassContents.SubpassContents
module Vulkan.Core10.Enums.StructureType
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
pattern STRUCTURE_TYPE_APPLICATION_INFO :: StructureType
pattern STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_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_BUFFER_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_BUFFER_VIEW_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_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: StructureType
pattern STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_BEGIN_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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.StructureType.StructureType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.StructureType.StructureType
instance GHC.Classes.Ord Vulkan.Core10.Enums.StructureType.StructureType
instance GHC.Classes.Eq Vulkan.Core10.Enums.StructureType.StructureType
instance GHC.Show.Show Vulkan.Core10.Enums.StructureType.StructureType
instance GHC.Read.Read Vulkan.Core10.Enums.StructureType.StructureType
-- | Name
--
-- VK_GGP_frame_token - device extension
--
-- VK_GGP_frame_token
--
--
-- - Name String VK_GGP_frame_token
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 192
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_GGP_stream_descriptor_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jean-Francois Roy,
-- Google
- Richard O’Grady, Google
--
--
-- Description
--
-- This extension allows an application that uses the
-- VK_KHR_swapchain extension in combination with a Google Games
-- Platform surface provided by the
-- VK_GGP_stream_descriptor_surface extension to associate a
-- Google Games Platform frame token with a present operation.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-11-26 (Jean-Francois Roy)
--
--
-- See Also
--
-- PresentFrameTokenGGP
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GGP_frame_token
-- | VkPresentFrameTokenGGP - The Google Games Platform frame token
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_GGP_frame_token, StructureType
data PresentFrameTokenGGP
PresentFrameTokenGGP :: GgpFrameToken -> PresentFrameTokenGGP
-- | frameToken is the Google Games Platform frame token.
--
-- frameToken must be a valid GgpFrameToken
[$sel:frameToken:PresentFrameTokenGGP] :: PresentFrameTokenGGP -> GgpFrameToken
type GGP_FRAME_TOKEN_SPEC_VERSION = 1
pattern GGP_FRAME_TOKEN_SPEC_VERSION :: forall a. Integral a => a
type GGP_FRAME_TOKEN_EXTENSION_NAME = "VK_GGP_frame_token"
pattern GGP_FRAME_TOKEN_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type GgpFrameToken = Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
instance GHC.Show.Show Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GGP_frame_token.PresentFrameTokenGGP
-- | Name
--
-- VK_EXT_validation_flags - instance extension
--
-- VK_EXT_validation_flags
--
--
-- - Name String VK_EXT_validation_flags
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 62
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_EXT_validation_features extension
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-08-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Tobin Ehlis,
-- Google
- Courtney Goeltzenleuchter, Google
--
--
-- Description
--
-- This extension provides the ValidationFlagsEXT struct that can
-- be included in the pNext chain of the
-- InstanceCreateInfo structure passed as the pCreateInfo
-- parameter of createInstance. The structure contains an array of
-- ValidationCheckEXT values that will be disabled by the
-- validation layers.
--
-- Deprecation by VK_EXT_validation_features
--
-- Functionality in this extension is subsumed into the
-- VK_EXT_validation_features extension.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2019-08-19 (Mark Lobodzinski)
--
--
--
-- - Revision 1, 2016-08-26 (Courtney Goeltzenleuchter)
--
--
-- See Also
--
-- ValidationCheckEXT, ValidationFlagsEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_validation_flags
-- | VkValidationFlagsEXT - Specify validation checks to disable for a
-- Vulkan instance
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_validation_flags, StructureType,
-- ValidationCheckEXT
data ValidationFlagsEXT
ValidationFlagsEXT :: Vector ValidationCheckEXT -> ValidationFlagsEXT
-- | pDisabledValidationChecks is a pointer to an array of
-- ValidationCheckEXT values specifying the validation checks to
-- be disabled.
--
-- pDisabledValidationChecks must be a valid pointer to
-- an array of disabledValidationCheckCount valid
-- ValidationCheckEXT values
[$sel:disabledValidationChecks:ValidationFlagsEXT] :: ValidationFlagsEXT -> Vector ValidationCheckEXT
-- | VkValidationCheckEXT - Specify validation checks to disable
--
-- See Also
--
-- VK_EXT_validation_flags, ValidationFlagsEXT
newtype ValidationCheckEXT
ValidationCheckEXT :: Int32 -> ValidationCheckEXT
-- | VALIDATION_CHECK_ALL_EXT specifies that all validation checks
-- are disabled.
pattern VALIDATION_CHECK_ALL_EXT :: ValidationCheckEXT
-- | VALIDATION_CHECK_SHADERS_EXT specifies that shader validation
-- is disabled.
pattern VALIDATION_CHECK_SHADERS_EXT :: ValidationCheckEXT
type EXT_VALIDATION_FLAGS_SPEC_VERSION = 2
pattern EXT_VALIDATION_FLAGS_SPEC_VERSION :: forall a. Integral a => a
type EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags"
pattern EXT_VALIDATION_FLAGS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_flags.ValidationFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_validation_flags.ValidationFlagsEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_validation_flags.ValidationFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_flags.ValidationFlagsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_validation_flags.ValidationCheckEXT
-- | Name
--
-- VK_EXT_validation_features - instance extension
--
-- VK_EXT_validation_features
--
--
-- - Name String VK_EXT_validation_features
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 248
-- - Revision 5
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-11-14
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Karl Schultz,
-- LunarG
- Dave Houlton, LunarG
- Mark Lobodzinski,
-- LunarG
- Camden Stocker, LunarG
- Tony Barbour,
-- LunarG
- John Zulauf, LunarG
--
--
-- Description
--
-- This extension provides the ValidationFeaturesEXT struct that
-- can be included in the pNext chain of the
-- InstanceCreateInfo structure passed as the pCreateInfo
-- parameter of createInstance. The structure contains an array of
-- ValidationFeatureEnableEXT enum values that enable specific
-- validation features that are disabled by default. The structure also
-- contains an array of ValidationFeatureDisableEXT enum values
-- that disable specific validation layer features that are enabled by
-- default.
--
-- Note
--
-- The VK_EXT_validation_features extension subsumes all the
-- functionality provided in the VK_EXT_validation_flags
-- extension.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-11-14 (Karl Schultz)
--
--
--
-- - Revision 2, 2019-08-06 (Mark Lobodzinski)
- Add Best
-- Practices enable
-- - Revision 3, 2020-03-04 (Tony Barbour)
- Add Debug Printf
-- enable
-- - Revision 4, 2020-07-29 (John Zulauf)
- Add Synchronization
-- Validation enable
-- - Revision 5, 2021-05-18 (Tony Barbour)
- Add Shader Validation
-- Cache disable
--
--
-- See Also
--
-- ValidationFeatureDisableEXT, ValidationFeatureEnableEXT,
-- ValidationFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_validation_features
-- | VkValidationFeaturesEXT - Specify validation features to enable or
-- disable for a Vulkan instance
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If enabledValidationFeatureCount is not 0,
-- pEnabledValidationFeatures must be a valid pointer to
-- an array of enabledValidationFeatureCount valid
-- ValidationFeatureEnableEXT values
-- - If disabledValidationFeatureCount is not 0,
-- pDisabledValidationFeatures must be a valid pointer to
-- an array of disabledValidationFeatureCount valid
-- ValidationFeatureDisableEXT values
--
--
-- See Also
--
-- VK_EXT_validation_features, StructureType,
-- ValidationFeatureDisableEXT, ValidationFeatureEnableEXT
data ValidationFeaturesEXT
ValidationFeaturesEXT :: Vector ValidationFeatureEnableEXT -> Vector ValidationFeatureDisableEXT -> ValidationFeaturesEXT
-- | pEnabledValidationFeatures is a pointer to an array of
-- ValidationFeatureEnableEXT values specifying the validation
-- features to be enabled.
[$sel:enabledValidationFeatures:ValidationFeaturesEXT] :: ValidationFeaturesEXT -> Vector ValidationFeatureEnableEXT
-- | pDisabledValidationFeatures is a pointer to an array of
-- ValidationFeatureDisableEXT values specifying the validation
-- features to be disabled.
[$sel:disabledValidationFeatures:ValidationFeaturesEXT] :: ValidationFeaturesEXT -> Vector ValidationFeatureDisableEXT
-- | VkValidationFeatureEnableEXT - Specify validation features to enable
--
-- See Also
--
-- VK_EXT_validation_features, ValidationFeaturesEXT
newtype ValidationFeatureEnableEXT
ValidationFeatureEnableEXT :: Int32 -> ValidationFeatureEnableEXT
-- | VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT specifies that
-- GPU-assisted validation is enabled. Activating this feature
-- instruments shader programs to generate additional diagnostic data.
-- This feature is disabled by default.
pattern VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT :: ValidationFeatureEnableEXT
-- | VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT
-- specifies that the validation layers reserve a descriptor set binding
-- slot for their own use. The layer reports a value for
-- PhysicalDeviceLimits::maxBoundDescriptorSets that is
-- one less than the value reported by the device. If the device supports
-- the binding of only one descriptor set, the validation layer does not
-- perform GPU-assisted validation. This feature is disabled by default.
pattern VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT :: ValidationFeatureEnableEXT
-- | VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT specifies that
-- Vulkan best-practices validation is enabled. Activating this feature
-- enables the output of warnings related to common misuse of the API,
-- but which are not explicitly prohibited by the specification. This
-- feature is disabled by default.
pattern VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT :: ValidationFeatureEnableEXT
-- | VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT specifies that the
-- layers will process debugPrintfEXT operations in shaders and
-- send the resulting output to the debug callback. This feature is
-- disabled by default.
pattern VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT :: ValidationFeatureEnableEXT
-- | VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
-- specifies that Vulkan synchronization validation is enabled. This
-- feature reports resource access conflicts due to missing or incorrect
-- synchronization operations between actions (Draw, Copy, Dispatch,
-- Blit) reading or writing the same regions of memory. This feature is
-- disabled by default.
pattern VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT :: ValidationFeatureEnableEXT
-- | VkValidationFeatureDisableEXT - Specify validation features to disable
--
-- See Also
--
-- VK_EXT_validation_features, ValidationFeaturesEXT
newtype ValidationFeatureDisableEXT
ValidationFeatureDisableEXT :: Int32 -> ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_ALL_EXT specifies that all
-- validation checks are disabled.
pattern VALIDATION_FEATURE_DISABLE_ALL_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_SHADERS_EXT specifies that shader
-- validation is disabled. This feature is enabled by default.
pattern VALIDATION_FEATURE_DISABLE_SHADERS_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT specifies that
-- thread safety validation is disabled. This feature is enabled by
-- default.
pattern VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT specifies that
-- stateless parameter validation is disabled. This feature is enabled by
-- default.
pattern VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT specifies that
-- object lifetime validation is disabled. This feature is enabled by
-- default.
pattern VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT specifies that core
-- validation checks are disabled. This feature is enabled by default. If
-- this feature is disabled, the shader validation and GPU-assisted
-- validation features are also disabled.
pattern VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT specifies that
-- protection against duplicate non-dispatchable object handles is
-- disabled. This feature is enabled by default.
pattern VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT :: ValidationFeatureDisableEXT
-- | VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT
-- specifies that there will be no caching of shader validation results
-- and every shader will be validated on every application execution.
-- Shader validation caching is enabled by default.
pattern VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT :: ValidationFeatureDisableEXT
type EXT_VALIDATION_FEATURES_SPEC_VERSION = 5
pattern EXT_VALIDATION_FEATURES_SPEC_VERSION :: forall a. Integral a => a
type EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features"
pattern EXT_VALIDATION_FEATURES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_features.ValidationFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_validation_features.ValidationFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_validation_features.ValidationFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_features.ValidationFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureDisableEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_validation_features.ValidationFeatureEnableEXT
-- | Name
--
-- VK_EXT_pci_bus_info - device extension
--
-- VK_EXT_pci_bus_info
--
--
-- - Name String VK_EXT_pci_bus_info
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 213
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-10
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Daniel Rakos, AMD
--
--
-- Description
--
-- This extension adds a new query to obtain PCI bus information about a
-- physical device.
--
-- Not all physical devices have PCI bus information, either due to the
-- device not being connected to the system through a PCI interface or
-- due to platform specific restrictions and policies. Thus this
-- extension is only expected to be supported by physical devices which
-- can provide the information.
--
-- As a consequence, applications should always check for the presence of
-- the extension string for each individual physical device for which
-- they intend to issue the new query for and should not have any
-- assumptions about the availability of the extension on any given
-- platform.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2018-12-10 (Daniel Rakos)
- Changed all members
-- of the new structure to have the uint32_t type
--
--
--
-- - Revision 1, 2018-10-11 (Daniel Rakos)
--
--
-- See Also
--
-- PhysicalDevicePCIBusInfoPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_pci_bus_info
-- | VkPhysicalDevicePCIBusInfoPropertiesEXT - Structure containing PCI bus
-- information of a physical device
--
-- Description
--
-- If the PhysicalDevicePCIBusInfoPropertiesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- These are properties of the PCI bus information of a physical device.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_pci_bus_info, StructureType
data PhysicalDevicePCIBusInfoPropertiesEXT
PhysicalDevicePCIBusInfoPropertiesEXT :: Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDevicePCIBusInfoPropertiesEXT
-- | pciDomain is the PCI bus domain.
[$sel:pciDomain:PhysicalDevicePCIBusInfoPropertiesEXT] :: PhysicalDevicePCIBusInfoPropertiesEXT -> Word32
-- | pciBus is the PCI bus identifier.
[$sel:pciBus:PhysicalDevicePCIBusInfoPropertiesEXT] :: PhysicalDevicePCIBusInfoPropertiesEXT -> Word32
-- | pciDevice is the PCI device identifier.
[$sel:pciDevice:PhysicalDevicePCIBusInfoPropertiesEXT] :: PhysicalDevicePCIBusInfoPropertiesEXT -> Word32
-- | pciFunction is the PCI device function identifier.
[$sel:pciFunction:PhysicalDevicePCIBusInfoPropertiesEXT] :: PhysicalDevicePCIBusInfoPropertiesEXT -> Word32
type EXT_PCI_BUS_INFO_SPEC_VERSION = 2
pattern EXT_PCI_BUS_INFO_SPEC_VERSION :: forall a. Integral a => a
type EXT_PCI_BUS_INFO_EXTENSION_NAME = "VK_EXT_pci_bus_info"
pattern EXT_PCI_BUS_INFO_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT
-- | Name
--
-- VK_EXT_global_priority - device extension
--
-- VK_EXT_global_priority
--
--
-- - Name String VK_EXT_global_priority
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 175
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-06
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Andres Rodriguez,
-- Valve
- Pierre-Loup Griffais, Valve
- Dan Ginsburg,
-- Valve
- Mitch Singer, AMD
--
--
-- Description
--
-- In Vulkan, users can specify device-scope queue priorities. In some
-- cases it may be useful to extend this concept to a system-wide scope.
-- This extension provides a mechanism for callers to set their
-- system-wide priority. The default queue priority is
-- QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT.
--
-- The driver implementation will attempt to skew hardware resource
-- allocation in favour of the higher-priority task. Therefore,
-- higher-priority work may retain similar latency and throughput
-- characteristics even if the system is congested with lower priority
-- work.
--
-- The global priority level of a queue shall take precedence over the
-- per-process queue priority
-- (DeviceQueueCreateInfo::pQueuePriorities).
--
-- Abuse of this feature may result in starving the rest of the system
-- from hardware resources. Therefore, the driver implementation may deny
-- requests to acquire a priority above the default priority
-- (QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT) if the caller does not have
-- sufficient privileges. In this scenario ERROR_NOT_PERMITTED_EXT
-- is returned.
--
-- The driver implementation may fail the queue allocation request if
-- resources required to complete the operation have been exhausted
-- (either by the same process or a different process). In this scenario
-- ERROR_INITIALIZATION_FAILED is returned.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2017-11-03 (Andres Rodriguez)
- Fixed
-- VkQueueGlobalPriorityEXT missing _EXT suffix
--
--
--
-- - Revision 1, 2017-10-06 (Andres Rodriguez)
--
--
-- See Also
--
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- QueueGlobalPriorityEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_global_priority
-- | VkDeviceQueueGlobalPriorityCreateInfoEXT - Specify a system wide
-- priority
--
-- Description
--
-- A queue created without specifying
-- DeviceQueueGlobalPriorityCreateInfoEXT will default to
-- QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_global_priority, QueueGlobalPriorityEXT,
-- StructureType
data DeviceQueueGlobalPriorityCreateInfoEXT
DeviceQueueGlobalPriorityCreateInfoEXT :: QueueGlobalPriorityEXT -> DeviceQueueGlobalPriorityCreateInfoEXT
-- | globalPriority is the system-wide priority associated to this
-- queue as specified by QueueGlobalPriorityEXT
--
-- globalPriority must be a valid
-- QueueGlobalPriorityEXT value
[$sel:globalPriority:DeviceQueueGlobalPriorityCreateInfoEXT] :: DeviceQueueGlobalPriorityCreateInfoEXT -> QueueGlobalPriorityEXT
-- | VkQueueGlobalPriorityEXT - Values specifying a system-wide queue
-- priority
--
-- Description
--
-- Priority values are sorted in ascending order. A comparison operation
-- on the enum values can be used to determine the priority order.
--
-- See Also
--
-- VK_EXT_global_priority,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- QueueFamilyGlobalPriorityPropertiesEXT
newtype QueueGlobalPriorityEXT
QueueGlobalPriorityEXT :: Int32 -> QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_LOW_EXT is below the system default.
-- Useful for non-interactive tasks.
pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT is the system default
-- priority.
pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_HIGH_EXT is above the system default.
pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is the highest priority.
-- Useful for critical tasks.
pattern QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: QueueGlobalPriorityEXT
type EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2
pattern EXT_GLOBAL_PRIORITY_SPEC_VERSION :: forall a. Integral a => a
type EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority"
pattern EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT
-- | Name
--
-- VK_AMD_shader_core_properties - device extension
--
-- VK_AMD_shader_core_properties
--
--
-- - Name String
-- VK_AMD_shader_core_properties
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 186
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-25
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Martin Dinkov,
-- AMD
- Matthaeus G. Chajdas, AMD
--
--
-- Description
--
-- This extension exposes shader core properties for a target physical
-- device through the VK_KHR_get_physical_device_properties2
-- extension. Please refer to the example below for proper usage.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- This example retrieves the shader core properties for a physical
-- device.
--
--
-- extern VkInstance instance;
--
-- PFN_vkGetPhysicalDeviceProperties2 pfnVkGetPhysicalDeviceProperties2 =
-- reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2>
-- (vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2") );
--
-- VkPhysicalDeviceProperties2 general_props;
-- VkPhysicalDeviceShaderCorePropertiesAMD shader_core_properties;
--
-- shader_core_properties.pNext = nullptr;
-- shader_core_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
--
-- general_props.pNext = &shader_core_properties;
-- general_props.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
--
-- // After this call, shader_core_properties has been populated
-- pfnVkGetPhysicalDeviceProperties2(device, &general_props);
--
-- printf("Number of shader engines: %d\n",
-- m_shader_core_properties.shader_engine_count =
-- shader_core_properties.shaderEngineCount;
-- printf("Number of shader arrays: %d\n",
-- m_shader_core_properties.shader_arrays_per_engine_count =
-- shader_core_properties.shaderArraysPerEngineCount;
-- printf("Number of CUs per shader array: %d\n",
-- m_shader_core_properties.compute_units_per_shader_array =
-- shader_core_properties.computeUnitsPerShaderArray;
-- printf("Number of SIMDs per compute unit: %d\n",
-- m_shader_core_properties.simd_per_compute_unit =
-- shader_core_properties.simdPerComputeUnit;
-- printf("Number of wavefront slots in each SIMD: %d\n",
-- m_shader_core_properties.wavefronts_per_simd =
-- shader_core_properties.wavefrontsPerSimd;
-- printf("Number of threads per wavefront: %d\n",
-- m_shader_core_properties.wavefront_size =
-- shader_core_properties.wavefrontSize;
-- printf("Number of physical SGPRs per SIMD: %d\n",
-- m_shader_core_properties.sgprs_per_simd =
-- shader_core_properties.sgprsPerSimd;
-- printf("Minimum number of SGPRs that can be allocated by a wave: %d\n",
-- m_shader_core_properties.min_sgpr_allocation =
-- shader_core_properties.minSgprAllocation;
-- printf("Number of available SGPRs: %d\n",
-- m_shader_core_properties.max_sgpr_allocation =
-- shader_core_properties.maxSgprAllocation;
-- printf("SGPRs are allocated in groups of this size: %d\n",
-- m_shader_core_properties.sgpr_allocation_granularity =
-- shader_core_properties.sgprAllocationGranularity;
-- printf("Number of physical VGPRs per SIMD: %d\n",
-- m_shader_core_properties.vgprs_per_simd =
-- shader_core_properties.vgprsPerSimd;
-- printf("Minimum number of VGPRs that can be allocated by a wave: %d\n",
-- m_shader_core_properties.min_vgpr_allocation =
-- shader_core_properties.minVgprAllocation;
-- printf("Number of available VGPRs: %d\n",
-- m_shader_core_properties.max_vgpr_allocation =
-- shader_core_properties.maxVgprAllocation;
-- printf("VGPRs are allocated in groups of this size: %d\n",
-- m_shader_core_properties.vgpr_allocation_granularity =
-- shader_core_properties.vgprAllocationGranularity;
--
--
-- Version History
--
--
-- - Revision 2, 2019-06-25 (Matthaeus G. Chajdas)
- Clarified the
-- meaning of a few fields.
--
--
--
-- - Revision 1, 2018-02-15 (Martin Dinkov)
--
--
-- See Also
--
-- PhysicalDeviceShaderCorePropertiesAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_core_properties
-- | VkPhysicalDeviceShaderCorePropertiesAMD - Structure describing shader
-- core properties that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceShaderCorePropertiesAMD structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_shader_core_properties, StructureType
data PhysicalDeviceShaderCorePropertiesAMD
PhysicalDeviceShaderCorePropertiesAMD :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceShaderCorePropertiesAMD
-- | shaderEngineCount is an unsigned integer value indicating the
-- number of shader engines found inside the shader core of the physical
-- device.
[$sel:shaderEngineCount:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | shaderArraysPerEngineCount is an unsigned integer value
-- indicating the number of shader arrays inside a shader engine. Each
-- shader array has its own scan converter, set of compute units, and a
-- render back end (color and depth attachments). Shader arrays within a
-- shader engine share shader processor input (wave launcher) and shader
-- export (export buffer) units. Currently, a shader engine can have one
-- or two shader arrays.
[$sel:shaderArraysPerEngineCount:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | computeUnitsPerShaderArray is an unsigned integer value
-- indicating the physical number of compute units within a shader array.
-- The active number of compute units in a shader array may be
-- lower. A compute unit houses a set of SIMDs along with a sequencer
-- module and a local data store.
[$sel:computeUnitsPerShaderArray:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | simdPerComputeUnit is an unsigned integer value indicating
-- the number of SIMDs inside a compute unit. Each SIMD processes a
-- single instruction at a time.
[$sel:simdPerComputeUnit:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
[$sel:wavefrontsPerSimd:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | wavefrontSize is an unsigned integer value indicating the
-- maximum size of a subgroup.
[$sel:wavefrontSize:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | sgprsPerSimd is an unsigned integer value indicating the
-- number of physical Scalar General Purpose Registers (SGPRs) per SIMD.
[$sel:sgprsPerSimd:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | minSgprAllocation is an unsigned integer value indicating the
-- minimum number of SGPRs allocated for a wave.
[$sel:minSgprAllocation:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | maxSgprAllocation is an unsigned integer value indicating the
-- maximum number of SGPRs allocated for a wave.
[$sel:maxSgprAllocation:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | sgprAllocationGranularity is an unsigned integer value
-- indicating the granularity of SGPR allocation for a wave.
[$sel:sgprAllocationGranularity:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | vgprsPerSimd is an unsigned integer value indicating the
-- number of physical Vector General Purpose Registers (VGPRs) per SIMD.
[$sel:vgprsPerSimd:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | minVgprAllocation is an unsigned integer value indicating the
-- minimum number of VGPRs allocated for a wave.
[$sel:minVgprAllocation:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | maxVgprAllocation is an unsigned integer value indicating the
-- maximum number of VGPRs allocated for a wave.
[$sel:maxVgprAllocation:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
-- | vgprAllocationGranularity is an unsigned integer value
-- indicating the granularity of VGPR allocation for a wave.
[$sel:vgprAllocationGranularity:PhysicalDeviceShaderCorePropertiesAMD] :: PhysicalDeviceShaderCorePropertiesAMD -> Word32
type AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 2
pattern AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME = "VK_AMD_shader_core_properties"
pattern AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD
-- | Name
--
-- VK_AMD_rasterization_order - device extension
--
-- VK_AMD_rasterization_order
--
--
-- - Name String VK_AMD_rasterization_order
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 19
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-04-25
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Jaakko Konttinen, AMD
- Daniel Rakos,
-- AMD
- Graham Sellers, AMD
- Dominik Witczak,
-- AMD
--
--
-- Description
--
-- This extension introduces the possibility for the application to
-- control the order of primitive rasterization. In unextended Vulkan,
-- the following stages are guaranteed to execute in API order:
--
--
-- - depth bounds test
-- - stencil test, stencil op, and stencil write
-- - depth test and depth write
-- - occlusion queries
-- - blending, logic op, and color write
--
--
-- This extension enables applications to opt into a relaxed,
-- implementation defined primitive rasterization order that may allow
-- better parallel processing of primitives and thus enabling higher
-- primitive throughput. It is applicable in cases where the primitive
-- rasterization order is known to not affect the output of the rendering
-- or any differences caused by a different rasterization order are not a
-- concern from the point of view of the application’s purpose.
--
-- A few examples of cases when using the relaxed primitive rasterization
-- order would not have an effect on the final rendering:
--
--
-- - If the primitives rendered are known to not overlap in framebuffer
-- space.
-- - If depth testing is used with a comparison operator of
-- COMPARE_OP_LESS, COMPARE_OP_LESS_OR_EQUAL,
-- COMPARE_OP_GREATER, or COMPARE_OP_GREATER_OR_EQUAL, and
-- the primitives rendered are known to not overlap in clip space.
-- - If depth testing is not used and blending is enabled for all
-- attachments with a commutative blend operator.
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How is this extension useful to application developers?
--
-- RESOLVED: Allows them to increase primitive throughput for
-- cases when strict API order rasterization is not important due to the
-- nature of the content, the configuration used, or the requirements
-- towards the output of the rendering.
--
-- 2) How does this extension interact with content optimizations aiming
-- to reduce overdraw by appropriately ordering the input primitives?
--
-- RESOLVED: While the relaxed rasterization order might somewhat
-- limit the effectiveness of such content optimizations, most of the
-- benefits of it are expected to be retained even when the relaxed
-- rasterization order is used, so applications should still apply
-- these optimizations even if they intend to use the extension.
--
-- 3) Are there any guarantees about the primitive rasterization order
-- when using the new relaxed mode?
--
-- RESOLVED: No. In this case the rasterization order is
-- completely implementation-dependent, but in practice it is expected to
-- partially still follow the order of incoming primitives.
--
-- 4) Does the new relaxed rasterization order have any adverse effect on
-- repeatability and other invariance rules of the API?
--
-- RESOLVED: Yes, in the sense that it extends the list of
-- exceptions when the repeatability requirement does not apply.
--
-- Examples
--
-- None
--
-- Issues
--
-- None
--
-- Version History
--
--
-- - Revision 1, 2016-04-25 (Daniel Rakos)
--
--
-- See Also
--
-- PipelineRasterizationStateRasterizationOrderAMD,
-- RasterizationOrderAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_rasterization_order
-- | VkPipelineRasterizationStateRasterizationOrderAMD - Structure defining
-- rasterization order for a graphics pipeline
--
-- Valid Usage (Implicit)
--
-- If the VK_AMD_rasterization_order device extension is not
-- enabled or the application does not request a particular rasterization
-- order through specifying a
-- PipelineRasterizationStateRasterizationOrderAMD structure then
-- the rasterization order used by the graphics pipeline defaults to
-- RASTERIZATION_ORDER_STRICT_AMD.
--
-- See Also
--
-- VK_AMD_rasterization_order, RasterizationOrderAMD,
-- StructureType
data PipelineRasterizationStateRasterizationOrderAMD
PipelineRasterizationStateRasterizationOrderAMD :: RasterizationOrderAMD -> PipelineRasterizationStateRasterizationOrderAMD
-- | rasterizationOrder is a RasterizationOrderAMD value
-- specifying the primitive rasterization order to use.
--
-- rasterizationOrder must be a valid
-- RasterizationOrderAMD value
[$sel:rasterizationOrder:PipelineRasterizationStateRasterizationOrderAMD] :: PipelineRasterizationStateRasterizationOrderAMD -> RasterizationOrderAMD
-- | VkRasterizationOrderAMD - Specify rasterization order for a graphics
-- pipeline
--
-- See Also
--
-- VK_AMD_rasterization_order,
-- PipelineRasterizationStateRasterizationOrderAMD
newtype RasterizationOrderAMD
RasterizationOrderAMD :: Int32 -> RasterizationOrderAMD
-- | RASTERIZATION_ORDER_STRICT_AMD specifies that operations for
-- each primitive in a subpass must occur in primitive
-- order.
pattern RASTERIZATION_ORDER_STRICT_AMD :: RasterizationOrderAMD
-- | RASTERIZATION_ORDER_RELAXED_AMD specifies that operations for
-- each primitive in a subpass may not occur in primitive
-- order.
pattern RASTERIZATION_ORDER_RELAXED_AMD :: RasterizationOrderAMD
type AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1
pattern AMD_RASTERIZATION_ORDER_SPEC_VERSION :: forall a. Integral a => a
type AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order"
pattern AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
instance GHC.Classes.Ord Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
instance GHC.Read.Read Vulkan.Extensions.VK_AMD_rasterization_order.RasterizationOrderAMD
-- | Name
--
-- VK_AMD_memory_overallocation_behavior - device extension
--
-- VK_AMD_memory_overallocation_behavior
--
--
-- - Name String
-- VK_AMD_memory_overallocation_behavior
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 190
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-09-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Martin Dinkov,
-- AMD
- Matthaeus Chajdas, AMD
- Daniel Rakos,
-- AMD
- Jon Campbell, AMD
--
--
-- Description
--
-- This extension allows controlling whether explicit overallocation
-- beyond the device memory heap sizes (reported by
-- PhysicalDeviceMemoryProperties) is allowed or not.
-- Overallocation may lead to performance loss and is not supported for
-- all platforms.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-09-19 (Martin Dinkov)
--
--
-- See Also
--
-- DeviceMemoryOverallocationCreateInfoAMD,
-- MemoryOverallocationBehaviorAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_memory_overallocation_behavior
-- | VkDeviceMemoryOverallocationCreateInfoAMD - Specify memory
-- overallocation behavior for a Vulkan device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_memory_overallocation_behavior,
-- MemoryOverallocationBehaviorAMD, StructureType
data DeviceMemoryOverallocationCreateInfoAMD
DeviceMemoryOverallocationCreateInfoAMD :: MemoryOverallocationBehaviorAMD -> DeviceMemoryOverallocationCreateInfoAMD
-- | overallocationBehavior is the desired overallocation
-- behavior.
--
-- overallocationBehavior must be a valid
-- MemoryOverallocationBehaviorAMD value
[$sel:overallocationBehavior:DeviceMemoryOverallocationCreateInfoAMD] :: DeviceMemoryOverallocationCreateInfoAMD -> MemoryOverallocationBehaviorAMD
-- | VkMemoryOverallocationBehaviorAMD - Specify memory overallocation
-- behavior
--
-- See Also
--
-- VK_AMD_memory_overallocation_behavior,
-- DeviceMemoryOverallocationCreateInfoAMD
newtype MemoryOverallocationBehaviorAMD
MemoryOverallocationBehaviorAMD :: Int32 -> MemoryOverallocationBehaviorAMD
-- | MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD lets the
-- implementation decide if overallocation is allowed.
pattern MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: MemoryOverallocationBehaviorAMD
-- | MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD specifies
-- overallocation is allowed if platform permits.
pattern MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: MemoryOverallocationBehaviorAMD
-- | MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD specifies the
-- application is not allowed to allocate device memory beyond the heap
-- sizes reported by PhysicalDeviceMemoryProperties. Allocations
-- that are not explicitly made by the application within the scope of
-- the Vulkan instance are not accounted for.
pattern MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: MemoryOverallocationBehaviorAMD
type AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION = 1
pattern AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION :: forall a. Integral a => a
type AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME = "VK_AMD_memory_overallocation_behavior"
pattern AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
instance GHC.Classes.Ord Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
instance GHC.Read.Read Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.MemoryOverallocationBehaviorAMD
module Vulkan.Core10.Enums.StencilOp
-- | VkStencilOp - Stencil comparison function
--
-- Description
--
-- For purposes of increment and decrement, the stencil bits are
-- considered as an unsigned integer.
--
-- See Also
--
-- VK_VERSION_1_0, StencilOpState,
-- cmdSetStencilOpEXT
newtype StencilOp
StencilOp :: Int32 -> StencilOp
-- | STENCIL_OP_KEEP keeps the current value.
pattern STENCIL_OP_KEEP :: StencilOp
-- | STENCIL_OP_ZERO sets the value to 0.
pattern STENCIL_OP_ZERO :: StencilOp
-- | STENCIL_OP_REPLACE sets the value to reference.
pattern STENCIL_OP_REPLACE :: StencilOp
-- | STENCIL_OP_INCREMENT_AND_CLAMP increments the current value and
-- clamps to the maximum representable unsigned value.
pattern STENCIL_OP_INCREMENT_AND_CLAMP :: StencilOp
-- | STENCIL_OP_DECREMENT_AND_CLAMP decrements the current value and
-- clamps to 0.
pattern STENCIL_OP_DECREMENT_AND_CLAMP :: StencilOp
-- | STENCIL_OP_INVERT bitwise-inverts the current value.
pattern STENCIL_OP_INVERT :: StencilOp
-- | STENCIL_OP_INCREMENT_AND_WRAP increments the current value and
-- wraps to 0 when the maximum value would have been exceeded.
pattern STENCIL_OP_INCREMENT_AND_WRAP :: StencilOp
-- | STENCIL_OP_DECREMENT_AND_WRAP decrements the current value and
-- wraps to the maximum possible value when the value would go below 0.
pattern STENCIL_OP_DECREMENT_AND_WRAP :: StencilOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.StencilOp.StencilOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.StencilOp.StencilOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.StencilOp.StencilOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.StencilOp.StencilOp
instance GHC.Show.Show Vulkan.Core10.Enums.StencilOp.StencilOp
instance GHC.Read.Read Vulkan.Core10.Enums.StencilOp.StencilOp
module Vulkan.Core10.Enums.SharingMode
-- | VkSharingMode - Buffer and image sharing modes
--
-- Description
--
-- Note
--
-- SHARING_MODE_CONCURRENT may result in lower performance
-- access to the buffer or image than SHARING_MODE_EXCLUSIVE.
--
-- Ranges of buffers and image subresources of image objects created
-- using SHARING_MODE_EXCLUSIVE must only be accessed by
-- queues in the queue family that has ownership of the resource.
-- Upon creation, such resources are not owned by any queue family;
-- ownership is implicitly acquired upon first use within a queue. Once a
-- resource using SHARING_MODE_EXCLUSIVE is owned by some queue
-- family, the application must perform a queue family
-- ownership transfer to make the memory contents of a range or image
-- subresource accessible to a different queue family.
--
-- Note
--
-- Images still require a layout transition from
-- IMAGE_LAYOUT_UNDEFINED or IMAGE_LAYOUT_PREINITIALIZED
-- before being used on the first queue.
--
-- A queue family can take ownership of an image subresource or
-- buffer range of a resource created with SHARING_MODE_EXCLUSIVE,
-- without an ownership transfer, in the same way as for a resource that
-- was just created; however, taking ownership in this way has the effect
-- that the contents of the image subresource or buffer range are
-- undefined.
--
-- Ranges of buffers and image subresources of image objects created
-- using SHARING_MODE_CONCURRENT must only be accessed by
-- queues from the queue families specified through the
-- queueFamilyIndexCount and pQueueFamilyIndices
-- members of the corresponding create info structures.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateInfo,
-- ImageCreateInfo,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- SwapchainCreateInfoKHR
newtype SharingMode
SharingMode :: Int32 -> SharingMode
-- | SHARING_MODE_EXCLUSIVE specifies that access to any range or
-- image subresource of the object will be exclusive to a single queue
-- family at a time.
pattern SHARING_MODE_EXCLUSIVE :: SharingMode
-- | SHARING_MODE_CONCURRENT specifies that concurrent access to any
-- range or image subresource of the object from multiple queue families
-- is supported.
pattern SHARING_MODE_CONCURRENT :: SharingMode
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SharingMode.SharingMode
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SharingMode.SharingMode
instance GHC.Classes.Ord Vulkan.Core10.Enums.SharingMode.SharingMode
instance GHC.Classes.Eq Vulkan.Core10.Enums.SharingMode.SharingMode
instance GHC.Show.Show Vulkan.Core10.Enums.SharingMode.SharingMode
instance GHC.Read.Read Vulkan.Core10.Enums.SharingMode.SharingMode
module Vulkan.Core10.Enums.SamplerMipmapMode
-- | VkSamplerMipmapMode - Specify mipmap mode used for texture lookups
--
-- Description
--
-- These modes are described in detail in Texel Filtering.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype SamplerMipmapMode
SamplerMipmapMode :: Int32 -> SamplerMipmapMode
-- | SAMPLER_MIPMAP_MODE_NEAREST specifies nearest filtering.
pattern SAMPLER_MIPMAP_MODE_NEAREST :: SamplerMipmapMode
-- | SAMPLER_MIPMAP_MODE_LINEAR specifies linear filtering.
pattern SAMPLER_MIPMAP_MODE_LINEAR :: SamplerMipmapMode
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
instance GHC.Classes.Ord Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
instance GHC.Classes.Eq Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
instance GHC.Show.Show Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
instance GHC.Read.Read Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode
module Vulkan.Core10.Enums.SamplerAddressMode
-- | VkSamplerAddressMode - Specify behavior of sampling with texture
-- coordinates outside an image
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype SamplerAddressMode
SamplerAddressMode :: Int32 -> SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_REPEAT specifies that the repeat wrap mode
-- will be used.
pattern SAMPLER_ADDRESS_MODE_REPEAT :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT specifies that the
-- mirrored repeat wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE specifies that the clamp to
-- edge wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER specifies that the clamp
-- to border wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE specifies that the
-- mirror clamp to edge wrap mode will be used. This is only valid if
-- samplerMirrorClampToEdge is enabled, or if the
-- VK_KHR_sampler_mirror_clamp_to_edge extension is enabled.
pattern SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE :: SamplerAddressMode
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
instance GHC.Classes.Ord Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
instance GHC.Classes.Eq Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
instance GHC.Show.Show Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
instance GHC.Read.Read Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode
-- | Name
--
-- VK_KHR_sampler_mirror_clamp_to_edge - device extension
--
-- VK_KHR_sampler_mirror_clamp_to_edge
--
--
-- - Name String
-- VK_KHR_sampler_mirror_clamp_to_edge
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 15
-- - Revision 3
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-08-17
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Tobias Hector, Imagination
-- Technologies
- Jon Leech, Khronos
--
--
-- Description
--
-- VK_KHR_sampler_mirror_clamp_to_edge extends the set of
-- sampler address modes to include an additional mode
-- (SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE) that effectively
-- uses a texture map twice as large as the original image in which the
-- additional half of the new image is a mirror image of the original
-- image.
--
-- This new mode relaxes the need to generate images whose opposite edges
-- match by using the original image to generate a matching “mirror
-- image”. This mode allows the texture to be mirrored only once in the
-- negative s, t, and r directions.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2.
-- However, if Vulkan 1.2 is supported and this extension is not, the
-- SamplerAddressMode
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE is optional. Since
-- the original extension did not use an author suffix on the enum
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, it is used by both
-- core and extension implementations.
--
-- New Enum Constants
--
--
--
--
--
-- Example
--
-- Creating a sampler with the new address mode in each dimension
--
--
-- VkSamplerCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType
-- // Other members set to application-desired values
-- };
--
-- createInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
-- createInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
-- createInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
--
-- VkSampler sampler;
-- VkResult result = vkCreateSampler(
-- device,
-- &createInfo,
-- &sampler);
--
--
-- Issues
--
-- 1) Why are both KHR and core versions of the
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE token present?
--
-- RESOLVED: This functionality was intended to be required in
-- Vulkan 1.0. We realized shortly before public release that not all
-- implementations could support it, and moved the functionality into an
-- optional extension, but did not apply the KHR extension suffix. Adding
-- a KHR-suffixed alias of the non-suffixed enum has been done to comply
-- with our own naming rules.
--
-- In a related change, before spec revision 1.1.121 this extension was
-- hardwiring into the spec Makefile so it was always included with the
-- Specification, even in the core-only versions. This has now been
-- reverted, and it is treated as any other extension.
--
-- Version History
--
--
-- - Revision 1, 2016-02-16 (Tobias Hector)
--
--
--
-- - Revision 2, 2019-08-14 (Jon Leech)
- Add KHR-suffixed alias
-- of non-suffixed enum.
-- - Revision 3, 2019-08-17 (Jon Leech)
- Add an issue explaining
-- the reason for the extension API not being suffixed with
-- KHR.
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_sampler_mirror_clamp_to_edge
pattern SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR :: SamplerAddressMode
type KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3
pattern KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: forall a. Integral a => a
type KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge"
pattern KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.Result
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.Result.Result
instance Foreign.Storable.Storable Vulkan.Core10.Enums.Result.Result
instance GHC.Classes.Ord Vulkan.Core10.Enums.Result.Result
instance GHC.Classes.Eq Vulkan.Core10.Enums.Result.Result
instance GHC.Show.Show Vulkan.Core10.Enums.Result.Result
instance GHC.Read.Read Vulkan.Core10.Enums.Result.Result
module Vulkan.Exception
-- | This exception is thrown from calls to marshalled Vulkan commands
-- which return a negative VkResult.
newtype VulkanException
VulkanException :: Result -> VulkanException
[$sel:vulkanExceptionResult:VulkanException] :: VulkanException -> Result
instance GHC.Show.Show Vulkan.Exception.VulkanException
instance GHC.Read.Read Vulkan.Exception.VulkanException
instance GHC.Classes.Ord Vulkan.Exception.VulkanException
instance GHC.Classes.Eq Vulkan.Exception.VulkanException
instance GHC.Exception.Type.Exception Vulkan.Exception.VulkanException
module Vulkan.Core10.FundamentalTypes
boolToBool32 :: Bool -> Bool32
bool32ToBool :: Bool32 -> Bool
-- | VkOffset2D - Structure specifying a two-dimensional offset
--
-- See Also
--
-- VK_VERSION_1_0, DisplayPlaneCapabilitiesKHR,
-- Rect2D, RectLayerKHR,
-- VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeInfoKHR,
-- VkVideoPictureResourceKHR
data Offset2D
Offset2D :: Int32 -> Int32 -> Offset2D
-- | x is the x offset.
[$sel:x:Offset2D] :: Offset2D -> Int32
-- | y is the y offset.
[$sel:y:Offset2D] :: Offset2D -> Int32
-- | VkOffset3D - Structure specifying a three-dimensional offset
--
-- See Also
--
-- VK_VERSION_1_0, BufferImageCopy,
-- BufferImageCopy2KHR, ImageBlit, ImageBlit2KHR,
-- ImageCopy, ImageCopy2KHR, ImageResolve,
-- ImageResolve2KHR, SparseImageMemoryBind
data Offset3D
Offset3D :: Int32 -> Int32 -> Int32 -> Offset3D
-- | x is the x offset.
[$sel:x:Offset3D] :: Offset3D -> Int32
-- | y is the y offset.
[$sel:y:Offset3D] :: Offset3D -> Int32
-- | z is the z offset.
[$sel:z:Offset3D] :: Offset3D -> Int32
-- | VkExtent2D - Structure specifying a two-dimensional extent
--
-- See Also
--
-- VK_VERSION_1_0, DisplayModeParametersKHR,
-- DisplayPlaneCapabilitiesKHR, DisplayPropertiesKHR,
-- DisplaySurfaceCreateInfoKHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- MultisamplePropertiesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR, Rect2D,
-- RectLayerKHR,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- SampleLocationsInfoEXT, SurfaceCapabilities2EXT,
-- SurfaceCapabilitiesKHR, SwapchainCreateInfoKHR,
-- VkVideoCapabilitiesKHR, VkVideoDecodeInfoKHR,
-- VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT, VkVideoEncodeInfoKHR,
-- VkVideoPictureResourceKHR, VkVideoSessionCreateInfoKHR,
-- cmdSetFragmentShadingRateKHR,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getRenderAreaGranularity
data Extent2D
Extent2D :: Word32 -> Word32 -> Extent2D
-- | width is the width of the extent.
[$sel:width:Extent2D] :: Extent2D -> Word32
-- | height is the height of the extent.
[$sel:height:Extent2D] :: Extent2D -> Word32
-- | VkExtent3D - Structure specifying a three-dimensional extent
--
-- See Also
--
-- VK_VERSION_1_0, BufferImageCopy,
-- BufferImageCopy2KHR, ImageCopy, ImageCopy2KHR,
-- ImageCreateInfo, ImageFormatProperties,
-- ImageResolve, ImageResolve2KHR,
-- QueueFamilyProperties, SparseImageFormatProperties,
-- SparseImageMemoryBind
data Extent3D
Extent3D :: Word32 -> Word32 -> Word32 -> Extent3D
-- | width is the width of the extent.
[$sel:width:Extent3D] :: Extent3D -> Word32
-- | height is the height of the extent.
[$sel:height:Extent3D] :: Extent3D -> Word32
-- | depth is the depth of the extent.
[$sel:depth:Extent3D] :: Extent3D -> Word32
-- | VkRect2D - Structure specifying a two-dimensional subregion
--
-- See Also
--
-- VK_VERSION_1_0, BindImageMemoryDeviceGroupInfo,
-- ClearRect,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- DeviceGroupRenderPassBeginInfo, DisplayPresentInfoKHR,
-- Extent2D, Offset2D,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportStateCreateInfo, RenderPassBeginInfo,
-- RenderingInfoKHR, cmdSetDiscardRectangleEXT,
-- cmdSetExclusiveScissorNV, cmdSetScissor,
-- cmdSetScissorWithCountEXT,
-- getPhysicalDevicePresentRectanglesKHR
data Rect2D
Rect2D :: Offset2D -> Extent2D -> Rect2D
-- | offset is a Offset2D specifying the rectangle offset.
[$sel:offset:Rect2D] :: Rect2D -> Offset2D
-- | extent is a Extent2D specifying the rectangle extent.
[$sel:extent:Rect2D] :: Rect2D -> Extent2D
-- | VkBool32 - Vulkan boolean type
--
-- Description
--
-- TRUE represents a boolean True (unsigned integer 1)
-- value, and FALSE a boolean False (unsigned integer 0)
-- value.
--
-- All values returned from a Vulkan implementation in a Bool32
-- will be either TRUE or FALSE.
--
-- Applications must not pass any other values than TRUE or
-- FALSE into a Vulkan implementation where a Bool32 is
-- expected.
--
-- See Also
--
-- FALSE, TRUE, VK_VERSION_1_0,
-- AccelerationStructureGeometryInstancesDataKHR,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DescriptorSetLayoutSupport,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPresentInfoKHR, DisplayPropertiesKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- IndirectCommandsLayoutTokenNV,
-- MemoryDedicatedRequirements,
-- MultiviewPerViewAttributesInfoNVX,
-- PerformanceOverrideInfoINTEL, PerformanceValueDataINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceFeatures,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLimits,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceSparseProperties,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendAttachmentState,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutableStatisticValueKHR,
-- PipelineInputAssemblyStateCreateInfo,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- ProtectedSubmitInfo,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo, SamplerYcbcrConversionCreateInfo,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceProtectedCapabilitiesKHR, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- TextureLODGatherFormatPropertiesAMD,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- cmdBuildAccelerationStructureNV,
-- cmdExecuteGeneratedCommandsNV,
-- cmdSetColorWriteEnableEXT, cmdSetDepthBiasEnableEXT,
-- cmdSetDepthBoundsTestEnableEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetStencilTestEnableEXT,
-- getPhysicalDeviceSurfaceSupportKHR, setLocalDimmingAMD,
-- waitForFences
newtype Bool32
Bool32 :: Int32 -> Bool32
pattern FALSE :: Bool32
pattern TRUE :: Bool32
-- | VkSampleMask - Mask of sample coverage information
--
-- See Also
--
-- VK_VERSION_1_0, PipelineMultisampleStateCreateInfo
type SampleMask = Word32
-- | VkFlags - Vulkan bitmasks
--
-- Description
--
-- Bitmasks are passed to many commands and structures to compactly
-- represent options, but Flags is not used directly in the API.
-- Instead, a Flags type which is an alias of Flags, and
-- whose name matches the corresponding Vk*FlagBits that are
-- valid for that type, is used.
--
-- Any Flags member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags with FlagBits. For example, a flag
-- value of type ColorComponentFlags must contain only bit
-- flags defined by ColorComponentFlagBits.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Flags member or parameter returned from a query command or
-- otherwise output from Vulkan to the application may contain bit
-- flags undefined in its corresponding Vk*FlagBits type. An
-- application cannot rely on the state of these unspecified bits.
--
-- Only the low-order 31 bits (bit positions zero through 30) are
-- available for use as flag bits.
--
-- Note
--
-- This restriction is due to poorly defined behavior by C compilers
-- given a C enumerant value of 0x80000000. In some cases adding
-- this enumerant value may increase the size of the underlying
-- Vk*FlagBits type, breaking the ABI.
--
-- See Also
--
-- VK_VERSION_1_0, ColorComponentFlags, Flags64
type Flags = Word32
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
-- | VkDeviceSize - Vulkan device memory size and offsets
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AndroidHardwareBufferPropertiesANDROID,
-- BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryInfo, BindImageMemoryInfo,
-- BufferCopy, BufferCopy2KHR, BufferCreateInfo,
-- BufferImageCopy, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferViewCreateInfo, ConditionalRenderingBeginInfoEXT,
-- DescriptorBufferInfo, DeviceMemoryReportCallbackDataEXT,
-- GeneratedCommandsInfoNV, GeometryAABBNV,
-- GeometryTrianglesNV, ImageFormatProperties,
-- ImageViewAddressPropertiesNVX, IndirectCommandsStreamNV,
-- MappedMemoryRange, MemoryAllocateInfo,
-- MemoryHeap, MemoryRequirements,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceLimits,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceVulkan11Properties, SparseImageMemoryBind,
-- SparseImageMemoryRequirements, SparseMemoryBind,
-- StridedDeviceAddressRegionKHR, SubresourceLayout,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoDecodeInfoKHR, VkVideoEncodeInfoKHR,
-- bindBufferMemory, bindImageMemory,
-- cmdBeginTransformFeedbackEXT, cmdBindIndexBuffer,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBuildAccelerationStructureNV,
-- cmdCopyQueryPoolResults, cmdDispatchIndirect,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdEndTransformFeedbackEXT,
-- cmdFillBuffer, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- getDeviceMemoryCommitment, getQueryPoolResults,
-- mapMemory
type DeviceSize = Word64
-- | VkDeviceAddress - Vulkan device address type
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureCreateInfoKHR,
-- BindIndexBufferIndirectCommandNV,
-- BindVertexBufferIndirectCommandNV,
-- BufferDeviceAddressCreateInfoEXT,
-- DeviceOrHostAddressConstKHR, DeviceOrHostAddressKHR,
-- ImageViewAddressPropertiesNVX,
-- StridedDeviceAddressRegionKHR,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdTraceRaysIndirectKHR
type DeviceAddress = Word64
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Offset2D
instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Offset3D
instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Extent2D
instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Extent3D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Bool32
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Bool32
instance GHC.Classes.Ord Vulkan.Core10.FundamentalTypes.Bool32
instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Bool32
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Offset2D
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Offset3D
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Extent2D
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Extent3D
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Rect2D
instance GHC.Show.Show Vulkan.Core10.FundamentalTypes.Bool32
instance GHC.Read.Read Vulkan.Core10.FundamentalTypes.Bool32
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.FundamentalTypes.Rect2D
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.FundamentalTypes.Rect2D
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Rect2D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Rect2D
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.FundamentalTypes.Extent3D
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.FundamentalTypes.Extent3D
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Extent3D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Extent3D
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.FundamentalTypes.Extent2D
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.FundamentalTypes.Extent2D
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Extent2D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Extent2D
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.FundamentalTypes.Offset3D
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.FundamentalTypes.Offset3D
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Offset3D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Offset3D
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.FundamentalTypes.Offset2D
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.FundamentalTypes.Offset2D
instance Foreign.Storable.Storable Vulkan.Core10.FundamentalTypes.Offset2D
instance Vulkan.Zero.Zero Vulkan.Core10.FundamentalTypes.Offset2D
-- | Name
--
-- VK_NV_viewport_swizzle - device extension
--
-- VK_NV_viewport_swizzle
--
--
-- - Name String VK_NV_viewport_swizzle
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 99
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-22
--
--
--
-- - Interactions and External Dependencies
- This
-- extension requires multiViewport and geometryShader
-- features to be useful.
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension provides a new per-viewport swizzle that can modify the
-- position of primitives sent to each viewport. New viewport swizzle
-- state is added for each viewport, and a new position vector is
-- computed for each vertex by selecting from and optionally negating any
-- of the four components of the original position vector.
--
-- This new viewport swizzle is useful for a number of algorithms,
-- including single-pass cube map rendering (broadcasting a primitive to
-- multiple faces and reorienting the vertex position for each face) and
-- voxel rasterization. The per-viewport component remapping and negation
-- provided by the swizzle allows application code to re-orient
-- three-dimensional geometry with a view along any of the X,
-- Y, or Z axes. If a perspective projection and depth
-- buffering is required, 1/W buffering should be used, as described in
-- the single-pass cube map rendering example in the “Issues” section
-- below.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Where does viewport swizzling occur in the pipeline?
--
-- RESOLVED: Despite being associated with the viewport, viewport
-- swizzling must happen prior to the viewport transform. In particular,
-- it needs to be performed before clipping and perspective division.
--
-- The viewport mask expansion (VK_NV_viewport_array2) and the
-- viewport swizzle could potentially be performed before or after
-- transform feedback, but feeding back several viewports worth of
-- primitives with different swizzles does not seem particularly useful.
-- This specification applies the viewport mask and swizzle after
-- transform feedback, and makes primitive queries only count each
-- primitive once.
--
-- 2) Any interesting examples of how this extension,
-- VK_NV_viewport_array2, and
-- VK_NV_geometry_shader_passthrough can be used together in
-- practice?
--
-- RESOLVED: One interesting use case for this extension is for
-- single-pass rendering to a cube map. In this example, the application
-- would attach a cube map texture to a layered FBO where the six cube
-- faces are treated as layers. Vertices are sent through the vertex
-- shader without applying a projection matrix, where the
-- gl_Position output is (x,y,z,1) and the center of the cube
-- map is at (0,0,0). With unextended Vulkan, one could have a
-- conventional instanced geometry shader that looks something like the
-- following:
--
--
-- layout(invocations = 6) in; // separate invocation per face
-- layout(triangles) in;
-- layout(triangle_strip) out;
-- layout(max_vertices = 3) out;
--
-- in Inputs {
-- vec2 texcoord;
-- vec3 normal;
-- vec4 baseColor;
-- } v[];
--
-- out Outputs {
-- vec2 texcoord;
-- vec3 normal;
-- vec4 baseColor;
-- };
--
-- void main()
-- {
-- int face = gl_InvocationID; // which face am I?
--
-- // Project gl_Position for each vertex onto the cube map face.
-- vec4 positions[3];
-- for (int i = 0; i < 3; i++) {
-- positions[i] = rotate(gl_in[i].gl_Position, face);
-- }
--
-- // If the primitive does not project onto this face, we are done.
-- if (shouldCull(positions)) {
-- return;
-- }
--
-- // Otherwise, emit a copy of the input primitive to the
-- // appropriate face (using gl_Layer).
-- for (int i = 0; i < 3; i++) {
-- gl_Layer = face;
-- gl_Position = positions[i];
-- texcoord = v[i].texcoord;
-- normal = v[i].normal;
-- baseColor = v[i].baseColor;
-- EmitVertex();
-- }
-- }
--
--
-- With passthrough geometry shaders, this can be done using a much
-- simpler shader:
--
--
-- layout(triangles) in;
-- layout(passthrough) in Inputs {
-- vec2 texcoord;
-- vec3 normal;
-- vec4 baseColor;
-- }
-- layout(passthrough) in gl_PerVertex {
-- vec4 gl_Position;
-- } gl_in[];
-- layout(viewport_relative) out int gl_Layer;
--
-- void main()
-- {
-- // Figure out which faces the primitive projects onto and
-- // generate a corresponding viewport mask.
-- uint mask = 0;
-- for (int i = 0; i < 6; i++) {
-- if (!shouldCull(face)) {
-- mask |= 1U << i;
-- }
-- }
-- gl_ViewportMask = mask;
-- gl_Layer = 0;
-- }
--
--
-- The application code is set up so that each of the six cube faces has
-- a separate viewport (numbered 0 to 5). Each face also has a separate
-- swizzle, programmed via the
-- PipelineViewportSwizzleStateCreateInfoNV pipeline state. The
-- viewport swizzle feature performs the coordinate transformation
-- handled by the rotate() function in the original shader. The
-- viewport_relative layout qualifier says that the viewport
-- number (0 to 5) is added to the base gl_Layer value of 0 to
-- determine which layer (cube face) the primitive should be sent to.
--
-- Note that the use of the passed through input normal in this
-- example suggests that the fragment shader in this example would
-- perform an operation like per-fragment lighting. The viewport swizzle
-- would transform the position to be face-relative, but normal
-- would remain in the original coordinate system. It seems likely that
-- the fragment shader in either version of the example would want to
-- perform lighting in the original coordinate system. It would likely do
-- this by reconstructing the position of the fragment in the original
-- coordinate system using gl_FragCoord, a constant or uniform
-- holding the size of the cube face, and the input
-- gl_ViewportIndex (or gl_Layer), which identifies the
-- cube face. Since the value of normal is in the original
-- coordinate system, it would not need to be modified as part of this
-- coordinate transformation.
--
-- Note that while the rotate() operation in the regular
-- geometry shader above could include an arbitrary post-rotation
-- projection matrix, the viewport swizzle does not support arbitrary
-- math. To get proper projection, 1/W buffering should be used. To do
-- this:
--
--
-- - Program the viewport swizzles to move the pre-projection W eye
-- coordinate (typically 1.0) into the Z coordinate of the swizzle output
-- and the eye coordinate component used for depth into the W coordinate.
-- For example, the viewport corresponding to the +Z face might use a
-- swizzle of (+X, -Y, +W, +Z). The Z normalized device coordinate
-- computed after swizzling would then be z'/w' = 1/Zeye.
-- - On NVIDIA implementations supporting floating-point depth buffers
-- with values outside [0,1], prevent unwanted near plane clipping by
-- enabling depthClampEnable. Ensure that the depth clamp does
-- not mess up depth testing by programming the depth range to very large
-- values, such as minDepthBounds=-z,
-- maxDepthBounds=+z, where z =
-- - It should be possible to use IEEE infinity encodings also
-- (0xFF800000 for -INF, 0x7F800000 for
-- +INF). Even when near/far clipping is disabled, primitives
-- extending behind the eye will still be clipped because one or more
-- vertices will have a negative W coordinate and fail X/Y clipping
-- tests.On other implementations, scale X, Y, and Z eye coordinates so
-- that vertices on the near plane have a post-swizzle W coordinate of
-- 1.0. For example, if the near plane is at Zeye = 1/256, scale X, Y,
-- and Z by 256.
-- - Adjust depth testing to reflect the fact that 1/W values are large
-- near the eye and small away from the eye. Clear the depth buffer to
-- zero (infinitely far away) and use a depth test of
-- COMPARE_OP_GREATER instead of COMPARE_OP_LESS.
--
--
-- Version History
--
--
-- - Revision 1, 2016-12-22 (Piers Daniell)
--
--
-- See Also
--
-- PipelineViewportSwizzleStateCreateFlagsNV,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- ViewportCoordinateSwizzleNV, ViewportSwizzleNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_viewport_swizzle
-- | VkViewportSwizzleNV - Structure specifying a viewport swizzle
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_viewport_swizzle,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- ViewportCoordinateSwizzleNV
data ViewportSwizzleNV
ViewportSwizzleNV :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> ViewportSwizzleNV
-- | x is a ViewportCoordinateSwizzleNV value specifying
-- the swizzle operation to apply to the x component of the primitive
--
-- x must be a valid ViewportCoordinateSwizzleNV
-- value
[$sel:x:ViewportSwizzleNV] :: ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
-- | y is a ViewportCoordinateSwizzleNV value specifying
-- the swizzle operation to apply to the y component of the primitive
--
-- y must be a valid ViewportCoordinateSwizzleNV
-- value
[$sel:y:ViewportSwizzleNV] :: ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
-- | z is a ViewportCoordinateSwizzleNV value specifying
-- the swizzle operation to apply to the z component of the primitive
--
-- z must be a valid ViewportCoordinateSwizzleNV
-- value
[$sel:z:ViewportSwizzleNV] :: ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
-- | w is a ViewportCoordinateSwizzleNV value specifying
-- the swizzle operation to apply to the w component of the primitive
--
-- w must be a valid ViewportCoordinateSwizzleNV
-- value
[$sel:w:ViewportSwizzleNV] :: ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
-- | VkPipelineViewportSwizzleStateCreateInfoNV - Structure specifying
-- swizzle applied to primitive clip coordinates
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_viewport_swizzle,
-- PipelineViewportSwizzleStateCreateFlagsNV,
-- StructureType, ViewportSwizzleNV
data PipelineViewportSwizzleStateCreateInfoNV
PipelineViewportSwizzleStateCreateInfoNV :: PipelineViewportSwizzleStateCreateFlagsNV -> Vector ViewportSwizzleNV -> PipelineViewportSwizzleStateCreateInfoNV
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:PipelineViewportSwizzleStateCreateInfoNV] :: PipelineViewportSwizzleStateCreateInfoNV -> PipelineViewportSwizzleStateCreateFlagsNV
-- | pViewportSwizzles is a pointer to an array of
-- ViewportSwizzleNV structures, defining the viewport swizzles.
--
-- pViewportSwizzles must be a valid pointer to an array
-- of viewportCount valid ViewportSwizzleNV structures
[$sel:viewportSwizzles:PipelineViewportSwizzleStateCreateInfoNV] :: PipelineViewportSwizzleStateCreateInfoNV -> Vector ViewportSwizzleNV
-- | VkPipelineViewportSwizzleStateCreateFlagsNV - Reserved for future use
--
-- Description
--
-- PipelineViewportSwizzleStateCreateFlagsNV is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_viewport_swizzle,
-- PipelineViewportSwizzleStateCreateInfoNV
newtype PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV :: Flags -> PipelineViewportSwizzleStateCreateFlagsNV
-- | VkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is
-- swizzled
--
-- Description
--
-- These values are described in detail in Viewport Swizzle.
--
-- See Also
--
-- VK_NV_viewport_swizzle, ViewportSwizzleNV
newtype ViewportCoordinateSwizzleNV
ViewportCoordinateSwizzleNV :: Int32 -> ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: ViewportCoordinateSwizzleNV
pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: ViewportCoordinateSwizzleNV
type NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1
pattern NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: forall a. Integral a => a
type NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle"
pattern NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportCoordinateSwizzleNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateFlagsNV
-- | Name
--
-- VK_NV_shader_sm_builtins - device extension
--
-- VK_NV_shader_sm_builtins
--
--
-- - Name String VK_NV_shader_sm_builtins
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 155
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-28
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Jeff Bolz, NVIDIA
- Eric
-- Werness, NVIDIA
--
--
-- Description
--
-- This extension provides the ability to determine device-specific
-- properties on NVIDIA GPUs. It provides the number of streaming
-- multiprocessors (SMs), the maximum number of warps (subgroups) that
-- can run on an SM, and shader builtins to enable invocations to
-- identify which SM and warp a shader invocation is executing on.
--
-- This extension enables support for the SPIR-V
-- ShaderSMBuiltinsNV capability.
--
-- These properties and built-ins should typically only be used
-- for debugging purposes.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
--
-- - What should we call this extension?RESOLVED:
-- NV_shader_sm_builtins. Other options considered
-- included:
- NV_shader_smid - but SMID is really easy to
-- typo/confuse as SIMD.
- NV_shader_sm_info - but
-- Info is typically reserved for input structures
--
--
-- Version History
--
--
-- - Revision 1, 2019-05-28 (Daniel Koch)
--
--
-- See Also
--
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_shader_sm_builtins
-- | VkPhysicalDeviceShaderSMBuiltinsPropertiesNV - Structure describing
-- shader SM Builtins properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceShaderSMBuiltinsPropertiesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shader_sm_builtins, StructureType
data PhysicalDeviceShaderSMBuiltinsPropertiesNV
PhysicalDeviceShaderSMBuiltinsPropertiesNV :: Word32 -> Word32 -> PhysicalDeviceShaderSMBuiltinsPropertiesNV
-- | shaderSMCount is the number of SMs on the device.
[$sel:shaderSMCount:PhysicalDeviceShaderSMBuiltinsPropertiesNV] :: PhysicalDeviceShaderSMBuiltinsPropertiesNV -> Word32
-- | shaderWarpsPerSM is the maximum number of simultaneously
-- executing warps on an SM.
[$sel:shaderWarpsPerSM:PhysicalDeviceShaderSMBuiltinsPropertiesNV] :: PhysicalDeviceShaderSMBuiltinsPropertiesNV -> Word32
-- | VkPhysicalDeviceShaderSMBuiltinsFeaturesNV - Structure describing the
-- shader SM Builtins features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceShaderSMBuiltinsFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shader_sm_builtins, Bool32, StructureType
data PhysicalDeviceShaderSMBuiltinsFeaturesNV
PhysicalDeviceShaderSMBuiltinsFeaturesNV :: Bool -> PhysicalDeviceShaderSMBuiltinsFeaturesNV
-- | shaderSMBuiltins indicates whether the implementation
-- supports the SPIR-V ShaderSMBuiltinsNV capability.
[$sel:shaderSMBuiltins:PhysicalDeviceShaderSMBuiltinsFeaturesNV] :: PhysicalDeviceShaderSMBuiltinsFeaturesNV -> Bool
type NV_SHADER_SM_BUILTINS_SPEC_VERSION = 1
pattern NV_SHADER_SM_BUILTINS_SPEC_VERSION :: forall a. Integral a => a
type NV_SHADER_SM_BUILTINS_EXTENSION_NAME = "VK_NV_shader_sm_builtins"
pattern NV_SHADER_SM_BUILTINS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV
-- | Name
--
-- VK_NV_shader_image_footprint - device extension
--
-- VK_NV_shader_image_footprint
--
--
-- - Name String
-- VK_NV_shader_image_footprint
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 205
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-09-13
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Pat Brown, NVIDIA
- Chris
-- Lentini, NVIDIA
- Daniel Koch, NVIDIA
- Jeff Bolz,
-- NVIDIA
--
--
-- Description
--
-- This extension adds Vulkan support for the
-- SPV_NV_shader_image_footprint SPIR-V extension. That SPIR-V
-- extension provides a new instruction OpImageSampleFootprintNV
-- allowing shaders to determine the set of texels that would be accessed
-- by an equivalent filtered texture lookup.
--
-- Instead of returning a filtered texture value, the instruction returns
-- a structure that can be interpreted by shader code to determine the
-- footprint of a filtered texture lookup. This structure includes
-- integer values that identify a small neighborhood of texels in the
-- image being accessed and a bitfield that indicates which texels in
-- that neighborhood would be used. The structure also includes a
-- bitfield where each bit identifies whether any texel in a small
-- aligned block of texels would be fetched by the texture lookup. The
-- size of each block is specified by an access granularity
-- provided by the shader. The minimum granularity supported by this
-- extension is 2x2 (for 2D textures) and 2x2x2 (for 3D textures); the
-- maximum granularity is 256x256 (for 2D textures) or 64x32x32 (for 3D
-- textures). Each footprint query returns the footprint from a single
-- texture level. When using minification filters that combine accesses
-- from multiple mipmap levels, shaders must perform separate queries for
-- the two levels accessed (“fine” and “coarse”). The footprint query
-- also returns a flag indicating if the texture lookup would access
-- texels from only one mipmap level or from two neighboring levels.
--
-- This extension should be useful for multi-pass rendering operations
-- that do an initial expensive rendering pass to produce a first image
-- that is then used as a texture for a second pass. If the second pass
-- ends up accessing only portions of the first image (e.g., due to
-- visbility), the work spent rendering the non-accessed portion of the
-- first image was wasted. With this feature, an application can limit
-- this waste using an initial pass over the geometry in the second image
-- that performs a footprint query for each visible pixel to determine
-- the set of pixels that it needs from the first image. This pass would
-- accumulate an aggregate footprint of all visible pixels into a
-- separate “footprint image” using shader atomics. Then, when rendering
-- the first image, the application can kill all shading work for pixels
-- not in this aggregate footprint.
--
-- This extension has a number of limitations. The
-- OpImageSampleFootprintNV instruction only supports for two-
-- and three-dimensional textures. Footprint evaluation only supports the
-- CLAMP_TO_EDGE wrap mode; results are undefined for all other wrap
-- modes. Only a limited set of granularity values and that set does not
-- support separate coverage information for each texel in the original
-- image.
--
-- When using SPIR-V generated from the OpenGL Shading Language, the new
-- instruction will be generated from code using the new
-- textureFootprint*NV built-in functions from the
-- GL_NV_shader_texture_footprint shading language extension.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capability
--
--
--
-- Issues
--
--
-- - The footprint returned by the SPIR-V instruction is a structure
-- that includes an anchor, an offset, and a mask that represents a 8x8
-- or 4x4x4 neighborhood of texel groups. But the bits of the mask are
-- not stored in simple pitch order. Why is the footprint built this
-- way?
--
--
-- RESOLVED: We expect that applications using this feature will
-- want to use a fixed granularity and accumulate coverage information
-- from the returned footprints into an aggregate “footprint image” that
-- tracks the portions of an image that would be needed by regular
-- texture filtering. If an application is using a two-dimensional image
-- with 4x4 pixel granularity, we expect that the footprint image will
-- use 64-bit texels where each bit in an 8x8 array of bits corresponds
-- to coverage for a 4x4 block in the original image. Texel (0,0) in the
-- footprint image would correspond to texels (0,0) through (31,31) in
-- the original image.
--
-- In the usual case, the footprint for a single access will fully
-- contained in a 32x32 aligned region of the original texture, which
-- corresponds to a single 64-bit texel in the footprint image. In that
-- case, the implementation will return an anchor coordinate pointing at
-- the single footprint image texel, an offset vector of (0,0), and a
-- mask whose bits are aligned with the bits in the footprint texel. For
-- this case, the shader can simply atomically OR the mask bits into the
-- contents of the footprint texel to accumulate footprint coverage.
--
-- In the worst case, the footprint for a single access spans multiple
-- 32x32 aligned regions and may require updates to four separate
-- footprint image texels. In this case, the implementation will return
-- an anchor coordinate pointing at the lower right footprint image texel
-- and an offset will identify how many “columns” and “rows” of the
-- returned 8x8 mask correspond to footprint texels to the left and above
-- the anchor texel. If the anchor is (2,3), the 64 bits of the returned
-- mask are arranged spatially as follows, where each 4x4 block is
-- assigned a bit number that matches its bit number in the footprint
-- image texels:
--
--
-- +-------------------------+-------------------------+
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- 46 47 | 40 41 42 43 44 45 -- -- |
-- | -- -- -- -- -- -- 54 55 | 48 49 50 51 52 53 -- -- |
-- | -- -- -- -- -- -- 62 63 | 56 57 58 59 60 61 -- -- |
-- +-------------------------+-------------------------+
-- | -- -- -- -- -- -- 06 07 | 00 01 02 03 04 05 -- -- |
-- | -- -- -- -- -- -- 14 15 | 08 09 10 11 12 13 -- -- |
-- | -- -- -- -- -- -- 22 23 | 16 17 18 19 20 21 -- -- |
-- | -- -- -- -- -- -- 30 31 | 24 25 26 27 28 29 -- -- |
-- | -- -- -- -- -- -- 38 39 | 32 33 34 35 36 37 -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- | -- -- -- -- -- -- -- -- | -- -- -- -- -- -- -- -- |
-- +-------------------------+-------------------------+
--
--
-- To accumulate coverage for each of the four footprint image texels, a
-- shader can AND the returned mask with simple masks derived from the x
-- and y offset values and then atomically OR the updated mask bits into
-- the contents of the corresponding footprint texel.
--
--
-- uint64_t returnedMask = (uint64_t(footprint.mask.x) | (uint64_t(footprint.mask.y) link:https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html# 32));
-- uint64_t rightMask = ((0xFF [^] footprint.offset.x) * 0x0101010101010101UL);
-- uint64_t bottomMask = 0xFFFFFFFFFFFFFFFFUL >> (8 * footprint.offset.y);
-- uint64_t bottomRight = returnedMask & bottomMask & rightMask;
-- uint64_t bottomLeft = returnedMask & bottomMask & (~rightMask);
-- uint64_t topRight = returnedMask & (~bottomMask) & rightMask;
-- uint64_t topLeft = returnedMask & (~bottomMask) & (~rightMask);
--
--
--
-- - What should an application do to ensure maximum performance when
-- accumulating footprints into an aggregate footprint image?
--
--
-- RESOLVED: We expect that the most common usage of this feature
-- will be to accumulate aggregate footprint coverage, as described in
-- the previous issue. Even if you ignore the anisotropic filtering case
-- where the implementation may return a granularity larger than that
-- requested by the caller, each shader invocation will need to use
-- atomic functions to update up to four footprint image texels for each
-- level of detail accessed. Having each active shader invocation perform
-- multiple atomic operations can be expensive, particularly when
-- neighboring invocations will want to update the same footprint image
-- texels.
--
-- Techniques can be used to reduce the number of atomic operations
-- performed when accumulating coverage include:
--
--
-- - Have logic that detects returned footprints where all components
-- of the returned offset vector are zero. In that case, the mask
-- returned by the footprint function is guaranteed to be aligned with
-- the footprint image texels and affects only a single footprint image
-- texel.
-- - Have fragment shaders communicate using built-in functions from
-- the VK_NV_shader_subgroup_partitioned extension or other
-- shader subgroup extensions. If you have multiple invocations in a
-- subgroup that need to update the same texel (x,y) in the footprint
-- image, compute an aggregate footprint mask across all invocations in
-- the subgroup updating that texel and have a single invocation perform
-- an atomic operation using that aggregate mask.
-- - When the returned footprint spans multiple texels in the footprint
-- image, each invocation need to perform four atomic operations. In the
-- previous issue, we had an example that computed separate masks for
-- “topLeft”, “topRight”, “bottomLeft”, and “bottomRight”. When the
-- invocations in a subgroup have good locality, it might be the case the
-- “top left” for some invocations might refer to footprint image texel
-- (10,10), while neighbors might have their “top left” texels at
-- (11,10), (10,11), and (11,11). If you compute separate masks for
-- even/odd x and y values instead of left/right or top/bottom, the
-- “odd/odd” mask for all invocations in the subgroup hold coverage for
-- footprint image texel (11,11), which can be updated by a single atomic
-- operation for the entire subgroup.
--
--
-- Examples
--
-- TBD
--
-- Version History
--
--
-- - Revision 2, 2018-09-13 (Pat Brown)
- Add issue (2) with
-- performance tips.
--
--
--
-- - Revision 1, 2018-08-12 (Pat Brown)
--
--
-- See Also
--
-- PhysicalDeviceShaderImageFootprintFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_shader_image_footprint
-- | VkPhysicalDeviceShaderImageFootprintFeaturesNV - Structure describing
-- shader image footprint features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- See Texel Footprint Evaluation for more information.
--
-- If the PhysicalDeviceShaderImageFootprintFeaturesNV structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderImageFootprintFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shader_image_footprint, Bool32,
-- StructureType
data PhysicalDeviceShaderImageFootprintFeaturesNV
PhysicalDeviceShaderImageFootprintFeaturesNV :: Bool -> PhysicalDeviceShaderImageFootprintFeaturesNV
-- | imageFootprint specifies whether the implementation supports
-- the ImageFootprintNV SPIR-V capability.
[$sel:imageFootprint:PhysicalDeviceShaderImageFootprintFeaturesNV] :: PhysicalDeviceShaderImageFootprintFeaturesNV -> Bool
type NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION = 2
pattern NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: forall a. Integral a => a
type NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME = "VK_NV_shader_image_footprint"
pattern NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV
-- | Name
--
-- VK_NV_representative_fragment_test - device extension
--
-- VK_NV_representative_fragment_test
--
--
-- - Name String
-- VK_NV_representative_fragment_test
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 167
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-09-13
--
--
--
-- - Contributors
- Kedarnath Thangudu,
-- NVIDIA
- Christoph Kubisch, NVIDIA
- Pierre Boudier,
-- NVIDIA
- Pat Brown, NVIDIA
- Jeff Bolz,
-- NVIDIA
- Eric Werness, NVIDIA
--
--
-- Description
--
-- This extension provides a new representative fragment test that allows
-- implementations to reduce the amount of rasterization and fragment
-- processing work performed for each point, line, or triangle primitive.
-- For any primitive that produces one or more fragments that pass all
-- other early fragment tests, the implementation is permitted to choose
-- one or more “representative” fragments for processing and discard all
-- other fragments. For draw calls rendering multiple points, lines, or
-- triangles arranged in lists, strips, or fans, the representative
-- fragment test is performed independently for each of those primitives.
--
-- This extension is useful for applications that use an early render
-- pass to determine the full set of primitives that would be visible in
-- the final scene. In this render pass, such applications would set up a
-- fragment shader that enables early fragment tests and writes to an
-- image or shader storage buffer to record the ID of the primitive that
-- generated the fragment. Without this extension, the shader would
-- record the ID separately for each visible fragment of each primitive.
-- With this extension, fewer stores will be performed, particularly for
-- large primitives.
--
-- The representative fragment test has no effect if early fragment tests
-- are not enabled via the fragment shader. The set of fragments
-- discarded by the representative fragment test is
-- implementation-dependent and may vary from frame to frame. In some
-- cases, the representative fragment test may not discard any fragments
-- for a given primitive.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Is the representative fragment test guaranteed to have any
-- effect?
--
--
-- RESOLVED: No. As specified, we only guarantee that each
-- primitive with at least one fragment that passes prior tests will have
-- one fragment passing the representative fragment tests. We do not
-- guarantee that any particular fragment will fail the test.
--
-- In the initial implementation of this extension, the representative
-- fragment test is treated as an optimization that may be completely
-- disabled for some pipeline states. This feature was designed for a use
-- case where the fragment shader records information on individual
-- primitives using shader storage buffers or storage images, with no
-- writes to color or depth buffers.
--
--
-- - Will the set of fragments that pass the representative fragment
-- test be repeatable if you draw the same scene over and over
-- again?
--
--
-- RESOLVED: No. The set of fragments that pass the representative
-- fragment test is implementation-dependent and may vary due to the
-- timing of operations performed by the GPU.
--
--
-- - What happens if you enable the representative fragment test with
-- writes to color and/or depth render targets enabled?
--
--
-- RESOLVED: If writes to the color or depth buffer are enabled,
-- they will be performed for any fragments that survive the relevant
-- tests. Any fragments that fail the representative fragment test will
-- not update color buffers. For the use cases intended for this feature,
-- we do not expect color or depth writes to be enabled.
--
--
-- - How do derivatives and automatic texture level of detail
-- computations work with the representative fragment test enabled?
--
--
-- RESOLVED: If a fragment shader uses derivative functions or
-- texture lookups using automatic level of detail computation,
-- derivatives will be computed identically whether or not the
-- representative fragment test is enabled. For the use cases intended
-- for this feature, we do not expect the use of derivatives in the
-- fragment shader.
--
-- Version History
--
--
-- - Revision 2, 2018-09-13 (pbrown)
--
--
--
-- - Revision 1, 2018-08-22 (Kedarnath Thangudu)
--
--
-- See Also
--
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_representative_fragment_test
-- | VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV - Structure
-- describing the representative fragment test features that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceRepresentativeFragmentTestFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_representative_fragment_test, Bool32,
-- StructureType
data PhysicalDeviceRepresentativeFragmentTestFeaturesNV
PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: Bool -> PhysicalDeviceRepresentativeFragmentTestFeaturesNV
-- | representativeFragmentTest indicates whether the
-- implementation supports the representative fragment test. See
-- Representative Fragment Test.
[$sel:representativeFragmentTest:PhysicalDeviceRepresentativeFragmentTestFeaturesNV] :: PhysicalDeviceRepresentativeFragmentTestFeaturesNV -> Bool
-- | VkPipelineRepresentativeFragmentTestStateCreateInfoNV - Structure
-- specifying representative fragment test
--
-- Description
--
-- If this structure is not included in the pNext chain,
-- representativeFragmentTestEnable is considered to be
-- FALSE, and the representative fragment test is disabled.
--
-- If the active fragment shader specifies the
-- EarlyFragmentTests execution mode, the representative
-- fragment shader test has no effect, even if enabled.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_representative_fragment_test, Bool32,
-- StructureType
data PipelineRepresentativeFragmentTestStateCreateInfoNV
PipelineRepresentativeFragmentTestStateCreateInfoNV :: Bool -> PipelineRepresentativeFragmentTestStateCreateInfoNV
-- | representativeFragmentTestEnable controls whether the
-- representative fragment test is enabled.
[$sel:representativeFragmentTestEnable:PipelineRepresentativeFragmentTestStateCreateInfoNV] :: PipelineRepresentativeFragmentTestStateCreateInfoNV -> Bool
type NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION = 2
pattern NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION :: forall a. Integral a => a
type NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME = "VK_NV_representative_fragment_test"
pattern NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV
-- | Name
--
-- VK_NV_framebuffer_mixed_samples - device extension
--
-- VK_NV_framebuffer_mixed_samples
--
--
-- - Name String
-- VK_NV_framebuffer_mixed_samples
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 153
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-06-04
--
--
--
--
-- Description
--
-- This extension allows multisample rendering with a raster and
-- depth/stencil sample count that is larger than the color sample count.
-- Rasterization and the results of the depth and stencil tests together
-- determine the portion of a pixel that is “covered”. It can be useful
-- to evaluate coverage at a higher frequency than color samples are
-- stored. This coverage is then “reduced” to a collection of covered
-- color samples, each having an opacity value corresponding to the
-- fraction of the color sample covered. The opacity can optionally be
-- blended into individual color samples.
--
-- Rendering with fewer color samples than depth/stencil samples greatly
-- reduces the amount of memory and bandwidth consumed by the color
-- buffer. However, converting the coverage values into opacity
-- introduces artifacts where triangles share edges and may not be
-- suitable for normal triangle mesh rendering.
--
-- One expected use case for this functionality is Stencil-then-Cover
-- path rendering (similar to the OpenGL GL_NV_path_rendering extension).
-- The stencil step determines the coverage (in the stencil buffer) for
-- an entire path at the higher sample frequency, and then the cover step
-- draws the path into the lower frequency color buffer using the
-- coverage information to antialias path edges. With this two-step
-- process, internal edges are fully covered when antialiasing is applied
-- and there is no corruption on these edges.
--
-- The key features of this extension are:
--
--
-- - It allows render pass and framebuffer objects to be created where
-- the number of samples in the depth/stencil attachment in a subpass is
-- a multiple of the number of samples in the color attachments in the
-- subpass.
-- - A coverage reduction step is added to Fragment Operations which
-- converts a set of covered raster/depth/stencil samples to a set of
-- color samples that perform blending and color writes. The coverage
-- reduction step also includes an optional coverage modulation step,
-- multiplying color values by a fractional opacity corresponding to the
-- number of associated raster/depth/stencil samples covered.
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-06-04 (Jeff Bolz)
--
--
-- See Also
--
-- CoverageModulationModeNV,
-- PipelineCoverageModulationStateCreateFlagsNV,
-- PipelineCoverageModulationStateCreateInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_framebuffer_mixed_samples
-- | VkPipelineCoverageModulationStateCreateInfoNV - Structure specifying
-- parameters controlling coverage modulation
--
-- Description
--
-- If coverageModulationTableEnable is FALSE, then for
-- each color sample the associated bits of the pixel coverage are
-- counted and divided by the number of associated bits to produce a
-- modulation factor R in the range (0,1] (a value of zero would have
-- been killed due to a color coverage of 0). Specifically:
--
--
-- - N = value of rasterizationSamples
-- - M = value of AttachmentDescription::samples for
-- any color attachments
-- - R = popcount(associated coverage bits) / (N / M)
--
--
-- If coverageModulationTableEnable is TRUE, the value R
-- is computed using a programmable lookup table. The lookup table has N
-- / M elements, and the element of the table is selected by:
--
--
-- - R = pCoverageModulationTable[popcount(associated coverage
-- bits)-1]
--
--
-- Note that the table does not have an entry for popcount(associated
-- coverage bits) = 0, because such samples would have been killed.
--
-- The values of pCoverageModulationTable may be rounded
-- to an implementation-dependent precision, which is at least as fine as
-- 1 / N, and clamped to [0,1].
--
-- For each color attachment with a floating point or normalized color
-- format, each fragment output color value is replicated to M values
-- which can each be modulated (multiplied) by that color sample’s
-- associated value of R. Which components are modulated is controlled by
-- coverageModulationMode.
--
-- If this structure is not included in the pNext chain, it is
-- as if coverageModulationMode is
-- COVERAGE_MODULATION_MODE_NONE_NV.
--
-- If the coverage reduction mode is
-- COVERAGE_REDUCTION_MODE_TRUNCATE_NV, each color sample is
-- associated with only a single coverage sample. In this case, it is as
-- if coverageModulationMode is
-- COVERAGE_MODULATION_MODE_NONE_NV.
--
-- Valid Usage
--
--
-- - If coverageModulationTableEnable is TRUE,
-- coverageModulationTableCount must be equal to the
-- number of rasterization samples divided by the number of color samples
-- in the subpass
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_framebuffer_mixed_samples, Bool32,
-- CoverageModulationModeNV,
-- PipelineCoverageModulationStateCreateFlagsNV,
-- StructureType
data PipelineCoverageModulationStateCreateInfoNV
PipelineCoverageModulationStateCreateInfoNV :: PipelineCoverageModulationStateCreateFlagsNV -> CoverageModulationModeNV -> Bool -> Word32 -> Vector Float -> PipelineCoverageModulationStateCreateInfoNV
-- | flags is reserved for future use.
[$sel:flags:PipelineCoverageModulationStateCreateInfoNV] :: PipelineCoverageModulationStateCreateInfoNV -> PipelineCoverageModulationStateCreateFlagsNV
-- | coverageModulationMode is a CoverageModulationModeNV
-- value controlling which color components are modulated.
[$sel:coverageModulationMode:PipelineCoverageModulationStateCreateInfoNV] :: PipelineCoverageModulationStateCreateInfoNV -> CoverageModulationModeNV
-- | coverageModulationTableEnable controls whether the modulation
-- factor is looked up from a table in pCoverageModulationTable.
[$sel:coverageModulationTableEnable:PipelineCoverageModulationStateCreateInfoNV] :: PipelineCoverageModulationStateCreateInfoNV -> Bool
-- | coverageModulationTableCount is the number of elements in
-- pCoverageModulationTable.
[$sel:coverageModulationTableCount:PipelineCoverageModulationStateCreateInfoNV] :: PipelineCoverageModulationStateCreateInfoNV -> Word32
-- | pCoverageModulationTable is a table of modulation factors
-- containing a value for each number of covered samples.
[$sel:coverageModulationTable:PipelineCoverageModulationStateCreateInfoNV] :: PipelineCoverageModulationStateCreateInfoNV -> Vector Float
-- | VkPipelineCoverageModulationStateCreateFlagsNV - Reserved for future
-- use
--
-- Description
--
-- PipelineCoverageModulationStateCreateFlagsNV is a bitmask type
-- for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_framebuffer_mixed_samples,
-- PipelineCoverageModulationStateCreateInfoNV
newtype PipelineCoverageModulationStateCreateFlagsNV
PipelineCoverageModulationStateCreateFlagsNV :: Flags -> PipelineCoverageModulationStateCreateFlagsNV
-- | VkCoverageModulationModeNV - Specify the coverage modulation mode
--
-- See Also
--
-- VK_NV_framebuffer_mixed_samples,
-- PipelineCoverageModulationStateCreateInfoNV
newtype CoverageModulationModeNV
CoverageModulationModeNV :: Int32 -> CoverageModulationModeNV
-- | COVERAGE_MODULATION_MODE_NONE_NV specifies that no components
-- are multiplied by the modulation factor.
pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV
-- | COVERAGE_MODULATION_MODE_RGB_NV specifies that the red, green,
-- and blue components are multiplied by the modulation factor.
pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV
-- | COVERAGE_MODULATION_MODE_ALPHA_NV specifies that the alpha
-- component is multiplied by the modulation factor.
pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV
-- | COVERAGE_MODULATION_MODE_RGBA_NV specifies that all components
-- are multiplied by the modulation factor.
pattern COVERAGE_MODULATION_MODE_RGBA_NV :: CoverageModulationModeNV
type NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1
pattern NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: forall a. Integral a => a
type NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples"
pattern NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.CoverageModulationModeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateFlagsNV
-- | Name
--
-- VK_NV_fragment_shader_barycentric - device extension
--
-- VK_NV_fragment_shader_barycentric
--
--
-- - Name String
-- VK_NV_fragment_shader_barycentric
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 204
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-08-03
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Pat Brown,
-- NVIDIA
- Daniel Koch, NVIDIA
--
--
-- Description
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- The extension provides access to three additional fragment shader
-- variable decorations in SPIR-V:
--
--
-- - PerVertexNV, which indicates that a fragment shader input
-- will not have interpolated values, but instead must be accessed with
-- an extra array index that identifies one of the vertices of the
-- primitive producing the fragment
-- - BaryCoordNV, which indicates that the variable is a
-- three-component floating-point vector holding barycentric weights for
-- the fragment produced using perspective interpolation
-- - BaryCoordNoPerspNV, which indicates that the variable is
-- a three-component floating-point vector holding barycentric weights
-- for the fragment produced using linear interpolation
--
--
-- When using GLSL source-based shader languages, the following variables
-- from GL_NV_fragment_shader_barycentric maps to these SPIR-V
-- built-in decorations:
--
--
-- - in vec3 gl_BaryCoordNV; → BaryCoordNV
-- - in vec3 gl_BaryCoordNoPerspNV; →
-- BaryCoordNoPerspNV
--
--
-- GLSL variables declared using the __pervertexNV GLSL
-- qualifier are expected to be decorated with PerVertexNV in
-- SPIR-V.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New Built-In Variables
--
--
--
--
--
-- New SPIR-V Decorations
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
--
-- - The AMD_shader_explicit_vertex_parameter extension provides
-- similar functionality. Why write a new extension, and how is this
-- extension different?
--
--
-- RESOLVED: For the purposes of Vulkan/SPIR-V, we chose to
-- implement a separate extension due to several functional differences.
--
-- First, the hardware supporting this extension can provide a
-- three-component barycentric weight vector for variables decorated with
-- BaryCoordNV, while variables decorated with
-- BaryCoordSmoothAMD provide only two components. In some
-- cases, it may be more efficient to explicitly interpolate an attribute
-- via:
--
--
-- float value = (baryCoordNV.x * v[0].attrib +
-- baryCoordNV.y * v[1].attrib +
-- baryCoordNV.z * v[2].attrib);
--
--
-- instead of
--
--
-- float value = (baryCoordSmoothAMD.x * (v[0].attrib - v[2].attrib) +
-- baryCoordSmoothAMD.y * (v[1].attrib - v[2].attrib) +
-- v[2].attrib);
--
--
-- Additionally, the semantics of the decoration
-- BaryCoordPullModelAMD do not appear to map to anything
-- supported by the initial hardware implementation of this extension.
--
-- This extension provides a smaller number of decorations than the AMD
-- extension, as we expect that shaders could derive variables decorated
-- with things like BaryCoordNoPerspCentroidAMD with explicit
-- attribute interpolation instructions. One other relevant difference is
-- that explicit per-vertex attribute access using this extension does
-- not require a constant vertex number.
--
--
-- - Why do the built-in SPIR-V decorations for this extension include
-- two separate built-ins BaryCoordNV and
-- BaryCoordNoPerspNV when a “no perspective” variable could be
-- decorated with BaryCoordNV and NoPerspective?
--
--
-- RESOLVED: The SPIR-V extension for this feature chose to mirror
-- the behavior of the GLSL extension, which provides two built-in
-- variables. Additionally, it is not clear that its a good idea (or even
-- legal) to have two variables using the “same attribute”, but with
-- different interpolation modifiers.
--
-- Version History
--
--
-- - Revision 1, 2018-08-03 (Pat Brown)
--
--
-- See Also
--
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_fragment_shader_barycentric
-- | VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV - Structure
-- describing barycentric support in fragment shaders that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- See Barycentric Interpolation for more information.
--
-- If the PhysicalDeviceFragmentShaderBarycentricFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_fragment_shader_barycentric, Bool32,
-- StructureType
data PhysicalDeviceFragmentShaderBarycentricFeaturesNV
PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: Bool -> PhysicalDeviceFragmentShaderBarycentricFeaturesNV
-- | fragmentShaderBarycentric indicates that the implementation
-- supports the BaryCoordNV and BaryCoordNoPerspNV
-- SPIR-V fragment shader built-ins and supports the PerVertexNV
-- SPIR-V decoration on fragment shader input variables.
[$sel:fragmentShaderBarycentric:PhysicalDeviceFragmentShaderBarycentricFeaturesNV] :: PhysicalDeviceFragmentShaderBarycentricFeaturesNV -> Bool
type NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION = 1
pattern NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: forall a. Integral a => a
type NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME = "VK_NV_fragment_shader_barycentric"
pattern NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV
-- | Name
--
-- VK_NV_fragment_coverage_to_color - device extension
--
-- VK_NV_fragment_coverage_to_color
--
--
-- - Name String
-- VK_NV_fragment_coverage_to_color
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 150
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-21
--
--
--
--
-- Description
--
-- This extension allows the fragment coverage value, represented as an
-- integer bitmask, to be substituted for a color output being written to
-- a single-component color attachment with integer components (e.g.
-- FORMAT_R8_UINT). The functionality provided by this extension
-- is different from simply writing the SampleMask fragment shader
-- output, in that the coverage value written to the framebuffer is taken
-- after stencil test and depth test, as well as after fragment
-- operations such as alpha-to-coverage.
--
-- This functionality may be useful for deferred rendering algorithms,
-- where the second pass needs to know which samples belong to which
-- original fragments.
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-05-21 (Jeff Bolz)
--
--
-- See Also
--
-- PipelineCoverageToColorStateCreateFlagsNV,
-- PipelineCoverageToColorStateCreateInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_fragment_coverage_to_color
-- | VkPipelineCoverageToColorStateCreateInfoNV - Structure specifying
-- whether fragment coverage replaces a color
--
-- Description
--
-- If the pNext chain of
-- PipelineMultisampleStateCreateInfo includes a
-- PipelineCoverageToColorStateCreateInfoNV structure, then that
-- structure controls whether the fragment coverage is substituted for a
-- fragment color output and, if so, which output is replaced.
--
-- If coverageToColorEnable is TRUE, the coverage
-- mask replaces the first component of the color value corresponding
-- to the fragment shader output location with Location equal to
-- coverageToColorLocation and Index equal to zero. If
-- the color attachment format has fewer bits than the coverage mask, the
-- low bits of the sample coverage mask are taken without any clamping.
-- If the color attachment format has more bits than the coverage mask,
-- the high bits of the sample coverage mask are filled with zeros.
--
-- If coverageToColorEnable is FALSE, these operations
-- are skipped. If this structure is not included in the pNext
-- chain, it is as if coverageToColorEnable is FALSE.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_fragment_coverage_to_color, Bool32,
-- PipelineCoverageToColorStateCreateFlagsNV, StructureType
data PipelineCoverageToColorStateCreateInfoNV
PipelineCoverageToColorStateCreateInfoNV :: PipelineCoverageToColorStateCreateFlagsNV -> Bool -> Word32 -> PipelineCoverageToColorStateCreateInfoNV
-- | flags is reserved for future use.
[$sel:flags:PipelineCoverageToColorStateCreateInfoNV] :: PipelineCoverageToColorStateCreateInfoNV -> PipelineCoverageToColorStateCreateFlagsNV
-- | coverageToColorEnable controls whether the fragment coverage
-- value replaces a fragment color output.
[$sel:coverageToColorEnable:PipelineCoverageToColorStateCreateInfoNV] :: PipelineCoverageToColorStateCreateInfoNV -> Bool
-- | coverageToColorLocation controls which fragment shader color
-- output value is replaced.
[$sel:coverageToColorLocation:PipelineCoverageToColorStateCreateInfoNV] :: PipelineCoverageToColorStateCreateInfoNV -> Word32
-- | VkPipelineCoverageToColorStateCreateFlagsNV - Reserved for future use
--
-- Description
--
-- PipelineCoverageToColorStateCreateFlagsNV is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_fragment_coverage_to_color,
-- PipelineCoverageToColorStateCreateInfoNV
newtype PipelineCoverageToColorStateCreateFlagsNV
PipelineCoverageToColorStateCreateFlagsNV :: Flags -> PipelineCoverageToColorStateCreateFlagsNV
type NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1
pattern NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION :: forall a. Integral a => a
type NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color"
pattern NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateFlagsNV
-- | Name
--
-- VK_NV_device_diagnostics_config - device extension
--
-- VK_NV_device_diagnostics_config
--
--
-- - Name String
-- VK_NV_device_diagnostics_config
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 301
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-12-15
--
--
--
-- - Contributors
- Kedarnath Thangudu,
-- NVIDIA
- Thomas Klein, NVIDIA
--
--
-- Description
--
-- Applications using Nvidia Nsight™ Aftermath SDK for Vulkan to
-- integrate device crash dumps into their error reporting mechanisms,
-- may use this extension to configure options related to device
-- crash dump creation.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-11-21 (Kedarnath Thangudu)
--
--
-- See Also
--
-- DeviceDiagnosticsConfigCreateInfoNV,
-- DeviceDiagnosticsConfigFlagBitsNV,
-- DeviceDiagnosticsConfigFlagsNV,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_device_diagnostics_config
-- | VkPhysicalDeviceDiagnosticsConfigFeaturesNV - Structure describing the
-- device-generated diagnostic configuration features that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceDiagnosticsConfigFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDiagnosticsConfigFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_diagnostics_config, Bool32,
-- StructureType
data PhysicalDeviceDiagnosticsConfigFeaturesNV
PhysicalDeviceDiagnosticsConfigFeaturesNV :: Bool -> PhysicalDeviceDiagnosticsConfigFeaturesNV
-- | diagnosticsConfig indicates whether the implementation
-- supports the ability to configure diagnostic tools.
[$sel:diagnosticsConfig:PhysicalDeviceDiagnosticsConfigFeaturesNV] :: PhysicalDeviceDiagnosticsConfigFeaturesNV -> Bool
-- | VkDeviceDiagnosticsConfigCreateInfoNV - Specify diagnostics config for
-- a Vulkan device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_diagnostics_config,
-- DeviceDiagnosticsConfigFlagsNV, StructureType
data DeviceDiagnosticsConfigCreateInfoNV
DeviceDiagnosticsConfigCreateInfoNV :: DeviceDiagnosticsConfigFlagsNV -> DeviceDiagnosticsConfigCreateInfoNV
-- | flags is a bitmask of
-- DeviceDiagnosticsConfigFlagBitsNV specifying addtional
-- parameters for configuring diagnostic tools.
--
-- flags must be a valid combination of
-- DeviceDiagnosticsConfigFlagBitsNV values
[$sel:flags:DeviceDiagnosticsConfigCreateInfoNV] :: DeviceDiagnosticsConfigCreateInfoNV -> DeviceDiagnosticsConfigFlagsNV
type DeviceDiagnosticsConfigFlagsNV = DeviceDiagnosticsConfigFlagBitsNV
-- | VkDeviceDiagnosticsConfigFlagBitsNV - Bitmask specifying diagnostics
-- flags
--
-- See Also
--
-- VK_NV_device_diagnostics_config,
-- DeviceDiagnosticsConfigFlagsNV
newtype DeviceDiagnosticsConfigFlagBitsNV
DeviceDiagnosticsConfigFlagBitsNV :: Flags -> DeviceDiagnosticsConfigFlagBitsNV
-- | DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV
-- enables the generation of debug information for shaders.
pattern DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: DeviceDiagnosticsConfigFlagBitsNV
-- | DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV
-- enables driver side tracking of resources (images, buffers, etc.) used
-- to augment the device fault information.
pattern DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: DeviceDiagnosticsConfigFlagBitsNV
-- | DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV
-- enables automatic insertion of diagnostic checkpoints for draw
-- calls, dispatches, trace rays, and copies. The CPU call stack at the
-- time of the command will be associated as the marker data for the
-- automatically inserted checkpoints.
pattern DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: DeviceDiagnosticsConfigFlagBitsNV
type NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION = 1
pattern NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: forall a. Integral a => a
type NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME = "VK_NV_device_diagnostics_config"
pattern NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigFlagBitsNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV
-- | Name
--
-- VK_NV_dedicated_allocation_image_aliasing - device extension
--
-- VK_NV_dedicated_allocation_image_aliasing
--
--
-- - Name String
-- VK_NV_dedicated_allocation_image_aliasing
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 241
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_dedicated_allocation
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-04
--
--
--
-- - Contributors
- Nuno Subtil,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Eric Werness,
-- NVIDIA
- Axel Gneiting, id Software
--
--
-- Description
--
-- This extension allows applications to alias images on dedicated
-- allocations, subject to specific restrictions: the extent and the
-- number of layers in the image being aliased must be smaller than or
-- equal to those of the original image for which the allocation was
-- created, and every other image parameter must match.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-01-04 (Nuno Subtil)
--
--
-- See Also
--
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing
-- | VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV - Structure
-- describing dedicated allocation image aliasing features that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_dedicated_allocation_image_aliasing, Bool32,
-- StructureType
data PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: Bool -> PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
-- | dedicatedAllocationImageAliasing indicates that the
-- implementation supports aliasing of compatible image objects on a
-- dedicated allocation.
[$sel:dedicatedAllocationImageAliasing:PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV] :: PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV -> Bool
type NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION = 1
pattern NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION :: forall a. Integral a => a
type NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME = "VK_NV_dedicated_allocation_image_aliasing"
pattern NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
-- | Name
--
-- VK_NV_corner_sampled_image - device extension
--
-- VK_NV_corner_sampled_image
--
--
-- - Name String VK_NV_corner_sampled_image
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 51
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-08-13
--
--
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Pat
-- Brown, NVIDIA
- Chris Lentini, NVIDIA
--
--
-- Description
--
-- This extension adds support for a new image organization, which this
-- extension refers to as “corner-sampled” images. A corner-sampled image
-- differs from a conventional image in the following ways:
--
--
--
-- This image organization is designed to facilitate a system like Ptex
-- with separate textures for each face of a subdivision or polygon mesh.
-- Placing sample locations at pixel corners allows applications to
-- maintain continuity between adjacent patches by duplicating values
-- along shared edges. Additionally, using the modified mipmapping logic
-- along with texture dimensions of the form 2n+1 allows continuity
-- across shared edges even if the adjacent patches use different
-- level-of-detail values.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - What should this extension be named?DISCUSSION: While
-- naming this extension, we chose the most distinctive aspect of the
-- image organization and referred to such images as “corner-sampled
-- images”. As a result, we decided to name the extension
-- NV_corner_sampled_image.
--
--
--
-- - Do we need a format feature flag so formats can advertise if they
-- support corner-sampling?DISCUSSION: Currently NVIDIA supports
-- this for all 2D and 3D formats, but not for cube maps or depth-stencil
-- formats. A format feature might be useful if other vendors would only
-- support this on some formats.
-- - Do integer texel coordinates have a different range for
-- corner-sampled images?RESOLVED: No, these are unchanged.
-- - Do unnormalized sampler coordinates work with corner-sampled
-- images? Are there any functional differences?RESOLVED: Yes.
-- Unnormalized coordinates are treated as already scaled for
-- corner-sample usage.
-- - Should we have a diagram in the “Image Operations” chapter
-- demonstrating different texel sampling locations?UNRESOLVED:
-- Probaby, but later.
--
--
-- Version History
--
--
-- - Revision 1, 2018-08-14 (Daniel Koch)
--
--
--
-- - Revision 2, 2018-08-14 (Daniel Koch)
--
--
-- See Also
--
-- PhysicalDeviceCornerSampledImageFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_corner_sampled_image
-- | VkPhysicalDeviceCornerSampledImageFeaturesNV - Structure describing
-- corner sampled image features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceCornerSampledImageFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceCornerSampledImageFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_corner_sampled_image, Bool32, StructureType
data PhysicalDeviceCornerSampledImageFeaturesNV
PhysicalDeviceCornerSampledImageFeaturesNV :: Bool -> PhysicalDeviceCornerSampledImageFeaturesNV
-- | cornerSampledImage specifies whether images can be created
-- with a ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV. See Corner-Sampled
-- Images.
[$sel:cornerSampledImage:PhysicalDeviceCornerSampledImageFeaturesNV] :: PhysicalDeviceCornerSampledImageFeaturesNV -> Bool
type NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION = 2
pattern NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION :: forall a. Integral a => a
type NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image"
pattern NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV
-- | Name
--
-- VK_NV_compute_shader_derivatives - device extension
--
-- VK_NV_compute_shader_derivatives
--
--
-- - Name String
-- VK_NV_compute_shader_derivatives
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 202
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-19
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension adds Vulkan support for the
-- SPV_NV_compute_shader_derivatives SPIR-V extension.
--
-- The SPIR-V extension provides two new execution modes, both of which
-- allow compute shaders to use built-ins that evaluate compute
-- derivatives explicitly or implicitly. Derivatives will be computed via
-- differencing over a 2x2 group of shader invocations. The
-- DerivativeGroupQuadsNV execution mode assembles shader
-- invocations into 2x2 groups, where each group has x and y coordinates
-- of the local invocation ID of the form (2m+{0,1}, 2n+{0,1}). The
-- DerivativeGroupLinearNV execution mode assembles shader
-- invocations into 2x2 groups, where each group has local invocation
-- index values of the form 4m+{0,1,2,3}.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capability
--
--
--
--
--
-- Issues
--
--
-- - Should we specify that the groups of four shader invocations used
-- for derivatives in a compute shader are the same groups of four
-- invocations that form a “quad” in shader subgroups?
--
--
-- RESOLVED: Yes.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2018-07-19 (Pat Brown)
--
--
-- See Also
--
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_compute_shader_derivatives
-- | VkPhysicalDeviceComputeShaderDerivativesFeaturesNV - Structure
-- describing compute shader derivative features that can be supported by
-- an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- See Quad shader scope for more information.
--
-- If the
-- VkPhysicalDeviceComputeShaderDerivativesFeaturesNVfeatures.
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- VkPhysicalDeviceComputeShaderDerivativesFeaturesNVfeatures.
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_compute_shader_derivatives, Bool32,
-- StructureType
data PhysicalDeviceComputeShaderDerivativesFeaturesNV
PhysicalDeviceComputeShaderDerivativesFeaturesNV :: Bool -> Bool -> PhysicalDeviceComputeShaderDerivativesFeaturesNV
-- | computeDerivativeGroupQuads indicates that the implementation
-- supports the ComputeDerivativeGroupQuadsNV SPIR-V capability.
[$sel:computeDerivativeGroupQuads:PhysicalDeviceComputeShaderDerivativesFeaturesNV] :: PhysicalDeviceComputeShaderDerivativesFeaturesNV -> Bool
-- | computeDerivativeGroupLinear indicates that the
-- implementation supports the ComputeDerivativeGroupLinearNV
-- SPIR-V capability.
[$sel:computeDerivativeGroupLinear:PhysicalDeviceComputeShaderDerivativesFeaturesNV] :: PhysicalDeviceComputeShaderDerivativesFeaturesNV -> Bool
type NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1
pattern NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: forall a. Integral a => a
type NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_NV_compute_shader_derivatives"
pattern NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV
-- | Name
--
-- VK_NVX_multiview_per_view_attributes - device extension
--
-- VK_NVX_multiview_per_view_attributes
--
--
-- - Name String
-- VK_NVX_multiview_per_view_attributes
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 98
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_multiview
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-01-13
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Daniel Koch, NVIDIA
--
--
-- Description
--
-- This extension adds a new way to write shaders to be used with
-- multiview subpasses, where the attributes for all views are written
-- out by a single invocation of the pre-rasterization shader
-- stages. Related SPIR-V and GLSL extensions
-- SPV_NVX_multiview_per_view_attributes and
-- GL_NVX_multiview_per_view_attributes introduce per-view
-- position and viewport mask attributes arrays, and this extension
-- defines how those per-view attribute arrays are interpreted by Vulkan.
-- Pipelines using per-view attributes may only execute the
-- pre-rasterization shader stages once for all views rather than
-- once per-view, which reduces redundant shading work.
--
-- A subpass creation flag controls whether the subpass uses this
-- extension. A subpass must either exclusively use this extension
-- or not use it at all.
--
-- Some Vulkan implementations only support the position attribute
-- varying between views in the X component. A subpass can declare via a
-- second creation flag whether all pipelines compiled for this subpass
-- will obey this restriction.
--
-- Shaders that use the new per-view outputs (e.g.
-- gl_PositionPerViewNV) must also write the non-per-view
-- output (gl_Position), and the values written must be
-- such that gl_Position = gl_PositionPerViewNV[gl_ViewIndex]
-- for all views in the subpass. Implementations are free to either use
-- the per-view outputs or the non-per-view outputs, whichever would be
-- more efficient.
--
-- If VK_NV_viewport_array2 is not also supported and enabled,
-- the per-view viewport mask must not be used.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Examples
--
--
-- #version 450 core
--
-- #extension GL_KHX_multiview : enable
-- #extension GL_NVX_multiview_per_view_attributes : enable
--
-- layout(location = 0) in vec4 position;
-- layout(set = 0, binding = 0) uniform Block { mat4 mvpPerView[2]; } buf;
--
-- void main()
-- {
-- // Output both per-view positions and gl_Position as a function
-- // of gl_ViewIndex
-- gl_PositionPerViewNV[0] = buf.mvpPerView[0] * position;
-- gl_PositionPerViewNV[1] = buf.mvpPerView[1] * position;
-- gl_Position = buf.mvpPerView[gl_ViewIndex] * position;
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-01-13 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NVX_multiview_per_view_attributes
-- | VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX - Structure
-- describing multiview limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_multiview_per_view_attributes, Bool32,
-- StructureType
data PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: Bool -> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-- | perViewPositionAllComponents is TRUE if the
-- implementation supports per-view position values that differ in
-- components other than the X component.
[$sel:perViewPositionAllComponents:PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX] :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
type NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1
pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: forall a. Integral a => a
type NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes"
pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-- | Name
--
-- VK_KHR_zero_initialize_workgroup_memory - device extension
--
-- VK_KHR_zero_initialize_workgroup_memory
--
--
-- - Name String
-- VK_KHR_zero_initialize_workgroup_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 326
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-11-18
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies None
-- - Contributors
- Alan Baker, Google
- Jeff
-- Bolz, Nvidia
- Jason Ekstrand, Intel
--
--
-- Description
--
-- This extension allows the use of a null constant initializer on shader
-- Workgroup memory variables, allowing implementations to expose any
-- special hardware or instructions they may have. Zero initialization is
-- commonly used by applications running untrusted content (e.g. web
-- browsers) as way of defeating memory-scraping attacks.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-11-18 (Alan Baker)
- Internal draft
-- version
--
--
-- See Also
--
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory
-- | VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR - Structure
-- describing support for zero initialization of workgroup memory by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_zero_initialize_workgroup_memory, Bool32,
-- StructureType
data PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR :: Bool -> PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
-- | shaderZeroInitializeWorkgroupMemory specifies whether the
-- implementation supports initializing a variable in Workgroup storage
-- class.
[$sel:shaderZeroInitializeWorkgroupMemory:PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR] :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR -> Bool
type KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1
pattern KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME = "VK_KHR_zero_initialize_workgroup_memory"
pattern KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
-- | Name
--
-- VK_KHR_workgroup_memory_explicit_layout - device extension
--
-- VK_KHR_workgroup_memory_explicit_layout
--
--
-- - Name String
-- VK_KHR_workgroup_memory_explicit_layout
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 337
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-06-01
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Caio Marcelo de Oliveira Filho,
-- Intel
- Jeff Bolz, NVIDIA
- Graeme Leese,
-- Broadcom
- Jason Ekstrand, Intel
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension adds Vulkan support for the
-- SPV_KHR_workgroup_memory_explicit_layout SPIR-V extension,
-- which allows shaders to explicitly define the layout of
-- Workgroup storage class memory and create aliases between
-- variables from that storage class in a compute shader.
--
-- The aliasing feature allows different “views” on the same data, so the
-- shader can bulk copy data from another storage class using one type
-- (e.g. an array of large vectors), and then use the data with a more
-- specific type. It also enables reducing the amount of workgroup memory
-- consumed by allowing the shader to alias data whose lifetimes do not
-- overlap.
--
-- The explicit layout support and some form of aliasing is also required
-- for layering OpenCL on top of Vulkan.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-06-01 (Caio Marcelo de Oliveira
-- Filho)
--
--
-- See Also
--
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout
-- | VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR - Structure
-- describing the workgroup storage explicit layout features that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_workgroup_memory_explicit_layout, Bool32,
-- StructureType
data PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: Bool -> Bool -> Bool -> Bool -> PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
-- | workgroupMemoryExplicitLayout indicates whether the
-- implementation supports the SPIR-V
-- WorkgroupMemoryExplicitLayoutKHR capability.
[$sel:workgroupMemoryExplicitLayout:PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR] :: PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR -> Bool
-- | workgroupMemoryExplicitLayoutScalarBlockLayout indicates
-- whether the implementation supports scalar alignment for laying out
-- Workgroup Blocks.
[$sel:workgroupMemoryExplicitLayoutScalarBlockLayout:PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR] :: PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR -> Bool
-- | workgroupMemoryExplicitLayout8BitAccess indicates whether
-- objects in the Workgroup storage class with the
-- Block decoration can have 8-bit integer members. If
-- this feature is not enabled, 8-bit integer members must not be
-- used in such objects. This also indicates whether shader modules
-- can declare the
-- WorkgroupMemoryExplicitLayout8BitAccessKHR capability.
[$sel:workgroupMemoryExplicitLayout8BitAccess:PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR] :: PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR -> Bool
-- | workgroupMemoryExplicitLayout16BitAccess indicates whether
-- objects in the Workgroup storage class with the
-- Block decoration can have 16-bit integer and 16-bit
-- floating-point members. If this feature is not enabled, 16-bit integer
-- or 16-bit floating-point members must not be used in such
-- objects. This also indicates whether shader modules can declare
-- the WorkgroupMemoryExplicitLayout16BitAccessKHR capability.
[$sel:workgroupMemoryExplicitLayout16BitAccess:PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR] :: PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR -> Bool
type KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION = 1
pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION :: forall a. Integral a => a
type KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME = "VK_KHR_workgroup_memory_explicit_layout"
pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
-- | Name
--
-- VK_KHR_surface_protected_capabilities - instance extension
--
-- VK_KHR_surface_protected_capabilities
--
--
-- - Name String
-- VK_KHR_surface_protected_capabilities
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 240
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires
-- VK_KHR_get_surface_capabilities2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-18
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Sandeep Shinde,
-- NVIDIA
- James Jones, NVIDIA
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension extends SurfaceCapabilities2KHR, providing
-- applications a way to query whether swapchains can be created
-- with the SWAPCHAIN_CREATE_PROTECTED_BIT_KHR flag set.
--
-- Vulkan 1.1 added (optional) support for protect memory and protected
-- resources including buffers (BUFFER_CREATE_PROTECTED_BIT),
-- images (IMAGE_CREATE_PROTECTED_BIT), and swapchains
-- (SWAPCHAIN_CREATE_PROTECTED_BIT_KHR). However, on
-- implementations which support multiple windowing systems, not all
-- window systems may be able to provide a protected display path.
--
-- This extension provides a way to query if a protected swapchain
-- created for a surface (and thus a specific windowing system)
-- can be displayed on screen. It extends the existing
-- SurfaceCapabilities2KHR structure with a new
-- SurfaceProtectedCapabilitiesKHR structure from which the
-- application can obtain information about support for protected
-- swapchain creation through
-- getPhysicalDeviceSurfaceCapabilities2KHR.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-12-18 (Sandeep Shinde, Daniel
-- Koch)
--
--
-- See Also
--
-- SurfaceProtectedCapabilitiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_surface_protected_capabilities
-- | VkSurfaceProtectedCapabilitiesKHR - Structure describing capability of
-- a surface to be protected
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_surface_protected_capabilities, Bool32,
-- StructureType
data SurfaceProtectedCapabilitiesKHR
SurfaceProtectedCapabilitiesKHR :: Bool -> SurfaceProtectedCapabilitiesKHR
-- | supportsProtected specifies whether a protected swapchain
-- created from PhysicalDeviceSurfaceInfo2KHR::surface
-- for a particular windowing system can be displayed on screen or
-- not. If supportsProtected is TRUE, then creation of
-- swapchains with the SWAPCHAIN_CREATE_PROTECTED_BIT_KHR flag set
-- must be supported for surface.
[$sel:supportsProtected:SurfaceProtectedCapabilitiesKHR] :: SurfaceProtectedCapabilitiesKHR -> Bool
type KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION = 1
pattern KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME = "VK_KHR_surface_protected_capabilities"
pattern KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR
-- | Name
--
-- VK_KHR_shader_terminate_invocation - device extension
--
-- VK_KHR_shader_terminate_invocation
--
--
-- - Name String
-- VK_KHR_shader_terminate_invocation
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 216
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-08-11
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Alan Baker, Google
- Jeff
-- Bolz, NVIDIA
- Jesse Hall, Google
- Ralph Potter,
-- Samsung
- Tom Olson, Arm
--
--
-- Description
--
-- This extension adds Vulkan support for the
-- SPV_KHR_terminate_invocation SPIR-V extension. That SPIR-V
-- extension provides a new instruction, OpTerminateInvocation,
-- which causes a shader invocation to immediately terminate and sets the
-- coverage of shaded samples to 0; only previously executed
-- instructions will have observable effects. The
-- OpTerminateInvocation instruction, along with the
-- OpDemoteToHelperInvocation instruction from the
-- VK_EXT_shader_demote_to_helper_invocation extension, together
-- replace the OpKill instruction, which could behave like
-- either of these instructions. OpTerminateInvocation provides
-- the behavior required by the GLSL discard statement, and
-- should be used when available by GLSL compilers and applications that
-- need the GLSL discard behavior.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-08-11 (Jesse Hall)
--
--
-- See Also
--
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_terminate_invocation
-- | VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - Structure
-- describing support for the SPIR-V
-- SPV_KHR_terminate_invocation extension
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceShaderTerminateInvocationFeaturesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_terminate_invocation, Bool32,
-- StructureType
data PhysicalDeviceShaderTerminateInvocationFeaturesKHR
PhysicalDeviceShaderTerminateInvocationFeaturesKHR :: Bool -> PhysicalDeviceShaderTerminateInvocationFeaturesKHR
-- | shaderTerminateInvocation specifies whether the
-- implementation supports SPIR-V modules that use the
-- SPV_KHR_terminate_invocation extension.
[$sel:shaderTerminateInvocation:PhysicalDeviceShaderTerminateInvocationFeaturesKHR] :: PhysicalDeviceShaderTerminateInvocationFeaturesKHR -> Bool
type KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION = 1
pattern KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_terminate_invocation"
pattern KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR
-- | Name
--
-- VK_KHR_shader_subgroup_uniform_control_flow - device extension
--
-- VK_KHR_shader_subgroup_uniform_control_flow
--
--
-- - Name String
-- VK_KHR_shader_subgroup_uniform_control_flow
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 324
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-08-27
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Alan Baker, Google
- Jeff
-- Bolz, NVIDIA
--
--
-- Description
--
-- This extension allows the use of the
-- SPV_KHR_subgroup_uniform_control_flow SPIR-V extension in
-- shader modules. SPV_KHR_subgroup_uniform_control_flow
-- provides stronger guarantees that diverged subgroups will reconverge.
--
-- Developers should utilize this extension if they use subgroup
-- operations to reduce the work performed by a uniform subgroup. This
-- extension will guarantee that uniform subgroup will reconverge in the
-- same manner as invocation groups (see “Uniform Control Flow” in the
-- Khronos SPIR-V Specification).
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-08-27 (Alan Baker)
- Internal draft
-- version
--
--
-- See Also
--
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
-- | VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR -
-- Structure describing support for shader subgroup uniform control flow
-- by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePrivateDataFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePrivateDataFeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_subgroup_uniform_control_flow, Bool32,
-- StructureType
data PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: Bool -> PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
-- | shaderSubgroupUniformControlFlow specifies whether the
-- implementation supports the shader execution mode
-- SubgroupUniformControlFlowKHR
[$sel:shaderSubgroupUniformControlFlow:PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR] :: PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR -> Bool
type KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1
pattern KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow"
pattern KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
-- | Name
--
-- VK_KHR_shader_integer_dot_product - device extension
--
-- VK_KHR_shader_integer_dot_product
--
--
-- - Name String
-- VK_KHR_shader_integer_dot_product
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 281
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
-- - Extension Proposal
-- VK_KHR_shader_integer_dot_product
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-16
--
--
--
-- - Interactions and External Dependencies
-- - IP Status No known IP claims.
-- - Contributors
- Kévin Petit, Arm
-- Ltd.
- Jeff Bolz, NVidia
- Spencer Fricke,
-- Samsung
- Jesse Hall, Google
- John Kessenich,
-- Google
- Graeme Leese, Broadcom
- Einar Hov, Arm
-- Ltd.
- Stuart Brady, Arm Ltd.
- Pablo Cascon, Arm
-- Ltd.
- Tobias Hector, AMD
- Jeff Leger,
-- Qualcomm
- Ruihao Zhang, Qualcomm
- Pierre Boudier,
-- NVidia
- Jon Leech, The Khronos Group
- Tom Olson, Arm
-- Ltd.
--
--
-- Description
--
-- This extension adds support for the integer dot product SPIR-V
-- instructions defined in SPV_KHR_integer_dot_product. These
-- instructions are particularly useful for neural network inference and
-- training but find uses in other general purpose compute applications
-- as well.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-06-16 (Kévin Petit)
--
--
-- See Also
--
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_integer_dot_product
-- | VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR - Structure
-- describing integer dot product features that can be supported by an
-- implementation
--
-- Members
--
-- The members of the
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR structure
-- describe the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderIntegerDotProductFeaturesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_integer_dot_product, Bool32,
-- StructureType
data PhysicalDeviceShaderIntegerDotProductFeaturesKHR
PhysicalDeviceShaderIntegerDotProductFeaturesKHR :: Bool -> PhysicalDeviceShaderIntegerDotProductFeaturesKHR
-- | shaderIntegerDotProduct specifies whether shader modules
-- can declare the DotProductInputAllKHR,
-- DotProductInput4x8BitKHR,
-- DotProductInput4x8BitPackedKHR and DotProductKHR
-- capabilities.
[$sel:shaderIntegerDotProduct:PhysicalDeviceShaderIntegerDotProductFeaturesKHR] :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR -> Bool
-- | VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR - Structure
-- containing information about integer dot product support for a
-- physical device
--
-- Description
--
-- If the PhysicalDeviceShaderIntegerDotProductPropertiesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- These are properties of the integer dot product acceleration
-- information of a physical device.
--
-- Note
--
-- A dot product operation is deemed accelerated if its implementation
-- provides a performance advantage over application-provided code
-- composed from elementary instructions and/or other dot product
-- instructions, either because the implementation uses optimized machine
-- code sequences whose generation from application-provided code cannot
-- be guaranteed or because it uses hardware features that cannot
-- otherwise be targeted from application-provided code.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_integer_dot_product, Bool32,
-- StructureType
data PhysicalDeviceShaderIntegerDotProductPropertiesKHR
PhysicalDeviceShaderIntegerDotProductPropertiesKHR :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceShaderIntegerDotProductPropertiesKHR
-- | integerDotProduct8BitUnsignedAccelerated is a boolean that
-- will be TRUE if the support for 8-bit unsigned dot product
-- operations using the OpUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct8BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct8BitSignedAccelerated is a boolean that will
-- be TRUE if the support for 8-bit signed dot product operations
-- using the OpSDotKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProduct8BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct8BitMixedSignednessAccelerated is a boolean
-- that will be TRUE if the support for 8-bit mixed signedness dot
-- product operations using the OpSUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct8BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct4x8BitPackedUnsignedAccelerated is a boolean
-- that will be TRUE if the support for 8-bit unsigned dot product
-- operations from operands packed into 32-bit integers using the
-- OpUDotKHR SPIR-V instruction is accelerated as defined
-- below.
[$sel:integerDotProduct4x8BitPackedUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct4x8BitPackedSignedAccelerated is a boolean
-- that will be TRUE if the support for 8-bit signed dot product
-- operations from operands packed into 32-bit integers using the
-- OpSDotKHR SPIR-V instruction is accelerated as defined
-- below.
[$sel:integerDotProduct4x8BitPackedSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct4x8BitPackedMixedSignednessAccelerated is a
-- boolean that will be TRUE if the support for 8-bit mixed
-- signedness dot product operations from operands packed into 32-bit
-- integers using the OpSUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct4x8BitPackedMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct16BitUnsignedAccelerated is a boolean that
-- will be TRUE if the support for 16-bit unsigned dot product
-- operations using the OpUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct16BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct16BitSignedAccelerated is a boolean that
-- will be TRUE if the support for 16-bit signed dot product
-- operations using the OpSDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct16BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct16BitMixedSignednessAccelerated is a boolean
-- that will be TRUE if the support for 16-bit mixed signedness
-- dot product operations using the OpSUDotKHR SPIR-V
-- instruction is accelerated as defined below.
[$sel:integerDotProduct16BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct32BitUnsignedAccelerated is a boolean that
-- will be TRUE if the support for 32-bit unsigned dot product
-- operations using the OpUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct32BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct32BitSignedAccelerated is a boolean that
-- will be TRUE if the support for 32-bit signed dot product
-- operations using the OpSDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct32BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct32BitMixedSignednessAccelerated is a boolean
-- that will be TRUE if the support for 32-bit mixed signedness
-- dot product operations using the OpSUDotKHR SPIR-V
-- instruction is accelerated as defined below.
[$sel:integerDotProduct32BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct64BitUnsignedAccelerated is a boolean that
-- will be TRUE if the support for 64-bit unsigned dot product
-- operations using the OpUDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct64BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct64BitSignedAccelerated is a boolean that
-- will be TRUE if the support for 64-bit signed dot product
-- operations using the OpSDotKHR SPIR-V instruction is
-- accelerated as defined below.
[$sel:integerDotProduct64BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProduct64BitMixedSignednessAccelerated is a boolean
-- that will be TRUE if the support for 64-bit mixed signedness
-- dot product operations using the OpSUDotKHR SPIR-V
-- instruction is accelerated as defined below.
[$sel:integerDotProduct64BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
-- is a boolean that will be TRUE if the support for 8-bit
-- unsigned accumulating saturating dot product operations using the
-- OpUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating8BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProductAccumulatingSaturating8BitSignedAccelerated
-- is a boolean that will be TRUE if the support for 8-bit signed
-- accumulating saturating dot product operations using the
-- OpSDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating8BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
-- is a boolean that will be TRUE if the support for 8-bit mixed
-- signedness accumulating saturating dot product operations using the
-- OpSUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
-- is a boolean that will be TRUE if the support for 8-bit
-- unsigned accumulating saturating dot product operations from operands
-- packed into 32-bit integers using the OpUDotAccSatKHR SPIR-V
-- instruction is accelerated as defined below.
[$sel:integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
-- is a boolean that will be TRUE if the support for 8-bit signed
-- accumulating saturating dot product operations from operands packed
-- into 32-bit integers using the OpSDotAccSatKHR SPIR-V
-- instruction is accelerated as defined below.
[$sel:integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
-- is a boolean that will be TRUE if the support for 8-bit mixed
-- signedness accumulating saturating dot product operations from
-- operands packed into 32-bit integers using the
-- OpSUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
-- is a boolean that will be TRUE if the support for 16-bit
-- unsigned accumulating saturating dot product operations using the
-- OpUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating16BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProductAccumulatingSaturating16BitSignedAccelerated
-- is a boolean that will be TRUE if the support for 16-bit signed
-- accumulating saturating dot product operations using the
-- OpSDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating16BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
-- is a boolean that will be TRUE if the support for 16-bit mixed
-- signedness accumulating saturating dot product operations using the
-- OpSUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
-- is a boolean that will be TRUE if the support for 32-bit
-- unsigned accumulating saturating dot product operations using the
-- OpUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating32BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProductAccumulatingSaturating32BitSignedAccelerated
-- is a boolean that will be TRUE if the support for 32-bit signed
-- accumulating saturating dot product operations using the
-- OpSDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating32BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
-- is a boolean that will be TRUE if the support for 32-bit mixed
-- signedness accumulating saturating dot product operations using the
-- OpSUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
-- is a boolean that will be TRUE if the support for 64-bit
-- unsigned accumulating saturating dot product operations using the
-- OpUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating64BitUnsignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- | integerDotProductAccumulatingSaturating64BitSignedAccelerated
-- is a boolean that will be TRUE if the support for 64-bit signed
-- accumulating saturating dot product operations using the
-- OpSDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating64BitSignedAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
-- |
-- integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
-- is a boolean that will be TRUE if the support for 64-bit mixed
-- signedness accumulating saturating dot product operations using the
-- OpSUDotAccSatKHR SPIR-V instruction is accelerated as
-- defined below.
[$sel:integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated:PhysicalDeviceShaderIntegerDotProductPropertiesKHR] :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR -> Bool
type KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1
pattern KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product"
pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR
-- | Name
--
-- VK_KHR_shader_clock - device extension
--
-- VK_KHR_shader_clock
--
--
-- - Name String VK_KHR_shader_clock
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 182
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-4-25
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Aaron Hagan, AMD
- Daniel
-- Koch, NVIDIA
--
--
-- Description
--
-- This extension advertises the SPIR-V ShaderClockKHR
-- capability for Vulkan, which allows a shader to query a real-time or
-- monotonically incrementing counter at the subgroup level or across the
-- device level. The two valid SPIR-V scopes for OpReadClockKHR
-- are Subgroup and Device.
--
-- When using GLSL source-based shading languages, the
-- clockRealtime*EXT() timing functions map to the
-- OpReadClockKHR instruction with a scope of Device, and
-- the clock*ARB() timing functions map to the
-- OpReadClockKHR instruction with a scope of Subgroup.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-4-25 (Aaron Hagan)
--
--
-- See Also
--
-- PhysicalDeviceShaderClockFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_clock
-- | VkPhysicalDeviceShaderClockFeaturesKHR - Structure describing features
-- supported by VK_KHR_shader_clock
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderClockFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderClockFeaturesKHR can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_clock, Bool32, StructureType
data PhysicalDeviceShaderClockFeaturesKHR
PhysicalDeviceShaderClockFeaturesKHR :: Bool -> Bool -> PhysicalDeviceShaderClockFeaturesKHR
-- | shaderSubgroupClock indicates whether shaders can
-- perform Subgroup scoped clock reads.
[$sel:shaderSubgroupClock:PhysicalDeviceShaderClockFeaturesKHR] :: PhysicalDeviceShaderClockFeaturesKHR -> Bool
-- | shaderDeviceClock indicates whether shaders can
-- perform Device scoped clock reads.
[$sel:shaderDeviceClock:PhysicalDeviceShaderClockFeaturesKHR] :: PhysicalDeviceShaderClockFeaturesKHR -> Bool
type KHR_SHADER_CLOCK_SPEC_VERSION = 1
pattern KHR_SHADER_CLOCK_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock"
pattern KHR_SHADER_CLOCK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR
-- | Name
--
-- VK_KHR_ray_query - device extension
--
-- VK_KHR_ray_query
--
--
-- - Name String VK_KHR_ray_query
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 349
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires VK_KHR_spirv_1_4
- Requires
-- VK_KHR_acceleration_structure
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-11-12
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Matthäus Chajdas,
-- AMD
- Greg Grebe, AMD
- Nicolai Hähnle, AMD
- Tobias
-- Hector, AMD
- Dave Oldcorn, AMD
- Skyler Saleh,
-- AMD
- Mathieu Robart, Arm
- Marius Bjorge, Arm
- Tom
-- Olson, Arm
- Sebastian Tafuri, EA
- Henrik Rydgard,
-- Embark
- Juan Cañada, Epic Games
- Patrick Kelly, Epic
-- Games
- Yuriy O’Donnell, Epic Games
- Michael Doggett,
-- Facebook/Oculus
- Andrew Garrard, Imagination
- Don
-- Scorgie, Imagination
- Dae Kim, Imagination
- Joshua
-- Barczak, Intel
- Slawek Grajewski, Intel
- Jeff Bolz,
-- NVIDIA
- Pascal Gautron, NVIDIA
- Daniel Koch,
-- NVIDIA
- Christoph Kubisch, NVIDIA
- Ashwin Lele,
-- NVIDIA
- Robert Stepinski, NVIDIA
- Martin Stich,
-- NVIDIA
- Nuno Subtil, NVIDIA
- Eric Werness,
-- NVIDIA
- Jon Leech, Khronos
- Jeroen van Schijndel,
-- OTOY
- Juul Joosten, OTOY
- Alex Bourd,
-- Qualcomm
- Roman Larionov, Qualcomm
- David McAllister,
-- Qualcomm
- Spencer Fricke, Samsung
- Lewis Gordon,
-- Samsung
- Ralph Potter, Samsung
- Jasper Bekkers, Traverse
-- Research
- Jesse Barker, Unity
- Baldur Karlsson,
-- Valve
--
--
-- Description
--
-- Rasterization has been the dominant method to produce interactive
-- graphics, but increasing performance of graphics hardware has made ray
-- tracing a viable option for interactive rendering. Being able to
-- integrate ray tracing with traditional rasterization makes it easier
-- for applications to incrementally add ray traced effects to existing
-- applications or to do hybrid approaches with rasterization for primary
-- visibility and ray tracing for secondary queries.
--
-- Ray queries are available to all shader types, including graphics,
-- compute and ray tracing pipelines. Ray queries are not able to launch
-- additional shaders, instead returning traversal results to the calling
-- shader.
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Sample Code
--
-- Example of ray query in a GLSL shader
--
--
-- rayQueryEXT rq;
--
-- rayQueryInitializeEXT(rq, accStruct, gl_RayFlagsNoneEXT, 0, origin, tMin, direction, tMax);
--
-- while(rayQueryProceedEXT(rq)) {
-- if (rayQueryGetIntersectionTypeEXT(rq, false) == gl_RayQueryCandidateIntersectionTriangleEXT) {
-- //...
-- rayQueryConfirmIntersectionEXT(rq);
-- }
-- }
--
-- if (rayQueryGetIntersectionTypeEXT(rq, true) == gl_RayQueryCommittedIntersectionNoneEXT) {
-- //...
-- }
--
--
-- Issues
--
--
-- - What are the changes between the public provisional
-- (VK_KHR_ray_tracing v8) release and the final
-- (VK_KHR_acceleration_structure v11 / VK_KHR_ray_query v1)
-- release?
--
--
--
-- - refactor VK_KHR_ray_tracing into 3 extensions, enabling
-- implementation flexibility and decoupling ray query support from ray
-- pipelines:
- VK_KHR_acceleration_structure (for
-- acceleration structure
-- operations)
- VK_KHR_ray_tracing_pipeline (for ray
-- tracing pipeline and shader stages)
- VK_KHR_ray_query
-- (for ray queries in existing shader stages)
-- - Update SPIRV capabilities to use RayQueryKHR
-- - extension is no longer provisional
--
--
-- Version History
--
--
-- - Revision 1, 2020-11-12 (Mathieu Robart, Daniel Koch, Andrew
-- Garrard)
- Decomposition of the specification, from
-- VK_KHR_ray_tracing to VK_KHR_ray_query (#1918,!3912)
- update to
-- use RayQueryKHR SPIR-V capability
- add numerical
-- limits for ray parameters (#2235,!3960)
- relax formula for ray
-- intersection candidate determination (#2322,!4080)
- restrict
-- traces to TLAS (#2239,!4141)
- require HitT to be in
-- ray interval for OpRayQueryGenerateIntersectionKHR
-- (#2359,!4146)
- add ray query shader stages for AS read bit
-- (#2407,!4203)
--
--
-- See Also
--
-- PhysicalDeviceRayQueryFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_ray_query
-- | VkPhysicalDeviceRayQueryFeaturesKHR - Structure describing the ray
-- query features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceRayQueryFeaturesKHR structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceRayQueryFeaturesKHR can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_ray_query, Bool32, StructureType
data PhysicalDeviceRayQueryFeaturesKHR
PhysicalDeviceRayQueryFeaturesKHR :: Bool -> PhysicalDeviceRayQueryFeaturesKHR
-- | rayQuery indicates whether the implementation supports ray
-- query (OpRayQueryProceedKHR) functionality.
[$sel:rayQuery:PhysicalDeviceRayQueryFeaturesKHR] :: PhysicalDeviceRayQueryFeaturesKHR -> Bool
type KHR_RAY_QUERY_SPEC_VERSION = 1
pattern KHR_RAY_QUERY_SPEC_VERSION :: forall a. Integral a => a
type KHR_RAY_QUERY_EXTENSION_NAME = "VK_KHR_ray_query"
pattern KHR_RAY_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR
-- | Name
--
-- VK_KHR_present_id - device extension
--
-- VK_KHR_present_id
--
--
-- - Name String VK_KHR_present_id
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 295
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-15
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Keith Packard,
-- Valve
- Ian Elliott, Google
- Alon Or-bach,
-- Samsung
--
--
-- Description
--
-- This device extension allows an application that uses the
-- VK_KHR_swapchain extension to provide an identifier for
-- present operations on a swapchain. An application can use this
-- to reference specific present operations in other extensions.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2019-05-15 (Keith Packard)
--
--
-- See Also
--
-- PhysicalDevicePresentIdFeaturesKHR, PresentIdKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_present_id
-- | VkPhysicalDevicePresentIdFeaturesKHR - Structure indicating support
-- for present id
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePresentIdFeaturesKHR structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDevicePresentIdFeaturesKHR can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_present_id, Bool32, StructureType
data PhysicalDevicePresentIdFeaturesKHR
PhysicalDevicePresentIdFeaturesKHR :: Bool -> PhysicalDevicePresentIdFeaturesKHR
-- | presentId indicates that the implementation supports
-- specifying present ID values in the PresentIdKHR extension to
-- the PresentInfoKHR struct.
[$sel:presentId:PhysicalDevicePresentIdFeaturesKHR] :: PhysicalDevicePresentIdFeaturesKHR -> Bool
-- | VkPresentIdKHR - The list of presentation identifiers
--
-- Description
--
-- For applications to be able to reference specific presentation events
-- queued by a call to queuePresentKHR, an identifier needs to be
-- associated with them. When the presentId feature is enabled,
-- applications can include the PresentIdKHR structure in
-- the pNext chain of the PresentInfoKHR structure to
-- supply identifiers.
--
-- Each SwapchainKHR has a presentId associated with it. This
-- value is initially set to zero when the SwapchainKHR is
-- created.
--
-- When a PresentIdKHR structure with a non-NULL
-- pPresentIds is included in the pNext chain of a
-- PresentInfoKHR structure, each pSwapchains entry has a
-- presentId associated in the pPresentIds array at the same
-- index as the swapchain in the pSwapchains array. If this
-- presentId is non-zero, then the application can later use this
-- value to refer to that image presentation. A value of zero indicates
-- that this presentation has no associated presentId. A non-zero
-- presentId must be greater than any non-zero presentId passed
-- previously by the application for the same swapchain.
--
-- There is no requirement for any precise timing relationship between
-- the presentation of the image to the user and the update of the
-- presentId value, but implementations should make this as close
-- as possible to the presentation of the first pixel in the new image to
-- the user.
--
-- Valid Usage
--
--
--
--
-- - Each presentIds entry must be greater than any
-- previous presentIds entry passed for the associated
-- pSwapchains entry
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pPresentIds is not NULL, pPresentIds
-- must be a valid pointer to an array of swapchainCount
-- uint64_t values
-- - swapchainCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_KHR_present_id, StructureType
data PresentIdKHR
PresentIdKHR :: Word32 -> Vector Word64 -> PresentIdKHR
-- | swapchainCount is the number of swapchains being presented to
-- the queuePresentKHR command.
[$sel:swapchainCount:PresentIdKHR] :: PresentIdKHR -> Word32
-- | pPresentIds is NULL or a pointer to an array of
-- uint64_t with swapchainCount entries. If not NULL,
-- each non-zero value in pPresentIds specifies the present id
-- to be associated with the presentation of the swapchain with the same
-- index in the queuePresentKHR call.
[$sel:presentIds:PresentIdKHR] :: PresentIdKHR -> Vector Word64
type KHR_PRESENT_ID_SPEC_VERSION = 1
pattern KHR_PRESENT_ID_SPEC_VERSION :: forall a. Integral a => a
type KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id"
pattern KHR_PRESENT_ID_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_present_id.PresentIdKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_present_id.PresentIdKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_present_id.PresentIdKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_present_id.PresentIdKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR
-- | Name
--
-- VK_KHR_portability_subset - device extension
--
-- VK_KHR_portability_subset
--
--
-- - Name String VK_KHR_portability_subset
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 164
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- __This is a
-- provisional extension and must be used with caution. See
-- the description of provisional header files for enablement and
-- stability details.__
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Bill Hollings, The Brenwill
-- Workshop Ltd.
- Daniel Koch, NVIDIA
- Dzmitry Malyshau,
-- Mozilla
- Chip Davis, CodeWeavers
- Dan Ginsburg,
-- Valve
- Mike Weiblen, LunarG
- Neil Trevett,
-- NVIDIA
- Alexey Knyazev, Independent
--
--
-- Description
--
-- The `VK_KHR_portability_subset extension allows a non-conformant
-- Vulkan implementation to be built on top of another non-Vulkan
-- graphics API, and identifies differences between that implementation
-- and a fully-conformant native Vulkan implementation.
--
-- This extension provides Vulkan implementations with the ability to
-- mark otherwise-required capabilities as unsupported, or to establish
-- additional properties and limits that the application should adhere to
-- in order to guarantee portable behaviour and operation across
-- platforms, including platforms where Vulkan is not natively supported.
--
-- The goal of this specification is to document, and make queryable,
-- capabilities which are required to be supported by a fully-conformant
-- Vulkan 1.0 implementation, but may be optional for an implementation
-- of the Vulkan 1.0 Portability Subset.
--
-- The intent is that this extension will be advertised only on
-- implementations of the Vulkan 1.0 Portability Subset, and not on
-- conformant implementations of Vulkan 1.0. Fully-conformant Vulkan
-- implementations provide all the required capabilies, and so will not
-- provide this extension. Therefore, the existence of this extension can
-- be used to determine that an implementation is likely not fully
-- conformant with the Vulkan spec.
--
-- If this extension is supported by the Vulkan implementation, the
-- application must enable this extension.
--
-- This extension defines several new structures that can be chained to
-- the existing structures used by certain standard Vulkan calls, in
-- order to query for non-conformant portable behavior.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2020-07-21 (Bill Hollings)
--
--
-- See Also
--
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_portability_subset
-- | VkPhysicalDevicePortabilitySubsetFeaturesKHR - Structure describing
-- the features that may not be supported by an implementation of the
-- Vulkan 1.0 Portability Subset
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDevicePortabilitySubsetFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePortabilitySubsetFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_portability_subset, Bool32, StructureType
data PhysicalDevicePortabilitySubsetFeaturesKHR
PhysicalDevicePortabilitySubsetFeaturesKHR :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDevicePortabilitySubsetFeaturesKHR
-- | constantAlphaColorBlendFactors indicates whether this
-- implementation supports constant alpha
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blendfactors
-- used as source or destination color
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blending.
[$sel:constantAlphaColorBlendFactors:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | events indicates whether this implementation supports
-- synchronization using
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-events.
[$sel:events:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | imageViewFormatReinterpretation indicates whether this
-- implementation supports a ImageView being created with a texel
-- format containing a different number of components, or a different
-- number of bits in each component, than the texel format of the
-- underlying Image.
[$sel:imageViewFormatReinterpretation:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | imageViewFormatSwizzle indicates whether this implementation
-- supports remapping format components using
-- ImageViewCreateInfo::components.
[$sel:imageViewFormatSwizzle:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | imageView2DOn3DImage indicates whether this implementation
-- supports a Image being created with the
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT flag set, permitting a 2D
-- or 2D array image view to be created on a 3D Image.
[$sel:imageView2DOn3DImage:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | multisampleArrayImage indicates whether this implementation
-- supports a Image being created as a 2D array with multiple
-- samples per texel.
[$sel:multisampleArrayImage:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | mutableComparisonSamplers indicates whether this
-- implementation allows descriptors with comparison samplers to be
-- updated.
[$sel:mutableComparisonSamplers:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | pointPolygons indicates whether this implementation supports
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast
-- using a point
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-polygonmode.
[$sel:pointPolygons:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | samplerMipLodBias indicates whether this implementation
-- supports setting a mipmap LOD bias value when creating a
-- sampler.
[$sel:samplerMipLodBias:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | separateStencilMaskRef indicates whether this implementation
-- supports separate front and back
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-stencil
-- reference values.
[$sel:separateStencilMaskRef:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | shaderSampleRateInterpolationFunctions indicates whether this
-- implementation supports fragment shaders which use the
-- InterpolationFunction capability and the extended instructions
-- InterpolateAtCentroid, InterpolateAtOffset, and
-- InterpolateAtSample from the GLSL.std.450 extended
-- instruction set. This member is only meaningful if the
-- sampleRateShading feature is supported.
[$sel:shaderSampleRateInterpolationFunctions:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | tessellationIsolines indicates whether this implementation
-- supports isoline output from the
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#tessellation
-- stage of a graphics pipeline. This member is only meaningful if
-- tessellation shaders are supported.
[$sel:tessellationIsolines:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | tessellationPointMode indicates whether this implementation
-- supports point output from the
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#tessellation
-- stage of a graphics pipeline. This member is only meaningful if
-- tessellation shaders are supported.
[$sel:tessellationPointMode:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | triangleFans indicates whether this implementation supports
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-triangle-fans
-- primitive topology.
[$sel:triangleFans:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | vertexAttributeAccessBeyondStride indicates whether this
-- implementation supports accessing a vertex input attribute beyond the
-- stride of the corresponding vertex input binding.
[$sel:vertexAttributeAccessBeyondStride:PhysicalDevicePortabilitySubsetFeaturesKHR] :: PhysicalDevicePortabilitySubsetFeaturesKHR -> Bool
-- | VkPhysicalDevicePortabilitySubsetPropertiesKHR - Structure describing
-- additional properties supported by a portable implementation
--
-- Description
--
-- If the PhysicalDevicePortabilitySubsetPropertiesKHR structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_portability_subset, StructureType
data PhysicalDevicePortabilitySubsetPropertiesKHR
PhysicalDevicePortabilitySubsetPropertiesKHR :: Word32 -> PhysicalDevicePortabilitySubsetPropertiesKHR
-- | minVertexInputBindingStrideAlignment indicates the minimum
-- alignment for vertex input strides.
-- VertexInputBindingDescription::stride must be a
-- multiple of, and at least as large as, this value. The value
-- must be a power of two.
[$sel:minVertexInputBindingStrideAlignment:PhysicalDevicePortabilitySubsetPropertiesKHR] :: PhysicalDevicePortabilitySubsetPropertiesKHR -> Word32
type KHR_PORTABILITY_SUBSET_SPEC_VERSION = 1
pattern KHR_PORTABILITY_SUBSET_SPEC_VERSION :: forall a. Integral a => a
type KHR_PORTABILITY_SUBSET_EXTENSION_NAME = "VK_KHR_portability_subset"
pattern KHR_PORTABILITY_SUBSET_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR
-- | Name
--
-- VK_KHR_incremental_present - device extension
--
-- VK_KHR_incremental_present
--
--
-- - Name String VK_KHR_incremental_present
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 85
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-11-02
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Ian Elliott,
-- Google
- Jesse Hall, Google
- Alon Or-bach,
-- Samsung
- James Jones, NVIDIA
- Daniel Rakos,
-- AMD
- Ray Smith, ARM
- Mika Isojarvi, Google
- Jeff
-- Juliano, NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This device extension extends queuePresentKHR, from the
-- VK_KHR_swapchain extension, allowing an application to
-- specify a list of rectangular, modified regions of each image to
-- present. This should be used in situations where an application is
-- only changing a small portion of the presentable images within a
-- swapchain, since it enables the presentation engine to avoid wasting
-- time presenting parts of the surface that have not changed.
--
-- This extension is leveraged from the
-- EGL_KHR_swap_buffers_with_damage extension.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How should we handle steroescopic-3D swapchains? We need to add a
-- layer for each rectangle. One approach is to create another struct
-- containing the Rect2D plus layer, and have
-- PresentRegionsKHR point to an array of that struct. Another
-- approach is to have two parallel arrays, pRectangles and
-- pLayers, where pRectangles[i] and
-- pLayers[i] must be used together. Which approach should we
-- use, and if the array of a new structure, what should that be called?
--
-- RESOLVED: Create a new structure, which is a Rect2D plus
-- a layer, and will be called RectLayerKHR.
--
-- 2) Where is the origin of the RectLayerKHR?
--
-- RESOLVED: The upper left corner of the presentable image(s) of
-- the swapchain, per the definition of framebuffer coordinates.
--
-- 3) Does the rectangular region, RectLayerKHR, specify pixels of
-- the swapchain’s image(s), or of the surface?
--
-- RESOLVED: Of the image(s). Some presentation engines may scale
-- the pixels of a swapchain’s image(s) to the size of the surface. The
-- size of the swapchain’s image(s) will be consistent, where the size of
-- the surface may vary over time.
--
-- 4) What if all of the rectangles for a given swapchain contain a width
-- and/or height of zero?
--
-- RESOLVED: The application is indicating that no pixels changed
-- since the last present. The presentation engine may use such a hint
-- and not update any pixels for the swapchain. However, all other
-- semantics of queuePresentKHR must still be honored, including
-- waiting for semaphores to signal.
--
-- 5) When the swapchain is created with
-- SwapchainCreateInfoKHR::preTransform set to a value
-- other than SURFACE_TRANSFORM_IDENTITY_BIT_KHR, should the
-- rectangular region, RectLayerKHR, be transformed to align with
-- the preTransform?
--
-- RESOLVED: No. The rectangular region in RectLayerKHR
-- should not be tranformed. As such, it may not align with the extents
-- of the swapchain’s image(s). It is the responsibility of the
-- presentation engine to transform the rectangular region. This matches
-- the behavior of the Android presentation engine, which set the
-- precedent.
--
-- Version History
--
--
-- - Revision 1, 2016-11-02 (Ian Elliott)
--
--
--
-- - Revision 2, 2021-03-18 (Ian Elliott)
- Clarified alignment of
-- rectangles for presentation engines that support transformed
-- swapchains.
--
--
-- See Also
--
-- PresentRegionKHR, PresentRegionsKHR, RectLayerKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_incremental_present
-- | VkPresentRegionsKHR - Structure hint of rectangular regions changed by
-- vkQueuePresentKHR
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pRegions is not NULL, pRegions
-- must be a valid pointer to an array of swapchainCount
-- valid PresentRegionKHR structures
-- - swapchainCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_KHR_incremental_present, PresentRegionKHR,
-- StructureType
data PresentRegionsKHR
PresentRegionsKHR :: Word32 -> Vector PresentRegionKHR -> PresentRegionsKHR
-- | swapchainCount is the number of swapchains being presented to
-- by this command.
[$sel:swapchainCount:PresentRegionsKHR] :: PresentRegionsKHR -> Word32
-- | pRegions is NULL or a pointer to an array of
-- PresentRegionKHR elements with swapchainCount entries.
-- If not NULL, each element of pRegions contains the
-- region that has changed since the last present to the swapchain in the
-- corresponding entry in the PresentInfoKHR::pSwapchains
-- array.
[$sel:regions:PresentRegionsKHR] :: PresentRegionsKHR -> Vector PresentRegionKHR
-- | VkPresentRegionKHR - Structure containing rectangular region changed
-- by vkQueuePresentKHR for a given VkImage
--
-- Valid Usage (Implicit)
--
--
-- - If rectangleCount is not 0, and
-- pRectangles is not NULL, pRectangles
-- must be a valid pointer to an array of rectangleCount
-- valid RectLayerKHR structures
--
--
-- See Also
--
-- VK_KHR_incremental_present, PresentRegionsKHR,
-- RectLayerKHR
data PresentRegionKHR
PresentRegionKHR :: Word32 -> Vector RectLayerKHR -> PresentRegionKHR
-- | rectangleCount is the number of rectangles in
-- pRectangles, or zero if the entire image has changed and
-- should be presented.
[$sel:rectangleCount:PresentRegionKHR] :: PresentRegionKHR -> Word32
-- | pRectangles is either NULL or a pointer to an array
-- of RectLayerKHR structures. The RectLayerKHR structure
-- is the framebuffer coordinates, plus layer, of a portion of a
-- presentable image that has changed and must be presented. If
-- non-NULL, each entry in pRectangles is a rectangle
-- of the given image that has changed since the last image was presented
-- to the given swapchain. The rectangles must be specified
-- relative to SurfaceCapabilitiesKHR::currentTransform,
-- regardless of the swapchain’s preTransform. The presentation
-- engine will apply the preTransform transformation to the
-- rectangles, along with any further transformation it applies to the
-- image content.
[$sel:rectangles:PresentRegionKHR] :: PresentRegionKHR -> Vector RectLayerKHR
-- | VkRectLayerKHR - Structure containing a rectangle, including layer,
-- changed by vkQueuePresentKHR for a given VkImage
--
-- Description
--
-- Some platforms allow the size of a surface to change, and then scale
-- the pixels of the image to fit the surface. RectLayerKHR
-- specifies pixels of the swapchain’s image(s), which will be constant
-- for the life of the swapchain.
--
-- Valid Usage
--
--
--
--
--
-- See Also
--
-- VK_KHR_incremental_present, Extent2D, Offset2D,
-- PresentRegionKHR
data RectLayerKHR
RectLayerKHR :: Offset2D -> Extent2D -> Word32 -> RectLayerKHR
-- | offset is the origin of the rectangle, in pixels.
[$sel:offset:RectLayerKHR] :: RectLayerKHR -> Offset2D
-- | extent is the size of the rectangle, in pixels.
[$sel:extent:RectLayerKHR] :: RectLayerKHR -> Extent2D
-- | layer is the layer of the image. For images with only one
-- layer, the value of layer must be 0.
[$sel:layer:RectLayerKHR] :: RectLayerKHR -> Word32
type KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 2
pattern KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: forall a. Integral a => a
type KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present"
pattern KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionsKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_incremental_present.PresentRegionKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR
-- | Name
--
-- VK_INTEL_shader_integer_functions2 - device extension
--
-- VK_INTEL_shader_integer_functions2
--
--
-- - Name String
-- VK_INTEL_shader_integer_functions2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 210
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-04-30
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Ian Romanick, Intel
- Ben
-- Ashbaugh, Intel
--
--
-- Description
--
-- This extension adds support for several new integer instructions in
-- SPIR-V for use in graphics shaders. Many of these instructions have
-- pre-existing counterparts in the Kernel environment.
--
-- The added integer functions are defined by the
-- SPV_INTEL_shader_integer_functions2 SPIR-V extension and can be
-- used with the GL_INTEL_shader_integer_functions2 GLSL extension.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-04-30 (Ian Romanick)
--
--
-- See Also
--
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_INTEL_shader_integer_functions2
-- | VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL - Structure
-- describing shader integer functions that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the
-- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTELfeatures.
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTELfeatures.
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_shader_integer_functions2, Bool32,
-- StructureType
data PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: Bool -> PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
-- | shaderIntegerFunctions2 indicates that the implementation
-- supports the IntegerFunctions2INTEL SPIR-V capability.
[$sel:shaderIntegerFunctions2:PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL] :: PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL -> Bool
type INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION = 1
pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION :: forall a. Integral a => a
type INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME = "VK_INTEL_shader_integer_functions2"
pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
-- | Name
--
-- VK_EXT_ycbcr_image_arrays - device extension
--
-- VK_EXT_ycbcr_image_arrays
--
--
-- - Name String VK_EXT_ycbcr_image_arrays
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 253
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_sampler_ycbcr_conversion
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-15
--
--
--
--
-- Description
--
-- This extension allows images of a format that requires Y′CBCR
-- conversion to be created with multiple array layers, which is
-- otherwise restricted.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-01-15 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_ycbcr_image_arrays
-- | VkPhysicalDeviceYcbcrImageArraysFeaturesEXT - Structure describing
-- extended Y′CBCR image creation features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceYcbcrImageArraysFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_ycbcr_image_arrays, Bool32, StructureType
data PhysicalDeviceYcbcrImageArraysFeaturesEXT
PhysicalDeviceYcbcrImageArraysFeaturesEXT :: Bool -> PhysicalDeviceYcbcrImageArraysFeaturesEXT
-- | ycbcrImageArrays indicates that the implementation supports
-- creating images with a format that requires Y′CBCR conversion
-- and has multiple array layers.
[$sel:ycbcrImageArrays:PhysicalDeviceYcbcrImageArraysFeaturesEXT] :: PhysicalDeviceYcbcrImageArraysFeaturesEXT -> Bool
type EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION = 1
pattern EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION :: forall a. Integral a => a
type EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME = "VK_EXT_ycbcr_image_arrays"
pattern EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT
-- | Name
--
-- VK_EXT_ycbcr_2plane_444_formats - device extension
--
-- VK_EXT_ycbcr_2plane_444_formats
--
--
-- - Name String
-- VK_EXT_ycbcr_2plane_444_formats
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 331
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_sampler_ycbcr_conversion
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Piers Daniell,
-- NVIDIA
- Ping Liu, Intel
--
--
-- Description
--
-- This extension adds some Y′CBCR formats that are in common use for
-- video encode and decode, but were not part of the
-- VK_KHR_sampler_ycbcr_conversion extension.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-03-08 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats
-- | VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT - Structure
-- describing whether the implementation supports additional 2-plane 444
-- Y′CBCR formats
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_ycbcr_2plane_444_formats, Bool32,
-- StructureType
data PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: Bool -> PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
-- | ycbcr2plane444Formats indicates that the implementation
-- supports the following 2-plane 444 Y′CBCR formats:
--
--
[$sel:ycbcr2plane444Formats:PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT] :: PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT -> Bool
type EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1
pattern EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION :: forall a. Integral a => a
type EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME = "VK_EXT_ycbcr_2plane_444_formats"
pattern EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
-- | Name
--
-- VK_EXT_vertex_attribute_divisor - device extension
--
-- VK_EXT_vertex_attribute_divisor
--
--
-- - Name String
-- VK_EXT_vertex_attribute_divisor
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 191
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-08-03
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Vikram Kushwaha,
-- NVIDIA
- Jason Ekstrand, Intel
--
--
-- Description
--
-- This extension allows instance-rate vertex attributes to be repeated
-- for certain number of instances instead of advancing for every
-- instance when instanced rendering is enabled.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What is the effect of a non-zero value for firstInstance?
--
-- RESOLVED: The Vulkan API should follow the OpenGL convention
-- and offset attribute fetching by firstInstance while
-- computing vertex attribute offsets.
--
-- 2) Should zero be an allowed divisor?
--
-- RESOLVED: Yes. A zero divisor means the vertex attribute is
-- repeated for all instances.
--
-- Examples
--
-- To create a vertex binding such that the first binding uses instanced
-- rendering and the same attribute is used for every 4 draw instances,
-- an application could use the following set of structures:
--
--
-- const VkVertexInputBindingDivisorDescriptionEXT divisorDesc =
-- {
-- 0,
-- 4
-- };
--
-- const VkPipelineVertexInputDivisorStateCreateInfoEXT divisorInfo =
-- {
-- VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT, // sType
-- NULL, // pNext
-- 1, // vertexBindingDivisorCount
-- &divisorDesc // pVertexBindingDivisors
-- }
--
-- const VkVertexInputBindingDescription binding =
-- {
-- 0, // binding
-- sizeof(Vertex), // stride
-- VK_VERTEX_INPUT_RATE_INSTANCE // inputRate
-- };
--
-- const VkPipelineVertexInputStateCreateInfo viInfo =
-- {
-- VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO, // sType
-- &divisorInfo, // pNext
-- ...
-- };
-- //...
--
--
-- Version History
--
--
-- - Revision 1, 2017-12-04 (Vikram Kushwaha)
--
--
--
-- - Revision 2, 2018-07-16 (Jason Ekstrand)
- Adjust the
-- interaction between divisor and firstInstance to
-- match the OpenGL convention.
- Disallow divisors of
-- zero.
-- - Revision 3, 2018-08-03 (Vikram Kushwaha)
- Allow a zero
-- divisor.
- Add a physical device features structure to
-- query/enable this feature.
--
--
-- See Also
--
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- VertexInputBindingDivisorDescriptionEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_vertex_attribute_divisor
-- | VkVertexInputBindingDivisorDescriptionEXT - Structure specifying a
-- divisor used in instanced rendering
--
-- Description
--
-- If this structure is not used to define a divisor value for an
-- attribute, then the divisor has a logical default value of 1.
--
-- Valid Usage
--
--
--
--
--
-- See Also
--
-- VK_EXT_vertex_attribute_divisor,
-- PipelineVertexInputDivisorStateCreateInfoEXT
data VertexInputBindingDivisorDescriptionEXT
VertexInputBindingDivisorDescriptionEXT :: Word32 -> Word32 -> VertexInputBindingDivisorDescriptionEXT
-- | binding is the binding number for which the divisor is
-- specified.
[$sel:binding:VertexInputBindingDivisorDescriptionEXT] :: VertexInputBindingDivisorDescriptionEXT -> Word32
-- | divisor is the number of successive instances that will use
-- the same value of the vertex attribute when instanced rendering is
-- enabled. For example, if the divisor is N, the same vertex attribute
-- will be applied to N successive instances before moving on to the next
-- vertex attribute. The maximum value of divisor is
-- implementation-dependent and can be queried using
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT::maxVertexAttribDivisor.
-- A value of 0 can be used for the divisor if the
-- vertexAttributeInstanceRateZeroDivisor feature is enabled. In
-- this case, the same vertex attribute will be applied to all instances.
[$sel:divisor:VertexInputBindingDivisorDescriptionEXT] :: VertexInputBindingDivisorDescriptionEXT -> Word32
-- | VkPipelineVertexInputDivisorStateCreateInfoEXT - Structure specifying
-- vertex attributes assignment during instanced rendering
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_vertex_attribute_divisor, StructureType,
-- VertexInputBindingDivisorDescriptionEXT
data PipelineVertexInputDivisorStateCreateInfoEXT
PipelineVertexInputDivisorStateCreateInfoEXT :: Vector VertexInputBindingDivisorDescriptionEXT -> PipelineVertexInputDivisorStateCreateInfoEXT
-- | pVertexBindingDivisors is a pointer to an array of
-- VertexInputBindingDivisorDescriptionEXT structures specifying
-- the divisor value for each binding.
--
-- pVertexBindingDivisors must be a valid pointer to an
-- array of vertexBindingDivisorCount
-- VertexInputBindingDivisorDescriptionEXT structures
[$sel:vertexBindingDivisors:PipelineVertexInputDivisorStateCreateInfoEXT] :: PipelineVertexInputDivisorStateCreateInfoEXT -> Vector VertexInputBindingDivisorDescriptionEXT
-- | VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT - Structure
-- describing max value of vertex attribute divisor that can be supported
-- by an implementation
--
-- Description
--
-- If the PhysicalDeviceVertexAttributeDivisorPropertiesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_vertex_attribute_divisor, StructureType
data PhysicalDeviceVertexAttributeDivisorPropertiesEXT
PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: Word32 -> PhysicalDeviceVertexAttributeDivisorPropertiesEXT
-- | maxVertexAttribDivisor is the maximum value of the number of
-- instances that will repeat the value of vertex attribute data when
-- instanced rendering is enabled.
[$sel:maxVertexAttribDivisor:PhysicalDeviceVertexAttributeDivisorPropertiesEXT] :: PhysicalDeviceVertexAttributeDivisorPropertiesEXT -> Word32
-- | VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT - Structure
-- describing if fetching of vertex attribute may be repeated for
-- instanced rendering
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceVertexAttributeDivisorFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_vertex_attribute_divisor, Bool32,
-- StructureType
data PhysicalDeviceVertexAttributeDivisorFeaturesEXT
PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: Bool -> Bool -> PhysicalDeviceVertexAttributeDivisorFeaturesEXT
-- | vertexAttributeInstanceRateDivisor specifies whether vertex
-- attribute fetching may be repeated in case of instanced rendering.
[$sel:vertexAttributeInstanceRateDivisor:PhysicalDeviceVertexAttributeDivisorFeaturesEXT] :: PhysicalDeviceVertexAttributeDivisorFeaturesEXT -> Bool
-- | vertexAttributeInstanceRateZeroDivisor specifies whether a
-- zero value for
-- VertexInputBindingDivisorDescriptionEXT::divisor is
-- supported.
[$sel:vertexAttributeInstanceRateZeroDivisor:PhysicalDeviceVertexAttributeDivisorFeaturesEXT] :: PhysicalDeviceVertexAttributeDivisorFeaturesEXT -> Bool
type EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 3
pattern EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION :: forall a. Integral a => a
type EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor"
pattern EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PipelineVertexInputDivisorStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PipelineVertexInputDivisorStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PipelineVertexInputDivisorStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PipelineVertexInputDivisorStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT
-- | Name
--
-- VK_EXT_texture_compression_astc_hdr - device extension
--
-- VK_EXT_texture_compression_astc_hdr
--
--
-- - Name String
-- VK_EXT_texture_compression_astc_hdr
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 67
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-28
--
--
--
-- - IP Status No known issues.
-- - Contributors
- Jan-Harald Fredriksen,
-- Arm
--
--
-- Description
--
-- This extension adds support for textures compressed using the Adaptive
-- Scalable Texture Compression (ASTC) High Dynamic Range (HDR) profile.
--
-- When this extension is enabled, the HDR profile is supported for all
-- ASTC formats listed in ASTC Compressed Image Formats.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should we add a feature or limit for this functionality?
--
-- Yes. It is consistent with the ASTC LDR support to add a feature like
-- textureCompressionASTC_HDR.
--
-- The feature is strictly speaking redundant as long as this is just an
-- extension; it would be sufficient to just enable the extension. But
-- adding the feature is more forward-looking if wanted to make this an
-- optional core feature in the future.
--
-- 2) Should we introduce new format enums for HDR?
--
-- Yes. Vulkan 1.0 describes the ASTC format enums as UNORM, e.g.
-- FORMAT_ASTC_4x4_UNORM_BLOCK, so it is confusing to make these
-- contain HDR data. Note that the OpenGL (ES) extensions did not make
-- this distinction because a single ASTC HDR texture may contain both
-- unorm and float blocks. Implementations may not be able to
-- distinguish between LDR and HDR ASTC textures internally and just
-- treat them as the same format, i.e. if this extension is supported
-- then sampling from a FORMAT_ASTC_4x4_UNORM_BLOCK image format
-- may return HDR results. Applications can get predictable
-- results by using the appropriate image format.
--
-- Version History
--
--
-- - Revision 1, 2019-05-28 (Jan-Harald Fredriksen)
--
--
-- See Also
--
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr
-- | VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - Structure
-- describing ASTC HDR features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_texture_compression_astc_hdr, Bool32,
-- StructureType
data PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT :: Bool -> PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
-- | textureCompressionASTC_HDR indicates whether all of the ASTC
-- HDR compressed texture formats are supported. If this feature is
-- enabled, then the FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
-- FORMAT_FEATURE_BLIT_SRC_BIT and
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT features
-- must be supported in optimalTilingFeatures for the
-- following formats:
--
--
--
-- To query for additional properties, or if the feature is not enabled,
-- getPhysicalDeviceFormatProperties and
-- getPhysicalDeviceImageFormatProperties can be used to
-- check for supported properties of individual formats as normal.
[$sel:textureCompressionASTC_HDR:PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT] :: PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT -> Bool
type EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION = 1
pattern EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION :: forall a. Integral a => a
type EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME = "VK_EXT_texture_compression_astc_hdr"
pattern EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
-- | Name
--
-- VK_EXT_texel_buffer_alignment - device extension
--
-- VK_EXT_texel_buffer_alignment
--
--
-- - Name String
-- VK_EXT_texel_buffer_alignment
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 282
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-06
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies;
-- Contributors
--
--
-- Description
--
-- This extension adds more expressive alignment requirements for uniform
-- and storage texel buffers. Some implementations have single texel
-- alignment requirements that cannot be expressed via
-- PhysicalDeviceLimits::minTexelBufferOffsetAlignment.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-06-06 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_texel_buffer_alignment
-- | VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT - Structure describing
-- the texel buffer alignment features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceTexelBufferAlignmentFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_texel_buffer_alignment, Bool32,
-- StructureType
data PhysicalDeviceTexelBufferAlignmentFeaturesEXT
PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: Bool -> PhysicalDeviceTexelBufferAlignmentFeaturesEXT
-- | texelBufferAlignment indicates whether the implementation
-- uses more specific alignment requirements advertised in
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT rather than
-- PhysicalDeviceLimits::minTexelBufferOffsetAlignment.
[$sel:texelBufferAlignment:PhysicalDeviceTexelBufferAlignmentFeaturesEXT] :: PhysicalDeviceTexelBufferAlignmentFeaturesEXT -> Bool
-- | VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - Structure
-- describing the texel buffer alignment requirements supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceTexelBufferAlignmentPropertiesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- If the single texel alignment property is FALSE, then the
-- buffer view’s offset must be aligned to the corresponding byte
-- alignment value. If the single texel alignment property is
-- TRUE, then the buffer view’s offset must be aligned to
-- the lesser of the corresponding byte alignment value or the size of a
-- single texel, based on BufferViewCreateInfo::format.
-- If the size of a single texel is a multiple of three bytes, then the
-- size of a single component of the format is used instead.
--
-- These limits must not advertise a larger alignment than the
-- required maximum minimum value of
-- PhysicalDeviceLimits::minTexelBufferOffsetAlignment,
-- for any format that supports use as a texel buffer.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_texel_buffer_alignment, Bool32,
-- DeviceSize, StructureType
data PhysicalDeviceTexelBufferAlignmentPropertiesEXT
PhysicalDeviceTexelBufferAlignmentPropertiesEXT :: DeviceSize -> Bool -> DeviceSize -> Bool -> PhysicalDeviceTexelBufferAlignmentPropertiesEXT
-- | storageTexelBufferOffsetAlignmentBytes is a byte alignment
-- that is sufficient for a storage texel buffer of any format. The value
-- must be a power of two.
[$sel:storageTexelBufferOffsetAlignmentBytes:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> DeviceSize
-- | storageTexelBufferOffsetSingleTexelAlignment indicates
-- whether single texel alignment is sufficient for a storage texel
-- buffer of any format. The value must be a power of two.
[$sel:storageTexelBufferOffsetSingleTexelAlignment:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> Bool
-- | uniformTexelBufferOffsetAlignmentBytes is a byte alignment
-- that is sufficient for a uniform texel buffer of any format. The value
-- must be a power of two.
[$sel:uniformTexelBufferOffsetAlignmentBytes:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> DeviceSize
-- | uniformTexelBufferOffsetSingleTexelAlignment indicates
-- whether single texel alignment is sufficient for a uniform texel
-- buffer of any format. The value must be a power of two.
[$sel:uniformTexelBufferOffsetSingleTexelAlignment:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> Bool
type EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION = 1
pattern EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION :: forall a. Integral a => a
type EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME = "VK_EXT_texel_buffer_alignment"
pattern EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT
-- | Name
--
-- VK_EXT_shader_image_atomic_int64 - device extension
--
-- VK_EXT_shader_image_atomic_int64
--
--
-- - Name String
-- VK_EXT_shader_image_atomic_int64
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 235
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-14
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Matthaeus Chajdas,
-- AMD
- Graham Wihlidal, Epic Games
- Tobias Hector,
-- AMD
- Jeff Bolz, Nvidia
- Jason Ekstrand,
-- Intel
--
--
-- Description
--
-- This extension extends existing 64-bit integer atomic support to
-- enable these operations on images as well.
--
-- When working with large 2- or 3-dimensional data sets (e.g.
-- rasterization or screen-space effects), image accesses are generally
-- more efficient than equivalent buffer accesses. This extension allows
-- applications relying on 64-bit integer atomics in this manner to
-- quickly improve performance with only relatively minor code changes.
--
-- 64-bit integer atomic support is guaranteed for optimally tiled images
-- with the FORMAT_R64_UINT and FORMAT_R64_SINT formats.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-07-14 (Tobias Hector)
--
--
-- See Also
--
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_image_atomic_int64
-- | VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT - Structure
-- describing features supported by VK_EXT_shader_image_atomic_int64
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the VkPhysicalDeviceShaderAtomicInt64FeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- VkPhysicalDeviceShaderAtomicInt64FeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_shader_image_atomic_int64, Bool32,
-- StructureType
data PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: Bool -> Bool -> PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
-- | shaderImageInt64Atomics indicates whether shaders can
-- support 64-bit unsigned and signed integer atomic operations on
-- images.
[$sel:shaderImageInt64Atomics:PhysicalDeviceShaderImageAtomicInt64FeaturesEXT] :: PhysicalDeviceShaderImageAtomicInt64FeaturesEXT -> Bool
-- | sparseImageInt64Atomics indicates whether 64-bit integer
-- atomics can be used on sparse images.
[$sel:sparseImageInt64Atomics:PhysicalDeviceShaderImageAtomicInt64FeaturesEXT] :: PhysicalDeviceShaderImageAtomicInt64FeaturesEXT -> Bool
type EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION = 1
pattern EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME = "VK_EXT_shader_image_atomic_int64"
pattern EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
-- | Name
--
-- VK_EXT_shader_demote_to_helper_invocation - device extension
--
-- VK_EXT_shader_demote_to_helper_invocation
--
--
-- - Name String
-- VK_EXT_shader_demote_to_helper_invocation
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 277
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-01
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension adds Vulkan support for the
-- SPV_EXT_demote_to_helper_invocation SPIR-V extension. That
-- SPIR-V extension provides a new instruction
-- OpDemoteToHelperInvocationEXT allowing shaders to “demote” a
-- fragment shader invocation to behave like a helper invocation for its
-- duration. The demoted invocation will have no further side effects and
-- will not output to the framebuffer, but remains active and can
-- participate in computing derivatives and in group operations.
-- This is a better match for the “discard” instruction in HLSL.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capability
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-06-01 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation
-- | VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT - Structure
-- describing the shader demote to helper invocations features that can
-- be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_shader_demote_to_helper_invocation, Bool32,
-- StructureType
data PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: Bool -> PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
-- | shaderDemoteToHelperInvocation indicates whether the
-- implementation supports the SPIR-V
-- DemoteToHelperInvocationEXT capability.
[$sel:shaderDemoteToHelperInvocation:PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT] :: PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT -> Bool
type EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1
pattern EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME = "VK_EXT_shader_demote_to_helper_invocation"
pattern EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
-- | Name
--
-- VK_EXT_shader_atomic_float2 - device extension
--
-- VK_EXT_shader_atomic_float2
--
--
-- - Name String
-- VK_EXT_shader_atomic_float2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 274
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_shader_atomic_float
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-08-14
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension allows a shader to perform 16-bit floating-point atomic
-- operations on buffer and workgroup memory as well as floating-point
-- atomic minimum and maximum operations on buffer, workgroup, and image
-- memory. It advertises the SPIR-V AtomicFloat16AddEXT
-- capability which allows atomic add operations on 16-bit floating-point
-- numbers and the SPIR-V AtomicFloat16MinMaxEXT,
-- AtomicFloat32MinMaxEXT and AtomicFloat64MinMaxEXT
-- capabilities which allow atomic minimum and maximum operations on
-- floating-point numbers. The supported operations include
-- OpAtomicFAddEXT, OpAtomicFMinEXT and
-- OpAtomicFMaxEXT.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this extension add support for 16-bit image atomics?
--
-- RESOLVED: No. While Vulkan supports creating storage images
-- with FORMAT_R16_SFLOAT and doing load and store on them, the
-- data in the shader has a 32-bit representation. Vulkan currently has
-- no facility for even basic reading or writing such images using 16-bit
-- float values in the shader. Adding such functionality would be
-- required before 16-bit image atomics would make sense and is outside
-- the scope of this extension.
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-08-14 (Jason Ekstrand)
--
--
-- See Also
--
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_atomic_float2
-- | VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT - Structure describing
-- features supported by VK_EXT_shader_atomic_float2
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderAtomicFloat2FeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_shader_atomic_float2, Bool32,
-- StructureType
data PhysicalDeviceShaderAtomicFloat2FeaturesEXT
PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceShaderAtomicFloat2FeaturesEXT
-- | shaderBufferFloat16Atomics indicates whether shaders
-- can perform 16-bit floating-point load, store, and exchange
-- atomic operations on storage buffers.
[$sel:shaderBufferFloat16Atomics:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderBufferFloat16AtomicAdd indicates whether shaders
-- can perform 16-bit floating-point add atomic operations on
-- storage buffers.
[$sel:shaderBufferFloat16AtomicAdd:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderBufferFloat16AtomicMinMax indicates whether shaders
-- can perform 16-bit floating-point min and max atomic operations
-- on storage buffers.
[$sel:shaderBufferFloat16AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderBufferFloat32AtomicMinMax indicates whether shaders
-- can perform 32-bit floating-point min and max atomic operations
-- on storage buffers.
[$sel:shaderBufferFloat32AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderBufferFloat64AtomicMinMax indicates whether shaders
-- can perform 64-bit floating-point min and max atomic operations
-- on storage buffers.
[$sel:shaderBufferFloat64AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderSharedFloat16Atomics indicates whether shaders
-- can perform 16-bit floating-point load, store and exchange
-- atomic operations on shared memory.
[$sel:shaderSharedFloat16Atomics:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderSharedFloat16AtomicAdd indicates whether shaders
-- can perform 16-bit floating-point add atomic operations on
-- shared memory.
[$sel:shaderSharedFloat16AtomicAdd:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderSharedFloat16AtomicMinMax indicates whether shaders
-- can perform 16-bit floating-point min and max atomic operations
-- on shared memory.
[$sel:shaderSharedFloat16AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderSharedFloat32AtomicMinMax indicates whether shaders
-- can perform 32-bit floating-point min and max atomic operations
-- on shared memory.
[$sel:shaderSharedFloat32AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderSharedFloat64AtomicMinMax indicates whether shaders
-- can perform 64-bit floating-point min and max atomic operations
-- on shared memory.
[$sel:shaderSharedFloat64AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | shaderImageFloat32AtomicMinMax indicates whether shaders
-- can perform 32-bit floating-point min and max atomic image
-- operations.
[$sel:shaderImageFloat32AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
-- | sparseImageFloat32AtomicMinMax indicates whether 32-bit
-- floating-point min and max atomic operations can be used on
-- sparse images.
[$sel:sparseImageFloat32AtomicMinMax:PhysicalDeviceShaderAtomicFloat2FeaturesEXT] :: PhysicalDeviceShaderAtomicFloat2FeaturesEXT -> Bool
type EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1
pattern EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2"
pattern EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_shader_atomic_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT
-- | Name
--
-- VK_EXT_shader_atomic_float - device extension
--
-- VK_EXT_shader_atomic_float
--
--
-- - Name String VK_EXT_shader_atomic_float
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 261
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-15
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Vikram Kushwaha,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension allows a shader to contain floating-point atomic
-- operations on buffer, workgroup, and image memory. It also advertises
-- the SPIR-V AtomicFloat32AddEXT and
-- AtomicFloat64AddEXT capabilities that allows atomic addition
-- on floating-points numbers. The supported operations include
-- OpAtomicFAddEXT, OpAtomicExchange,
-- OpAtomicLoad and OpAtomicStore.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-07-15 (Vikram Kushwaha)
--
--
-- See Also
--
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_shader_atomic_float
-- | VkPhysicalDeviceShaderAtomicFloatFeaturesEXT - Structure describing
-- features supported by VK_EXT_shader_atomic_float
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderAtomicFloatFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_shader_atomic_float, Bool32, StructureType
data PhysicalDeviceShaderAtomicFloatFeaturesEXT
PhysicalDeviceShaderAtomicFloatFeaturesEXT :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceShaderAtomicFloatFeaturesEXT
-- | shaderBufferFloat32Atomics indicates whether shaders
-- can perform 32-bit floating-point load, store and exchange
-- atomic operations on storage buffers.
[$sel:shaderBufferFloat32Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderBufferFloat32AtomicAdd indicates whether shaders
-- can perform 32-bit floating-point add atomic operations on
-- storage buffers.
[$sel:shaderBufferFloat32AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderBufferFloat64Atomics indicates whether shaders
-- can perform 64-bit floating-point load, store and exchange
-- atomic operations on storage buffers.
[$sel:shaderBufferFloat64Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderBufferFloat64AtomicAdd indicates whether shaders
-- can perform 64-bit floating-point add atomic operations on
-- storage buffers.
[$sel:shaderBufferFloat64AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderSharedFloat32Atomics indicates whether shaders
-- can perform 32-bit floating-point load, store and exchange
-- atomic operations on shared memory.
[$sel:shaderSharedFloat32Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderSharedFloat32AtomicAdd indicates whether shaders
-- can perform 32-bit floating-point add atomic operations on
-- shared memory.
[$sel:shaderSharedFloat32AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderSharedFloat64Atomics indicates whether shaders
-- can perform 64-bit floating-point load, store and exchange
-- atomic operations on shared memory.
[$sel:shaderSharedFloat64Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderSharedFloat64AtomicAdd indicates whether shaders
-- can perform 64-bit floating-point add atomic operations on
-- shared memory.
[$sel:shaderSharedFloat64AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderImageFloat32Atomics indicates whether shaders
-- can perform 32-bit floating-point load, store and exchange
-- atomic image operations.
[$sel:shaderImageFloat32Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | shaderImageFloat32AtomicAdd indicates whether shaders
-- can perform 32-bit floating-point add atomic image operations.
[$sel:shaderImageFloat32AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | sparseImageFloat32Atomics indicates whether 32-bit
-- floating-point load, store and exchange atomic operations can
-- be used on sparse images.
[$sel:sparseImageFloat32Atomics:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
-- | sparseImageFloat32AtomicAdd indicates whether 32-bit
-- floating-point add atomic operations can be used on sparse
-- images.
[$sel:sparseImageFloat32AtomicAdd:PhysicalDeviceShaderAtomicFloatFeaturesEXT] :: PhysicalDeviceShaderAtomicFloatFeaturesEXT -> Bool
type EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION = 1
pattern EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION :: forall a. Integral a => a
type EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME = "VK_EXT_shader_atomic_float"
pattern EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT
-- | Name
--
-- VK_EXT_robustness2 - device extension
--
-- VK_EXT_robustness2
--
--
-- - Name String VK_EXT_robustness2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 287
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-01-29
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Liam Middlebrook,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension adds stricter requirements for how out of bounds reads
-- and writes are handled. Most accesses must be tightly
-- bounds-checked, out of bounds writes must be discarded, out of
-- bound reads must return zero. Rather than allowing multiple
-- possible (0,0,0,x) vectors, the out of bounds values are treated as
-- zero, and then missing components are inserted based on the format as
-- described in Conversion to RGBA and vertex input attribute
-- extraction.
--
-- These additional requirements may be expensive on some
-- implementations, and should only be enabled when truly necessary.
--
-- This extension also adds support for “null descriptors”, where
-- NULL_HANDLE can be used instead of a valid handle.
-- Accesses to null descriptors have well-defined behavior, and do not
-- rely on robustness.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Why do
-- PhysicalDeviceRobustness2PropertiesEXT::robustUniformBufferAccessSizeAlignment
-- and
-- PhysicalDeviceRobustness2PropertiesEXT::robustStorageBufferAccessSizeAlignment
-- exist?
--
--
-- RESOLVED: Some implementations cannot efficiently tightly
-- bounds-check all buffer accesses. Rather, the size of the bound range
-- is padded to some power of two multiple, up to 256 bytes for uniform
-- buffers and up to 4 bytes for storage buffers, and that padded size is
-- bounds-checked. This is sufficient to implement D3D-like behavior,
-- because D3D only allows binding whole uniform buffers or ranges that
-- are a multiple of 256 bytes, and D3D raw and structured buffers only
-- support 32-bit accesses.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2019-11-01 (Jeff Bolz, Liam
-- Middlebrook)
--
--
-- See Also
--
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_robustness2
-- | VkPhysicalDeviceRobustness2FeaturesEXT - Structure describing the
-- out-of-bounds behavior for an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - robustBufferAccess2 indicates whether buffer accesses are
-- tightly bounds-checked against the range of the descriptor. Uniform
-- buffers must be bounds-checked to the range of the descriptor,
-- where the range is rounded up to a multiple of
-- robustUniformBufferAccessSizeAlignment. Storage buffers
-- must be bounds-checked to the range of the descriptor, where
-- the range is rounded up to a multiple of
-- robustStorageBufferAccessSizeAlignment. Out of bounds buffer
-- loads will return zero values, and formatted loads will have (0,0,1)
-- values inserted for missing G, B, or A components based on the
-- format.
-- - robustImageAccess2 indicates whether image accesses are
-- tightly bounds-checked against the dimensions of the image view. Out
-- of bounds image loads will return zero values, with (0,0,1) values
-- inserted for missing G, B, or A components based on the
-- format.
-- - nullDescriptor indicates whether descriptors can
-- be written with a NULL_HANDLE resource or view, which are
-- considered valid to access and act as if the descriptor were bound to
-- nothing.
--
--
-- If the PhysicalDeviceRobustness2FeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceRobustness2FeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_EXT_robustness2, Bool32, StructureType
data PhysicalDeviceRobustness2FeaturesEXT
PhysicalDeviceRobustness2FeaturesEXT :: Bool -> Bool -> Bool -> PhysicalDeviceRobustness2FeaturesEXT
[$sel:robustBufferAccess2:PhysicalDeviceRobustness2FeaturesEXT] :: PhysicalDeviceRobustness2FeaturesEXT -> Bool
[$sel:robustImageAccess2:PhysicalDeviceRobustness2FeaturesEXT] :: PhysicalDeviceRobustness2FeaturesEXT -> Bool
[$sel:nullDescriptor:PhysicalDeviceRobustness2FeaturesEXT] :: PhysicalDeviceRobustness2FeaturesEXT -> Bool
-- | VkPhysicalDeviceRobustness2PropertiesEXT - Structure describing robust
-- buffer access properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceRobustness2PropertiesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_robustness2, DeviceSize, StructureType
data PhysicalDeviceRobustness2PropertiesEXT
PhysicalDeviceRobustness2PropertiesEXT :: DeviceSize -> DeviceSize -> PhysicalDeviceRobustness2PropertiesEXT
-- | robustStorageBufferAccessSizeAlignment is the number of bytes
-- that the range of a storage buffer descriptor is rounded up to when
-- used for bounds-checking when robustBufferAccess2 is enabled.
-- This value must be either 1 or 4.
[$sel:robustStorageBufferAccessSizeAlignment:PhysicalDeviceRobustness2PropertiesEXT] :: PhysicalDeviceRobustness2PropertiesEXT -> DeviceSize
-- | robustUniformBufferAccessSizeAlignment is the number of bytes
-- that the range of a uniform buffer descriptor is rounded up to when
-- used for bounds-checking when robustBufferAccess2 is enabled.
-- This value must be a power of two in the range [1, 256].
[$sel:robustUniformBufferAccessSizeAlignment:PhysicalDeviceRobustness2PropertiesEXT] :: PhysicalDeviceRobustness2PropertiesEXT -> DeviceSize
type EXT_ROBUSTNESS_2_SPEC_VERSION = 1
pattern EXT_ROBUSTNESS_2_SPEC_VERSION :: forall a. Integral a => a
type EXT_ROBUSTNESS_2_EXTENSION_NAME = "VK_EXT_robustness2"
pattern EXT_ROBUSTNESS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT
-- | Name
--
-- VK_EXT_rgba10x6_formats - device extension
--
-- VK_EXT_rgba10x6_formats
--
--
-- - Name String VK_EXT_rgba10x6_formats
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 345
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_sampler_ycbcr_conversion
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-29
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jan-Harald Fredriksen,
-- Arm
- Graeme Leese, Broadcom
- Spencer Fricke,
-- Samsung
--
--
-- Description
--
-- This extension enables the
-- FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 format to be used
-- without a sampler Y′CBCR conversion enabled.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should we reuse the existing format enumeration or introduce a new
-- one?
--
-- RESOLVED: We reuse an existing format enumeration,
-- FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, that was previously
-- exclusively used for YCbCr and therefore had a set of limitations
-- related to that usage. The alternative was to introduce a new format
-- token with exactly the same bit representation as the existing token,
-- but without the limitations.
--
-- 2) Should we only introduce
-- FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 or also 1-3 component
-- variations?
--
-- RESOLVED: Only the 4-component format is introduced because the
-- 1- and 2- component variations are already not exclusive to YCbCr, and
-- the 3-component variation is not a good match for hardware
-- capabilities.
--
-- Version History
--
--
-- - Revision 1, 2021-09-29 (Jan-Harald Fredriksen)
--
--
-- See Also
--
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_rgba10x6_formats
-- | VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT - Structure describing
-- whether rendering to VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
-- formats can be supported by an implementation
--
-- Members
--
-- The members of the PhysicalDeviceRGBA10X6FormatsFeaturesEXT
-- structure describe the following features:
--
-- Description
--
-- If the PhysicalDeviceRGBA10X6FormatsFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_rgba10x6_formats, Bool32, StructureType
data PhysicalDeviceRGBA10X6FormatsFeaturesEXT
PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: Bool -> PhysicalDeviceRGBA10X6FormatsFeaturesEXT
-- | formatRgba10x6WithoutYCbCrSampler indicates that
-- FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 can be used
-- with a ImageView with subresourceRange.aspectMask
-- equal to IMAGE_ASPECT_COLOR_BIT without a sampler Y′CBCR
-- conversion enabled.
[$sel:formatRgba10x6WithoutYCbCrSampler:PhysicalDeviceRGBA10X6FormatsFeaturesEXT] :: PhysicalDeviceRGBA10X6FormatsFeaturesEXT -> Bool
type EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1
pattern EXT_RGBA10X6_FORMATS_SPEC_VERSION :: forall a. Integral a => a
type EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats"
pattern EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT
-- | Name
--
-- VK_EXT_provoking_vertex - device extension
--
-- VK_EXT_provoking_vertex
--
--
-- - Name String VK_EXT_provoking_vertex
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 255
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-02-22
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Alexis Hétu,
-- Google
- Bill Licea-Kane, Qualcomm
- Daniel Koch,
-- Nvidia
- Jamie Madill, Google
- Jan-Harald Fredriksen,
-- Arm
- Jason Ekstrand, Intel
- Jeff Bolz,
-- Nvidia
- Jeff Leger, Qualcomm
- Jesse Hall,
-- Google
- Jörg Wagner, Arm
- Matthew Netsch,
-- Qualcomm
- Mike Blumenkrantz, Valve
- Piers Daniell,
-- Nvidia
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension allows changing the provoking vertex convention between
-- Vulkan’s default convention (first vertex) and OpenGL’s convention
-- (last vertex).
--
-- This extension is intended for use by API-translation layers that
-- implement APIs like OpenGL on top of Vulkan, and need to match the
-- source API’s provoking vertex convention. Applications using Vulkan
-- directly should use Vulkan’s default convention.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) At what granularity should this state be set?
--
-- RESOLVED: At pipeline bind, with an optional per-render pass
-- restriction.
--
-- The most natural place to put this state is in the graphics pipeline
-- object. Some implementations require it to be known when creating the
-- pipeline, and pipeline state is convenient for implementing OpenGL
-- 3.2’s glProvokingVertex, which can change the state between draw
-- calls. However, some implementations can only change it approximately
-- render pass granularity. To accommodate both, provoking vertex will be
-- pipeline state, but implementations can require that only one mode is
-- used within a render pass instance; the render pass’s mode is chosen
-- implicitly when the first pipeline is bound.
--
-- 2) Does the provoking vertex mode affect the order that vertices are
-- written to transform feedback buffers?
--
-- RESOLVED: Yes, to enable layered implementations of OpenGL and
-- D3D.
--
-- All of OpenGL, OpenGL ES, and Direct3D 11 require that vertices are
-- written to transform feedback buffers such that flat-shaded attributes
-- have the same value when drawing the contents of the transform
-- feedback buffer as they did in the original drawing when the transform
-- feedback buffer was written (assuming the provoking vertex mode has
-- not changed, in APIs that support more than one mode).
--
-- Version History
--
--
-- - Revision 1, (1c) 2021-02-22 (Jesse Hall)
- Added
-- VkPhysicalDeviceProvokingVertexPropertiesEXT::transformFeedbackPreservesTriangleFanProvokingVertex
-- to accommodate implementations that cannot change the transform
-- feedback vertex order for triangle fans.
--
--
--
-- - Revision 1, (1b) 2020-06-14 (Jesse Hall)
- Added
-- VkPhysicalDeviceProvokingVertexFeaturesEXT::transformFeedbackPreservesProvokingVertex
-- and required that transform feedback write vertices so as to preserve
-- the provoking vertex of each primitive.
-- - Revision 1, (1a) 2019-10-23 (Jesse Hall)
- Initial draft,
-- based on a proposal by Alexis Hétu
--
--
-- See Also
--
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- ProvokingVertexModeEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_provoking_vertex
-- | VkPhysicalDeviceProvokingVertexFeaturesEXT - Structure describing the
-- provoking vertex features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceProvokingVertexFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceProvokingVertexFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- When PhysicalDeviceProvokingVertexFeaturesEXT is in the
-- pNext chain of DeviceCreateInfo but the transform
-- feedback feature is not enabled, the value of
-- transformFeedbackPreservesProvokingVertex is ignored.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_provoking_vertex, Bool32, StructureType
data PhysicalDeviceProvokingVertexFeaturesEXT
PhysicalDeviceProvokingVertexFeaturesEXT :: Bool -> Bool -> PhysicalDeviceProvokingVertexFeaturesEXT
-- | provokingVertexLast indicates whether the implementation
-- supports the PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT provoking
-- vertex mode for flat shading.
[$sel:provokingVertexLast:PhysicalDeviceProvokingVertexFeaturesEXT] :: PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
-- | transformFeedbackPreservesProvokingVertex indicates that the
-- order of vertices within each primitive written by transform feedback
-- will preserve the provoking vertex. This does not apply to triangle
-- fan primitives when
-- transformFeedbackPreservesTriangleFanProvokingVertex is
-- FALSE. transformFeedbackPreservesProvokingVertex
-- must be FALSE when the VK_EXT_transform_feedback
-- extension is not supported.
[$sel:transformFeedbackPreservesProvokingVertex:PhysicalDeviceProvokingVertexFeaturesEXT] :: PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
-- | VkPhysicalDeviceProvokingVertexPropertiesEXT - Structure describing
-- provoking vertex properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceProvokingVertexPropertiesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_provoking_vertex, Bool32, StructureType
data PhysicalDeviceProvokingVertexPropertiesEXT
PhysicalDeviceProvokingVertexPropertiesEXT :: Bool -> Bool -> PhysicalDeviceProvokingVertexPropertiesEXT
-- | provokingVertexModePerPipeline indicates whether the
-- implementation supports graphics pipelines with different provoking
-- vertex modes within the same render pass instance.
[$sel:provokingVertexModePerPipeline:PhysicalDeviceProvokingVertexPropertiesEXT] :: PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
-- | transformFeedbackPreservesTriangleFanProvokingVertex
-- indicates whether the implementation can preserve the provoking vertex
-- order when writing triangle fan vertices to transform feedback.
[$sel:transformFeedbackPreservesTriangleFanProvokingVertex:PhysicalDeviceProvokingVertexPropertiesEXT] :: PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
-- | VkPipelineRasterizationProvokingVertexStateCreateInfoEXT - Structure
-- specifying provoking vertex mode used by a graphics pipeline
--
-- Description
--
-- If this struct is not provided when creating the pipeline, the
-- pipeline will use the PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT
-- mode.
--
-- If the provokingVertexModePerPipeline limit is FALSE,
-- then all pipelines bound within a render pass instance must
-- have the same provokingVertexMode.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_provoking_vertex, ProvokingVertexModeEXT,
-- StructureType
data PipelineRasterizationProvokingVertexStateCreateInfoEXT
PipelineRasterizationProvokingVertexStateCreateInfoEXT :: ProvokingVertexModeEXT -> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-- | provokingVertexMode is a ProvokingVertexModeEXT value
-- selecting the provoking vertex mode.
[$sel:provokingVertexMode:PipelineRasterizationProvokingVertexStateCreateInfoEXT] :: PipelineRasterizationProvokingVertexStateCreateInfoEXT -> ProvokingVertexModeEXT
-- | VkProvokingVertexModeEXT - Specify which vertex in a primitive is the
-- provoking vertex
--
-- Description
--
-- These modes are described more precisely in Primitive
-- Topologies.
--
-- See Also
--
-- VK_EXT_provoking_vertex,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT
newtype ProvokingVertexModeEXT
ProvokingVertexModeEXT :: Int32 -> ProvokingVertexModeEXT
-- | PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT specifies that the
-- provoking vertex is the first non-adjacency vertex in the list of
-- vertices used by a primitive.
pattern PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: ProvokingVertexModeEXT
-- | PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT specifies that the
-- provoking vertex is the last non-adjacency vertex in the list of
-- vertices used by a primitive.
pattern PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT
type EXT_PROVOKING_VERTEX_SPEC_VERSION = 1
pattern EXT_PROVOKING_VERTEX_SPEC_VERSION :: forall a. Integral a => a
type EXT_PROVOKING_VERTEX_EXTENSION_NAME = "VK_EXT_provoking_vertex"
pattern EXT_PROVOKING_VERTEX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT
-- | Name
--
-- VK_EXT_primitive_topology_list_restart - device extension
--
-- VK_EXT_primitive_topology_list_restart
--
--
-- - Name String
-- VK_EXT_primitive_topology_list_restart
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 357
-- - Revision 1
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-01-11
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Courtney Goeltzenleuchter,
-- Google
- Shahbaz Youssefi, Google
--
--
-- Description
--
-- This extension allows list primitives to use the primitive restart
-- index value. This provides a more efficient implementation when
-- layering OpenGL functionality on Vulkan by avoiding emulation which
-- incurs data copies.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 0, 2020-09-14 (Courtney Goeltzenleuchter)
--
--
--
-- - Revision 1, 2021-01-11 (Shahbaz Youssefi)
- Add the
-- primitiveTopologyPatchListRestart feature
- Internal
-- revisions
--
--
-- See Also
--
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_primitive_topology_list_restart
-- | VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT - Structure
-- describing whether list type primitives can support primitive restart
--
-- Members
--
-- The members of the
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT structure
-- describe the following features:
--
-- Description
--
-- If the PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_primitive_topology_list_restart, Bool32,
-- StructureType
data PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: Bool -> Bool -> PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
-- | primitiveTopologyListRestart indicates that list type
-- primitives, PRIMITIVE_TOPOLOGY_POINT_LIST,
-- PRIMITIVE_TOPOLOGY_LINE_LIST,
-- PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
-- PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY and
-- PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY, can use
-- the primitive restart index value in index buffers.
[$sel:primitiveTopologyListRestart:PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT] :: PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT -> Bool
-- | primitiveTopologyPatchListRestart indicates that the
-- PRIMITIVE_TOPOLOGY_PATCH_LIST topology can use the
-- primitive restart index value in index buffers.
[$sel:primitiveTopologyPatchListRestart:PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT] :: PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT -> Bool
type EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1
pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION :: forall a. Integral a => a
type EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart"
pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
-- | Name
--
-- VK_EXT_pipeline_creation_feedback - device extension
--
-- VK_EXT_pipeline_creation_feedback
--
--
-- - Name String
-- VK_EXT_pipeline_creation_feedback
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 193
-- - Revision 1
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-03-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jean-Francois Roy,
-- Google
- Hai Nguyen, Google
- Andrew Ellem,
-- Google
- Bob Fraser, Google
- Sujeevan Rajayogam,
-- Google
- Jan-Harald Fredriksen, ARM
- Jeff Leger, Qualcomm
-- Technologies, Inc.
- Jeff Bolz, NVIDIA
- Daniel Koch,
-- NVIDIA
- Neil Henning, AMD
--
--
-- Description
--
-- This extension adds a mechanism to provide feedback to an application
-- about pipeline creation, with the specific goal of allowing a feedback
-- loop between build systems and in-the-field application executions to
-- ensure effective pipeline caches are shipped to customers.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-03-12 (Jean-Francois Roy)
--
--
-- See Also
--
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineCreationFeedbackEXT,
-- PipelineCreationFeedbackFlagBitsEXT,
-- PipelineCreationFeedbackFlagsEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_pipeline_creation_feedback
-- | VkPipelineCreationFeedbackEXT - Feedback about the creation of a
-- pipeline or pipeline stage
--
-- Description
--
-- If the PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT is not set in
-- flags, an implementation must not set any other bits
-- in flags, and the values of all other
-- PipelineCreationFeedbackEXT data members are undefined.
--
-- See Also
--
-- VK_EXT_pipeline_creation_feedback,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineCreationFeedbackFlagBitsEXT,
-- PipelineCreationFeedbackFlagsEXT
data PipelineCreationFeedbackEXT
PipelineCreationFeedbackEXT :: PipelineCreationFeedbackFlagsEXT -> Word64 -> PipelineCreationFeedbackEXT
-- | flags is a bitmask of
-- PipelineCreationFeedbackFlagBitsEXT providing feedback about
-- the creation of a pipeline or of a pipeline stage.
[$sel:flags:PipelineCreationFeedbackEXT] :: PipelineCreationFeedbackEXT -> PipelineCreationFeedbackFlagsEXT
-- | duration is the duration spent creating a pipeline or
-- pipeline stage in nanoseconds.
[$sel:duration:PipelineCreationFeedbackEXT] :: PipelineCreationFeedbackEXT -> Word64
-- | VkPipelineCreationFeedbackCreateInfoEXT - Request for feedback about
-- the creation of a pipeline
--
-- Description
--
-- An implementation should write pipeline creation feedback to
-- pPipelineCreationFeedback and may write pipeline stage
-- creation feedback to pPipelineStageCreationFeedbacks. An
-- implementation must set or clear the
-- PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT in
-- PipelineCreationFeedbackEXT::flags for
-- pPipelineCreationFeedback and every element of
-- pPipelineStageCreationFeedbacks.
--
-- Note
--
-- One common scenario for an implementation to skip per-stage feedback
-- is when
-- PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT
-- is set in pPipelineCreationFeedback.
--
-- When chained to RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, or
-- GraphicsPipelineCreateInfo, the i element of
-- pPipelineStageCreationFeedbacks corresponds to the i
-- element of RayTracingPipelineCreateInfoKHR::pStages,
-- RayTracingPipelineCreateInfoNV::pStages, or
-- GraphicsPipelineCreateInfo::pStages. When chained to
-- ComputePipelineCreateInfo, the first element of
-- pPipelineStageCreationFeedbacks corresponds to
-- ComputePipelineCreateInfo::stage.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPipelineCreationFeedback must be a valid pointer
-- to a PipelineCreationFeedbackEXT structure
-- - pPipelineStageCreationFeedbacks must be a valid
-- pointer to an array of pipelineStageCreationFeedbackCount
-- PipelineCreationFeedbackEXT structures
-- - pipelineStageCreationFeedbackCount must be greater
-- than 0
--
--
-- See Also
--
-- VK_EXT_pipeline_creation_feedback,
-- ComputePipelineCreateInfo, GraphicsPipelineCreateInfo,
-- PipelineCreationFeedbackEXT,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, StructureType
data PipelineCreationFeedbackCreateInfoEXT
PipelineCreationFeedbackCreateInfoEXT :: Ptr PipelineCreationFeedbackEXT -> Word32 -> Ptr PipelineCreationFeedbackEXT -> PipelineCreationFeedbackCreateInfoEXT
-- | pPipelineCreationFeedback is a pointer to a
-- PipelineCreationFeedbackEXT structure.
[$sel:pipelineCreationFeedback:PipelineCreationFeedbackCreateInfoEXT] :: PipelineCreationFeedbackCreateInfoEXT -> Ptr PipelineCreationFeedbackEXT
-- | pipelineStageCreationFeedbackCount is the number of elements
-- in pPipelineStageCreationFeedbacks.
[$sel:pipelineStageCreationFeedbackCount:PipelineCreationFeedbackCreateInfoEXT] :: PipelineCreationFeedbackCreateInfoEXT -> Word32
-- | pPipelineStageCreationFeedbacks is a pointer to an array of
-- pipelineStageCreationFeedbackCount
-- PipelineCreationFeedbackEXT structures.
[$sel:pipelineStageCreationFeedbacks:PipelineCreationFeedbackCreateInfoEXT] :: PipelineCreationFeedbackCreateInfoEXT -> Ptr PipelineCreationFeedbackEXT
type PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlagBitsEXT
-- | VkPipelineCreationFeedbackFlagBitsEXT - Bitmask specifying pipeline or
-- pipeline stage creation feedback
--
-- See Also
--
-- VK_EXT_pipeline_creation_feedback,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineCreationFeedbackEXT,
-- PipelineCreationFeedbackFlagsEXT
newtype PipelineCreationFeedbackFlagBitsEXT
PipelineCreationFeedbackFlagBitsEXT :: Flags -> PipelineCreationFeedbackFlagBitsEXT
-- | PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT indicates that the
-- feedback information is valid.
pattern PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT
-- |
-- PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT
-- indicates that a readily usable pipeline or pipeline stage was found
-- in the pipelineCache specified by the application in the
-- pipeline creation command.
--
-- An implementation should set the
-- PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT
-- bit if it was able to avoid the large majority of pipeline or pipeline
-- stage creation work by using the pipelineCache parameter of
-- createGraphicsPipelines, createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, or createComputePipelines.
-- When an implementation sets this bit for the entire pipeline, it
-- may leave it unset for any stage.
--
-- Note
--
-- Implementations are encouraged to provide a meaningful signal to
-- applications using this bit. The intention is to communicate to the
-- application that the pipeline or pipeline stage was created "as fast
-- as it gets" using the pipeline cache provided by the application. If
-- an implementation uses an internal cache, it is discouraged from
-- setting this bit as the feedback would be unactionable.
pattern PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT
-- | PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
-- indicates that the base pipeline specified by the
-- basePipelineHandle or basePipelineIndex member of
-- the Vk*PipelineCreateInfo structure was used to accelerate
-- the creation of the pipeline.
--
-- An implementation should set the
-- PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
-- bit if it was able to avoid a significant amount of work by using the
-- base pipeline.
--
-- Note
--
-- While "significant amount of work" is subjective, implementations are
-- encouraged to provide a meaningful signal to applications using this
-- bit. For example, a 1% reduction in duration may not warrant setting
-- this bit, while a 50% reduction would.
pattern PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: PipelineCreationFeedbackFlagBitsEXT
type EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1
pattern EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: forall a. Integral a => a
type EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback"
pattern EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackFlagBitsEXT
-- | Name
--
-- VK_EXT_pipeline_creation_cache_control - device extension
--
-- VK_EXT_pipeline_creation_cache_control
--
--
-- - Name String
-- VK_EXT_pipeline_creation_cache_control
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 298
-- - Revision 3
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-03-23
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Gregory Grebe,
-- AMD
- Tobias Hector, AMD
- Matthaeus Chajdas,
-- AMD
- Mitch Singer, AMD
- Spencer Fricke, Samsung
-- Electronics
- Stuart Smith, Imagination
-- Technologies
- Jeff Bolz, NVIDIA Corporation
- Daniel
-- Koch, NVIDIA Corporation
- Dan Ginsburg, Valve
-- Corporation
- Jeff Leger, QUALCOMM
- Michal Pietrasiuk,
-- Intel
- Jan-Harald Fredriksen, Arm Limited
--
--
-- Description
--
-- This extension adds flags to Vk*PipelineCreateInfo and
-- PipelineCacheCreateInfo structures with the aim of improving
-- the predictability of pipeline creation cost. The goal is to provide
-- information about potentially expensive hazards within the client
-- driver during pipeline creation to the application before carrying
-- them out rather than after.
--
-- Background
--
-- Pipeline creation is a costly operation, and the explicit nature of
-- the Vulkan design means that cost is not hidden from the developer.
-- Applications are also expected to schedule, prioritize, and load
-- balance all calls for pipeline creation. It is strongly advised that
-- applications create pipelines sufficiently ahead of their usage.
-- Failure to do so will result in an unresponsive application,
-- intermittent stuttering, or other poor user experiences. Proper usage
-- of pipeline caches and/or derivative pipelines help mitigate this but
-- is not assured to eliminate disruption in all cases. In the event that
-- an ahead-of-time creation is not possible, considerations should be
-- taken to ensure that the current execution context is suitable for the
-- workload of pipeline creation including possible shader compilation.
--
-- Applications making API calls to create a pipeline must be prepared
-- for any of the following to occur:
--
--
-- - OS/kernel calls to be made by the ICD
-- - Internal memory allocation not tracked by the pAllocator
-- passed to vkCreate*Pipelines
-- - Internal thread synchronization or yielding of the current
-- thread’s core
-- - Extremely long (multi-millisecond+), blocking, compilation
-- times
-- - Arbitrary call stacks depths and stack memory usage
--
--
-- The job or task based game engines that are being developed to take
-- advantage of explicit graphics APIs like Vulkan may behave
-- exceptionally poorly if any of the above scenarios occur. However,
-- most game engines are already built to “stream” in assets dynamically
-- as the user plays the game. By adding control by way of
-- PipelineCreateFlags, we can require an ICD to report back a
-- failure in critical execution paths rather than forcing an unexpected
-- wait.
--
-- Applications can prevent unexpected compilation by setting
-- PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT on
-- Vk*PipelineCreateInfo::flags. When set, an ICD must
-- not attempt pipeline or shader compilation to create the pipeline
-- object. The ICD will return the result
-- PIPELINE_COMPILE_REQUIRED_EXT. An ICD may still return a valid
-- Pipeline object by either re-using existing pre-compiled
-- objects such as those from a pipeline cache, or derivative pipelines.
--
-- By default vkCreate*Pipelines calls must attempt to create
-- all pipelines before returning. Setting
-- PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT on
-- Vk*PipelineCreateInfo::flags can be used as an
-- escape hatch for batched pipeline creates.
--
-- Hidden locks also add to the unpredictability of the cost of pipeline
-- creation. The most common case of locks inside the
-- vkCreate*Pipelines is internal synchronization of the
-- PipelineCache object.
-- PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT can be
-- set when calling createPipelineCache to state the cache is
-- externally synchronized.
--
-- The hope is that armed with this information application and engine
-- developers can leverage existing asset streaming systems to recover
-- from "just-in-time" pipeline creation stalls.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-11-01 (Gregory Grebe)
--
--
--
-- - Revision 2, 2020-02-24 (Gregory Grebe)
- Initial public
-- revision
-- - Revision 3, 2020-03-23 (Tobias Hector)
--
--
-- See Also
--
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PipelineCacheCreateFlagBits
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control
pattern ERROR_PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - Structure
-- describing whether pipeline cache control can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePipelineCreationCacheControlFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_pipeline_creation_cache_control, Bool32,
-- StructureType
data PhysicalDevicePipelineCreationCacheControlFeaturesEXT
PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: Bool -> PhysicalDevicePipelineCreationCacheControlFeaturesEXT
-- | pipelineCreationCacheControl indicates that the
-- implementation supports:
--
--
-- - The following can be used in
-- Vk*PipelineCreateInfo::flags:
-- - The following can be used in
-- PipelineCacheCreateInfo::flags:
--
[$sel:pipelineCreationCacheControl:PhysicalDevicePipelineCreationCacheControlFeaturesEXT] :: PhysicalDevicePipelineCreationCacheControlFeaturesEXT -> Bool
type EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION = 3
pattern EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: forall a. Integral a => a
type EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME = "VK_EXT_pipeline_creation_cache_control"
pattern EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT
-- | Name
--
-- VK_EXT_physical_device_drm - device extension
--
-- VK_EXT_physical_device_drm
--
--
-- - Name String VK_EXT_physical_device_drm
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 354
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension provides new facilities to query DRM properties for
-- physical devices, enabling users to match Vulkan physical devices with
-- DRM nodes on Linux.
--
-- Its functionality closely overlaps with
-- EGL_EXT_device_drm1^. Unlike the EGL extension, this
-- extension does not expose a string containing the name of the device
-- file and instead exposes device minor numbers.
--
-- DRM defines multiple device node types. Each physical device may have
-- one primary node and one render node associated. Physical devices may
-- have no primary node (e.g. if the device does not have a display
-- subsystem), may have no render node (e.g. if it is a software
-- rendering engine), or may have neither (e.g. if it is a software
-- rendering engine without a display subsystem).
--
-- To query DRM properties for a physical device, chain
-- PhysicalDeviceDrmPropertiesEXT to
-- PhysicalDeviceProperties2.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- References
--
--
-- - EGL_EXT_device_drm
--
--
-- Version History
--
--
-- - Revision 1, 2021-06-09
--
--
-- See Also
--
-- PhysicalDeviceDrmPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_physical_device_drm
-- | VkPhysicalDeviceDrmPropertiesEXT - Structure containing DRM
-- information of a physical device
--
-- Description
--
-- If the PhysicalDeviceDrmPropertiesEXT structure is included in
-- the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- These are properties of the DRM information of a physical device.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_physical_device_drm, Bool32, StructureType
data PhysicalDeviceDrmPropertiesEXT
PhysicalDeviceDrmPropertiesEXT :: Bool -> Bool -> Int64 -> Int64 -> Int64 -> Int64 -> PhysicalDeviceDrmPropertiesEXT
-- | hasPrimary is a boolean indicating whether the physical
-- device has a DRM primary node.
[$sel:hasPrimary:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Bool
-- | hasRender is a boolean indicating whether the physical device
-- has a DRM render node.
[$sel:hasRender:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Bool
-- | primaryMajor is the DRM primary node major number, if any.
[$sel:primaryMajor:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Int64
-- | primaryMinor is the DRM primary node minor number, if any.
[$sel:primaryMinor:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Int64
-- | renderMajor is the DRM render node major number, if any.
[$sel:renderMajor:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Int64
-- | renderMinor is the DRM render node minor number, if any.
[$sel:renderMinor:PhysicalDeviceDrmPropertiesEXT] :: PhysicalDeviceDrmPropertiesEXT -> Int64
type EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1
pattern EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION :: forall a. Integral a => a
type EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm"
pattern EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT
-- | Name
--
-- VK_EXT_memory_priority - device extension
--
-- VK_EXT_memory_priority
--
--
-- - Name String VK_EXT_memory_priority
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 239
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-10-08
--
--
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Jeff
-- Juliano, NVIDIA
--
--
-- Description
--
-- This extension adds a priority value specified at memory
-- allocation time. On some systems with both device-local and
-- non-device-local memory heaps, the implementation may transparently
-- move memory from one heap to another when a heap becomes full (for
-- example, when the total memory used across all processes exceeds the
-- size of the heap). In such a case, this priority value may be used to
-- determine which allocations are more likely to remain in device-local
-- memory.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-10-08 (Jeff Bolz)
--
--
-- See Also
--
-- MemoryPriorityAllocateInfoEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_memory_priority
-- | VkPhysicalDeviceMemoryPriorityFeaturesEXT - Structure describing
-- memory priority features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceMemoryPriorityFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceMemoryPriorityFeaturesEXT can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_memory_priority, Bool32, StructureType
data PhysicalDeviceMemoryPriorityFeaturesEXT
PhysicalDeviceMemoryPriorityFeaturesEXT :: Bool -> PhysicalDeviceMemoryPriorityFeaturesEXT
-- | memoryPriority indicates that the implementation supports
-- memory priorities specified at memory allocation time via
-- MemoryPriorityAllocateInfoEXT.
[$sel:memoryPriority:PhysicalDeviceMemoryPriorityFeaturesEXT] :: PhysicalDeviceMemoryPriorityFeaturesEXT -> Bool
-- | VkMemoryPriorityAllocateInfoEXT - Specify a memory allocation priority
--
-- Description
--
-- Memory allocations with higher priority may be more likely to
-- stay in device-local memory when the system is under memory pressure.
--
-- If this structure is not included, it is as if the priority
-- value were 0.5.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_memory_priority, StructureType
data MemoryPriorityAllocateInfoEXT
MemoryPriorityAllocateInfoEXT :: Float -> MemoryPriorityAllocateInfoEXT
-- | priority is a floating-point value between 0 and
-- 1, indicating the priority of the allocation relative to
-- other memory allocations. Larger values are higher priority. The
-- granularity of the priorities is implementation-dependent.
--
-- priority must be between 0 and 1,
-- inclusive
[$sel:priority:MemoryPriorityAllocateInfoEXT] :: MemoryPriorityAllocateInfoEXT -> Float
type EXT_MEMORY_PRIORITY_SPEC_VERSION = 1
pattern EXT_MEMORY_PRIORITY_SPEC_VERSION :: forall a. Integral a => a
type EXT_MEMORY_PRIORITY_EXTENSION_NAME = "VK_EXT_memory_priority"
pattern EXT_MEMORY_PRIORITY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT
-- | Name
--
-- VK_EXT_inline_uniform_block - device extension
--
-- VK_EXT_inline_uniform_block
--
--
-- - Name String
-- VK_EXT_inline_uniform_block
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 139
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_maintenance1
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-08-01
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Daniel Rakos, AMD
- Jeff
-- Bolz, NVIDIA
- Slawomir Grajewski, Intel
- Neil Henning,
-- Codeplay
--
--
-- Description
--
-- This extension introduces the ability to back uniform blocks directly
-- with descriptor sets by storing inline uniform data within descriptor
-- pool storage. Compared to push constants this new construct allows
-- uniform data to be reused across multiple disjoint sets of drawing or
-- dispatching commands and may enable uniform data to be accessed
-- with fewer indirections compared to uniforms backed by buffer memory.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Do we need a new storage class for inline uniform blocks vs uniform
-- blocks?
--
-- RESOLVED: No. The Uniform storage class is used to
-- allow the same syntax used for both uniform buffers and inline uniform
-- blocks.
--
-- 2) Is the descriptor array index and array size expressed in terms of
-- bytes or dwords for inline uniform block descriptors?
--
-- RESOLVED: In bytes, but both must be a multiple of 4,
-- similar to how push constant ranges are specified. The
-- descriptorCount of DescriptorSetLayoutBinding thus
-- provides the total number of bytes a particular binding with an inline
-- uniform block descriptor type can hold, while the
-- srcArrayElement, dstArrayElement, and
-- descriptorCount members of WriteDescriptorSet,
-- CopyDescriptorSet, and DescriptorUpdateTemplateEntry
-- (where applicable) specify the byte offset and number of bytes to
-- write/copy to the binding’s backing store. Additionally, the
-- stride member of DescriptorUpdateTemplateEntry is
-- ignored for inline uniform blocks and a default value of one is used,
-- meaning that the data to update inline uniform block bindings with
-- must be contiguous in memory.
--
-- 3) What layout rules apply for uniform blocks corresponding to inline
-- constants?
--
-- RESOLVED: They use the same layout rules as uniform buffers.
--
-- 4) Do we need to add non-uniform indexing features/properties as
-- introduced by VK_EXT_descriptor_indexing for inline uniform
-- blocks?
--
-- RESOLVED: No, because inline uniform blocks are not allowed to
-- be “arrayed”. A single binding with an inline uniform block descriptor
-- type corresponds to a single uniform block instance and the array
-- indices inside that binding refer to individual offsets within the
-- uniform block (see issue #2). However, this extension does introduce
-- new features/properties about the level of support for
-- update-after-bind inline uniform blocks.
--
-- 5) Is the descriptorBindingVariableDescriptorCount feature
-- introduced by VK_EXT_descriptor_indexing supported for inline
-- uniform blocks?
--
-- RESOLVED: Yes, as long as other inline uniform block specific
-- limits are respected.
--
-- 6) Do the robustness guarantees of robustBufferAccess apply
-- to inline uniform block accesses?
--
-- RESOLVED: No, similarly to push constants, as they are not
-- backed by buffer memory like uniform buffers.
--
-- Version History
--
--
-- - Revision 1, 2018-08-01 (Daniel Rakos)
--
--
-- See Also
--
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- WriteDescriptorSetInlineUniformBlockEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_inline_uniform_block
-- | VkPhysicalDeviceInlineUniformBlockFeaturesEXT - Structure describing
-- inline uniform block features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceInlineUniformBlockFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceInlineUniformBlockFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_inline_uniform_block, Bool32,
-- StructureType
data PhysicalDeviceInlineUniformBlockFeaturesEXT
PhysicalDeviceInlineUniformBlockFeaturesEXT :: Bool -> Bool -> PhysicalDeviceInlineUniformBlockFeaturesEXT
-- | inlineUniformBlock indicates whether the implementation
-- supports inline uniform block descriptors. If this feature is not
-- enabled, DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT must
-- not be used.
[$sel:inlineUniformBlock:PhysicalDeviceInlineUniformBlockFeaturesEXT] :: PhysicalDeviceInlineUniformBlockFeaturesEXT -> Bool
-- | descriptorBindingInlineUniformBlockUpdateAfterBind indicates
-- whether the implementation supports updating inline uniform block
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT.
[$sel:descriptorBindingInlineUniformBlockUpdateAfterBind:PhysicalDeviceInlineUniformBlockFeaturesEXT] :: PhysicalDeviceInlineUniformBlockFeaturesEXT -> Bool
-- | VkPhysicalDeviceInlineUniformBlockPropertiesEXT - Structure describing
-- inline uniform block properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceInlineUniformBlockPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_inline_uniform_block, StructureType
data PhysicalDeviceInlineUniformBlockPropertiesEXT
PhysicalDeviceInlineUniformBlockPropertiesEXT :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceInlineUniformBlockPropertiesEXT
-- | maxInlineUniformBlockSize is the maximum size in bytes of an
-- inline uniform block binding.
[$sel:maxInlineUniformBlockSize:PhysicalDeviceInlineUniformBlockPropertiesEXT] :: PhysicalDeviceInlineUniformBlockPropertiesEXT -> Word32
[$sel:maxPerStageDescriptorInlineUniformBlocks:PhysicalDeviceInlineUniformBlockPropertiesEXT] :: PhysicalDeviceInlineUniformBlockPropertiesEXT -> Word32
-- | maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks is
-- similar to maxPerStageDescriptorInlineUniformBlocks but
-- counts descriptor bindings from descriptor sets created with or
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks:PhysicalDeviceInlineUniformBlockPropertiesEXT] :: PhysicalDeviceInlineUniformBlockPropertiesEXT -> Word32
-- | maxDescriptorSetInlineUniformBlocks is the maximum number of
-- inline uniform block bindings that can be included in
-- descriptor bindings in a pipeline layout across all pipeline shader
-- stages and descriptor set numbers. Descriptor bindings with a
-- descriptor type of DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
-- count against this limit. Only descriptor bindings in descriptor set
-- layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit.
[$sel:maxDescriptorSetInlineUniformBlocks:PhysicalDeviceInlineUniformBlockPropertiesEXT] :: PhysicalDeviceInlineUniformBlockPropertiesEXT -> Word32
-- | maxDescriptorSetUpdateAfterBindInlineUniformBlocks is similar
-- to maxDescriptorSetInlineUniformBlocks but counts descriptor
-- bindings from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindInlineUniformBlocks:PhysicalDeviceInlineUniformBlockPropertiesEXT] :: PhysicalDeviceInlineUniformBlockPropertiesEXT -> Word32
-- | VkWriteDescriptorSetInlineUniformBlockEXT - Structure specifying
-- inline uniform block data
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_inline_uniform_block, StructureType
data WriteDescriptorSetInlineUniformBlockEXT
WriteDescriptorSetInlineUniformBlockEXT :: Word32 -> Ptr () -> WriteDescriptorSetInlineUniformBlockEXT
-- | dataSize is the number of bytes of inline uniform block data
-- pointed to by pData.
--
-- dataSize must be an integer multiple of 4
--
-- dataSize must be greater than 0
[$sel:dataSize:WriteDescriptorSetInlineUniformBlockEXT] :: WriteDescriptorSetInlineUniformBlockEXT -> Word32
-- | pData is a pointer to dataSize number of bytes of
-- data to write to the inline uniform block.
--
-- pData must be a valid pointer to an array of
-- dataSize bytes
[$sel:data':WriteDescriptorSetInlineUniformBlockEXT] :: WriteDescriptorSetInlineUniformBlockEXT -> Ptr ()
-- | VkDescriptorPoolInlineUniformBlockCreateInfoEXT - Structure specifying
-- the maximum number of inline uniform block bindings of a newly created
-- descriptor pool
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_inline_uniform_block, StructureType
data DescriptorPoolInlineUniformBlockCreateInfoEXT
DescriptorPoolInlineUniformBlockCreateInfoEXT :: Word32 -> DescriptorPoolInlineUniformBlockCreateInfoEXT
-- | maxInlineUniformBlockBindings is the number of inline uniform
-- block bindings to allocate.
[$sel:maxInlineUniformBlockBindings:DescriptorPoolInlineUniformBlockCreateInfoEXT] :: DescriptorPoolInlineUniformBlockCreateInfoEXT -> Word32
type EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION = 1
pattern EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION :: forall a. Integral a => a
type EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME = "VK_EXT_inline_uniform_block"
pattern EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_inline_uniform_block.WriteDescriptorSetInlineUniformBlockEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.WriteDescriptorSetInlineUniformBlockEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.WriteDescriptorSetInlineUniformBlockEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_inline_uniform_block.WriteDescriptorSetInlineUniformBlockEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_inline_uniform_block.WriteDescriptorSetInlineUniformBlockEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT
-- | Name
--
-- VK_EXT_index_type_uint8 - device extension
--
-- VK_EXT_index_type_uint8
--
--
-- - Name String VK_EXT_index_type_uint8
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 266
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-02
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension allows uint8_t indices to be used with
-- cmdBindIndexBuffer.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-05-02 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceIndexTypeUint8FeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_index_type_uint8
-- | VkPhysicalDeviceIndexTypeUint8FeaturesEXT - Structure describing
-- whether uint8 index type can be used
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceIndexTypeUint8FeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceIndexTypeUint8FeaturesEXT can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_index_type_uint8, Bool32, StructureType
data PhysicalDeviceIndexTypeUint8FeaturesEXT
PhysicalDeviceIndexTypeUint8FeaturesEXT :: Bool -> PhysicalDeviceIndexTypeUint8FeaturesEXT
-- | indexTypeUint8 indicates that INDEX_TYPE_UINT8_EXT can
-- be used with cmdBindIndexBuffer.
[$sel:indexTypeUint8:PhysicalDeviceIndexTypeUint8FeaturesEXT] :: PhysicalDeviceIndexTypeUint8FeaturesEXT -> Bool
type EXT_INDEX_TYPE_UINT8_SPEC_VERSION = 1
pattern EXT_INDEX_TYPE_UINT8_SPEC_VERSION :: forall a. Integral a => a
type EXT_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_EXT_index_type_uint8"
pattern EXT_INDEX_TYPE_UINT8_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT
-- | Name
--
-- VK_EXT_image_view_min_lod - device extension
--
-- VK_EXT_image_view_min_lod
--
--
-- - Name String VK_EXT_image_view_min_lod
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 392
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-11-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Joshua Ashton,
-- Valve
- Hans-Kristian Arntzen, Valve
- Samuel Iglesias
-- Gonsalvez, Igalia
- Tobias Hector, AMD
- Jason Ekstrand,
-- Intel
- Tom Olson, ARM
--
--
-- Description
--
-- This extension allows applications to clamp the minimum LOD value
-- during Image Level(s) Selection and Integer Texel Coordinate
-- Operations with a given ImageView by
-- ImageViewMinLodCreateInfoEXT::minLod.
--
-- This extension may be useful to restrict a ImageView to only
-- mips which have been uploaded, and the use of fractional
-- minLod can be useful for smoothly introducing new mip levels
-- when using linear mipmap filtering.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-07-06 (Joshua Ashton)
--
--
-- See Also
--
-- ImageViewMinLodCreateInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_image_view_min_lod
-- | VkPhysicalDeviceImageViewMinLodFeaturesEXT - Structure describing
-- whether clamping the min lod of a image view is supported by the
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceImageViewMinLodFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceImageViewMinLodFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_image_view_min_lod, Bool32, StructureType
data PhysicalDeviceImageViewMinLodFeaturesEXT
PhysicalDeviceImageViewMinLodFeaturesEXT :: Bool -> PhysicalDeviceImageViewMinLodFeaturesEXT
-- | minLod indicates whether the implementation supports clamping
-- the minimum LOD value during Image Level(s) Selection and
-- Integer Texel Coordinate Operations with a given
-- ImageView by
-- ImageViewMinLodCreateInfoEXT::minLod.
[$sel:minLod:PhysicalDeviceImageViewMinLodFeaturesEXT] :: PhysicalDeviceImageViewMinLodFeaturesEXT -> Bool
-- | VkImageViewMinLodCreateInfoEXT - Structure describing the minimum lod
-- of an image view
--
-- Valid Usage
--
--
-- - If the minLod feature is not enabled, minLod
-- must be 0.0.
--
--
--
-- - minLod must be less or equal to the index of the
-- last mipmap level accessible to the view.
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_EXT_image_view_min_lod, StructureType
data ImageViewMinLodCreateInfoEXT
ImageViewMinLodCreateInfoEXT :: Float -> ImageViewMinLodCreateInfoEXT
-- | minLod is the value to clamp the minimum LOD accessible by
-- this ImageView.
[$sel:minLod:ImageViewMinLodCreateInfoEXT] :: ImageViewMinLodCreateInfoEXT -> Float
type EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1
pattern EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION :: forall a. Integral a => a
type EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod"
pattern EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT
-- | Name
--
-- VK_EXT_image_robustness - device extension
--
-- VK_EXT_image_robustness
--
--
-- - Name String VK_EXT_image_robustness
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 336
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-04-27
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Graeme Leese,
-- Broadcom
- Jan-Harald Fredriksen, ARM
- Jeff Bolz,
-- NVIDIA
- Spencer Fricke, Samsung
- Courtney
-- Goeltzenleuchter, Google
- Slawomir Cygan, Intel
--
--
-- Description
--
-- This extension adds stricter requirements for how out of bounds reads
-- from images are handled. Rather than returning undefined values, most
-- out of bounds reads return R, G, and B values of zero and alpha values
-- of either zero or one. Components not present in the image format may
-- be set to zero or to values based on the format as described in
-- Conversion to RGBA.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - How does this extension differ from VK_EXT_robustness2?
--
--
-- The guarantees provided by this extension are a subset of those
-- provided by the robustImageAccess2 feature of VK_EXT_robustness2.
-- Where this extension allows return values of (0, 0, 0, 0) or (0, 0, 0,
-- 1), robustImageAccess2 requires that a particular value dependent on
-- the image format be returned. This extension provides no guarantees
-- about the values returned for an access to an invalid Lod.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2020-04-27 (Graeme Leese)
--
--
-- See Also
--
-- PhysicalDeviceImageRobustnessFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_image_robustness
-- | VkPhysicalDeviceImageRobustnessFeaturesEXT - Structure describing the
-- out-of-bounds behavior for an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceImageRobustnessFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceImageRobustnessFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_image_robustness, Bool32, StructureType
data PhysicalDeviceImageRobustnessFeaturesEXT
PhysicalDeviceImageRobustnessFeaturesEXT :: Bool -> PhysicalDeviceImageRobustnessFeaturesEXT
-- | robustImageAccess indicates whether image accesses are
-- tightly bounds-checked against the dimensions of the image view.
-- Invalid texels resulting from out of bounds image loads will be
-- replaced as described in Texel Replacement, with either (0,0,1)
-- or (0,0,0) values inserted for missing G, B, or A components based on
-- the format.
[$sel:robustImageAccess:PhysicalDeviceImageRobustnessFeaturesEXT] :: PhysicalDeviceImageRobustnessFeaturesEXT -> Bool
type EXT_IMAGE_ROBUSTNESS_SPEC_VERSION = 1
pattern EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: forall a. Integral a => a
type EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME = "VK_EXT_image_robustness"
pattern EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT
-- | Name
--
-- VK_EXT_fragment_shader_interlock - device extension
--
-- VK_EXT_fragment_shader_interlock
--
--
-- - Name String
-- VK_EXT_fragment_shader_interlock
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 252
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-02
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Graeme Leese, Broadcom
- Jan-Harald Fredriksen,
-- Arm
- Jason Ekstrand, Intel
- Jeff Bolz,
-- NVIDIA
- Ruihao Zhang, Qualcomm
- Slawomir Grajewski,
-- Intel
- Spencer Fricke, Samsung
--
--
-- Description
--
-- This extension adds support for the
-- FragmentShaderPixelInterlockEXT,
-- FragmentShaderSampleInterlockEXT, and
-- FragmentShaderShadingRateInterlockEXT capabilities from the
-- SPV_EXT_fragment_shader_interlock extension to Vulkan.
--
-- Enabling these capabilities provides a critical section for fragment
-- shaders to avoid overlapping pixels being processed at the same time,
-- and certain guarantees about the ordering of fragment shader
-- invocations of fragments of overlapping pixels.
--
-- This extension can be useful for algorithms that need to access
-- per-pixel data structures via shader loads and stores. Algorithms
-- using this extension can access per-pixel data structures in critical
-- sections without other invocations accessing the same per-pixel data.
-- Additionally, the ordering guarantees are useful for cases where the
-- API ordering of fragments is meaningful. For example, applications may
-- be able to execute programmable blending operations in the fragment
-- shader, where the destination buffer is read via image loads and the
-- final value is written via image stores.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-05-24 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_fragment_shader_interlock
-- | VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT - Structure
-- describing fragment shader interlock features that can be supported by
-- an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceFragmentShaderInterlockFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_fragment_shader_interlock, Bool32,
-- StructureType
data PhysicalDeviceFragmentShaderInterlockFeaturesEXT
PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: Bool -> Bool -> Bool -> PhysicalDeviceFragmentShaderInterlockFeaturesEXT
-- | fragmentShaderSampleInterlock indicates that the
-- implementation supports the FragmentShaderSampleInterlockEXT
-- SPIR-V capability.
[$sel:fragmentShaderSampleInterlock:PhysicalDeviceFragmentShaderInterlockFeaturesEXT] :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT -> Bool
-- | fragmentShaderPixelInterlock indicates that the
-- implementation supports the FragmentShaderPixelInterlockEXT
-- SPIR-V capability.
[$sel:fragmentShaderPixelInterlock:PhysicalDeviceFragmentShaderInterlockFeaturesEXT] :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT -> Bool
-- | fragmentShaderShadingRateInterlock indicates that the
-- implementation supports the
-- FragmentShaderShadingRateInterlockEXT SPIR-V capability.
[$sel:fragmentShaderShadingRateInterlock:PhysicalDeviceFragmentShaderInterlockFeaturesEXT] :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT -> Bool
type EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION = 1
pattern EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: forall a. Integral a => a
type EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock"
pattern EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT
-- | Name
--
-- VK_EXT_fragment_density_map2 - device extension
--
-- VK_EXT_fragment_density_map2
--
--
-- - Name String
-- VK_EXT_fragment_density_map2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 333
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_fragment_density_map
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-06-16
--
--
--
-- - Interactions and External Dependencies
--
- Interacts with Vulkan 1.1
-- - Contributors
- Matthew Netsch, Qualcomm
-- Technologies, Inc.
- Jonathan Tinkham, Qualcomm Technologies,
-- Inc.
- Jonathan Wicks, Qualcomm Technologies,
-- Inc.
- Jan-Harald Fredriksen, ARM
--
--
-- Description
--
-- This extension adds additional features and properties to
-- VK_EXT_fragment_density_map in order to reduce fragment
-- density map host latency as well as improved queries for subsampled
-- sampler implementation-dependent behavior.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-06-16 (Matthew Netsch)
--
--
-- See Also
--
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_fragment_density_map2
-- | VkPhysicalDeviceFragmentDensityMap2FeaturesEXT - Structure describing
-- additional fragment density map features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceFragmentDensityMap2FeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_fragment_density_map2, Bool32,
-- StructureType
data PhysicalDeviceFragmentDensityMap2FeaturesEXT
PhysicalDeviceFragmentDensityMap2FeaturesEXT :: Bool -> PhysicalDeviceFragmentDensityMap2FeaturesEXT
-- | fragmentDensityMapDeferred specifies whether the
-- implementation supports deferred reads of fragment density map image
-- views. If this feature is not enabled,
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
-- must not be included in
-- ImageViewCreateInfo::flags.
[$sel:fragmentDensityMapDeferred:PhysicalDeviceFragmentDensityMap2FeaturesEXT] :: PhysicalDeviceFragmentDensityMap2FeaturesEXT -> Bool
-- | VkPhysicalDeviceFragmentDensityMap2PropertiesEXT - Structure
-- describing additional fragment density map properties that can be
-- supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceFragmentDensityMap2PropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_fragment_density_map2, Bool32,
-- StructureType
data PhysicalDeviceFragmentDensityMap2PropertiesEXT
PhysicalDeviceFragmentDensityMap2PropertiesEXT :: Bool -> Bool -> Word32 -> Word32 -> PhysicalDeviceFragmentDensityMap2PropertiesEXT
-- | subsampledLoads specifies if performing image data read with
-- load operations on subsampled attachments will be resampled to the
-- fragment density of the render pass
[$sel:subsampledLoads:PhysicalDeviceFragmentDensityMap2PropertiesEXT] :: PhysicalDeviceFragmentDensityMap2PropertiesEXT -> Bool
-- | subsampledCoarseReconstructionEarlyAccess specifies if
-- performing image data read with samplers created with flags
-- containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT in
-- fragment shader will trigger additional reads during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT
[$sel:subsampledCoarseReconstructionEarlyAccess:PhysicalDeviceFragmentDensityMap2PropertiesEXT] :: PhysicalDeviceFragmentDensityMap2PropertiesEXT -> Bool
-- | maxSubsampledArrayLayers is the maximum number of
-- ImageView array layers for usages supporting subsampled
-- samplers
[$sel:maxSubsampledArrayLayers:PhysicalDeviceFragmentDensityMap2PropertiesEXT] :: PhysicalDeviceFragmentDensityMap2PropertiesEXT -> Word32
-- | maxDescriptorSetSubsampledSamplers is the maximum number of
-- subsampled samplers that can be included in a
-- PipelineLayout
[$sel:maxDescriptorSetSubsampledSamplers:PhysicalDeviceFragmentDensityMap2PropertiesEXT] :: PhysicalDeviceFragmentDensityMap2PropertiesEXT -> Word32
type EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION = 1
pattern EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION :: forall a. Integral a => a
type EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME = "VK_EXT_fragment_density_map2"
pattern EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT
-- | Name
--
-- VK_EXT_depth_clip_enable - device extension
--
-- VK_EXT_depth_clip_enable
--
--
-- - Name String VK_EXT_depth_clip_enable
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 103
-- - Revision 1
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-20
--
--
--
-- - Contributors
- Daniel Rakos, AMD
- Henri
-- Verbeet, CodeWeavers
- Jeff Bolz, NVIDIA
- Philip Rebohle,
-- DXVK
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension allows the depth clipping operation, that is normally
-- implicitly controlled by
-- PipelineRasterizationStateCreateInfo::depthClampEnable,
-- to instead be controlled explicitly by
-- PipelineRasterizationDepthClipStateCreateInfoEXT::depthClipEnable.
--
-- This is useful for translating DX content which assumes depth clamping
-- is always enabled, but depth clip can be controlled by the
-- DepthClipEnable rasterization state (D3D12_RASTERIZER_DESC).
--
-- New Structures
--
--
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-12-20 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PipelineRasterizationDepthClipStateCreateFlagsEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_depth_clip_enable
-- | VkPhysicalDeviceDepthClipEnableFeaturesEXT - Structure indicating
-- support for explicit enable of depth clip
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceDepthClipEnableFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDepthClipEnableFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_depth_clip_enable, Bool32, StructureType
data PhysicalDeviceDepthClipEnableFeaturesEXT
PhysicalDeviceDepthClipEnableFeaturesEXT :: Bool -> PhysicalDeviceDepthClipEnableFeaturesEXT
-- | depthClipEnable indicates that the implementation supports
-- setting the depth clipping operation explicitly via the
-- PipelineRasterizationDepthClipStateCreateInfoEXT pipeline
-- state. Otherwise depth clipping is only enabled when
-- PipelineRasterizationStateCreateInfo::depthClampEnable
-- is set to FALSE.
[$sel:depthClipEnable:PhysicalDeviceDepthClipEnableFeaturesEXT] :: PhysicalDeviceDepthClipEnableFeaturesEXT -> Bool
-- | VkPipelineRasterizationDepthClipStateCreateInfoEXT - Structure
-- specifying depth clipping state
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_depth_clip_enable, Bool32,
-- PipelineRasterizationDepthClipStateCreateFlagsEXT,
-- StructureType
data PipelineRasterizationDepthClipStateCreateInfoEXT
PipelineRasterizationDepthClipStateCreateInfoEXT :: PipelineRasterizationDepthClipStateCreateFlagsEXT -> Bool -> PipelineRasterizationDepthClipStateCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:PipelineRasterizationDepthClipStateCreateInfoEXT] :: PipelineRasterizationDepthClipStateCreateInfoEXT -> PipelineRasterizationDepthClipStateCreateFlagsEXT
-- | depthClipEnable controls whether depth clipping is enabled as
-- described in Primitive Clipping.
[$sel:depthClipEnable:PipelineRasterizationDepthClipStateCreateInfoEXT] :: PipelineRasterizationDepthClipStateCreateInfoEXT -> Bool
-- | VkPipelineRasterizationDepthClipStateCreateFlagsEXT - Reserved for
-- future use
--
-- Description
--
-- PipelineRasterizationDepthClipStateCreateFlagsEXT is a bitmask
-- type for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_depth_clip_enable,
-- PipelineRasterizationDepthClipStateCreateInfoEXT
newtype PipelineRasterizationDepthClipStateCreateFlagsEXT
PipelineRasterizationDepthClipStateCreateFlagsEXT :: Flags -> PipelineRasterizationDepthClipStateCreateFlagsEXT
type EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION = 1
pattern EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME = "VK_EXT_depth_clip_enable"
pattern EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT
-- | Name
--
-- VK_EXT_depth_clip_control - device extension
--
-- VK_EXT_depth_clip_control
--
--
-- - Name String VK_EXT_depth_clip_control
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 356
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-11-09
--
--
--
-- - Contributors
- Spencer Fricke, Samsung
-- Electronics
- Shahbaz Youssefi, Google
- Ralph Potter,
-- Samsung Electronics
--
--
-- Description
--
-- This extension allows the application to use the OpenGL depth range in
-- NDC, i.e. with depth in range [-1, 1], as opposed to Vulkan’s default
-- of [0, 1]. The purpose of this extension is to allow efficient
-- layering of OpenGL over Vulkan, by avoiding emulation in the
-- pre-rasterization shader stages. This emulation, which effectively
-- duplicates gl_Position but with a different depth value, costs ALU and
-- consumes shader output components that the implementation may not have
-- to spare to meet OpenGL minimum requirements.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 0, 2020-10-01 (Spencer Fricke)
--
--
--
-- - Revision 1, 2020-11-26 (Shahbaz Youssefi)
--
--
-- Issues
--
-- 1) Should this extension include an origin control option to match
-- GL_LOWER_LEFT found in ARB_clip_control?
--
-- RESOLVED: Yes. The fix for porting over the origin is a simple
-- y-axis flip. The depth clip control is a much harder problem to solve
-- than what this extension is aimed to solve. Adding an equivalent to
-- GL_LOWER_LEFT would require more testing.
--
-- 2) Should this pipeline state be dynamic?
--
-- RESOLVED: Yes. The purpose of this extension is to emulate the
-- OpenGL depth range, which is expected to be globally fixed (in case of
-- OpenGL ES) or very infrequently changed (with glClipControl
-- in OpenGL).
--
-- 3) Should the control provided in this extension be an enum that could
-- be extended in the future?
--
-- RESOLVED: Yes. It is highly unlikely that the depth range is
-- changed to anything other than [0, 1] in the future. Should that
-- happen a new extension will be required to extend such an enum, and
-- that extension might as well add a new struct to chain to
-- PipelineViewportStateCreateInfo::pNext instead.
--
-- See Also
--
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PipelineViewportDepthClipControlCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_depth_clip_control
-- | VkPhysicalDeviceDepthClipControlFeaturesEXT - Structure describing
-- additional depth clip control supported by an implementation
--
-- Members
--
-- The members of the PhysicalDeviceDepthClipControlFeaturesEXT
-- structure describe the following features:
--
-- Description
--
-- If the PhysicalDeviceDepthClipControlFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDepthClipControlFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_depth_clip_control, Bool32, StructureType
data PhysicalDeviceDepthClipControlFeaturesEXT
PhysicalDeviceDepthClipControlFeaturesEXT :: Bool -> PhysicalDeviceDepthClipControlFeaturesEXT
-- | depthClipControl indicates that the implementation supports
-- setting
-- PipelineViewportDepthClipControlCreateInfoEXT::negativeOneToOne
-- to TRUE.
[$sel:depthClipControl:PhysicalDeviceDepthClipControlFeaturesEXT] :: PhysicalDeviceDepthClipControlFeaturesEXT -> Bool
-- | VkPipelineViewportDepthClipControlCreateInfoEXT - Structure specifying
-- parameters of a newly created pipeline depth clip control state
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_EXT_depth_clip_control, Bool32, StructureType
data PipelineViewportDepthClipControlCreateInfoEXT
PipelineViewportDepthClipControlCreateInfoEXT :: Bool -> PipelineViewportDepthClipControlCreateInfoEXT
-- | negativeOneToOne sets the zm in the view volume to -wc
[$sel:negativeOneToOne:PipelineViewportDepthClipControlCreateInfoEXT] :: PipelineViewportDepthClipControlCreateInfoEXT -> Bool
type EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1
pattern EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control"
pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT
-- | Name
--
-- VK_EXT_conservative_rasterization - device extension
--
-- VK_EXT_conservative_rasterization
--
--
-- - Name String
-- VK_EXT_conservative_rasterization
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 102
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-06-09
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Daniel Rakos, AMD
- Jeff Bolz,
-- NVIDIA
- Slawomir Grajewski, Intel
- Stu Smith,
-- Imagination Technologies
--
--
-- Description
--
-- This extension adds a new rasterization mode called conservative
-- rasterization. There are two modes of conservative rasterization;
-- overestimation and underestimation.
--
-- When overestimation is enabled, if any part of the primitive,
-- including its edges, covers any part of the rectangular pixel area,
-- including its sides, then a fragment is generated with all coverage
-- samples turned on. This extension allows for some variation in
-- implementations by accounting for differences in overestimation, where
-- the generating primitive size is increased at each of its edges by
-- some sub-pixel amount to further increase conservative pixel coverage.
-- Implementations can allow the application to specify an extra
-- overestimation beyond the base overestimation the implementation
-- already does. It also allows implementations to either cull degenerate
-- primitives or rasterize them.
--
-- When underestimation is enabled, fragments are only generated if the
-- rectangular pixel area is fully covered by the generating primitive.
-- If supported by the implementation, when a pixel rectangle is fully
-- covered the fragment shader input variable builtin called
-- FullyCoveredEXT is set to true. The shader variable works in either
-- overestimation or underestimation mode.
--
-- Implementations can process degenerate triangles and lines by either
-- discarding them or generating conservative fragments for them.
-- Degenerate triangles are those that end up with zero area after the
-- rasterizer quantizes them to the fixed-point pixel grid. Degenerate
-- lines are those with zero length after quantization.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1.1, 2020-09-06 (Piers Daniell)
- Add missing SPIR-V
-- and GLSL dependencies.
--
--
--
-- - Revision 1, 2017-08-28 (Piers Daniell)
--
--
-- See Also
--
-- ConservativeRasterizationModeEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PipelineRasterizationConservativeStateCreateFlagsEXT,
-- PipelineRasterizationConservativeStateCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_conservative_rasterization
-- | VkPhysicalDeviceConservativeRasterizationPropertiesEXT - Structure
-- describing conservative raster properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceConservativeRasterizationPropertiesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_conservative_rasterization, Bool32,
-- StructureType
data PhysicalDeviceConservativeRasterizationPropertiesEXT
PhysicalDeviceConservativeRasterizationPropertiesEXT :: Float -> Float -> Float -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceConservativeRasterizationPropertiesEXT
-- | primitiveOverestimationSize is the size in pixels the
-- generating primitive is increased at each of its edges during
-- conservative rasterization overestimation mode. Even with a size of
-- 0.0, conservative rasterization overestimation rules still apply and
-- if any part of the pixel rectangle is covered by the generating
-- primitive, fragments are generated for the entire pixel. However
-- implementations may make the pixel coverage area even more
-- conservative by increasing the size of the generating primitive.
[$sel:primitiveOverestimationSize:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
-- | maxExtraPrimitiveOverestimationSize is the maximum size in
-- pixels of extra overestimation the implementation supports in the
-- pipeline state. A value of 0.0 means the implementation does not
-- support any additional overestimation of the generating primitive
-- during conservative rasterization. A value above 0.0 allows the
-- application to further increase the size of the generating primitive
-- during conservative rasterization overestimation.
[$sel:maxExtraPrimitiveOverestimationSize:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
-- | extraPrimitiveOverestimationSizeGranularity is the
-- granularity of extra overestimation that can be specified in the
-- pipeline state between 0.0 and
-- maxExtraPrimitiveOverestimationSize inclusive. A value of 0.0
-- means the implementation can use the smallest representable non-zero
-- value in the screen space pixel fixed-point grid.
[$sel:extraPrimitiveOverestimationSizeGranularity:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
-- | primitiveUnderestimation is TRUE if the implementation
-- supports the CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
-- conservative rasterization mode in addition to
-- CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT. Otherwise the
-- implementation only supports
-- CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT.
[$sel:primitiveUnderestimation:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | conservativePointAndLineRasterization is TRUE if the
-- implementation supports conservative rasterization of point and line
-- primitives as well as triangle primitives. Otherwise the
-- implementation only supports triangle primitives.
[$sel:conservativePointAndLineRasterization:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | degenerateTrianglesRasterized is FALSE if the
-- implementation culls primitives generated from triangles that become
-- zero area after they are quantized to the fixed-point rasterization
-- pixel grid. degenerateTrianglesRasterized is TRUE if
-- these primitives are not culled and the provoking vertex attributes
-- and depth value are used for the fragments. The primitive area
-- calculation is done on the primitive generated from the clipped
-- triangle if applicable. Zero area primitives are backfacing and the
-- application can enable backface culling if desired.
[$sel:degenerateTrianglesRasterized:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | degenerateLinesRasterized is FALSE if the
-- implementation culls lines that become zero length after they are
-- quantized to the fixed-point rasterization pixel grid.
-- degenerateLinesRasterized is TRUE if zero length lines
-- are not culled and the provoking vertex attributes and depth value are
-- used for the fragments.
[$sel:degenerateLinesRasterized:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | fullyCoveredFragmentShaderInputVariable is TRUE if the
-- implementation supports the SPIR-V builtin fragment shader input
-- variable FullyCoveredEXT specifying that conservative
-- rasterization is enabled and the fragment area is fully covered by the
-- generating primitive.
[$sel:fullyCoveredFragmentShaderInputVariable:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | conservativeRasterizationPostDepthCoverage is TRUE if
-- the implementation supports conservative rasterization with the
-- PostDepthCoverage execution mode enabled. Otherwise the
-- PostDepthCoverage execution mode must not be used when
-- conservative rasterization is enabled.
[$sel:conservativeRasterizationPostDepthCoverage:PhysicalDeviceConservativeRasterizationPropertiesEXT] :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
-- | VkPipelineRasterizationConservativeStateCreateInfoEXT - Structure
-- specifying conservative raster state
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_conservative_rasterization,
-- ConservativeRasterizationModeEXT,
-- PipelineRasterizationConservativeStateCreateFlagsEXT,
-- StructureType
data PipelineRasterizationConservativeStateCreateInfoEXT
PipelineRasterizationConservativeStateCreateInfoEXT :: PipelineRasterizationConservativeStateCreateFlagsEXT -> ConservativeRasterizationModeEXT -> Float -> PipelineRasterizationConservativeStateCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:PipelineRasterizationConservativeStateCreateInfoEXT] :: PipelineRasterizationConservativeStateCreateInfoEXT -> PipelineRasterizationConservativeStateCreateFlagsEXT
-- | conservativeRasterizationMode is the conservative
-- rasterization mode to use.
--
-- conservativeRasterizationMode must be a valid
-- ConservativeRasterizationModeEXT value
[$sel:conservativeRasterizationMode:PipelineRasterizationConservativeStateCreateInfoEXT] :: PipelineRasterizationConservativeStateCreateInfoEXT -> ConservativeRasterizationModeEXT
-- | extraPrimitiveOverestimationSize is the extra size in pixels
-- to increase the generating primitive during conservative rasterization
-- at each of its edges in X and Y equally in screen
-- space beyond the base overestimation specified in
-- PhysicalDeviceConservativeRasterizationPropertiesEXT::primitiveOverestimationSize.
--
-- extraPrimitiveOverestimationSize must be in the range
-- of 0.0 to
-- PhysicalDeviceConservativeRasterizationPropertiesEXT::maxExtraPrimitiveOverestimationSize
-- inclusive
[$sel:extraPrimitiveOverestimationSize:PipelineRasterizationConservativeStateCreateInfoEXT] :: PipelineRasterizationConservativeStateCreateInfoEXT -> Float
-- | VkPipelineRasterizationConservativeStateCreateFlagsEXT - Reserved for
-- future use
--
-- Description
--
-- PipelineRasterizationConservativeStateCreateFlagsEXT is a
-- bitmask type for setting a mask, but is currently reserved for future
-- use.
--
-- See Also
--
-- VK_EXT_conservative_rasterization,
-- PipelineRasterizationConservativeStateCreateInfoEXT
newtype PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT :: Flags -> PipelineRasterizationConservativeStateCreateFlagsEXT
-- | VkConservativeRasterizationModeEXT - Specify the conservative
-- rasterization mode
--
-- See Also
--
-- VK_EXT_conservative_rasterization,
-- PipelineRasterizationConservativeStateCreateInfoEXT
newtype ConservativeRasterizationModeEXT
ConservativeRasterizationModeEXT :: Int32 -> ConservativeRasterizationModeEXT
-- | CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT specifies that
-- conservative rasterization is disabled and rasterization proceeds as
-- normal.
pattern CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: ConservativeRasterizationModeEXT
-- | CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT specifies that
-- conservative rasterization is enabled in overestimation mode.
pattern CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: ConservativeRasterizationModeEXT
-- | CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT specifies
-- that conservative rasterization is enabled in underestimation mode.
pattern CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: ConservativeRasterizationModeEXT
type EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1
pattern EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: forall a. Integral a => a
type EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization"
pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_conservative_rasterization.ConservativeRasterizationModeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT
-- | Name
--
-- VK_EXT_blend_operation_advanced - device extension
--
-- VK_EXT_blend_operation_advanced
--
--
-- - Name String
-- VK_EXT_blend_operation_advanced
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 149
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-06-12
--
--
--
--
-- Description
--
-- This extension adds a number of “advanced” blending operations that
-- can be used to perform new color blending operations, many of
-- which are more complex than the standard blend modes provided by
-- unextended Vulkan. This extension requires different styles of usage,
-- depending on the level of hardware support and the enabled features:
--
--
--
-- In unextended Vulkan, the set of blending operations is limited, and
-- can be expressed very simply. The BLEND_OP_MIN and
-- BLEND_OP_MAX blend operations simply compute component-wise
-- minimums or maximums of source and destination color components. The
-- BLEND_OP_ADD, BLEND_OP_SUBTRACT, and
-- BLEND_OP_REVERSE_SUBTRACT modes multiply the source and
-- destination colors by source and destination factors and either add
-- the two products together or subtract one from the other. This limited
-- set of operations supports many common blending operations but
-- precludes the use of more sophisticated transparency and blending
-- operations commonly available in many dedicated imaging APIs.
--
-- This extension provides a number of new “advanced” blending
-- operations. Unlike traditional blending operations using
-- BLEND_OP_ADD, these blending equations do not use source and
-- destination factors specified by BlendFactor. Instead, each
-- blend operation specifies a complete equation based on the source and
-- destination colors. These new blend operations are used for both RGB
-- and alpha components; they must not be used to perform separate
-- RGB and alpha blending (via different values of color and alpha
-- BlendOp).
--
-- These blending operations are performed using premultiplied colors,
-- where RGB colors can be considered premultiplied or
-- non-premultiplied by alpha, according to the srcPremultiplied
-- and dstPremultiplied members of
-- PipelineColorBlendAdvancedStateCreateInfoEXT. If a color is
-- considered non-premultiplied, the (R,G,B) color components are
-- multiplied by the alpha component prior to blending. For
-- non-premultiplied color components in the range [0,1], the
-- corresponding premultiplied color component would have values in the
-- range [0 × A, 1 × A].
--
-- Many of these advanced blending equations are formulated where the
-- result of blending source and destination colors with partial coverage
-- have three separate contributions: from the portions covered by both
-- the source and the destination, from the portion covered only by the
-- source, and from the portion covered only by the destination. The
-- blend parameter
-- PipelineColorBlendAdvancedStateCreateInfoEXT::blendOverlap
-- can be used to specify a correlation between source and
-- destination pixel coverage. If set to
-- BLEND_OVERLAP_CONJOINT_EXT, the source and destination are
-- considered to have maximal overlap, as would be the case if drawing
-- two objects on top of each other. If set to
-- BLEND_OVERLAP_DISJOINT_EXT, the source and destination are
-- considered to have minimal overlap, as would be the case when
-- rendering a complex polygon tessellated into individual
-- non-intersecting triangles. If set to
-- BLEND_OVERLAP_UNCORRELATED_EXT, the source and destination
-- coverage are assumed to have no spatial correlation within the pixel.
--
-- In addition to the coherency issues on implementations not supporting
-- advancedBlendCoherentOperations, this extension has several
-- limitations worth noting. First, the new blend operations have a limit
-- on the number of color attachments they can be used with, as
-- indicated by
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT::advancedBlendMaxColorAttachments.
-- Additionally, blending precision may be limited to 16-bit
-- floating-point, which may result in a loss of precision and
-- dynamic range for framebuffer formats with 32-bit floating-point
-- components, and in a loss of precision for formats with 12- and 16-bit
-- signed or unsigned normalized integer components.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2017-06-12 (Jeff Bolz)
--
--
--
-- - Revision 2, 2017-06-12 (Jeff Bolz)
--
--
-- See Also
--
-- BlendOverlapEXT,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PipelineColorBlendAdvancedStateCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_blend_operation_advanced
-- | VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT - Structure
-- describing advanced blending features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceBlendOperationAdvancedFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_blend_operation_advanced, Bool32,
-- StructureType
data PhysicalDeviceBlendOperationAdvancedFeaturesEXT
PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: Bool -> PhysicalDeviceBlendOperationAdvancedFeaturesEXT
-- | advancedBlendCoherentOperations specifies whether blending
-- using advanced blend operations is guaranteed to execute
-- atomically and in primitive order. If this is TRUE,
-- ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is treated the
-- same as ACCESS_COLOR_ATTACHMENT_READ_BIT, and advanced blending
-- needs no additional synchronization over basic blending. If this is
-- FALSE, then memory dependencies are required to guarantee order
-- between two advanced blending operations that occur on the same
-- sample.
[$sel:advancedBlendCoherentOperations:PhysicalDeviceBlendOperationAdvancedFeaturesEXT] :: PhysicalDeviceBlendOperationAdvancedFeaturesEXT -> Bool
-- | VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT - Structure
-- describing advanced blending limits that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceBlendOperationAdvancedPropertiesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_blend_operation_advanced, Bool32,
-- StructureType
data PhysicalDeviceBlendOperationAdvancedPropertiesEXT
PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: Word32 -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceBlendOperationAdvancedPropertiesEXT
-- | advancedBlendMaxColorAttachments is one greater than the
-- highest color attachment index that can be used in a subpass,
-- for a pipeline that uses an advanced blend operation.
[$sel:advancedBlendMaxColorAttachments:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Word32
-- | advancedBlendIndependentBlend specifies whether advanced
-- blend operations can vary per-attachment.
[$sel:advancedBlendIndependentBlend:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Bool
-- | advancedBlendNonPremultipliedSrcColor specifies whether the
-- source color can be treated as non-premultiplied. If this is
-- FALSE, then
-- PipelineColorBlendAdvancedStateCreateInfoEXT::srcPremultiplied
-- must be TRUE.
[$sel:advancedBlendNonPremultipliedSrcColor:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Bool
-- | advancedBlendNonPremultipliedDstColor specifies whether the
-- destination color can be treated as non-premultiplied. If this
-- is FALSE, then
-- PipelineColorBlendAdvancedStateCreateInfoEXT::dstPremultiplied
-- must be TRUE.
[$sel:advancedBlendNonPremultipliedDstColor:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Bool
-- | advancedBlendCorrelatedOverlap specifies whether the overlap
-- mode can be treated as correlated. If this is FALSE,
-- then
-- PipelineColorBlendAdvancedStateCreateInfoEXT::blendOverlap
-- must be BLEND_OVERLAP_UNCORRELATED_EXT.
[$sel:advancedBlendCorrelatedOverlap:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Bool
-- | advancedBlendAllOperations specifies whether all advanced
-- blend operation enums are supported. See the valid usage of
-- PipelineColorBlendAttachmentState.
[$sel:advancedBlendAllOperations:PhysicalDeviceBlendOperationAdvancedPropertiesEXT] :: PhysicalDeviceBlendOperationAdvancedPropertiesEXT -> Bool
-- | VkPipelineColorBlendAdvancedStateCreateInfoEXT - Structure specifying
-- parameters that affect advanced blend operations
--
-- Description
--
-- If this structure is not present, srcPremultiplied and
-- dstPremultiplied are both considered to be TRUE, and
-- blendOverlap is considered to be
-- BLEND_OVERLAP_UNCORRELATED_EXT.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_blend_operation_advanced, BlendOverlapEXT,
-- Bool32, StructureType
data PipelineColorBlendAdvancedStateCreateInfoEXT
PipelineColorBlendAdvancedStateCreateInfoEXT :: Bool -> Bool -> BlendOverlapEXT -> PipelineColorBlendAdvancedStateCreateInfoEXT
-- | srcPremultiplied specifies whether the source color of the
-- blend operation is treated as premultiplied.
[$sel:srcPremultiplied:PipelineColorBlendAdvancedStateCreateInfoEXT] :: PipelineColorBlendAdvancedStateCreateInfoEXT -> Bool
-- | dstPremultiplied specifies whether the destination color of
-- the blend operation is treated as premultiplied.
[$sel:dstPremultiplied:PipelineColorBlendAdvancedStateCreateInfoEXT] :: PipelineColorBlendAdvancedStateCreateInfoEXT -> Bool
-- | blendOverlap is a BlendOverlapEXT value specifying how
-- the source and destination sample’s coverage is correlated.
[$sel:blendOverlap:PipelineColorBlendAdvancedStateCreateInfoEXT] :: PipelineColorBlendAdvancedStateCreateInfoEXT -> BlendOverlapEXT
-- | VkBlendOverlapEXT - Enumerant specifying the blend overlap parameter
--
-- Description
--
-- '
--
-- TODO: table
--
-- Advanced Blend Overlap Modes
--
-- See Also
--
-- VK_EXT_blend_operation_advanced,
-- PipelineColorBlendAdvancedStateCreateInfoEXT
newtype BlendOverlapEXT
BlendOverlapEXT :: Int32 -> BlendOverlapEXT
-- | BLEND_OVERLAP_UNCORRELATED_EXT specifies that there is no
-- correlation between the source and destination coverage.
pattern BLEND_OVERLAP_UNCORRELATED_EXT :: BlendOverlapEXT
-- | BLEND_OVERLAP_DISJOINT_EXT specifies that the source and
-- destination coverage are considered to have minimal overlap.
pattern BLEND_OVERLAP_DISJOINT_EXT :: BlendOverlapEXT
-- | BLEND_OVERLAP_CONJOINT_EXT specifies that the source and
-- destination coverage are considered to have maximal overlap.
pattern BLEND_OVERLAP_CONJOINT_EXT :: BlendOverlapEXT
type EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2
pattern EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: forall a. Integral a => a
type EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced"
pattern EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_blend_operation_advanced.BlendOverlapEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT
-- | Name
--
-- VK_EXT_4444_formats - device extension
--
-- VK_EXT_4444_formats
--
--
-- - Name String VK_EXT_4444_formats
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 341
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Joshua Ashton,
-- Valve
- Jason Ekstrand, Intel
--
--
-- Description
--
-- This extension defines the FORMAT_A4R4G4B4_UNORM_PACK16_EXT and
-- FORMAT_A4B4G4R4_UNORM_PACK16_EXT formats which are defined in
-- other current graphics APIs.
--
-- This extension may be useful for building translation layers for those
-- APIs or for porting applications that use these formats without having
-- to resort to swizzles.
--
-- When VK_EXT_custom_border_color is used, these formats are not subject
-- to the same restrictions for border color without format as with
-- VK_FORMAT_B4G4R4A4_UNORM_PACK16.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-07-04 (Joshua Ashton)
--
--
-- See Also
--
-- PhysicalDevice4444FormatsFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_4444_formats
-- | VkPhysicalDevice4444FormatsFeaturesEXT - Structure describing
-- additional 4444 formats supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDevice4444FormatsFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevice4444FormatsFeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_4444_formats, Bool32, StructureType
data PhysicalDevice4444FormatsFeaturesEXT
PhysicalDevice4444FormatsFeaturesEXT :: Bool -> Bool -> PhysicalDevice4444FormatsFeaturesEXT
-- | formatA4R4G4B4 indicates that the implementation must
-- support using a Format of
-- FORMAT_A4R4G4B4_UNORM_PACK16_EXT with at least the following
-- FormatFeatureFlagBits:
--
--
[$sel:formatA4R4G4B4:PhysicalDevice4444FormatsFeaturesEXT] :: PhysicalDevice4444FormatsFeaturesEXT -> Bool
-- | formatA4B4G4R4 indicates that the implementation must
-- support using a Format of
-- FORMAT_A4B4G4R4_UNORM_PACK16_EXT with at least the following
-- FormatFeatureFlagBits:
--
--
[$sel:formatA4B4G4R4:PhysicalDevice4444FormatsFeaturesEXT] :: PhysicalDevice4444FormatsFeaturesEXT -> Bool
type EXT_4444_FORMATS_SPEC_VERSION = 1
pattern EXT_4444_FORMATS_SPEC_VERSION :: forall a. Integral a => a
type EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats"
pattern EXT_4444_FORMATS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT
-- | Name
--
-- VK_ARM_rasterization_order_attachment_access - device extension
--
-- VK_ARM_rasterization_order_attachment_access
--
--
-- - Name String
-- VK_ARM_rasterization_order_attachment_access
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 343
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-11-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Tobias Hector,
-- AMD
- Jan-Harald Fredriksen, Arm
--
--
-- Description
--
-- Renderpasses, and specifically subpass self-dependencies enable
-- much of the same functionality as the framebuffer fetch and pixel
-- local storage extensions did for OpenGL ES. But certain techniques
-- such as programmable blending are awkward or impractical to implement
-- with these alone, in part because a self-dependency is required every
-- time a fragment will read a value at a given sample coordinate.
--
-- This extension extends the mechanism of input attachments to allow
-- access to framebuffer attachments when used as both input and color,
-- or depth/stencil, attachments from one fragment to the next, in
-- rasterization order, without explicit synchronization.
--
-- See renderpass feedback loops for more information.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Is there any interaction with the VK_KHR_dynamic_rendering
-- extension?
--
-- No. This extension only affects reads from input attachments. Render
-- pass instances begun with cmdBeginRenderingKHR do not have
-- input attachments and a different mechanism will be needed to provide
-- similar functionality in this case.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2021-11-12 (Jan-Harald Fredriksen)
--
--
-- See Also
--
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PipelineColorBlendStateCreateFlagBits,
-- PipelineDepthStencilStateCreateFlagBits
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access
-- | VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM -
-- Structure describing whether rasterization order attachment access can
-- be supported by an implementation
--
-- Members
--
-- The members of the
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
-- structure describe the following features:
--
-- Description
--
-- If the
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
-- structure is included in the pNext chain of
-- PhysicalDeviceFeatures2, it is filled with values indicating
-- whether the feature is supported.
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
-- can also be used in the pNext chain of
-- DeviceCreateInfo to enable features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_ARM_rasterization_order_attachment_access, Bool32,
-- StructureType
data PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: Bool -> Bool -> Bool -> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
-- | rasterizationOrderColorAttachmentAccess indicates that
-- rasterization order access to color and input attachments is supported
-- by the implementation.
[$sel:rasterizationOrderColorAttachmentAccess:PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM] :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM -> Bool
-- | rasterizationOrderDepthAttachmentAccess indicates that
-- rasterization order access to the depth aspect of depth/stencil and
-- input attachments is supported by the implementation.
[$sel:rasterizationOrderDepthAttachmentAccess:PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM] :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM -> Bool
-- | rasterizationOrderStencilAttachmentAccess indicates that
-- rasterization order access to the stencil aspect of depth/stencil and
-- input attachments is supported by the implementation.
[$sel:rasterizationOrderStencilAttachmentAccess:PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM] :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM -> Bool
type ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1
pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION :: forall a. Integral a => a
type ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access"
pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
instance GHC.Show.Show Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
-- | Name
--
-- VK_AMD_texture_gather_bias_lod - device extension
--
-- VK_AMD_texture_gather_bias_lod
--
--
-- - Name String
-- VK_AMD_texture_gather_bias_lod
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 42
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-21
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Dominik Witczak,
-- AMD
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Matthaeus G. Chajdas, AMD
- Qun Lin, AMD
- Rex
-- Xu, AMD
- Timothy Lottes, AMD
--
--
-- Description
--
-- This extension adds two related features.
--
-- Firstly, support for the following SPIR-V extension in Vulkan is
-- added:
--
--
--
-- Secondly, the extension allows the application to query which formats
-- can be used together with the new function prototypes introduced by
-- the SPIR-V extension.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Examples
--
--
-- struct VkTextureLODGatherFormatPropertiesAMD
-- {
-- VkStructureType sType;
-- const void* pNext;
-- VkBool32 supportsTextureGatherLODBiasAMD;
-- };
--
-- // ----------------------------------------------------------------------------------------
-- // How to detect if an image format can be used with the new function prototypes.
-- VkPhysicalDeviceImageFormatInfo2 formatInfo;
-- VkImageFormatProperties2 formatProps;
-- VkTextureLODGatherFormatPropertiesAMD textureLODGatherSupport;
--
-- textureLODGatherSupport.sType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
-- textureLODGatherSupport.pNext = nullptr;
--
-- formatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
-- formatInfo.pNext = nullptr;
-- formatInfo.format = ...;
-- formatInfo.type = ...;
-- formatInfo.tiling = ...;
-- formatInfo.usage = ...;
-- formatInfo.flags = ...;
--
-- formatProps.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
-- formatProps.pNext = &textureLODGatherSupport;
--
-- vkGetPhysicalDeviceImageFormatProperties2(physical_device, &formatInfo, &formatProps);
--
-- if (textureLODGatherSupport.supportsTextureGatherLODBiasAMD == VK_TRUE)
-- {
-- // physical device supports SPV_AMD_texture_gather_bias_lod for the specified
-- // format configuration.
-- }
-- else
-- {
-- // physical device does not support SPV_AMD_texture_gather_bias_lod for the
-- // specified format configuration.
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-21 (Dominik Witczak)
--
--
-- See Also
--
-- TextureLODGatherFormatPropertiesAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_texture_gather_bias_lod
-- | VkTextureLODGatherFormatPropertiesAMD - Structure informing whether or
-- not texture gather bias/LOD functionality is supported for a given
-- image format and a given physical device.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_texture_gather_bias_lod, Bool32,
-- StructureType
data TextureLODGatherFormatPropertiesAMD
TextureLODGatherFormatPropertiesAMD :: Bool -> TextureLODGatherFormatPropertiesAMD
-- | supportsTextureGatherLODBiasAMD tells if the image format can
-- be used with texture gather bias/LOD functions, as introduced by the
-- VK_AMD_texture_gather_bias_lod extension. This field is set
-- by the implementation. User-specified value is ignored.
[$sel:supportsTextureGatherLODBiasAMD:TextureLODGatherFormatPropertiesAMD] :: TextureLODGatherFormatPropertiesAMD -> Bool
type AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1
pattern AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION :: forall a. Integral a => a
type AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod"
pattern AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD
-- | Name
--
-- VK_AMD_shader_core_properties2 - device extension
--
-- VK_AMD_shader_core_properties2
--
--
-- - Name String
-- VK_AMD_shader_core_properties2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 228
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_AMD_shader_core_properties
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-07-26
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension exposes additional shader core properties for a target
-- physical device through the
-- VK_KHR_get_physical_device_properties2 extension.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2019-07-26 (Matthaeus G. Chajdas)
--
--
-- See Also
--
-- PhysicalDeviceShaderCoreProperties2AMD,
-- ShaderCorePropertiesFlagBitsAMD,
-- ShaderCorePropertiesFlagsAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_core_properties2
-- | VkPhysicalDeviceShaderCoreProperties2AMD - Structure describing shader
-- core properties that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceShaderCoreProperties2AMD structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_shader_core_properties2,
-- ShaderCorePropertiesFlagsAMD, StructureType
data PhysicalDeviceShaderCoreProperties2AMD
PhysicalDeviceShaderCoreProperties2AMD :: ShaderCorePropertiesFlagsAMD -> Word32 -> PhysicalDeviceShaderCoreProperties2AMD
-- | shaderCoreFeatures is a bitmask of
-- ShaderCorePropertiesFlagBitsAMD indicating the set of features
-- supported by the shader core.
[$sel:shaderCoreFeatures:PhysicalDeviceShaderCoreProperties2AMD] :: PhysicalDeviceShaderCoreProperties2AMD -> ShaderCorePropertiesFlagsAMD
-- | activeComputeUnitCount is an unsigned integer value
-- indicating the number of compute units that have been enabled.
[$sel:activeComputeUnitCount:PhysicalDeviceShaderCoreProperties2AMD] :: PhysicalDeviceShaderCoreProperties2AMD -> Word32
type ShaderCorePropertiesFlagsAMD = ShaderCorePropertiesFlagBitsAMD
-- | VkShaderCorePropertiesFlagBitsAMD - Bitmask specifying shader core
-- properties
--
-- See Also
--
-- VK_AMD_shader_core_properties2,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- ShaderCorePropertiesFlagsAMD
newtype ShaderCorePropertiesFlagBitsAMD
ShaderCorePropertiesFlagBitsAMD :: Flags -> ShaderCorePropertiesFlagBitsAMD
type AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION = 1
pattern AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME = "VK_AMD_shader_core_properties2"
pattern AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance Data.Bits.Bits Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance GHC.Classes.Ord Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
instance GHC.Read.Read Vulkan.Extensions.VK_AMD_shader_core_properties2.ShaderCorePropertiesFlagBitsAMD
-- | Name
--
-- VK_AMD_pipeline_compiler_control - device extension
--
-- VK_AMD_pipeline_compiler_control
--
--
-- - Name String
-- VK_AMD_pipeline_compiler_control
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 184
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-07-26
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Daniel Rakos, AMD
- Maciej Jesionowski,
-- AMD
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension introduces PipelineCompilerControlCreateInfoAMD
-- structure that can be chained to a pipeline’s creation information to
-- specify additional flags that affect pipeline compilation.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2019-07-26 (Tobias Hector)
--
--
-- See Also
--
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCompilerControlFlagBitsAMD,
-- PipelineCompilerControlFlagsAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_pipeline_compiler_control
-- | VkPipelineCompilerControlCreateInfoAMD - Structure used to pass
-- compilation control flags to a pipeline
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_pipeline_compiler_control,
-- PipelineCompilerControlFlagsAMD, StructureType
data PipelineCompilerControlCreateInfoAMD
PipelineCompilerControlCreateInfoAMD :: PipelineCompilerControlFlagsAMD -> PipelineCompilerControlCreateInfoAMD
-- | compilerControlFlags is a bitmask of
-- PipelineCompilerControlFlagBitsAMD affecting how the pipeline
-- will be compiled.
--
-- compilerControlFlags must be 0
[$sel:compilerControlFlags:PipelineCompilerControlCreateInfoAMD] :: PipelineCompilerControlCreateInfoAMD -> PipelineCompilerControlFlagsAMD
type PipelineCompilerControlFlagsAMD = PipelineCompilerControlFlagBitsAMD
-- | VkPipelineCompilerControlFlagBitsAMD - Enum specifying available
-- compilation control flags
--
-- See Also
--
-- VK_AMD_pipeline_compiler_control,
-- PipelineCompilerControlFlagsAMD
newtype PipelineCompilerControlFlagBitsAMD
PipelineCompilerControlFlagBitsAMD :: Flags -> PipelineCompilerControlFlagBitsAMD
type AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION = 1
pattern AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: forall a. Integral a => a
type AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control"
pattern AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance Data.Bits.Bits Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance GHC.Classes.Ord Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
instance GHC.Read.Read Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlFlagBitsAMD
-- | Name
--
-- VK_AMD_device_coherent_memory - device extension
--
-- VK_AMD_device_coherent_memory
--
--
-- - Name String
-- VK_AMD_device_coherent_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 230
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-02-04
--
--
--
-- - Contributors
- Ping Fu, AMD
- Timothy
-- Lottes, AMD
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension adds the device coherent and device uncached memory
-- types. Any device accesses to device coherent memory are automatically
-- made visible to any other device access. Device uncached memory
-- indicates to applications that caches are disabled for a particular
-- memory type, which guarantees device coherence.
--
-- Device coherent and uncached memory are expected to have lower
-- performance for general access than non-device coherent memory, but
-- can be useful in certain scenarios; particularly so for debugging.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-02-04 (Tobias Hector)
--
--
-- See Also
--
-- PhysicalDeviceCoherentMemoryFeaturesAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_device_coherent_memory
-- | VkPhysicalDeviceCoherentMemoryFeaturesAMD - Structure describing
-- whether device coherent memory can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceCoherentMemoryFeaturesAMD structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceCoherentMemoryFeaturesAMD can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_device_coherent_memory, Bool32,
-- StructureType
data PhysicalDeviceCoherentMemoryFeaturesAMD
PhysicalDeviceCoherentMemoryFeaturesAMD :: Bool -> PhysicalDeviceCoherentMemoryFeaturesAMD
-- | deviceCoherentMemory indicates that the implementation
-- supports device coherent memory.
[$sel:deviceCoherentMemory:PhysicalDeviceCoherentMemoryFeaturesAMD] :: PhysicalDeviceCoherentMemoryFeaturesAMD -> Bool
type AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION = 1
pattern AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME = "VK_AMD_device_coherent_memory"
pattern AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD
module Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model
-- | VkPhysicalDeviceVulkanMemoryModelFeatures - Structure describing
-- features supported by the memory model
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceVulkanMemoryModelFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceVulkanMemoryModelFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_2, Bool32, StructureType
data PhysicalDeviceVulkanMemoryModelFeatures
PhysicalDeviceVulkanMemoryModelFeatures :: Bool -> Bool -> Bool -> PhysicalDeviceVulkanMemoryModelFeatures
-- | vulkanMemoryModel indicates whether the Vulkan Memory Model
-- is supported, as defined in Vulkan Memory Model. This also
-- indicates whether shader modules can declare the
-- VulkanMemoryModel capability.
[$sel:vulkanMemoryModel:PhysicalDeviceVulkanMemoryModelFeatures] :: PhysicalDeviceVulkanMemoryModelFeatures -> Bool
-- | vulkanMemoryModelDeviceScope indicates whether the Vulkan
-- Memory Model can use Device scope synchronization. This also
-- indicates whether shader modules can declare the
-- VulkanMemoryModelDeviceScope capability.
[$sel:vulkanMemoryModelDeviceScope:PhysicalDeviceVulkanMemoryModelFeatures] :: PhysicalDeviceVulkanMemoryModelFeatures -> Bool
-- | vulkanMemoryModelAvailabilityVisibilityChains indicates
-- whether the Vulkan Memory Model can use availability and visibility
-- chains with more than one element.
[$sel:vulkanMemoryModelAvailabilityVisibilityChains:PhysicalDeviceVulkanMemoryModelFeatures] :: PhysicalDeviceVulkanMemoryModelFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures
-- | Name
--
-- VK_KHR_vulkan_memory_model - device extension
--
-- VK_KHR_vulkan_memory_model
--
--
-- - Name String VK_KHR_vulkan_memory_model
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 212
-- - Revision 3
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-10
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Alan
-- Baker, Google
- Tobias Hector, AMD
- David Neto,
-- Google
- Robert Simpson, Qualcomm Technologies,
-- Inc.
- Brian Sumner, AMD
--
--
-- Description
--
-- The VK_KHR_vulkan_memory_model extension allows use of the
-- Vulkan Memory Model, which formally defines how to synchronize
-- memory accesses to the same memory locations performed by multiple
-- shader invocations.
--
-- Note
--
-- Version 3 of the spec added a member
-- (vulkanMemoryModelAvailabilityVisibilityChains) to
-- PhysicalDeviceVulkanMemoryModelFeaturesKHR, which is an
-- incompatible change from version 2.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. However, if Vulkan 1.2 is supported and
-- this extension is not, the vulkanMemoryModel capability is
-- optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-06-24 (Jeff Bolz)
--
--
--
-- - Revision 3, 2018-12-10 (Jeff Bolz)
- Add
-- vulkanMemoryModelAvailabilityVisibilityChains member to the
-- VkPhysicalDeviceVulkanMemoryModelFeaturesKHR structure.
--
--
-- See Also
--
-- PhysicalDeviceVulkanMemoryModelFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_vulkan_memory_model
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR :: StructureType
type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures
type KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION = 3
pattern KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION :: forall a. Integral a => a
type KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME = "VK_KHR_vulkan_memory_model"
pattern KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout
-- | VkPhysicalDeviceUniformBufferStandardLayoutFeatures - Structure
-- indicating support for std430-like packing in uniform buffers
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceUniformBufferStandardLayoutFeatures
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceUniformBufferStandardLayoutFeatures can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_uniform_buffer_standard_layout, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceUniformBufferStandardLayoutFeatures
PhysicalDeviceUniformBufferStandardLayoutFeatures :: Bool -> PhysicalDeviceUniformBufferStandardLayoutFeatures
-- | uniformBufferStandardLayout indicates that the implementation
-- supports the same layouts for uniform buffers as for storage and other
-- kinds of buffers. See Standard Buffer Layout.
[$sel:uniformBufferStandardLayout:PhysicalDeviceUniformBufferStandardLayoutFeatures] :: PhysicalDeviceUniformBufferStandardLayoutFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures
-- | Name
--
-- VK_KHR_uniform_buffer_standard_layout - device extension
--
-- VK_KHR_uniform_buffer_standard_layout
--
--
-- - Name String
-- VK_KHR_uniform_buffer_standard_layout
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 254
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-25
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Graeme Leese,
-- Broadcom
- Jeff Bolz, NVIDIA
- Tobias Hector,
-- AMD
- Jason Ekstrand, Intel
- Neil Henning,
-- AMD
--
--
-- Description
--
-- This extension enables tighter array and struct packing to be used
-- with uniform buffers.
--
-- It modifies the alignment rules for uniform buffers, allowing for
-- tighter packing of arrays and structures. This allows, for example,
-- the std430 layout, as defined in GLSL to be supported in
-- uniform buffers.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-01-25 (Graeme Leese)
--
--
-- See Also
--
-- PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_uniform_buffer_standard_layout
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR :: StructureType
type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures
type KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1
pattern KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION :: forall a. Integral a => a
type KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME = "VK_KHR_uniform_buffer_standard_layout"
pattern KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types
-- | VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures - Structure
-- describing the extended types subgroups support feature for an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_subgroup_extended_types, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceShaderSubgroupExtendedTypesFeatures
PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: Bool -> PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-- | shaderSubgroupExtendedTypes is a boolean specifying whether
-- subgroup operations can use 8-bit integer, 16-bit integer, 64-bit
-- integer, 16-bit floating-point, and vectors of these types in group
-- operations with subgroup scope, if the implementation
-- supports the types.
[$sel:shaderSubgroupExtendedTypes:PhysicalDeviceShaderSubgroupExtendedTypesFeatures] :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-- | Name
--
-- VK_KHR_shader_subgroup_extended_types - device extension
--
-- VK_KHR_shader_subgroup_extended_types
--
--
-- - Name String
-- VK_KHR_shader_subgroup_extended_types
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 176
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-08
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Jan-Harald Fredriksen, Arm
- Neil Henning,
-- AMD
- Daniel Koch, NVIDIA
- Jeff Leger,
-- Qualcomm
- Graeme Leese, Broadcom
- David Neto,
-- Google
- Daniel Rakos, AMD
--
--
-- Description
--
-- This extension enables the Non Uniform Group Operations in SPIR-V to
-- support 8-bit integer, 16-bit integer, 64-bit integer, 16-bit
-- floating-point, and vectors of these types.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-01-08 (Neil Henning)
--
--
-- See Also
--
-- PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR :: StructureType
type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures
type KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION = 1
pattern KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME = "VK_KHR_shader_subgroup_extended_types"
pattern KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls
-- | VkPhysicalDeviceFloatControlsProperties - Structure describing
-- properties supported by VK_KHR_shader_float_controls
--
-- Description
--
-- If the PhysicalDeviceFloatControlsProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_float_controls, VK_VERSION_1_2,
-- Bool32, ShaderFloatControlsIndependence,
-- StructureType
data PhysicalDeviceFloatControlsProperties
PhysicalDeviceFloatControlsProperties :: ShaderFloatControlsIndependence -> ShaderFloatControlsIndependence -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceFloatControlsProperties
-- | denormBehaviorIndependence is a
-- ShaderFloatControlsIndependence value indicating whether, and
-- how, denorm behavior can be set independently for different bit
-- widths.
[$sel:denormBehaviorIndependence:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> ShaderFloatControlsIndependence
-- | roundingModeIndependence is a
-- ShaderFloatControlsIndependence value indicating whether, and
-- how, rounding modes can be set independently for different bit widths.
[$sel:roundingModeIndependence:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> ShaderFloatControlsIndependence
-- | shaderSignedZeroInfNanPreserveFloat16 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 16-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat16:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderSignedZeroInfNanPreserveFloat32 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 32-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat32:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderSignedZeroInfNanPreserveFloat64 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 64-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat64:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormPreserveFloat16 is a boolean value indicating
-- whether denormals can be preserved in 16-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 16-bit floating-point types.
[$sel:shaderDenormPreserveFloat16:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormPreserveFloat32 is a boolean value indicating
-- whether denormals can be preserved in 32-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 32-bit floating-point types.
[$sel:shaderDenormPreserveFloat32:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormPreserveFloat64 is a boolean value indicating
-- whether denormals can be preserved in 64-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 64-bit floating-point types.
[$sel:shaderDenormPreserveFloat64:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormFlushToZeroFloat16 is a boolean value indicating
-- whether denormals can be flushed to zero in 16-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 16-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat16:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormFlushToZeroFloat32 is a boolean value indicating
-- whether denormals can be flushed to zero in 32-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 32-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat32:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderDenormFlushToZeroFloat64 is a boolean value indicating
-- whether denormals can be flushed to zero in 64-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 64-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat64:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTEFloat16 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 16-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat16:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTEFloat32 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 32-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat32:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTEFloat64 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 64-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat64:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTZFloat16 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 16-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat16:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTZFloat32 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 32-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat32:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | shaderRoundingModeRTZFloat64 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 64-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat64:PhysicalDeviceFloatControlsProperties] :: PhysicalDeviceFloatControlsProperties -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkShaderFloatControlsIndependence - Bitmask specifying whether, and
-- how, shader float controls can be set separately
--
-- See Also
--
-- VK_KHR_shader_float_controls, VK_VERSION_1_2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceVulkan12Properties
newtype ShaderFloatControlsIndependence
ShaderFloatControlsIndependence :: Int32 -> ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY specifies that
-- shader float controls for 32-bit floating point can be set
-- independently; other bit widths must be set identically to each
-- other.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL specifies that shader
-- float controls for all bit widths can be set independently.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: ShaderFloatControlsIndependence
-- | SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE specifies that shader
-- float controls for all bit widths must be set identically.
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: ShaderFloatControlsIndependence
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties
-- | Name
--
-- VK_KHR_shader_float_controls - device extension
--
-- VK_KHR_shader_float_controls
--
--
-- - Name String
-- VK_KHR_shader_float_controls
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 198
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-09-11
--
--
--
-- - Interactions and External Dependencies
--
-- - IP Status No known IP claims.
-- - Contributors
- Alexander Galazin,
-- Arm
- Jan-Harald Fredriksen, Arm
- Jeff Bolz,
-- NVIDIA
- Graeme Leese, Broadcom
- Daniel Rakos,
-- AMD
--
--
-- Description
--
-- The VK_KHR_shader_float_controls extension enables efficient
-- use of floating-point computations through the ability to query and
-- override the implementation’s default behavior for rounding modes,
-- denormals, signed zero, and infinity.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Issues
--
-- 1) Which instructions must flush denorms?
--
-- RESOLVED: Only floating-point conversion, floating-point
-- arithmetic, floating-point relational (except OpIsNaN,
-- OpIsInf), and floating-point GLSL.std.450 extended
-- instructions must flush denormals.
--
-- 2) What is the denorm behavior for intermediate results?
--
-- RESOLVED: When a SPIR-V instruction is implemented as a
-- sequence of other instructions:
--
--
-- - in the DenormFlushToZero execution mode, the intermediate
-- instructions may flush denormals, the final result of the sequence
-- must not be denormal.
-- - in the DenormPreserve execution mode, denormals must be
-- preserved throughout the whole sequence.
--
--
-- 3) Do denorm and rounding mode controls apply to
-- OpSpecConstantOp?
--
-- RESOLVED: Yes, except when the opcode is
-- OpQuantizeToF16.
--
-- 4) The SPIR-V specification says that OpConvertFToU and
-- OpConvertFToS unconditionally round towards zero. Do the
-- rounding mode controls specified through the execution modes apply to
-- them?
--
-- RESOLVED: No, these instructions unconditionally round towards
-- zero.
--
-- 5) Do any of the “Pack” GLSL.std.450 instructions count as conversion
-- instructions and have the rounding mode applied?
--
-- RESOLVED: No, only instructions listed in “section 3.32.11.
-- Conversion Instructions” of the SPIR-V specification count as
-- conversion instructions.
--
-- 6) When using inf/nan-ignore mode, what is expected of
-- OpIsNan and OpIsInf?
--
-- RESOLVED: These instructions must always accurately detect
-- inf/nan if it is passed to them.
--
-- Version 4 API incompatibility
--
-- The original versions of VK_KHR_shader_float_controls shipped
-- with booleans named “separateDenormSettings” and
-- “separateRoundingModeSettings”, which at first glance could have
-- indicated “they can all be set independently, or not”. However the
-- spec language as written indicated that the 32-bit value could always
-- be set independently, and only the 16- and 64-bit controls needed to
-- be the same if these values were FALSE.
--
-- As a result of this slight disparity, and lack of test coverage for
-- this facet of the extension, we ended up with two different behaviors
-- in the wild, where some implementations worked as written, and others
-- worked based on the naming. As these are hard limits in hardware with
-- reasons for exposure as written, it was not possible to standardise on
-- a single way to make this work within the existing API.
--
-- No known users of this part of the extension exist in the wild, and as
-- such the Vulkan WG took the unusual step of retroactively changing the
-- once boolean value into a tri-state enum, breaking source
-- compatibility. This was however done in such a way as to retain ABI
-- compatibility, in case any code using this did exist; with the
-- numerical values 0 and 1 retaining their original specified meaning,
-- and a new value signifying the additional “all need to be set
-- together” state. If any applications exist today, compiled binaries
-- will continue to work as written in most cases, but will need changes
-- before the code can be recompiled.
--
-- Version History
--
--
-- - Revision 4, 2019-06-18 (Tobias Hector)
--
--
--
-- - Revision 3, 2018-09-11 (Alexander Galazin)
-- - Revision 2, 2018-04-17 (Alexander Galazin)
- Added issues and
-- resolutions
-- - Revision 1, 2018-04-11 (Alexander Galazin)
--
--
-- See Also
--
-- PhysicalDeviceFloatControlsPropertiesKHR,
-- ShaderFloatControlsIndependenceKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_float_controls
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR :: StructureType
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR :: ShaderFloatControlsIndependence
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR :: ShaderFloatControlsIndependence
pattern SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR :: ShaderFloatControlsIndependence
type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence
type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties
type KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION = 4
pattern KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME = "VK_KHR_shader_float_controls"
pattern KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8
-- | VkPhysicalDeviceShaderFloat16Int8Features - Structure describing
-- features supported by VK_KHR_shader_float16_int8
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderFloat16Int8Features structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderFloat16Int8Features can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_float16_int8, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceShaderFloat16Int8Features
PhysicalDeviceShaderFloat16Int8Features :: Bool -> Bool -> PhysicalDeviceShaderFloat16Int8Features
-- | shaderFloat16 indicates whether 16-bit floats (halfs) are
-- supported in shader code. This also indicates whether shader modules
-- can declare the Float16 capability. However, this only
-- enables a subset of the storage classes that SPIR-V allows for the
-- Float16 SPIR-V capability: Declaring and using 16-bit floats
-- in the Private, Workgroup (for non-Block variables),
-- and Function storage classes is enabled, while declaring them
-- in the interface storage classes (e.g., UniformConstant,
-- Uniform, StorageBuffer, Input,
-- Output, and PushConstant) is not enabled.
[$sel:shaderFloat16:PhysicalDeviceShaderFloat16Int8Features] :: PhysicalDeviceShaderFloat16Int8Features -> Bool
-- | shaderInt8 indicates whether 8-bit integers (signed and
-- unsigned) are supported in shader code. This also indicates whether
-- shader modules can declare the Int8 capability.
-- However, this only enables a subset of the storage classes that SPIR-V
-- allows for the Int8 SPIR-V capability: Declaring and using
-- 8-bit integers in the Private, Workgroup (for
-- non-Block variables), and Function storage classes is
-- enabled, while declaring them in the interface storage classes (e.g.,
-- UniformConstant, Uniform, StorageBuffer,
-- Input, Output, and PushConstant) is not
-- enabled.
[$sel:shaderInt8:PhysicalDeviceShaderFloat16Int8Features] :: PhysicalDeviceShaderFloat16Int8Features -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features
-- | Name
--
-- VK_KHR_shader_float16_int8 - device extension
--
-- VK_KHR_shader_float16_int8
--
--
-- - Name String VK_KHR_shader_float16_int8
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 83
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-03-07
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
- This extension interacts
-- with VK_KHR_8bit_storage
- This extension interacts
-- with VK_KHR_16bit_storage
- This extension interacts
-- with VK_KHR_shader_float_controls
- This extension
-- provides API support for
-- GL_EXT_shader_explicit_arithmetic_types
-- - IP Status No known IP claims.
-- - Contributors
- Alexander Galazin,
-- Arm
- Jan-Harald Fredriksen, Arm
- Jeff Bolz,
-- NVIDIA
- Graeme Leese, Broadcom
- Daniel Rakos,
-- AMD
--
--
-- Description
--
-- The VK_KHR_shader_float16_int8 extension allows use of 16-bit
-- floating-point types and 8-bit integer types in shaders for arithmetic
-- operations.
--
-- It introduces two new optional features shaderFloat16 and
-- shaderInt8 which directly map to the Float16 and the
-- Int8 SPIR-V capabilities. The
-- VK_KHR_shader_float16_int8 extension also specifies precision
-- requirements for half-precision floating-point SPIR-V operations. This
-- extension does not enable use of 8-bit integer types or 16-bit
-- floating-point types in any shader input and output interfaces
-- and therefore does not supersede the VK_KHR_8bit_storage or
-- VK_KHR_16bit_storage extensions.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. However, if Vulkan 1.2 is supported and
-- this extension is not, both the shaderFloat16 and
-- shaderInt8 capabilities are optional. The original type, enum
-- and command names are still available as aliases of the core
-- functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-03-07 (Alexander Galazin)
--
--
-- See Also
--
-- PhysicalDeviceFloat16Int8FeaturesKHR,
-- PhysicalDeviceShaderFloat16Int8FeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_float16_int8
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR :: StructureType
type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features
type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features
type KHR_SHADER_FLOAT16_INT8_SPEC_VERSION = 1
pattern KHR_SHADER_FLOAT16_INT8_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME = "VK_KHR_shader_float16_int8"
pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64
-- | VkPhysicalDeviceShaderAtomicInt64Features - Structure describing
-- features supported by VK_KHR_shader_atomic_int64
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceShaderAtomicInt64Features structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderAtomicInt64Features can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shader_atomic_int64, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceShaderAtomicInt64Features
PhysicalDeviceShaderAtomicInt64Features :: Bool -> Bool -> PhysicalDeviceShaderAtomicInt64Features
-- | shaderBufferInt64Atomics indicates whether shaders can
-- perform 64-bit unsigned and signed integer atomic operations on
-- buffers.
[$sel:shaderBufferInt64Atomics:PhysicalDeviceShaderAtomicInt64Features] :: PhysicalDeviceShaderAtomicInt64Features -> Bool
-- | shaderSharedInt64Atomics indicates whether shaders can
-- perform 64-bit unsigned and signed integer atomic operations on shared
-- memory.
[$sel:shaderSharedInt64Atomics:PhysicalDeviceShaderAtomicInt64Features] :: PhysicalDeviceShaderAtomicInt64Features -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features
-- | Name
--
-- VK_KHR_shader_atomic_int64 - device extension
--
-- VK_KHR_shader_atomic_int64
--
--
-- - Name String VK_KHR_shader_atomic_int64
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 181
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-05
--
--
--
-- - Interactions and External Dependencies
--
-- - Contributors
- Aaron Hagan, AMD
- Daniel
-- Rakos, AMD
- Jeff Bolz, NVIDIA
- Neil Henning,
-- Codeplay
--
--
-- Description
--
-- This extension advertises the SPIR-V Int64Atomics capability
-- for Vulkan, which allows a shader to contain 64-bit atomic operations
-- on signed and unsigned integers. The supported operations include
-- OpAtomicMin, OpAtomicMax, OpAtomicAnd, OpAtomicOr, OpAtomicXor,
-- OpAtomicAdd, OpAtomicExchange, and OpAtomicCompareExchange.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. However, if Vulkan 1.2 is supported and
-- this extension is not, the shaderBufferInt64Atomics
-- capability is optional. The original type, enum and command names are
-- still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-05 (Aaron Hagan)
--
--
-- See Also
--
-- PhysicalDeviceShaderAtomicInt64FeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shader_atomic_int64
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR :: StructureType
type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features
type KHR_SHADER_ATOMIC_INT64_SPEC_VERSION = 1
pattern KHR_SHADER_ATOMIC_INT64_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME = "VK_KHR_shader_atomic_int64"
pattern KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage
-- | VkPhysicalDevice8BitStorageFeatures - Structure describing features
-- supported by VK_KHR_8bit_storage
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDevice8BitStorageFeatures structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDevice8BitStorageFeatures can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_8bit_storage, VK_VERSION_1_2, Bool32,
-- StructureType
data PhysicalDevice8BitStorageFeatures
PhysicalDevice8BitStorageFeatures :: Bool -> Bool -> Bool -> PhysicalDevice8BitStorageFeatures
-- | storageBuffer8BitAccess indicates whether objects in the
-- StorageBuffer, ShaderRecordBufferKHR, or
-- PhysicalStorageBuffer storage class with the Block
-- decoration can have 8-bit integer members. If this feature is
-- not enabled, 8-bit integer members must not be used in such
-- objects. This also indicates whether shader modules can declare
-- the StorageBuffer8BitAccess capability.
[$sel:storageBuffer8BitAccess:PhysicalDevice8BitStorageFeatures] :: PhysicalDevice8BitStorageFeatures -> Bool
-- | uniformAndStorageBuffer8BitAccess indicates whether objects
-- in the Uniform storage class with the Block
-- decoration can have 8-bit integer members. If this feature is
-- not enabled, 8-bit integer members must not be used in such
-- objects. This also indicates whether shader modules can declare
-- the UniformAndStorageBuffer8BitAccess capability.
[$sel:uniformAndStorageBuffer8BitAccess:PhysicalDevice8BitStorageFeatures] :: PhysicalDevice8BitStorageFeatures -> Bool
-- | storagePushConstant8 indicates whether objects in the
-- PushConstant storage class can have 8-bit integer
-- members. If this feature is not enabled, 8-bit integer members
-- must not be used in such objects. This also indicates whether
-- shader modules can declare the StoragePushConstant8
-- capability.
[$sel:storagePushConstant8:PhysicalDevice8BitStorageFeatures] :: PhysicalDevice8BitStorageFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures
-- | Name
--
-- VK_KHR_8bit_storage - device extension
--
-- VK_KHR_8bit_storage
--
--
-- - Name String VK_KHR_8bit_storage
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 178
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_storage_buffer_storage_class
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-02-05
--
--
--
-- - Interactions and External Dependencies
--
-- - IP Status No known IP claims.
-- - Contributors
- Alexander Galazin,
-- Arm
--
--
-- Description
--
-- The VK_KHR_8bit_storage extension allows use of 8-bit types
-- in uniform and storage buffers, and push constant blocks. This
-- extension introduces several new optional features which map to SPIR-V
-- capabilities and allow access to 8-bit data in
-- Block-decorated objects in the Uniform and the
-- StorageBuffer storage classes, and objects in the
-- PushConstant storage class.
--
-- The StorageBuffer8BitAccess capability must be
-- supported by all implementations of this extension. The other
-- capabilities are optional.
--
-- Promotion to Vulkan 1.2
--
-- Functionality in this extension is included in core Vulkan 1.2, with
-- the KHR suffix omitted. However, if Vulkan 1.2 is supported and this
-- extension is not, the StorageBuffer8BitAccess capability is
-- optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-02-05 (Alexander Galazin)
--
--
-- See Also
--
-- PhysicalDevice8BitStorageFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_8bit_storage
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR :: StructureType
type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures
type KHR_8BIT_STORAGE_SPEC_VERSION = 1
pattern KHR_8BIT_STORAGE_SPEC_VERSION :: forall a. Integral a => a
type KHR_8BIT_STORAGE_EXTENSION_NAME = "VK_KHR_8bit_storage"
pattern KHR_8BIT_STORAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout
-- | VkPhysicalDeviceScalarBlockLayoutFeatures - Structure indicating
-- support for scalar block layouts
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceScalarBlockLayoutFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceScalarBlockLayoutFeatures can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_scalar_block_layout, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceScalarBlockLayoutFeatures
PhysicalDeviceScalarBlockLayoutFeatures :: Bool -> PhysicalDeviceScalarBlockLayoutFeatures
-- | scalarBlockLayout indicates that the implementation supports
-- the layout of resource blocks in shaders using scalar
-- alignment.
[$sel:scalarBlockLayout:PhysicalDeviceScalarBlockLayoutFeatures] :: PhysicalDeviceScalarBlockLayoutFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures
-- | Name
--
-- VK_EXT_scalar_block_layout - device extension
--
-- VK_EXT_scalar_block_layout
--
--
-- - Name String VK_EXT_scalar_block_layout
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 222
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-11-14
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Jeff Bolz
- Jan-Harald
-- Fredriksen
- Graeme Leese
- Jason Ekstrand
- John
-- Kessenich
--
--
-- Description
--
-- This extension enables C-like structure layout for SPIR-V blocks. It
-- modifies the alignment rules for uniform buffers, storage buffers and
-- push constants, allowing non-scalar types to be aligned solely based
-- on the size of their components, without additional requirements.
--
-- Promotion to Vulkan 1.2
--
-- Functionality in this extension is included in core Vulkan 1.2, with
-- the EXT suffix omitted. However, if Vulkan 1.2 is supported and this
-- extension is not, the scalarBlockLayout capability is
-- optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-11-14 (Tobias Hector)
--
--
-- See Also
--
-- PhysicalDeviceScalarBlockLayoutFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_scalar_block_layout
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT :: StructureType
type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures
type EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION = 1
pattern EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION :: forall a. Integral a => a
type EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout"
pattern EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Enums.SemaphoreWaitFlagBits
type SemaphoreWaitFlags = SemaphoreWaitFlagBits
-- | VkSemaphoreWaitFlagBits - Bitmask specifying additional parameters of
-- a semaphore wait operation
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- SemaphoreWaitFlags
newtype SemaphoreWaitFlagBits
SemaphoreWaitFlagBits :: Flags -> SemaphoreWaitFlagBits
-- | SEMAPHORE_WAIT_ANY_BIT specifies that the semaphore wait
-- condition is that at least one of the semaphores in
-- SemaphoreWaitInfo::pSemaphores has reached the value
-- specified by the corresponding element of
-- SemaphoreWaitInfo::pValues. If
-- SEMAPHORE_WAIT_ANY_BIT is not set, the semaphore wait condition
-- is that all of the semaphores in
-- SemaphoreWaitInfo::pSemaphores have reached the value
-- specified by the corresponding element of
-- SemaphoreWaitInfo::pValues.
pattern SEMAPHORE_WAIT_ANY_BIT :: SemaphoreWaitFlagBits
instance Data.Bits.FiniteBits Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance Data.Bits.Bits Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance Foreign.Storable.Storable Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance GHC.Classes.Ord Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance GHC.Show.Show Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
instance GHC.Read.Read Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlagBits
module Vulkan.Core12.Enums.ResolveModeFlagBits
type ResolveModeFlags = ResolveModeFlagBits
-- | VkResolveModeFlagBits - Bitmask indicating supported depth and stencil
-- resolve modes
--
-- See Also
--
-- VK_KHR_depth_stencil_resolve, VK_VERSION_1_2,
-- RenderingAttachmentInfoKHR, ResolveModeFlags,
-- SubpassDescriptionDepthStencilResolve
newtype ResolveModeFlagBits
ResolveModeFlagBits :: Flags -> ResolveModeFlagBits
-- | RESOLVE_MODE_NONE indicates that no resolve operation is done.
pattern RESOLVE_MODE_NONE :: ResolveModeFlagBits
-- | RESOLVE_MODE_SAMPLE_ZERO_BIT indicates that result of the
-- resolve operation is equal to the value of sample 0.
pattern RESOLVE_MODE_SAMPLE_ZERO_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_AVERAGE_BIT indicates that result of the resolve
-- operation is the average of the sample values.
pattern RESOLVE_MODE_AVERAGE_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_MIN_BIT indicates that result of the resolve
-- operation is the minimum of the sample values.
pattern RESOLVE_MODE_MIN_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_MAX_BIT indicates that result of the resolve
-- operation is the maximum of the sample values.
pattern RESOLVE_MODE_MAX_BIT :: ResolveModeFlagBits
instance Data.Bits.FiniteBits Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance Data.Bits.Bits Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance Foreign.Storable.Storable Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance GHC.Classes.Ord Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance GHC.Show.Show Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
instance GHC.Read.Read Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits
module Vulkan.Core12.Enums.DescriptorBindingFlagBits
type DescriptorBindingFlags = DescriptorBindingFlagBits
-- | VkDescriptorBindingFlagBits - Bitmask specifying descriptor set layout
-- binding properties
--
-- Description
--
-- Note
--
-- Note that while DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT and
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT both involve
-- updates to descriptor sets after they are bound,
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT is a weaker
-- requirement since it is only about descriptors that are not used,
-- whereas DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT requires the
-- implementation to observe updates to descriptors that are used.
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- DescriptorBindingFlags
newtype DescriptorBindingFlagBits
DescriptorBindingFlagBits :: Flags -> DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT indicates that if
-- descriptors in this binding are updated between when the descriptor
-- set is bound in a command buffer and when that command buffer is
-- submitted to a queue, then the submission will use the most recently
-- set descriptors for this binding and the updates do not invalidate the
-- command buffer. Descriptor bindings created with this flag are also
-- partially exempt from the external synchronization requirement in
-- updateDescriptorSetWithTemplateKHR and
-- updateDescriptorSets. Multiple descriptors with this flag set
-- can be updated concurrently in different threads, though the
-- same descriptor must not be updated concurrently by two
-- threads. Descriptors with this flag set can be updated
-- concurrently with the set being bound to a command buffer in another
-- thread, but not concurrently with the set being reset or freed.
pattern DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT indicates
-- that descriptors in this binding can be updated after a command
-- buffer has bound this descriptor set, or while a command buffer that
-- uses this descriptor set is pending execution, as long as the
-- descriptors that are updated are not used by those command buffers. If
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT is also set, then
-- descriptors can be updated as long as they are not dynamically
-- used by any shader invocations. If
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT is not set, then
-- descriptors can be updated as long as they are not statically
-- used by any shader invocations.
pattern DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT indicates that
-- descriptors in this binding that are not dynamically used need
-- not contain valid descriptors at the time the descriptors are
-- consumed. A descriptor is dynamically used if any shader invocation
-- executes an instruction that performs any memory access using the
-- descriptor.
pattern DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT indicates that
-- this descriptor binding has a variable size that will be specified
-- when a descriptor set is allocated using this layout. The value of
-- descriptorCount is treated as an upper bound on the size of
-- the binding. This must only be used for the last binding in the
-- descriptor set layout (i.e. the binding with the largest value of
-- binding). For the purposes of counting against limits such as
-- maxDescriptorSet* and maxPerStageDescriptor*, the
-- full value of descriptorCount is counted, except for
-- descriptor bindings with a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT where
-- descriptorCount specifies the upper bound on the byte size of
-- the binding, thus it counts against the
-- maxInlineUniformBlockSize limit instead.
pattern DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: DescriptorBindingFlagBits
instance Data.Bits.FiniteBits Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance Data.Bits.Bits Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance Vulkan.Zero.Zero Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance Foreign.Storable.Storable Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance GHC.Classes.Ord Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance GHC.Show.Show Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
instance GHC.Read.Read Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits
module Vulkan.Core12.Enums
module Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES :: StructureType
-- | VkPhysicalDeviceVariablePointersFeatures - Structure describing
-- variable pointers features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - variablePointersStorageBuffer specifies whether the
-- implementation supports the SPIR-V
-- VariablePointersStorageBuffer capability. When this feature
-- is not enabled, shader modules must not declare the
-- SPV_KHR_variable_pointers extension or the
-- VariablePointersStorageBuffer capability.
-- - variablePointers specifies whether the implementation
-- supports the SPIR-V VariablePointers capability. When this
-- feature is not enabled, shader modules must not declare the
-- VariablePointers capability.
--
--
-- If the PhysicalDeviceVariablePointersFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceVariablePointersFeatures can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage
--
--
-- - If variablePointers is enabled then
-- variablePointersStorageBuffer must also be
-- enabled
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_KHR_variable_pointers, VK_VERSION_1_1, Bool32,
-- StructureType
data PhysicalDeviceVariablePointersFeatures
PhysicalDeviceVariablePointersFeatures :: Bool -> Bool -> PhysicalDeviceVariablePointersFeatures
[$sel:variablePointersStorageBuffer:PhysicalDeviceVariablePointersFeatures] :: PhysicalDeviceVariablePointersFeatures -> Bool
[$sel:variablePointers:PhysicalDeviceVariablePointersFeatures] :: PhysicalDeviceVariablePointersFeatures -> Bool
type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures
-- | Name
--
-- VK_KHR_variable_pointers - device extension
--
-- VK_KHR_variable_pointers
--
--
-- - Name String VK_KHR_variable_pointers
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 121
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_storage_buffer_storage_class
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- John Kessenich,
-- Google
- Neil Henning, Codeplay
- David Neto,
-- Google
- Daniel Koch, Nvidia
- Graeme Leese,
-- Broadcom
- Weifeng Zhang, Qualcomm
- Stephen Clarke,
-- Imagination Technologies
- Jason Ekstrand, Intel
- Jesse
-- Hall, Google
--
--
-- Description
--
-- The VK_KHR_variable_pointers extension allows implementations
-- to indicate their level of support for the
-- SPV_KHR_variable_pointers SPIR-V extension. The SPIR-V
-- extension allows shader modules to use invocation-private pointers
-- into uniform and/or storage buffers, where the pointer values can be
-- dynamic and non-uniform.
--
-- The SPV_KHR_variable_pointers extension introduces two
-- capabilities. The first, VariablePointersStorageBuffer,
-- must be supported by all implementations of this extension. The
-- second, VariablePointers, is optional.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted, however support for the
-- variablePointersStorageBuffer feature is made optional. The
-- original type, enum and command names are still available as aliases
-- of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Issues
--
-- 1) Do we need an optional property for the SPIR-V
-- VariablePointersStorageBuffer capability or should it be
-- mandatory when this extension is advertised?
--
-- RESOLVED: Add it as a distinct feature, but make support
-- mandatory. Adding it as a feature makes the extension easier to
-- include in a future core API version. In the extension, the feature is
-- mandatory, so that presence of the extension guarantees some
-- functionality. When included in a core API version, the feature would
-- be optional.
--
-- 2) Can support for these capabilities vary between shader stages?
--
-- RESOLVED: No, if the capability is supported in any stage it
-- must be supported in all stages.
--
-- 3) Should the capabilities be features or limits?
--
-- RESOLVED: Features, primarily for consistency with other
-- similar extensions.
--
-- Version History
--
--
-- - Revision 1, 2017-03-14 (Jesse Hall and John
-- Kessenich)
--
--
-- See Also
--
-- PhysicalDeviceVariablePointerFeaturesKHR,
-- PhysicalDeviceVariablePointersFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_variable_pointers
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR :: StructureType
type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures
type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures
type KHR_VARIABLE_POINTERS_SPEC_VERSION = 1
pattern KHR_VARIABLE_POINTERS_SPEC_VERSION :: forall a. Integral a => a
type KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers"
pattern KHR_VARIABLE_POINTERS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES :: StructureType
-- | VkPhysicalDeviceShaderDrawParametersFeatures - Structure describing
-- shader draw parameter features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceShaderDrawParametersFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShaderDrawParametersFeatures can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDeviceShaderDrawParametersFeatures
PhysicalDeviceShaderDrawParametersFeatures :: Bool -> PhysicalDeviceShaderDrawParametersFeatures
-- | shaderDrawParameters specifies whether the implementation
-- supports the SPIR-V DrawParameters capability. When this
-- feature is not enabled, shader modules must not declare the
-- SPV_KHR_shader_draw_parameters extension or the
-- DrawParameters capability.
[$sel:shaderDrawParameters:PhysicalDeviceShaderDrawParametersFeatures] :: PhysicalDeviceShaderDrawParametersFeatures -> Bool
type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures
module Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage
-- | VkPhysicalDevice16BitStorageFeatures - Structure describing features
-- supported by VK_KHR_16bit_storage
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDevice16BitStorageFeatures structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDevice16BitStorageFeatures can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDevice16BitStorageFeatures
PhysicalDevice16BitStorageFeatures :: Bool -> Bool -> Bool -> Bool -> PhysicalDevice16BitStorageFeatures
-- | storageBuffer16BitAccess specifies whether objects in the
-- StorageBuffer, ShaderRecordBufferKHR, or
-- PhysicalStorageBuffer storage class with the Block
-- decoration can have 16-bit integer and 16-bit floating-point
-- members. If this feature is not enabled, 16-bit integer or 16-bit
-- floating-point members must not be used in such objects. This
-- also specifies whether shader modules can declare the
-- StorageBuffer16BitAccess capability.
[$sel:storageBuffer16BitAccess:PhysicalDevice16BitStorageFeatures] :: PhysicalDevice16BitStorageFeatures -> Bool
-- | uniformAndStorageBuffer16BitAccess specifies whether objects
-- in the Uniform storage class with the Block
-- decoration can have 16-bit integer and 16-bit floating-point
-- members. If this feature is not enabled, 16-bit integer or 16-bit
-- floating-point members must not be used in such objects. This
-- also specifies whether shader modules can declare the
-- UniformAndStorageBuffer16BitAccess capability.
[$sel:uniformAndStorageBuffer16BitAccess:PhysicalDevice16BitStorageFeatures] :: PhysicalDevice16BitStorageFeatures -> Bool
-- | storagePushConstant16 specifies whether objects in the
-- PushConstant storage class can have 16-bit integer and
-- 16-bit floating-point members. If this feature is not enabled, 16-bit
-- integer or floating-point members must not be used in such
-- objects. This also specifies whether shader modules can declare
-- the StoragePushConstant16 capability.
[$sel:storagePushConstant16:PhysicalDevice16BitStorageFeatures] :: PhysicalDevice16BitStorageFeatures -> Bool
-- | storageInputOutput16 specifies whether objects in the
-- Input and Output storage classes can have
-- 16-bit integer and 16-bit floating-point members. If this feature is
-- not enabled, 16-bit integer or 16-bit floating-point members
-- must not be used in such objects. This also specifies whether
-- shader modules can declare the StorageInputOutput16
-- capability.
[$sel:storageInputOutput16:PhysicalDevice16BitStorageFeatures] :: PhysicalDevice16BitStorageFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures
-- | Name
--
-- VK_KHR_16bit_storage - device extension
--
-- VK_KHR_16bit_storage
--
--
-- - Name String VK_KHR_16bit_storage
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 84
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_storage_buffer_storage_class
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Alexander Galazin,
-- ARM
- Jan-Harald Fredriksen, ARM
- Joerg Wagner,
-- ARM
- Neil Henning, Codeplay
- Jeff Bolz,
-- Nvidia
- Daniel Koch, Nvidia
- David Neto,
-- Google
- John Kessenich, Google
--
--
-- Description
--
-- The VK_KHR_16bit_storage extension allows use of 16-bit types
-- in shader input and output interfaces, and push constant blocks. This
-- extension introduces several new optional features which map to SPIR-V
-- capabilities and allow access to 16-bit data in
-- Block-decorated objects in the Uniform and the
-- StorageBuffer storage classes, and objects in the
-- PushConstant storage class. This extension allows 16-bit
-- variables to be declared and used as user-defined shader inputs and
-- outputs but does not change location assignment and component
-- assignment rules.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. However, if Vulkan 1.1 is supported and
-- this extension is not, the storageBuffer16BitAccess
-- capability is optional. The original type, enum and command names are
-- still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-23 (Alexander Galazin)
--
--
-- See Also
--
-- PhysicalDevice16BitStorageFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_16bit_storage
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR :: StructureType
type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures
type KHR_16BIT_STORAGE_SPEC_VERSION = 1
pattern KHR_16BIT_STORAGE_SPEC_VERSION :: forall a. Integral a => a
type KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage"
pattern KHR_16BIT_STORAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Enums.SubgroupFeatureFlagBits
type SubgroupFeatureFlags = SubgroupFeatureFlagBits
-- | VkSubgroupFeatureFlagBits - Bitmask describing what group operations
-- are supported with subgroup scope
--
-- See Also
--
-- VK_VERSION_1_1, SubgroupFeatureFlags
newtype SubgroupFeatureFlagBits
SubgroupFeatureFlagBits :: Flags -> SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_BASIC_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniform
-- capability.
pattern SUBGROUP_FEATURE_BASIC_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_VOTE_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformVote
-- capability.
pattern SUBGROUP_FEATURE_VOTE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_ARITHMETIC_BIT specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformArithmetic capability.
pattern SUBGROUP_FEATURE_ARITHMETIC_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_BALLOT_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformBallot
-- capability.
pattern SUBGROUP_FEATURE_BALLOT_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_SHUFFLE_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformShuffle
-- capability.
pattern SUBGROUP_FEATURE_SHUFFLE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformShuffleRelative capability.
pattern SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_CLUSTERED_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformClustered
-- capability.
pattern SUBGROUP_FEATURE_CLUSTERED_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_QUAD_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformQuad
-- capability.
pattern SUBGROUP_FEATURE_QUAD_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_PARTITIONED_BIT_NV specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformPartitionedNV capability.
pattern SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: SubgroupFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits
module Vulkan.Core11.Enums.SemaphoreImportFlagBits
type SemaphoreImportFlags = SemaphoreImportFlagBits
-- | VkSemaphoreImportFlagBits - Bitmask specifying additional parameters
-- of semaphore payload import
--
-- Description
--
-- These bits have the following meanings:
--
-- See Also
--
-- VK_VERSION_1_1, SemaphoreImportFlags
newtype SemaphoreImportFlagBits
SemaphoreImportFlagBits :: Flags -> SemaphoreImportFlagBits
-- | SEMAPHORE_IMPORT_TEMPORARY_BIT specifies that the semaphore
-- payload will be imported only temporarily, as described in
-- Importing Semaphore Payloads, regardless of the permanence of
-- handleType.
pattern SEMAPHORE_IMPORT_TEMPORARY_BIT :: SemaphoreImportFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlagBits
module Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits
type PeerMemoryFeatureFlags = PeerMemoryFeatureFlagBits
-- | VkPeerMemoryFeatureFlagBits - Bitmask specifying supported peer memory
-- features
--
-- Description
--
-- Note
--
-- The peer memory features of a memory heap also apply to any accesses
-- that may be performed during image layout transitions.
--
-- PEER_MEMORY_FEATURE_COPY_DST_BIT must be supported for
-- all host local heaps and for at least one device-local memory heap.
--
-- If a device does not support a peer memory feature, it is still valid
-- to use a resource that includes both local and peer memory bindings
-- with the corresponding access type as long as only the local bindings
-- are actually accessed. For example, an application doing split-frame
-- rendering would use framebuffer attachments that include both local
-- and peer memory bindings, but would scissor the rendering to only
-- update local memory.
--
-- See Also
--
-- VK_VERSION_1_1, PeerMemoryFeatureFlags
newtype PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits :: Flags -> PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_COPY_SRC_BIT specifies that the memory
-- can be accessed as the source of any vkCmdCopy*
-- command.
pattern PEER_MEMORY_FEATURE_COPY_SRC_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_COPY_DST_BIT specifies that the memory
-- can be accessed as the destination of any vkCmdCopy*
-- command.
pattern PEER_MEMORY_FEATURE_COPY_DST_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_GENERIC_SRC_BIT specifies that the memory
-- can be read as any memory access type.
pattern PEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_GENERIC_DST_BIT specifies that the memory
-- can be written as any memory access type. Shader atomics are
-- considered to be writes.
pattern PEER_MEMORY_FEATURE_GENERIC_DST_BIT :: PeerMemoryFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlagBits
module Vulkan.Core11.Enums.MemoryAllocateFlagBits
type MemoryAllocateFlags = MemoryAllocateFlagBits
-- | VkMemoryAllocateFlagBits - Bitmask specifying flags for a device
-- memory allocation
--
-- See Also
--
-- VK_VERSION_1_1, MemoryAllocateFlags
newtype MemoryAllocateFlagBits
MemoryAllocateFlagBits :: Flags -> MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_MASK_BIT specifies that memory will be
-- allocated for the devices in
-- MemoryAllocateFlagsInfo::deviceMask.
pattern MEMORY_ALLOCATE_DEVICE_MASK_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies
-- that the memory’s address can be saved and reused on a
-- subsequent run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT specifies that the memory
-- can be attached to a buffer object created with the
-- BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT bit set in
-- usage, and that the memory handle can be used to
-- retrieve an opaque address via
-- getDeviceMemoryOpaqueCaptureAddress.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT :: MemoryAllocateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlagBits
module Vulkan.Core11.Enums.FenceImportFlagBits
type FenceImportFlags = FenceImportFlagBits
-- | VkFenceImportFlagBits - Bitmask specifying additional parameters of
-- fence payload import
--
-- See Also
--
-- VK_VERSION_1_1, FenceImportFlags
newtype FenceImportFlagBits
FenceImportFlagBits :: Flags -> FenceImportFlagBits
-- | FENCE_IMPORT_TEMPORARY_BIT specifies that the fence payload
-- will be imported only temporarily, as described in Importing Fence
-- Payloads, regardless of the permanence of handleType.
pattern FENCE_IMPORT_TEMPORARY_BIT :: FenceImportFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlagBits
module Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: ExternalSemaphoreHandleTypeFlagBits
type ExternalSemaphoreHandleTypeFlags = ExternalSemaphoreHandleTypeFlagBits
-- | VkExternalSemaphoreHandleTypeFlagBits - Bitmask of valid external
-- semaphore handle types
--
-- Description
--
-- Note
--
-- Handles of type EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
-- generated by the implementation may represent either Linux Sync Files
-- or Android Fences at the implementation’s discretion. Applications
-- should only use operations defined for both types of file
-- descriptors, unless they know via means external to Vulkan the type of
-- the file descriptor, or are prepared to deal with the system-defined
-- operation failures resulting from using the wrong type.
--
-- Some external semaphore handle types can only be shared within the
-- same underlying physical device and/or the same driver version, as
-- defined in the following table:
--
-- TODO: table
--
-- External semaphore handle types compatibility
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreHandleTypeFlags,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- PhysicalDeviceExternalSemaphoreInfo,
-- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA
newtype ExternalSemaphoreHandleTypeFlagBits
ExternalSemaphoreHandleTypeFlagBits :: Flags -> ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX
-- file descriptor handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It must be compatible with
-- the POSIX system calls dup, dup2, close,
-- and the non-standard system call dup3. Additionally, it
-- must be transportable over a socket using an
-- SCM_RIGHTS control message. It owns a reference to the
-- underlying synchronization primitive represented by its Vulkan
-- semaphore object.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- synchronization primitive represented by its Vulkan semaphore object.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying synchronization
-- primitive represented by its Vulkan semaphore object, and will
-- therefore become invalid when all Vulkan semaphore objects associated
-- with it are destroyed.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 fence, or
-- ID3D11Device5::createFence referring to a Direct3D 11
-- fence. It owns a reference to the underlying synchronization primitive
-- associated with the Direct3D fence.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT specifies a POSIX
-- file descriptor handle to a Linux Sync File or Android Fence object.
-- It can be used with any native API accepting a valid sync file or
-- fence as input. It owns a reference to the underlying synchronization
-- primitive associated with the file descriptor. Implementations which
-- support importing this handle type must accept any type of sync
-- or fence FD supported by the native system they are running on.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
-- specifies a handle to a Zircon event object. It can be used with any
-- native API that accepts a Zircon event handle. Zircon event handles
-- are created with ZX_RIGHTS_BASIC and
-- ZX_RIGHTS_SIGNAL rights. Vulkan on Fuchsia uses only the
-- ZX_EVENT_SIGNALED bit when signaling or waiting.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA :: ExternalSemaphoreHandleTypeFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits
module Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore
-- | VkExportSemaphoreCreateInfo - Structure specifying handle types that
-- can be exported from a semaphore
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreHandleTypeFlags,
-- StructureType
data ExportSemaphoreCreateInfo
ExportSemaphoreCreateInfo :: ExternalSemaphoreHandleTypeFlags -> ExportSemaphoreCreateInfo
-- | handleTypes is a bitmask of
-- ExternalSemaphoreHandleTypeFlagBits specifying one or more
-- semaphore handle types the application can export from the
-- resulting semaphore. The application can request multiple
-- handle types for the same semaphore.
[$sel:handleTypes:ExportSemaphoreCreateInfo] :: ExportSemaphoreCreateInfo -> ExternalSemaphoreHandleTypeFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkSemaphoreImportFlagBits - Bitmask specifying additional parameters
-- of semaphore payload import
--
-- Description
--
-- These bits have the following meanings:
--
-- See Also
--
-- VK_VERSION_1_1, SemaphoreImportFlags
newtype SemaphoreImportFlagBits
SemaphoreImportFlagBits :: Flags -> SemaphoreImportFlagBits
-- | SEMAPHORE_IMPORT_TEMPORARY_BIT specifies that the semaphore
-- payload will be imported only temporarily, as described in
-- Importing Semaphore Payloads, regardless of the permanence of
-- handleType.
pattern SEMAPHORE_IMPORT_TEMPORARY_BIT :: SemaphoreImportFlagBits
type SemaphoreImportFlags = SemaphoreImportFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo
-- | Name
--
-- VK_KHR_external_semaphore - device extension
--
-- VK_KHR_external_semaphore
--
--
-- - Name String VK_KHR_external_semaphore
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 78
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_semaphore_capabilities
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jason Ekstrand,
-- Intel
- Jesse Hall, Google
- Tobias Hector, Imagination
-- Technologies
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Matthew Netsch, Qualcomm Technologies, Inc.
- Ray
-- Smith, ARM
- Chad Versace, Google
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using semaphores. This extension enables an application to
-- create semaphores from which non-Vulkan handles that reference the
-- underlying synchronization primitive can be exported.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should there be restrictions on what side effects can occur when
-- waiting on imported semaphores that are in an invalid state?
--
-- RESOLVED: Yes. Normally, validating such state would be the
-- responsibility of the application, and the implementation would be
-- free to enter an undefined state if valid usage rules were violated.
-- However, this could cause security concerns when using imported
-- semaphores, as it would require the importing application to trust the
-- exporting application to ensure the state is valid. Requiring this
-- level of trust is undesirable for many potential use cases.
--
-- 2) Must implementations validate external handles the application
-- provides as input to semaphore state import operations?
--
-- RESOLVED: Implementations must return an error to the
-- application if the provided semaphore state handle cannot be used to
-- complete the requested import operation. However, implementations need
-- not validate handles are of the exact type specified by the
-- application.
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (James Jones)
--
--
-- See Also
--
-- ExportSemaphoreCreateInfoKHR,
-- SemaphoreImportFlagBitsKHR, SemaphoreImportFlagsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_semaphore
pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR :: StructureType
pattern SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR :: SemaphoreImportFlagBits
type SemaphoreImportFlagsKHR = SemaphoreImportFlags
type SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits
type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo
type KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1
pattern KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore"
pattern KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits
type ExternalSemaphoreFeatureFlags = ExternalSemaphoreFeatureFlagBits
-- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of
-- an external semaphore handle type
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreFeatureFlags
newtype ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits :: Flags -> ExternalSemaphoreFeatureFlagBits
-- | EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT specifies that
-- handles of this type can be exported from Vulkan semaphore
-- objects.
pattern EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
-- | EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT specifies that
-- handles of this type can be imported as Vulkan semaphore
-- objects.
pattern EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlagBits
module Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits
type ExternalMemoryHandleTypeFlags = ExternalMemoryHandleTypeFlagBits
-- | VkExternalMemoryHandleTypeFlagBits - Bit specifying external memory
-- handle types
--
-- Description
--
-- Some external memory handle types can only be shared within the same
-- underlying physical device and/or the same driver version, as defined
-- in the following table:
--
-- TODO: table
--
-- External memory handle types compatibility
--
-- Note
--
-- The above table does not restrict the drivers and devices with which
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT and
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
-- may be shared, as these handle types inherently mean memory
-- that does not come from the same device, as they import memory from
-- the host or a foreign device, respectively.
--
-- Note
--
-- Even though the above table does not restrict the drivers and devices
-- with which EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
-- may be shared, query mechanisms exist in the Vulkan API that
-- prevent the import of incompatible dma-bufs (such as
-- getMemoryFdPropertiesKHR) and that prevent incompatible usage
-- of dma-bufs (such as PhysicalDeviceExternalBufferInfo and
-- PhysicalDeviceExternalImageFormatInfo).
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlags,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryZirconHandleInfoFUCHSIA, MemoryGetFdInfoKHR,
-- MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandlePropertiesFUCHSIA
newtype ExternalMemoryHandleTypeFlagBits
ExternalMemoryHandleTypeFlagBits :: Flags -> ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX
-- file descriptor handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It must be compatible with
-- the POSIX system calls dup, dup2, close,
-- and the non-standard system call dup3. Additionally, it
-- must be transportable over a socket using an
-- SCM_RIGHTS control message. It owns a reference to the
-- underlying memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying memory resource
-- represented by its Vulkan memory object, and will therefore become
-- invalid when all Vulkan memory objects associated with it are
-- destroyed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT specifies an NT
-- handle returned by
-- IDXGIResource1::CreateSharedHandle referring to a
-- Direct3D 10 or 11 texture resource. It owns a reference to the memory
-- used by the Direct3D resource.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT specifies a
-- global share handle returned by
-- IDXGIResource::GetSharedHandle referring to a
-- Direct3D 10 or 11 texture resource. It does not own a reference to the
-- underlying Direct3D resource, and will therefore become invalid when
-- all Vulkan memory objects and Direct3D resources associated with it
-- are destroyed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 heap resource. It owns a reference to the
-- resources used by the Direct3D heap.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 committed resource. It owns a reference to
-- the memory used by the Direct3D resource.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV is a handle to
-- an allocation accessible by remote devices. It owns a reference to the
-- underlying memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA is a Zircon
-- handle to a virtual memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
-- specifies a host pointer to host mapped foreign memory. It does
-- not own a reference to the underlying memory resource, and will
-- therefore become invalid if the foreign memory is unmapped or
-- otherwise becomes no longer available.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT specifies a
-- host pointer returned by a host memory allocation command. It does not
-- own a reference to the underlying memory resource, and will therefore
-- become invalid if the host memory is freed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- specifies an AHardwareBuffer object defined by the Android NDK.
-- See Android Hardware Buffers for more details of this handle
-- type.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT is a file
-- descriptor for a Linux dma_buf. It owns a reference to the underlying
-- memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits
module Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits
type ExternalMemoryFeatureFlags = ExternalMemoryFeatureFlagBits
-- | VkExternalMemoryFeatureFlagBits - Bitmask specifying features of an
-- external memory handle type
--
-- Description
--
-- Because their semantics in external APIs roughly align with that of an
-- image or buffer with a dedicated allocation in Vulkan, implementations
-- are required to report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for the following
-- external handle types:
--
-- Implementations must not report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for buffers with
-- external handle type
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID.
-- Implementations must not report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for images or
-- buffers with external handle type
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT.
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryFeatureFlags
newtype ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits :: Flags -> ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT specifies that
-- images or buffers created with the specified parameters and handle
-- type must use the mechanisms defined by
-- MemoryDedicatedRequirements and
-- MemoryDedicatedAllocateInfo to create (or import) a dedicated
-- allocation for the image or buffer.
pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT specifies that handles
-- of this type can be exported from Vulkan memory objects.
pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT specifies that handles
-- of this type can be imported as Vulkan memory objects.
pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlagBits
module Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits
type ExternalFenceHandleTypeFlags = ExternalFenceHandleTypeFlagBits
-- | VkExternalFenceHandleTypeFlagBits - Bitmask of valid external fence
-- handle types
--
-- Description
--
-- Some external fence handle types can only be shared within the same
-- underlying physical device and/or the same driver version, as defined
-- in the following table:
--
-- TODO: table
--
-- External fence handle types compatibility
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceHandleTypeFlags,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- PhysicalDeviceExternalFenceInfo
newtype ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits :: Flags -> ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX file
-- descriptor handle that has only limited valid usage outside of Vulkan
-- and other compatible APIs. It must be compatible with the POSIX
-- system calls dup, dup2, close, and the
-- non-standard system call dup3. Additionally, it must
-- be transportable over a socket using an SCM_RIGHTS control
-- message. It owns a reference to the underlying synchronization
-- primitive represented by its Vulkan fence object.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- synchronization primitive represented by its Vulkan fence object.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying synchronization
-- primitive represented by its Vulkan fence object, and will therefore
-- become invalid when all Vulkan fence objects associated with it are
-- destroyed.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT specifies a POSIX file
-- descriptor handle to a Linux Sync File or Android Fence. It can be
-- used with any native API accepting a valid sync file or fence as
-- input. It owns a reference to the underlying synchronization primitive
-- associated with the file descriptor. Implementations which support
-- importing this handle type must accept any type of sync or
-- fence FD supported by the native system they are running on.
pattern EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: ExternalFenceHandleTypeFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits
module Vulkan.Core11.Promoted_From_VK_KHR_external_fence
-- | VkExportFenceCreateInfo - Structure specifying handle types that can
-- be exported from a fence
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceHandleTypeFlags,
-- StructureType
data ExportFenceCreateInfo
ExportFenceCreateInfo :: ExternalFenceHandleTypeFlags -> ExportFenceCreateInfo
-- | handleTypes is a bitmask of
-- ExternalFenceHandleTypeFlagBits specifying one or more fence
-- handle types the application can export from the resulting
-- fence. The application can request multiple handle types for
-- the same fence.
[$sel:handleTypes:ExportFenceCreateInfo] :: ExportFenceCreateInfo -> ExternalFenceHandleTypeFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkFenceImportFlagBits - Bitmask specifying additional parameters of
-- fence payload import
--
-- See Also
--
-- VK_VERSION_1_1, FenceImportFlags
newtype FenceImportFlagBits
FenceImportFlagBits :: Flags -> FenceImportFlagBits
-- | FENCE_IMPORT_TEMPORARY_BIT specifies that the fence payload
-- will be imported only temporarily, as described in Importing Fence
-- Payloads, regardless of the permanence of handleType.
pattern FENCE_IMPORT_TEMPORARY_BIT :: FenceImportFlagBits
type FenceImportFlags = FenceImportFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo
-- | Name
--
-- VK_KHR_external_fence - device extension
--
-- VK_KHR_external_fence
--
--
-- - Name String VK_KHR_external_fence
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 114
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_fence_capabilities
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-08
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Cass Everitt, Oculus
- Contributors to
-- VK_KHR_external_semaphore
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using fences. This extension enables an application to
-- create fences from which non-Vulkan handles that reference the
-- underlying synchronization primitive can be exported.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- This extension borrows concepts, semantics, and language from
-- VK_KHR_external_semaphore. That extension’s issues apply
-- equally to this extension.
--
-- Version History
--
--
-- - Revision 1, 2017-05-08 (Jesse Hall)
--
--
-- See Also
--
-- ExportFenceCreateInfoKHR, FenceImportFlagBitsKHR,
-- FenceImportFlagsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_fence
pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR :: StructureType
pattern FENCE_IMPORT_TEMPORARY_BIT_KHR :: FenceImportFlagBits
type FenceImportFlagsKHR = FenceImportFlags
type FenceImportFlagBitsKHR = FenceImportFlagBits
type ExportFenceCreateInfoKHR = ExportFenceCreateInfo
type KHR_EXTERNAL_FENCE_SPEC_VERSION = 1
pattern KHR_EXTERNAL_FENCE_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence"
pattern KHR_EXTERNAL_FENCE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits
type ExternalFenceFeatureFlags = ExternalFenceFeatureFlagBits
-- | VkExternalFenceFeatureFlagBits - Bitfield describing features of an
-- external fence handle type
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceFeatureFlags
newtype ExternalFenceFeatureFlagBits
ExternalFenceFeatureFlagBits :: Flags -> ExternalFenceFeatureFlagBits
-- | EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT specifies handles of this
-- type can be exported from Vulkan fence objects.
pattern EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: ExternalFenceFeatureFlagBits
-- | EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT specifies handles of this
-- type can be imported to Vulkan fence objects.
pattern EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: ExternalFenceFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance GHC.Show.Show Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
instance GHC.Read.Read Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlagBits
module Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags
-- | VkDescriptorUpdateTemplateCreateFlags - Reserved for future use
--
-- Description
--
-- DescriptorUpdateTemplateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorUpdateTemplateCreateInfo
newtype DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags :: Flags -> DescriptorUpdateTemplateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance Data.Bits.Bits Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance GHC.Classes.Ord Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance GHC.Classes.Eq Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance GHC.Show.Show Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
instance GHC.Read.Read Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags
module Vulkan.Core11.Enums.CommandPoolTrimFlags
-- | VkCommandPoolTrimFlags - Reserved for future use
--
-- Description
--
-- CommandPoolTrimFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_1, trimCommandPool,
-- trimCommandPoolKHR
newtype CommandPoolTrimFlags
CommandPoolTrimFlags :: Flags -> CommandPoolTrimFlags
instance Data.Bits.FiniteBits Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance Data.Bits.Bits Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance Vulkan.Zero.Zero Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance Foreign.Storable.Storable Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance GHC.Classes.Ord Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance GHC.Classes.Eq Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance GHC.Show.Show Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
instance GHC.Read.Read Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags
module Vulkan.Core11.Enums
module Vulkan.Core10.Enums.SubpassDescriptionFlagBits
type SubpassDescriptionFlags = SubpassDescriptionFlagBits
-- | VkSubpassDescriptionFlagBits - Bitmask specifying usage of a subpass
--
-- Description
--
-- Note
--
-- Shader resolve operations allow for custom resolve operations, but
-- overdrawing pixels may have a performance and/or power cost.
-- Furthermore, since the content of any depth stencil attachment or
-- color attachment is undefined at the begining of a shader resolve
-- subpass, any depth testing, stencil testing, or blending operation
-- which sources these undefined values also has undefined result value.
--
-- See Also
--
-- VK_VERSION_1_0, SubpassDescriptionFlags
newtype SubpassDescriptionFlagBits
SubpassDescriptionFlagBits :: Flags -> SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM specifies that the
-- subpass performs shader resolve operations.
pattern SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM specifies that the
-- framebuffer region is the fragment region, that is, the minimum region
-- dependencies are by pixel rather than by sample, such that any
-- fragment shader invocation can access any sample associated
-- with that fragment shader invocation.
pattern SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX specifies
-- that shaders compiled for this subpass use per-view positions which
-- only differ in value in the x component. Per-view viewport mask
-- can also be used.
pattern SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX specifies that
-- shaders compiled for this subpass write the attributes for all views
-- in a single invocation of each pre-rasterization shader stage.
-- All pipelines compiled against a subpass that includes this bit
-- must write per-view attributes to the *PerViewNV[]
-- shader outputs, in addition to the non-per-view (e.g.
-- Position) outputs.
pattern SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX :: SubpassDescriptionFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits
module Vulkan.Core10.Enums.StencilFaceFlagBits
pattern STENCIL_FRONT_AND_BACK :: StencilFaceFlagBits
type StencilFaceFlags = StencilFaceFlagBits
-- | VkStencilFaceFlagBits - Bitmask specifying sets of stencil state for
-- which to update the compare mask
--
-- See Also
--
-- VK_VERSION_1_0, StencilFaceFlags
newtype StencilFaceFlagBits
StencilFaceFlagBits :: Flags -> StencilFaceFlagBits
-- | STENCIL_FACE_FRONT_BIT specifies that only the front set of
-- stencil state is updated.
pattern STENCIL_FACE_FRONT_BIT :: StencilFaceFlagBits
-- | STENCIL_FACE_BACK_BIT specifies that only the back set of
-- stencil state is updated.
pattern STENCIL_FACE_BACK_BIT :: StencilFaceFlagBits
-- | STENCIL_FACE_FRONT_AND_BACK is the combination of
-- STENCIL_FACE_FRONT_BIT and STENCIL_FACE_BACK_BIT, and
-- specifies that both sets of stencil state are updated.
pattern STENCIL_FACE_FRONT_AND_BACK :: StencilFaceFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits
module Vulkan.Core10.Enums.SparseMemoryBindFlagBits
type SparseMemoryBindFlags = SparseMemoryBindFlagBits
-- | VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse
-- memory binding operation
--
-- See Also
--
-- VK_VERSION_1_0, SparseMemoryBindFlags
newtype SparseMemoryBindFlagBits
SparseMemoryBindFlagBits :: Flags -> SparseMemoryBindFlagBits
-- | SPARSE_MEMORY_BIND_METADATA_BIT specifies that the memory being
-- bound is only for the metadata aspect.
pattern SPARSE_MEMORY_BIND_METADATA_BIT :: SparseMemoryBindFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlagBits
module Vulkan.Core10.Enums.SparseImageFormatFlagBits
type SparseImageFormatFlags = SparseImageFormatFlagBits
-- | VkSparseImageFormatFlagBits - Bitmask specifying additional
-- information about a sparse image resource
--
-- See Also
--
-- VK_VERSION_1_0, SparseImageFormatFlags
newtype SparseImageFormatFlagBits
SparseImageFormatFlagBits :: Flags -> SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT specifies that the image
-- uses a single mip tail region for all array layers.
pattern SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT specifies that the
-- first mip level whose dimensions are not integer multiples of the
-- corresponding dimensions of the sparse image block begins the mip tail
-- region.
pattern SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT specifies that
-- the image uses non-standard sparse image block dimensions, and the
-- imageGranularity values do not match the standard sparse
-- image block dimensions for the given format.
pattern SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: SparseImageFormatFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlagBits
module Vulkan.Core10.Enums.ShaderStageFlagBits
type ShaderStageFlags = ShaderStageFlagBits
-- | VkShaderStageFlagBits - Bitmask specifying a pipeline stage
--
-- Description
--
-- Note
--
-- SHADER_STAGE_ALL_GRAPHICS only includes the original five
-- graphics stages included in Vulkan 1.0, and not any stages added by
-- extensions. Thus, it may not have the desired effect in all cases.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- ShaderStageFlags, getShaderInfoAMD
newtype ShaderStageFlagBits
ShaderStageFlagBits :: Flags -> ShaderStageFlagBits
-- | SHADER_STAGE_VERTEX_BIT specifies the vertex stage.
pattern SHADER_STAGE_VERTEX_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_TESSELLATION_CONTROL_BIT specifies the
-- tessellation control stage.
pattern SHADER_STAGE_TESSELLATION_CONTROL_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_TESSELLATION_EVALUATION_BIT specifies the
-- tessellation evaluation stage.
pattern SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_GEOMETRY_BIT specifies the geometry stage.
pattern SHADER_STAGE_GEOMETRY_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_FRAGMENT_BIT specifies the fragment stage.
pattern SHADER_STAGE_FRAGMENT_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_COMPUTE_BIT specifies the compute stage.
pattern SHADER_STAGE_COMPUTE_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_ALL_GRAPHICS is a combination of bits used as
-- shorthand to specify all graphics stages defined above (excluding the
-- compute stage).
pattern SHADER_STAGE_ALL_GRAPHICS :: ShaderStageFlagBits
-- | SHADER_STAGE_ALL is a combination of bits used as shorthand to
-- specify all shader stages supported by the device, including all
-- additional stages which are introduced by extensions.
pattern SHADER_STAGE_ALL :: ShaderStageFlagBits
pattern SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI :: ShaderStageFlagBits
-- | SHADER_STAGE_MESH_BIT_NV specifies the mesh stage.
pattern SHADER_STAGE_MESH_BIT_NV :: ShaderStageFlagBits
-- | SHADER_STAGE_TASK_BIT_NV specifies the task stage.
pattern SHADER_STAGE_TASK_BIT_NV :: ShaderStageFlagBits
-- | SHADER_STAGE_CALLABLE_BIT_KHR specifies the callable stage.
pattern SHADER_STAGE_CALLABLE_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_INTERSECTION_BIT_KHR specifies the intersection
-- stage.
pattern SHADER_STAGE_INTERSECTION_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_MISS_BIT_KHR specifies the miss stage.
pattern SHADER_STAGE_MISS_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_CLOSEST_HIT_BIT_KHR specifies the closest hit
-- stage.
pattern SHADER_STAGE_CLOSEST_HIT_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_ANY_HIT_BIT_KHR specifies the any-hit stage.
pattern SHADER_STAGE_ANY_HIT_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_RAYGEN_BIT_KHR specifies the ray generation stage.
pattern SHADER_STAGE_RAYGEN_BIT_KHR :: ShaderStageFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits
-- | Name
--
-- VK_EXT_subgroup_size_control - device extension
--
-- VK_EXT_subgroup_size_control
--
--
-- - Name String
-- VK_EXT_subgroup_size_control
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 226
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-03-05
--
--
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Jason
-- Ekstrand, Intel
- Sławek Grajewski, Intel
- Jesse Hall,
-- Google
- Neil Henning, AMD
- Daniel Koch,
-- NVIDIA
- Jeff Leger, Qualcomm
- Graeme Leese,
-- Broadcom
- Allan MacKinnon, Google
- Mariusz Merecki,
-- Intel
- Graham Wihlidal, Electronic Arts
--
--
-- Description
--
-- This extension enables an implementation to control the subgroup size
-- by allowing a varying subgroup size and also specifying a required
-- subgroup size.
--
-- It extends the subgroup support in Vulkan 1.1 to allow an
-- implementation to expose a varying subgroup size. Previously Vulkan
-- exposed a single subgroup size per physical device, with the
-- expectation that implementations will behave as if all subgroups have
-- the same size. Some implementations may dispatch shaders with a
-- varying subgroup size for different subgroups. As a result they could
-- implicitly split a large subgroup into smaller subgroups or represent
-- a small subgroup as a larger subgroup, some of whose invocations were
-- inactive on launch.
--
-- To aid developers in understanding the performance characteristics of
-- their programs, this extension exposes a minimum and maximum subgroup
-- size that a physical device supports and a pipeline create flag to
-- enable that pipeline to vary its subgroup size. If enabled, any
-- SubgroupSize decorated variables in the SPIR-V shader modules
-- provided to pipeline creation may vary between the
-- minimum and maximum subgroup sizes.
--
-- An implementation is also optionally allowed to support specifying a
-- required subgroup size for a given pipeline stage. Implementations
-- advertise which stages support a required subgroup size, and
-- any pipeline of a supported stage can be passed a
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure
-- to set the subgroup size for that shader stage of the pipeline. For
-- compute shaders, this requires the developer to query the
-- maxComputeWorkgroupSubgroups and ensure that:
--
-- <math>
--
-- Developers can also specify a new pipeline shader stage create flag
-- that requires the implementation to have fully populated subgroups
-- within local workgroups. This requires the workgroup size in the X
-- dimension to be a multiple of the subgroup size.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-03-05 (Neil Henning)
--
--
--
-- - Revision 2, 2019-07-26 (Jason Ekstrand)
--
--
-- See Also
--
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_subgroup_size_control
-- | VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - Structure describing
-- the subgroup size control features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceSubgroupSizeControlFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Note
--
-- The PhysicalDeviceSubgroupSizeControlFeaturesEXT structure was
-- added in version 2 of the VK_EXT_subgroup_size_control
-- extension. Version 1 implementations of this extension will not fill
-- out the features structure but applications may assume that both
-- subgroupSizeControl and computeFullSubgroups are
-- supported if the extension is supported. (See also the Feature
-- Requirements section.) Applications are advised to add a
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT structure to the
-- pNext chain of DeviceCreateInfo to enable the features
-- regardless of the version of the extension supported by the
-- implementation. If the implementation only supports version 1, it will
-- safely ignore the PhysicalDeviceSubgroupSizeControlFeaturesEXT
-- structure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_subgroup_size_control, Bool32,
-- StructureType
data PhysicalDeviceSubgroupSizeControlFeaturesEXT
PhysicalDeviceSubgroupSizeControlFeaturesEXT :: Bool -> Bool -> PhysicalDeviceSubgroupSizeControlFeaturesEXT
-- | subgroupSizeControl indicates whether the implementation
-- supports controlling shader subgroup sizes via the
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- flag and the
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure.
[$sel:subgroupSizeControl:PhysicalDeviceSubgroupSizeControlFeaturesEXT] :: PhysicalDeviceSubgroupSizeControlFeaturesEXT -> Bool
-- | computeFullSubgroups indicates whether the implementation
-- supports requiring full subgroups in compute shaders via the
-- PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- flag.
[$sel:computeFullSubgroups:PhysicalDeviceSubgroupSizeControlFeaturesEXT] :: PhysicalDeviceSubgroupSizeControlFeaturesEXT -> Bool
-- | VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - Structure
-- describing the control subgroup size properties of an implementation
--
-- Description
--
-- If the PhysicalDeviceSubgroupSizeControlPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- If
-- PhysicalDeviceSubgroupProperties::supportedOperations
-- includes
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subgroup-quad,
-- minSubgroupSize must be greater than or equal to 4.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_subgroup_size_control, ShaderStageFlags,
-- StructureType
data PhysicalDeviceSubgroupSizeControlPropertiesEXT
PhysicalDeviceSubgroupSizeControlPropertiesEXT :: Word32 -> Word32 -> Word32 -> ShaderStageFlags -> PhysicalDeviceSubgroupSizeControlPropertiesEXT
-- | minSubgroupSize is the minimum subgroup size supported by
-- this device. minSubgroupSize is at least one if any of the
-- physical device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT. minSubgroupSize is a power-of-two.
-- minSubgroupSize is less than or equal to
-- maxSubgroupSize. minSubgroupSize is less than or
-- equal to subgroupSize.
[$sel:minSubgroupSize:PhysicalDeviceSubgroupSizeControlPropertiesEXT] :: PhysicalDeviceSubgroupSizeControlPropertiesEXT -> Word32
-- | maxSubgroupSize is the maximum subgroup size supported by
-- this device. maxSubgroupSize is at least one if any of the
-- physical device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT. maxSubgroupSize is a power-of-two.
-- maxSubgroupSize is greater than or equal to
-- minSubgroupSize. maxSubgroupSize is greater than or
-- equal to subgroupSize.
[$sel:maxSubgroupSize:PhysicalDeviceSubgroupSizeControlPropertiesEXT] :: PhysicalDeviceSubgroupSizeControlPropertiesEXT -> Word32
-- | maxComputeWorkgroupSubgroups is the maximum number of
-- subgroups supported by the implementation within a workgroup.
[$sel:maxComputeWorkgroupSubgroups:PhysicalDeviceSubgroupSizeControlPropertiesEXT] :: PhysicalDeviceSubgroupSizeControlPropertiesEXT -> Word32
-- | requiredSubgroupSizeStages is a bitfield of what shader
-- stages support having a required subgroup size specified.
[$sel:requiredSubgroupSizeStages:PhysicalDeviceSubgroupSizeControlPropertiesEXT] :: PhysicalDeviceSubgroupSizeControlPropertiesEXT -> ShaderStageFlags
-- | VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - Structure
-- specifying the required subgroup size of a newly created pipeline
-- shader stage
--
-- Valid Usage
--
-- Description
--
-- If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- structure is included in the pNext chain of
-- PipelineShaderStageCreateInfo, it specifies that the pipeline
-- shader stage being compiled has a required subgroup size.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_subgroup_size_control, StructureType
data PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT :: Word32 -> PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- | requiredSubgroupSize must be a power-of-two integer
--
-- requiredSubgroupSize must be greater or equal to
-- minSubgroupSize
--
-- requiredSubgroupSize must be less than or equal to
-- maxSubgroupSize
[$sel:requiredSubgroupSize:PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT] :: PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT -> Word32
type EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION = 2
pattern EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION :: forall a. Integral a => a
type EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME = "VK_EXT_subgroup_size_control"
pattern EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT
module Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup
-- | VkPhysicalDeviceSubgroupProperties - Structure describing subgroup
-- support for an implementation
--
-- Description
--
-- If the PhysicalDeviceSubgroupProperties structure is included
-- in the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- If supportedOperations includes , or
-- shaderSubgroupUniformControlFlow is enabled,
-- subgroupSize must be greater than or equal to 4.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, ShaderStageFlags,
-- StructureType, SubgroupFeatureFlags
data PhysicalDeviceSubgroupProperties
PhysicalDeviceSubgroupProperties :: Word32 -> ShaderStageFlags -> SubgroupFeatureFlags -> Bool -> PhysicalDeviceSubgroupProperties
-- | subgroupSize is the default number of invocations in each
-- subgroup. subgroupSize is at least 1 if any of the physical
-- device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT. subgroupSize is a power-of-two.
[$sel:subgroupSize:PhysicalDeviceSubgroupProperties] :: PhysicalDeviceSubgroupProperties -> Word32
-- | supportedStages is a bitfield of ShaderStageFlagBits
-- describing the shader stages that group operations with
-- subgroup scope are supported in. supportedStages will
-- have the SHADER_STAGE_COMPUTE_BIT bit set if any of the
-- physical device’s queues support QUEUE_COMPUTE_BIT.
[$sel:supportedStages:PhysicalDeviceSubgroupProperties] :: PhysicalDeviceSubgroupProperties -> ShaderStageFlags
-- | supportedOperations is a bitmask of
-- SubgroupFeatureFlagBits specifying the sets of group
-- operations with subgroup scope supported on this device.
-- supportedOperations will have the
-- SUBGROUP_FEATURE_BASIC_BIT bit set if any of the physical
-- device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT.
[$sel:supportedOperations:PhysicalDeviceSubgroupProperties] :: PhysicalDeviceSubgroupProperties -> SubgroupFeatureFlags
-- | quadOperationsInAllStages is a boolean specifying whether
-- quad group operations are available in all stages, or are
-- restricted to fragment and compute stages.
[$sel:quadOperationsInAllStages:PhysicalDeviceSubgroupProperties] :: PhysicalDeviceSubgroupProperties -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkSubgroupFeatureFlagBits - Bitmask describing what group operations
-- are supported with subgroup scope
--
-- See Also
--
-- VK_VERSION_1_1, SubgroupFeatureFlags
newtype SubgroupFeatureFlagBits
SubgroupFeatureFlagBits :: Flags -> SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_BASIC_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniform
-- capability.
pattern SUBGROUP_FEATURE_BASIC_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_VOTE_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformVote
-- capability.
pattern SUBGROUP_FEATURE_VOTE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_ARITHMETIC_BIT specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformArithmetic capability.
pattern SUBGROUP_FEATURE_ARITHMETIC_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_BALLOT_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformBallot
-- capability.
pattern SUBGROUP_FEATURE_BALLOT_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_SHUFFLE_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformShuffle
-- capability.
pattern SUBGROUP_FEATURE_SHUFFLE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformShuffleRelative capability.
pattern SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_CLUSTERED_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformClustered
-- capability.
pattern SUBGROUP_FEATURE_CLUSTERED_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_QUAD_BIT specifies the device will accept
-- SPIR-V shader modules containing the GroupNonUniformQuad
-- capability.
pattern SUBGROUP_FEATURE_QUAD_BIT :: SubgroupFeatureFlagBits
-- | SUBGROUP_FEATURE_PARTITIONED_BIT_NV specifies the device will
-- accept SPIR-V shader modules containing the
-- GroupNonUniformPartitionedNV capability.
pattern SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: SubgroupFeatureFlagBits
type SubgroupFeatureFlags = SubgroupFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
instance GHC.Show.Show Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
instance Foreign.Storable.Storable Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties
module Vulkan.Core10.Enums.ShaderModuleCreateFlags
-- | VkShaderModuleCreateFlags - Reserved for future use
--
-- Description
--
-- ShaderModuleCreateFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, ShaderModuleCreateInfo
newtype ShaderModuleCreateFlags
ShaderModuleCreateFlags :: Flags -> ShaderModuleCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags
module Vulkan.Core10.Enums.SemaphoreCreateFlags
-- | VkSemaphoreCreateFlags - Reserved for future use
--
-- Description
--
-- SemaphoreCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, SemaphoreCreateInfo
newtype SemaphoreCreateFlags
SemaphoreCreateFlags :: Flags -> SemaphoreCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags
module Vulkan.Core10.Enums.SamplerCreateFlagBits
type SamplerCreateFlags = SamplerCreateFlagBits
-- | VkSamplerCreateFlagBits - Bitmask specifying additional parameters of
-- sampler
--
-- Description
--
-- Note
--
-- The approximations used when
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT is
-- specified are implementation defined. Some implementations may
-- interpolate between fragment density levels in a subsampled image. In
-- that case, this bit may be used to decide whether the
-- interpolation factors are calculated per fragment or at a coarser
-- granularity.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateFlags
newtype SamplerCreateFlagBits
SamplerCreateFlagBits :: Flags -> SamplerCreateFlagBits
-- | SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
-- specifies that the implementation may use approximations when
-- reconstructing a full color value for texture access from a subsampled
-- image.
pattern SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT :: SamplerCreateFlagBits
-- | SAMPLER_CREATE_SUBSAMPLED_BIT_EXT specifies that the sampler
-- will read from an image created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT.
pattern SAMPLER_CREATE_SUBSAMPLED_BIT_EXT :: SamplerCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits
module Vulkan.Core10.Enums.SampleCountFlagBits
type SampleCountFlags = SampleCountFlagBits
-- | VkSampleCountFlagBits - Bitmask specifying sample counts supported for
-- an image used for storage operations
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, AttachmentSampleCountInfoAMD,
-- CommandBufferInheritanceRenderingInfoKHR,
-- FramebufferMixedSamplesCombinationNV, ImageCreateInfo,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PipelineMultisampleStateCreateInfo, SampleCountFlags,
-- SampleLocationsInfoEXT,
-- getPhysicalDeviceMultisamplePropertiesEXT,
-- getPhysicalDeviceSparseImageFormatProperties
newtype SampleCountFlagBits
SampleCountFlagBits :: Flags -> SampleCountFlagBits
-- | SAMPLE_COUNT_1_BIT specifies an image with one sample per
-- pixel.
pattern SAMPLE_COUNT_1_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_2_BIT specifies an image with 2 samples per pixel.
pattern SAMPLE_COUNT_2_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_4_BIT specifies an image with 4 samples per pixel.
pattern SAMPLE_COUNT_4_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_8_BIT specifies an image with 8 samples per pixel.
pattern SAMPLE_COUNT_8_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_16_BIT specifies an image with 16 samples per
-- pixel.
pattern SAMPLE_COUNT_16_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_32_BIT specifies an image with 32 samples per
-- pixel.
pattern SAMPLE_COUNT_32_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_64_BIT specifies an image with 64 samples per
-- pixel.
pattern SAMPLE_COUNT_64_BIT :: SampleCountFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits
module Vulkan.Core10.Enums.RenderPassCreateFlagBits
type RenderPassCreateFlags = RenderPassCreateFlagBits
-- | VkRenderPassCreateFlagBits - Bitmask specifying additional properties
-- of a render pass
--
-- See Also
--
-- VK_VERSION_1_0, RenderPassCreateFlags
newtype RenderPassCreateFlagBits
RenderPassCreateFlagBits :: Flags -> RenderPassCreateFlagBits
-- | RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM specifies that the
-- created render pass is compatible with render pass transform.
pattern RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM :: RenderPassCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits
module Vulkan.Core10.Enums.QueueFlagBits
type QueueFlags = QueueFlagBits
-- | VkQueueFlagBits - Bitmask specifying capabilities of queues in a queue
-- family
--
-- Description
--
-- 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
--
-- VK_VERSION_1_0, QueueFlags
newtype QueueFlagBits
QueueFlagBits :: Flags -> QueueFlagBits
-- | QUEUE_GRAPHICS_BIT specifies that queues in this queue family
-- support graphics operations.
pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits
-- | QUEUE_COMPUTE_BIT specifies that queues in this queue family
-- support compute operations.
pattern QUEUE_COMPUTE_BIT :: QueueFlagBits
-- | QUEUE_TRANSFER_BIT specifies that queues in this queue family
-- support transfer operations.
pattern QUEUE_TRANSFER_BIT :: QueueFlagBits
-- | QUEUE_SPARSE_BINDING_BIT specifies that queues in this queue
-- family support sparse memory management operations (see Sparse
-- Resources). If any of the sparse resource features are enabled,
-- then at least one queue family must support this bit.
pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits
-- | QUEUE_PROTECTED_BIT specifies that queues in this queue family
-- support the DEVICE_QUEUE_CREATE_PROTECTED_BIT bit. (see
-- Protected Memory). If the physical device supports the
-- protectedMemory feature, at least one of its queue families
-- must support this bit.
pattern QUEUE_PROTECTED_BIT :: QueueFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits
module Vulkan.Core10.Enums.QueryType
-- | VkQueryType - Specify the type of queries managed by a query pool
--
-- See Also
--
-- VK_VERSION_1_0, QueryPoolCreateInfo,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- writeAccelerationStructuresPropertiesKHR
newtype QueryType
QueryType :: Int32 -> QueryType
-- | QUERY_TYPE_OCCLUSION specifies an occlusion query.
pattern QUERY_TYPE_OCCLUSION :: QueryType
-- | QUERY_TYPE_PIPELINE_STATISTICS specifies a pipeline
-- statistics query.
pattern QUERY_TYPE_PIPELINE_STATISTICS :: QueryType
-- | QUERY_TYPE_TIMESTAMP specifies a timestamp query.
pattern QUERY_TYPE_TIMESTAMP :: QueryType
-- | QUERY_TYPE_PERFORMANCE_QUERY_INTEL specifies a Intel
-- performance query.
pattern QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV specifies a
-- acceleration structure size query for use with
-- cmdWriteAccelerationStructuresPropertiesNV.
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR
-- specifies a serialization acceleration structure size query
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR specifies
-- a acceleration structure size query for use with
-- cmdWriteAccelerationStructuresPropertiesKHR or
-- writeAccelerationStructuresPropertiesKHR.
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: QueryType
-- | QUERY_TYPE_PERFORMANCE_QUERY_KHR specifies a performance
-- query.
pattern QUERY_TYPE_PERFORMANCE_QUERY_KHR :: QueryType
-- | QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT specifies a
-- transform feedback query.
pattern QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: QueryType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueryType.QueryType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueryType.QueryType
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueryType.QueryType
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueryType.QueryType
instance GHC.Show.Show Vulkan.Core10.Enums.QueryType.QueryType
instance GHC.Read.Read Vulkan.Core10.Enums.QueryType.QueryType
module Vulkan.Core10.Enums.QueryResultFlagBits
type QueryResultFlags = QueryResultFlagBits
-- | VkQueryResultFlagBits - Bitmask specifying how and when query results
-- are returned
--
-- See Also
--
-- VK_VERSION_1_0, QueryResultFlags
newtype QueryResultFlagBits
QueryResultFlagBits :: Flags -> QueryResultFlagBits
-- | QUERY_RESULT_64_BIT specifies the results will be written as an
-- array of 64-bit unsigned integer values. If this bit is not set, the
-- results will be written as an array of 32-bit unsigned integer values.
pattern QUERY_RESULT_64_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_WAIT_BIT specifies that Vulkan will wait for each
-- query’s status to become available before retrieving its results.
pattern QUERY_RESULT_WAIT_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_WITH_AVAILABILITY_BIT specifies that the
-- availability status accompanies the results.
pattern QUERY_RESULT_WITH_AVAILABILITY_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_PARTIAL_BIT specifies that returning partial
-- results is acceptable.
pattern QUERY_RESULT_PARTIAL_BIT :: QueryResultFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlagBits
module Vulkan.Core10.Enums.QueryPoolCreateFlags
-- | VkQueryPoolCreateFlags - Reserved for future use
--
-- Description
--
-- QueryPoolCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, QueryPoolCreateInfo
newtype QueryPoolCreateFlags
QueryPoolCreateFlags :: Flags -> QueryPoolCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags
module Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits
type QueryPipelineStatisticFlags = QueryPipelineStatisticFlagBits
-- | VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline
-- statistics
--
-- Description
--
-- These values are intended to measure relative statistics on one
-- implementation. Various device architectures will count these values
-- differently. Any or all counters may be affected by the issues
-- described in Query Operation.
--
-- Note
--
-- For example, tile-based rendering devices may need to replay
-- the scene multiple times, affecting some of the counts.
--
-- If a pipeline has rasterizerDiscardEnable enabled,
-- implementations may discard primitives after the final
-- pre-rasterization shader stage. As a result, if
-- rasterizerDiscardEnable is enabled, the clipping input and
-- output primitives counters may not be incremented.
--
-- When a pipeline statistics query finishes, the result for that query
-- is marked as available. The application can copy the result to
-- a buffer (via cmdCopyQueryPoolResults), or request it be put
-- into host memory (via getQueryPoolResults).
--
-- See Also
--
-- VK_VERSION_1_0, QueryPipelineStatisticFlags
newtype QueryPipelineStatisticFlagBits
QueryPipelineStatisticFlagBits :: Flags -> QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT specifies
-- that queries managed by the pool will count the number of vertices
-- processed by the input assembly stage. Vertices corresponding
-- to incomplete primitives may contribute to the count.
pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT
-- specifies that queries managed by the pool will count the number of
-- primitives processed by the input assembly stage. If primitive
-- restart is enabled, restarting the primitive topology has no effect on
-- the count. Incomplete primitives may be counted.
pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- vertex shader invocations. This counter’s value is incremented each
-- time a vertex shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- geometry shader invocations. This counter’s value is incremented each
-- time a geometry shader is invoked. In the case of instanced
-- geometry shaders, the geometry shader invocations count is
-- incremented for each separate instanced invocation.
pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT
-- specifies that queries managed by the pool will count the number of
-- primitives generated by geometry shader invocations. The counter’s
-- value is incremented each time the geometry shader emits a primitive.
-- Restarting primitive topology using the SPIR-V instructions
-- OpEndPrimitive or OpEndStreamPrimitive has no effect
-- on the geometry shader output primitives count.
pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT specifies
-- that queries managed by the pool will count the number of primitives
-- processed by the Primitive Clipping stage of the pipeline. The
-- counter’s value is incremented each time a primitive reaches the
-- primitive clipping stage.
pattern QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT specifies that
-- queries managed by the pool will count the number of primitives output
-- by the Primitive Clipping stage of the pipeline. The counter’s
-- value is incremented each time a primitive passes the primitive
-- clipping stage. The actual number of primitives output by the
-- primitive clipping stage for a particular input primitive is
-- implementation-dependent but must satisfy the following
-- conditions:
--
--
-- - If at least one vertex of the input primitive lies inside the
-- clipping volume, the counter is incremented by one or more.
-- - Otherwise, the counter is incremented by zero or more.
--
pattern QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- fragment shader invocations. The counter’s value is incremented each
-- time the fragment shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- |
-- QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
-- specifies that queries managed by the pool will count the number of
-- patches processed by the tessellation control shader. The counter’s
-- value is incremented once for each patch for which a tessellation
-- control shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: QueryPipelineStatisticFlagBits
-- |
-- QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- invocations of the tessellation evaluation shader. The counter’s value
-- is incremented each time the tessellation evaluation shader is
-- invoked.
pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- compute shader invocations. The counter’s value is incremented every
-- time the compute shader is invoked. Implementations may skip
-- the execution of certain compute shader invocations or execute
-- additional compute shader invocations for implementation-dependent
-- reasons as long as the results of rendering otherwise remain
-- unchanged.
pattern QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits
module Vulkan.Core10.Enums.QueryControlFlagBits
type QueryControlFlags = QueryControlFlagBits
-- | VkQueryControlFlagBits - Bitmask specifying constraints on a query
--
-- See Also
--
-- VK_VERSION_1_0, QueryControlFlags
newtype QueryControlFlagBits
QueryControlFlagBits :: Flags -> QueryControlFlagBits
-- | QUERY_CONTROL_PRECISE_BIT specifies the precision of
-- occlusion queries.
pattern QUERY_CONTROL_PRECISE_BIT :: QueryControlFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlagBits
module Vulkan.Core10.Enums.PrimitiveTopology
-- | VkPrimitiveTopology - Supported primitive topologies
--
-- Description
--
-- Each primitive topology, and its construction from a list of vertices,
-- is described in detail below with a supporting diagram, according to
-- the following key:
--
-- TODO: table
--
-- The diagrams are supported with mathematical definitions where the
-- vertices (v) and primitives (p) are numbered starting from 0; v0 is
-- the first vertex in the provided data and p0 is the first primitive in
-- the set of primitives defined by the vertices and topology.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineInputAssemblyStateCreateInfo,
-- cmdSetPrimitiveTopologyEXT
newtype PrimitiveTopology
PrimitiveTopology :: Int32 -> PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_POINT_LIST specifies a series of separate
-- point primitives.
pattern PRIMITIVE_TOPOLOGY_POINT_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_LIST specifies a series of separate
-- line primitives.
pattern PRIMITIVE_TOPOLOGY_LINE_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_STRIP specifies a series of
-- connected line primitives with consecutive lines sharing a
-- vertex.
pattern PRIMITIVE_TOPOLOGY_LINE_STRIP :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_LIST specifies a series of
-- separate triangle primitives.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP specifies a series of
-- connected triangle primitives with consecutive triangles
-- sharing an edge.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_FAN specifies a series of
-- connected triangle primitives with all triangles sharing a
-- common vertex. If the VK_KHR_portability_subset extension is
-- enabled, and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::triangleFans
-- is FALSE, then triangle fans are not supported by the
-- implementation, and PRIMITIVE_TOPOLOGY_TRIANGLE_FAN must
-- not be used.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY specifies a series
-- of separate line primitives with adjacency.
pattern PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY specifies a series
-- of connected line primitives with adjacency, with consecutive
-- primitives sharing three vertices.
pattern PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY specifies a
-- series of separate triangle primitives with adjacency.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY specifies
-- connected triangle primitives with adjacency, with consecutive
-- triangles sharing an edge.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_PATCH_LIST specifies separate patch
-- primitives.
pattern PRIMITIVE_TOPOLOGY_PATCH_LIST :: PrimitiveTopology
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
instance GHC.Classes.Ord Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
instance GHC.Classes.Eq Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
instance GHC.Show.Show Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
instance GHC.Read.Read Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology
module Vulkan.Core10.Enums.PolygonMode
-- | VkPolygonMode - Control polygon rasterization mode
--
-- Description
--
-- These modes affect only the final rasterization of polygons: in
-- particular, a polygon’s vertices are shaded and the polygon is clipped
-- and possibly culled before these modes are applied.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo
newtype PolygonMode
PolygonMode :: Int32 -> PolygonMode
-- | POLYGON_MODE_FILL specifies that polygons are rendered using
-- the polygon rasterization rules in this section.
pattern POLYGON_MODE_FILL :: PolygonMode
-- | POLYGON_MODE_LINE specifies that polygon edges are drawn as
-- line segments.
pattern POLYGON_MODE_LINE :: PolygonMode
-- | POLYGON_MODE_POINT specifies that polygon vertices are drawn as
-- points.
pattern POLYGON_MODE_POINT :: PolygonMode
-- | POLYGON_MODE_FILL_RECTANGLE_NV specifies that polygons are
-- rendered using polygon rasterization rules, modified to consider a
-- sample within the primitive if the sample location is inside the
-- axis-aligned bounding box of the triangle after projection. Note that
-- the barycentric weights used in attribute interpolation can
-- extend outside the range [0,1] when these primitives are shaded.
-- Special treatment is given to a sample position on the boundary edge
-- of the bounding box. In such a case, if two rectangles lie on either
-- side of a common edge (with identical endpoints) on which a sample
-- position lies, then exactly one of the triangles must produce a
-- fragment that covers that sample during rasterization.
--
-- Polygons rendered in POLYGON_MODE_FILL_RECTANGLE_NV mode
-- may be clipped by the frustum or by user clip planes. If
-- clipping is applied, the triangle is culled rather than clipped.
--
-- Area calculation and facingness are determined for
-- POLYGON_MODE_FILL_RECTANGLE_NV mode using the triangle’s
-- vertices.
pattern POLYGON_MODE_FILL_RECTANGLE_NV :: PolygonMode
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PolygonMode.PolygonMode
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PolygonMode.PolygonMode
instance GHC.Classes.Ord Vulkan.Core10.Enums.PolygonMode.PolygonMode
instance GHC.Classes.Eq Vulkan.Core10.Enums.PolygonMode.PolygonMode
instance GHC.Show.Show Vulkan.Core10.Enums.PolygonMode.PolygonMode
instance GHC.Read.Read Vulkan.Core10.Enums.PolygonMode.PolygonMode
module Vulkan.Core10.Enums.PipelineViewportStateCreateFlags
-- | VkPipelineViewportStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineViewportStateCreateFlags is a bitmask type for setting
-- a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineViewportStateCreateInfo
newtype PipelineViewportStateCreateFlags
PipelineViewportStateCreateFlags :: Flags -> PipelineViewportStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags
module Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags
-- | VkPipelineVertexInputStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineVertexInputStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineVertexInputStateCreateInfo
newtype PipelineVertexInputStateCreateFlags
PipelineVertexInputStateCreateFlags :: Flags -> PipelineVertexInputStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags
module Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags
-- | VkPipelineTessellationStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineTessellationStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineTessellationStateCreateInfo
newtype PipelineTessellationStateCreateFlags
PipelineTessellationStateCreateFlags :: Flags -> PipelineTessellationStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags
module Vulkan.Core10.Enums.PipelineStageFlagBits
type PipelineStageFlags = PipelineStageFlagBits
-- | VkPipelineStageFlagBits - Bitmask specifying pipeline stages
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for PipelineStageFlags2KHR.
--
-- See Also
--
-- VK_VERSION_1_0, CheckpointDataNV,
-- PipelineStageFlags, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp
newtype PipelineStageFlagBits
PipelineStageFlagBits :: Flags -> PipelineStageFlagBits
-- | PIPELINE_STAGE_TOP_OF_PIPE_BIT is equivalent to
-- PIPELINE_STAGE_ALL_COMMANDS_BIT with AccessFlags set to
-- 0 when specified in the second synchronization scope, but
-- specifies no stage of execution when specified in the first scope.
pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_DRAW_INDIRECT_BIT specifies the stage of the
-- pipeline where VkDrawIndirect* / VkDispatchIndirect*
-- / VkTraceRaysIndirect* data structures are consumed. This
-- stage also includes reading commands written by
-- cmdExecuteGeneratedCommandsNV.
pattern PIPELINE_STAGE_DRAW_INDIRECT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_VERTEX_INPUT_BIT specifies the stage of the
-- pipeline where vertex and index buffers are consumed.
pattern PIPELINE_STAGE_VERTEX_INPUT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_VERTEX_SHADER_BIT specifies the vertex shader
-- stage.
pattern PIPELINE_STAGE_VERTEX_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT specifies the
-- tessellation control shader stage.
pattern PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT specifies the
-- tessellation evaluation shader stage.
pattern PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_GEOMETRY_SHADER_BIT specifies the geometry
-- shader stage.
pattern PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_SHADER_BIT specifies the fragment
-- shader stage.
pattern PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT specifies the stage of
-- the pipeline where early fragment tests (depth and stencil tests
-- before fragment shading) are performed. This stage also includes
-- subpass load operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT specifies the stage of
-- the pipeline where late fragment tests (depth and stencil tests after
-- fragment shading) are performed. This stage also includes subpass
-- store operations for framebuffer attachments with a depth/stencil
-- format.
pattern PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT specifies the stage
-- of the pipeline after blending where the final color values are output
-- from the pipeline. This stage also includes subpass load and store
-- operations and multisample resolve operations for framebuffer
-- attachments with a color or depth/stencil format.
pattern PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COMPUTE_SHADER_BIT specifies the execution of a
-- compute shader.
pattern PIPELINE_STAGE_COMPUTE_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TRANSFER_BIT specifies the following commands:
--
--
pattern PIPELINE_STAGE_TRANSFER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT is equivalent to
-- PIPELINE_STAGE_ALL_COMMANDS_BIT with AccessFlags set to
-- 0 when specified in the first synchronization scope, but
-- specifies no stage of execution when specified in the second scope.
pattern PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_HOST_BIT specifies a pseudo-stage indicating
-- execution on the host of reads/writes of device memory. This stage is
-- not invoked by any commands recorded in a command buffer.
pattern PIPELINE_STAGE_HOST_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ALL_GRAPHICS_BIT specifies the execution of all
-- graphics pipeline stages, and is equivalent to the logical OR of:
--
--
pattern PIPELINE_STAGE_ALL_GRAPHICS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ALL_COMMANDS_BIT specifies all operations
-- performed by all commands supported on the queue it is used with.
pattern PIPELINE_STAGE_ALL_COMMANDS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_NONE_KHR specifies no stages of execution.
pattern PIPELINE_STAGE_NONE_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV specifies the stage of
-- the pipeline where device-side preprocessing for generated commands
-- via cmdPreprocessGeneratedCommandsNV is handled.
pattern PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- specifies the stage of the pipeline where the fragment shading rate
-- attachment or shading rate image is read to determine the
-- fragment shading rate for portions of a rasterized primitive.
pattern PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT specifies the
-- stage of the pipeline where the fragment density map is read to
-- generate the fragment areas.
pattern PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_MESH_SHADER_BIT_NV specifies the mesh shader
-- stage.
pattern PIPELINE_STAGE_MESH_SHADER_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TASK_SHADER_BIT_NV specifies the task shader
-- stage.
pattern PIPELINE_STAGE_TASK_SHADER_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR specifies the
-- execution of the ray tracing shader stages, via cmdTraceRaysNV
-- , cmdTraceRaysKHR, or cmdTraceRaysIndirectKHR
pattern PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR specifies
-- the execution of cmdBuildAccelerationStructureNV,
-- cmdCopyAccelerationStructureNV,
-- cmdWriteAccelerationStructuresPropertiesNV ,
-- cmdBuildAccelerationStructuresKHR,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureToMemoryKHR,
-- cmdCopyMemoryToAccelerationStructureKHR, and
-- cmdWriteAccelerationStructuresPropertiesKHR.
pattern PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT specifies the
-- stage of the pipeline where the predicate of conditional rendering is
-- consumed.
pattern PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT specifies the stage
-- of the pipeline where vertex attribute output values are written to
-- the transform feedback buffers.
pattern PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits
module Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits
type PipelineShaderStageCreateFlags = PipelineShaderStageCreateFlagBits
-- | VkPipelineShaderStageCreateFlagBits - Bitmask controlling how a
-- pipeline shader stage is created
--
-- Description
--
-- Note
--
-- If
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- and PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- are specified and minSubgroupSize does not equal
-- maxSubgroupSize and no required subgroup size is
-- specified, then the only way to guarantee that the 'X' dimension of
-- the local workgroup size is a multiple of SubgroupSize is to
-- make it a multiple of maxSubgroupSize. Under these
-- conditions, you are guaranteed full subgroups but not any particular
-- subgroup size.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateFlags
newtype PipelineShaderStageCreateFlagBits
PipelineShaderStageCreateFlagBits :: Flags -> PipelineShaderStageCreateFlagBits
-- | PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- specifies that the subgroup sizes must be launched with all
-- invocations active in the compute stage.
pattern PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT :: PipelineShaderStageCreateFlagBits
-- |
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- specifies that the SubgroupSize may vary in the shader
-- stage.
pattern PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT :: PipelineShaderStageCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits
module Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags
-- | VkPipelineRasterizationStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineRasterizationStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo
newtype PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags :: Flags -> PipelineRasterizationStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags
module Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags
-- | VkPipelineMultisampleStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineMultisampleStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineMultisampleStateCreateInfo
newtype PipelineMultisampleStateCreateFlags
PipelineMultisampleStateCreateFlags :: Flags -> PipelineMultisampleStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags
module Vulkan.Core10.Enums.PipelineLayoutCreateFlags
-- | VkPipelineLayoutCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineLayoutCreateFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineLayoutCreateInfo
newtype PipelineLayoutCreateFlags
PipelineLayoutCreateFlags :: Flags -> PipelineLayoutCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags
module Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags
-- | VkPipelineInputAssemblyStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineInputAssemblyStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineInputAssemblyStateCreateInfo
newtype PipelineInputAssemblyStateCreateFlags
PipelineInputAssemblyStateCreateFlags :: Flags -> PipelineInputAssemblyStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags
module Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags
-- | VkPipelineDynamicStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineDynamicStateCreateFlags is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDynamicStateCreateInfo
newtype PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags :: Flags -> PipelineDynamicStateCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags
module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits
type PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlagBits
-- | VkPipelineDepthStencilStateCreateFlagBits - Bitmask specifying
-- additional depth/stencil state information.
--
-- See Also
--
-- VK_ARM_rasterization_order_attachment_access,
-- PipelineDepthStencilStateCreateFlags
newtype PipelineDepthStencilStateCreateFlagBits
PipelineDepthStencilStateCreateFlagBits :: Flags -> PipelineDepthStencilStateCreateFlagBits
-- |
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
-- indicates that access to the stencil aspects of depth/stencil and
-- input attachments will have implicit framebuffer-local memory
-- dependencies. See renderpass feedback loops for more
-- information.
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM :: PipelineDepthStencilStateCreateFlagBits
-- |
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- indicates that access to the depth aspects of depth/stencil and input
-- attachments will have implicit framebuffer-local memory dependencies.
-- See renderpass feedback loops for more information.
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM :: PipelineDepthStencilStateCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits
module Vulkan.Core10.Enums.PipelineCreateFlagBits
type PipelineCreateFlags = PipelineCreateFlagBits
-- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is
-- created
--
-- Description
--
--
--
--
--
-- It is valid to set both PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
-- and PIPELINE_CREATE_DERIVATIVE_BIT. This allows a pipeline to
-- be both a parent and possibly a child in a pipeline hierarchy. See
-- Pipeline Derivatives for more information.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCreateFlags
newtype PipelineCreateFlagBits
PipelineCreateFlagBits :: Flags -> PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DERIVATIVE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_LIBRARY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISPATCH_BASE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: PipelineCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits
module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits
type PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlagBits
-- | VkPipelineColorBlendStateCreateFlagBits - Bitmask specifying
-- additional parameters of an image
--
-- See Also
--
-- VK_ARM_rasterization_order_attachment_access,
-- PipelineColorBlendStateCreateFlags
newtype PipelineColorBlendStateCreateFlagBits
PipelineColorBlendStateCreateFlagBits :: Flags -> PipelineColorBlendStateCreateFlagBits
-- |
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
-- indicates that access to color and input attachments will have
-- implicit framebuffer-local memory dependencies, allowing applications
-- to express custom blending operations in a fragment shader. See
-- renderpass feedback loops for more information.
pattern PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM :: PipelineColorBlendStateCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits
module Vulkan.Core10.Enums.PipelineCacheHeaderVersion
-- | VkPipelineCacheHeaderVersion - Encode pipeline cache version
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCacheHeaderVersionOne,
-- createPipelineCache, getPipelineCacheData
newtype PipelineCacheHeaderVersion
PipelineCacheHeaderVersion :: Int32 -> PipelineCacheHeaderVersion
-- | PIPELINE_CACHE_HEADER_VERSION_ONE specifies version one of the
-- pipeline cache.
pattern PIPELINE_CACHE_HEADER_VERSION_ONE :: PipelineCacheHeaderVersion
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion
module Vulkan.Core10.Enums.PipelineCacheCreateFlagBits
type PipelineCacheCreateFlags = PipelineCacheCreateFlagBits
-- | VkPipelineCacheCreateFlagBits - Bitmask specifying the behavior of the
-- pipeline cache
--
-- See Also
--
-- VK_EXT_pipeline_creation_cache_control,
-- PipelineCacheCreateFlags
newtype PipelineCacheCreateFlagBits
PipelineCacheCreateFlagBits :: Flags -> PipelineCacheCreateFlagBits
-- | PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT specifies
-- that all commands that modify the created PipelineCache will be
-- externally synchronized. When set, the implementation
-- may skip any unnecessary processing needed to support
-- simultaneous modification from multiple threads where allowed.
pattern PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT :: PipelineCacheCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits
module Vulkan.Core10.Enums.PipelineBindPoint
-- | VkPipelineBindPoint - Specify the bind point of a pipeline object to a
-- command buffer
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorUpdateTemplateCreateInfo,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- IndirectCommandsLayoutCreateInfoNV, SubpassDescription,
-- SubpassDescription2, cmdBindDescriptorSets,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdPushDescriptorSetKHR
newtype PipelineBindPoint
PipelineBindPoint :: Int32 -> PipelineBindPoint
-- | PIPELINE_BIND_POINT_GRAPHICS specifies binding as a graphics
-- pipeline.
pattern PIPELINE_BIND_POINT_GRAPHICS :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_COMPUTE specifies binding as a compute
-- pipeline.
pattern PIPELINE_BIND_POINT_COMPUTE :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI specifies binding as
-- a subpass shading pipeline.
pattern PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_RAY_TRACING_KHR specifies binding as a ray
-- tracing pipeline.
pattern PIPELINE_BIND_POINT_RAY_TRACING_KHR :: PipelineBindPoint
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
instance GHC.Show.Show Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
instance GHC.Read.Read Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint
module Vulkan.Core10.Enums.PhysicalDeviceType
-- | 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
--
-- VK_VERSION_1_0, PhysicalDeviceProperties
newtype PhysicalDeviceType
PhysicalDeviceType :: Int32 -> PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_OTHER - the device does not match any
-- other available types.
pattern PHYSICAL_DEVICE_TYPE_OTHER :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU - the device is typically
-- one embedded in or tightly coupled with the host.
pattern PHYSICAL_DEVICE_TYPE_INTEGRATED_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_DISCRETE_GPU :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU - the device is typically a
-- virtual node in a virtualization environment.
pattern PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_CPU - the device is typically running on
-- the same processors as the host.
pattern PHYSICAL_DEVICE_TYPE_CPU :: PhysicalDeviceType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
instance GHC.Classes.Ord Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
instance GHC.Classes.Eq Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
instance GHC.Show.Show Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
instance GHC.Read.Read Vulkan.Core10.Enums.PhysicalDeviceType.PhysicalDeviceType
module Vulkan.Core10.Enums.ObjectType
-- | VkObjectType - Specify an enumeration to track object handle types
--
-- Description
--
-- '
--
-- TODO: table
--
-- ObjectType and Vulkan Handle Relationship
--
-- See Also
--
-- VK_VERSION_1_0, DebugUtilsObjectNameInfoEXT,
-- DebugUtilsObjectTagInfoEXT,
-- DeviceMemoryReportCallbackDataEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype ObjectType
ObjectType :: Int32 -> ObjectType
pattern OBJECT_TYPE_UNKNOWN :: ObjectType
pattern OBJECT_TYPE_INSTANCE :: ObjectType
pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
pattern OBJECT_TYPE_DEVICE :: ObjectType
pattern OBJECT_TYPE_QUEUE :: ObjectType
pattern OBJECT_TYPE_SEMAPHORE :: ObjectType
pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType
pattern OBJECT_TYPE_FENCE :: ObjectType
pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType
pattern OBJECT_TYPE_BUFFER :: ObjectType
pattern OBJECT_TYPE_IMAGE :: ObjectType
pattern OBJECT_TYPE_EVENT :: ObjectType
pattern OBJECT_TYPE_QUERY_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType
pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType
pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
pattern OBJECT_TYPE_RENDER_PASS :: ObjectType
pattern OBJECT_TYPE_PIPELINE :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
pattern OBJECT_TYPE_SAMPLER :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType
pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType
pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
pattern OBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
pattern OBJECT_TYPE_CU_MODULE_NVX :: ObjectType
pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ObjectType.ObjectType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ObjectType.ObjectType
instance GHC.Classes.Ord Vulkan.Core10.Enums.ObjectType.ObjectType
instance GHC.Classes.Eq Vulkan.Core10.Enums.ObjectType.ObjectType
instance GHC.Show.Show Vulkan.Core10.Enums.ObjectType.ObjectType
instance GHC.Read.Read Vulkan.Core10.Enums.ObjectType.ObjectType
-- | Name
--
-- VK_EXT_device_memory_report - device extension
--
-- VK_EXT_device_memory_report
--
--
-- - Name String
-- VK_EXT_device_memory_report
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 285
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-01-06
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Yiwei Zhang,
-- Google
- Jesse Hall, Google
--
--
-- Description
--
-- This device extension allows registration of device memory event
-- callbacks upon device creation, so that applications or middleware can
-- obtain detailed information about memory usage and how memory is
-- associated with Vulkan objects. This extension exposes the actual
-- underlying device memory usage, including allocations that are not
-- normally visible to the application, such as memory consumed by
-- createGraphicsPipelines. It is intended primarily for use by
-- debug tooling rather than for production applications.
--
-- New Structures
--
--
--
--
--
-- New Function Pointers
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this be better expressed as an extension to
-- VK_EXT_debug_utils and its general-purpose messenger construct?
--
-- RESOLVED: No. The intended lifecycle is quite different. We
-- want to make this extension tied to the device’s lifecycle. Each ICD
-- just handles its own implementation of this extension, and this
-- extension will only be directly exposed from the ICD. So we can avoid
-- the extra implementation complexity used to accommodate the
-- flexibility of VK_EXT_debug_utils extension.
--
-- 2) Can we extend and use the existing internal allocation callbacks
-- instead of adding the new callback structure in this extension?
--
-- RESOLVED: No. Our memory reporting layer that combines this
-- information with other memory information it collects directly (e.g.
-- bindings of resources to DeviceMemory) would have to intercept
-- all entry points that take a AllocationCallbacks parameter and
-- inject its own pfnInternalAllocation and
-- pfnInternalFree. That may be doable for the extensions we
-- know about, but not for ones we do not. The proposal would work fine
-- in the face of most unknown extensions. But even for ones we know
-- about, since apps can provide a different set of callbacks and
-- userdata and those can be retained by the driver and used later (esp.
-- for pool object, but not just those), we would have to dynamically
-- allocate the interception trampoline every time. That is getting to be
-- an unreasonably large amount of complexity and (possibly) overhead.
--
-- We are interested in both alloc/free and import/unimport. The latter
-- is fairly important for tracking (and avoiding double-counting) of
-- swapchain images (still true with “native swapchains” based on
-- external memory) and media/camera interop. Though we might be able to
-- handle this with additional InternalAllocationType values, for
-- import/export we do want to be able to tie this to the external
-- resource, which is one thing that the memoryObjectId is for.
--
-- The internal alloc/free callbacks are not extensible except via new
-- InternalAllocationType values. The
-- DeviceMemoryReportCallbackDataEXT in this extension is
-- extensible. That was deliberate: there is a real possibility we will
-- want to get extra information in the future. As one example, currently
-- this reports only physical allocations, but we believe there are
-- interesting cases for tracking how populated that VA region is.
--
-- The callbacks are clearly specified as only callable within the
-- context of a call from the app into Vulkan. We believe there are some
-- cases where drivers can allocate device memory asynchronously. This
-- was one of the sticky issues that derailed the internal device memory
-- allocation reporting design (which is essentially what this extension
-- is trying to do) leading up to 1.0.
--
-- AllocationCallbacks is described in a section called “Host
-- memory” and the intro to it is very explicitly about host memory. The
-- other callbacks are all inherently about host memory. But this
-- extension is very focused on device memory.
--
-- 3) Should the callback be reporting which heap is used?
--
-- RESOLVED: Yes. It is important for non-UMA systems to have all
-- the device memory allocations attributed to the corresponding device
-- memory heaps. For internally-allocated device memory,
-- heapIndex will always correspond to an advertised heap,
-- rather than having a magic value indicating a non-advertised heap.
-- Drivers can advertise heaps that do not have any corresponding memory
-- types if they need to.
--
-- 4) Should we use an array of callback for the layers to intercept
-- instead of chaining multiple of the
-- DeviceDeviceMemoryReportCreateInfoEXT structures in the
-- pNext of DeviceCreateInfo?
--
-- RESOLVED No. The pointer to the
-- DeviceDeviceMemoryReportCreateInfoEXT structure itself is const
-- and you cannot just cast it away. Thus we cannot update the callback
-- array inside the structure. In addition, we cannot drop this
-- pNext chain either, so making a copy of this whole structure
-- does not work either.
--
-- 5) Should we track bulk allocations shared among multiple objects?
--
-- RESOLVED No. Take the shader heap as an example. Some
-- implementations will let multiple Pipeline objects share the
-- same shader heap. We are not asking the implementation to report
-- OBJECT_TYPE_PIPELINE along with a NULL_HANDLE for this
-- bulk allocation. Instead, this bulk allocation is considered as a
-- layer below what this extension is interested in. Later, when the
-- actual Pipeline objects are created by suballocating from the
-- bulk allocation, we ask the implementation to report the valid handles
-- of the Pipeline objects along with the actual suballocated
-- sizes and different memoryObjectId.
--
-- 6) Can we require the callbacks to be always called in the same thread
-- with the Vulkan commands?
--
-- RESOLVED No. Some implementations might choose to multiplex
-- work from multiple application threads into a single backend thread
-- and perform JIT allocations as a part of that flow. Since this
-- behavior is theoretically legit, we cannot require the callbacks to be
-- always called in the same thread with the Vulkan commands, and the
-- note is to remind the applications to handle this case properly.
--
-- 7) Should we add an additional “allocation failed” event type with
-- things like size and heap index reported?
--
-- RESOLVED Yes. This fits in well with the callback
-- infrastructure added in this extension, and implementation touches the
-- same code and has the same overheads as the rest of the extension. It
-- could help debugging things like getting an
-- ERROR_OUT_OF_HOST_MEMORY error when ending a command buffer.
-- Right now the allocation failure could have happened anywhere during
-- recording, and a callback would be really useful to understand where
-- and why.
--
-- Version History
--
--
-- - Revision 1, 2020-08-26 (Yiwei Zhang)
--
--
--
-- - Revision 2, 2021-01-06 (Yiwei Zhang)
- Minor description
-- update
--
--
-- See Also
--
-- PFN_vkDeviceMemoryReportCallbackEXT,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceMemoryReportCallbackDataEXT,
-- DeviceMemoryReportEventTypeEXT,
-- DeviceMemoryReportFlagsEXT,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_device_memory_report
-- | VkPhysicalDeviceDeviceMemoryReportFeaturesEXT - Structure describing
-- whether device memory report callback can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceDeviceMemoryReportFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_device_memory_report, Bool32,
-- StructureType
data PhysicalDeviceDeviceMemoryReportFeaturesEXT
PhysicalDeviceDeviceMemoryReportFeaturesEXT :: Bool -> PhysicalDeviceDeviceMemoryReportFeaturesEXT
-- | deviceMemoryReport indicates whether the implementation
-- supports the ability to register device memory report callbacks.
[$sel:deviceMemoryReport:PhysicalDeviceDeviceMemoryReportFeaturesEXT] :: PhysicalDeviceDeviceMemoryReportFeaturesEXT -> Bool
-- | VkDeviceDeviceMemoryReportCreateInfoEXT - Register device memory
-- report callbacks for a Vulkan device
--
-- Description
--
-- The callback may be called from multiple threads
-- simultaneously.
--
-- The callback must be called only once by the implementation
-- when a DeviceMemoryReportEventTypeEXT event occurs.
--
-- Note
--
-- The callback could be called from a background thread other than the
-- thread calling the Vulkan commands.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- PFN_vkDeviceMemoryReportCallbackEXT,
-- VK_EXT_device_memory_report, DeviceMemoryReportFlagsEXT,
-- StructureType
data DeviceDeviceMemoryReportCreateInfoEXT
DeviceDeviceMemoryReportCreateInfoEXT :: DeviceMemoryReportFlagsEXT -> PFN_vkDeviceMemoryReportCallbackEXT -> Ptr () -> DeviceDeviceMemoryReportCreateInfoEXT
-- | flags is 0 and reserved for future use.
--
-- flags must be 0
[$sel:flags:DeviceDeviceMemoryReportCreateInfoEXT] :: DeviceDeviceMemoryReportCreateInfoEXT -> DeviceMemoryReportFlagsEXT
-- | pfnUserCallback is the application callback function to call.
--
-- pfnUserCallback must be a valid
-- PFN_vkDeviceMemoryReportCallbackEXT value
[$sel:pfnUserCallback:DeviceDeviceMemoryReportCreateInfoEXT] :: DeviceDeviceMemoryReportCreateInfoEXT -> PFN_vkDeviceMemoryReportCallbackEXT
-- | pUserData is user data to be passed to the callback.
--
-- pUserData must be a pointer value
[$sel:userData:DeviceDeviceMemoryReportCreateInfoEXT] :: DeviceDeviceMemoryReportCreateInfoEXT -> Ptr ()
-- | VkDeviceMemoryReportCallbackDataEXT - Structure specifying parameters
-- returned to the callback
--
-- Description
--
-- memoryObjectId is used to avoid double-counting on the same
-- memory object.
--
-- If an internally-allocated device memory object or a
-- DeviceMemory cannot be exported, memoryObjectId
-- must be unique in the Device.
--
-- If an internally-allocated device memory object or a
-- DeviceMemory supports being exported, memoryObjectId
-- must be unique system wide.
--
-- If an internal device memory object or a DeviceMemory is backed
-- by an imported external memory object, memoryObjectId
-- must be unique system wide.
--
-- Note
--
-- This structure should only be considered valid during the lifetime of
-- the triggered callback.
--
-- For DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT and
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT events,
-- objectHandle usually will not yet exist when the application
-- or tool receives the callback. objectHandle will only exist
-- when the create or allocate call that triggered the event returns, and
-- if the allocation or import ends up failing objectHandle will
-- not ever exist.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_device_memory_report,
-- DeviceMemoryReportEventTypeEXT,
-- DeviceMemoryReportFlagsEXT, DeviceSize,
-- ObjectType, StructureType
data DeviceMemoryReportCallbackDataEXT
DeviceMemoryReportCallbackDataEXT :: DeviceMemoryReportFlagsEXT -> DeviceMemoryReportEventTypeEXT -> Word64 -> DeviceSize -> ObjectType -> Word64 -> Word32 -> DeviceMemoryReportCallbackDataEXT
-- | flags is 0 and reserved for future use.
[$sel:flags:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> DeviceMemoryReportFlagsEXT
-- | type is a DeviceMemoryReportEventTypeEXT type
-- specifying the type of event reported in this
-- DeviceMemoryReportCallbackDataEXT structure.
[$sel:type':DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> DeviceMemoryReportEventTypeEXT
-- | memoryObjectId is the unique id for the underlying memory
-- object as described below.
[$sel:memoryObjectId:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> Word64
-- | size is the size of the memory object in bytes. If
-- type is DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT or
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,
-- size is a valid DeviceSize value. Otherwise,
-- size is undefined.
[$sel:size:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> DeviceSize
-- | objectType is a ObjectType value specifying the type
-- of the object associated with this device memory report event. If
-- type is DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT or
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,
-- objectType is a valid ObjectType enum. Otherwise,
-- objectType is undefined.
[$sel:objectType:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> ObjectType
-- | objectHandle is the object this device memory report event is
-- attributed to. If type is
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT or
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
-- objectHandle is a valid Vulkan handle of the type associated
-- with objectType as defined in the and Vulkan Handle
-- Relationship table. Otherwise, objectHandle is undefined.
[$sel:objectHandle:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> Word64
-- | heapIndex describes which memory heap this device memory
-- allocation is made from. If type is
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT or
-- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,
-- heapIndex corresponds to one of the valid heaps from the
-- PhysicalDeviceMemoryProperties structure. Otherwise,
-- heapIndex is undefined.
[$sel:heapIndex:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> Word32
-- | VkDeviceMemoryReportFlagsEXT - Reserved for future use
--
-- Description
--
-- DeviceMemoryReportFlagsEXT is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_device_memory_report,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceMemoryReportCallbackDataEXT
newtype DeviceMemoryReportFlagsEXT
DeviceMemoryReportFlagsEXT :: Flags -> DeviceMemoryReportFlagsEXT
-- | VkDeviceMemoryReportEventTypeEXT - Events that can occur on a device
-- memory object
--
-- See Also
--
-- VK_EXT_device_memory_report,
-- DeviceMemoryReportCallbackDataEXT
newtype DeviceMemoryReportEventTypeEXT
DeviceMemoryReportEventTypeEXT :: Int32 -> DeviceMemoryReportEventTypeEXT
-- | DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT specifies this
-- event corresponds to the allocation of an internal device memory
-- object or a DeviceMemory.
pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT :: DeviceMemoryReportEventTypeEXT
-- | DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT specifies this event
-- corresponds to the deallocation of an internally-allocated device
-- memory object or a DeviceMemory.
pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT :: DeviceMemoryReportEventTypeEXT
-- | DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT specifies this event
-- corresponds to the import of an external memory object.
pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT :: DeviceMemoryReportEventTypeEXT
-- | DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT specifies this
-- event is the release of an imported external memory object.
pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT :: DeviceMemoryReportEventTypeEXT
-- | DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT specifies
-- this event corresponds to the failed allocation of an internal device
-- memory object or a DeviceMemory.
pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT :: DeviceMemoryReportEventTypeEXT
-- | PFN_vkDeviceMemoryReportCallbackEXT - Application-defined device
-- memory report callback function
--
-- Description
--
-- The callback must not make calls to any Vulkan commands.
--
-- See Also
--
-- VK_EXT_device_memory_report,
-- DeviceDeviceMemoryReportCreateInfoEXT
type PFN_vkDeviceMemoryReportCallbackEXT = FunPtr FN_vkDeviceMemoryReportCallbackEXT
type FN_vkDeviceMemoryReportCallbackEXT = ("pCallbackData" ::: Ptr DeviceMemoryReportCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO ()
type EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2
pattern EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report"
pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportEventTypeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT
module Vulkan.Core10.Enums.MemoryPropertyFlagBits
type MemoryPropertyFlags = MemoryPropertyFlagBits
-- | 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
--
-- VK_VERSION_1_0, MemoryPropertyFlags
newtype MemoryPropertyFlagBits
MemoryPropertyFlagBits :: Flags -> 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_DEVICE_LOCAL_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_VISIBLE_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_COHERENT_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_HOST_CACHED_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_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits
-- | MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV bit specifies that external
-- devices can access this memory directly.
pattern MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV :: 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_UNCACHED_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_DEVICE_COHERENT_BIT_AMD :: 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.
pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlagBits
module Vulkan.Core10.Enums.MemoryMapFlags
-- | VkMemoryMapFlags - Reserved for future use
--
-- Description
--
-- MemoryMapFlags is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, mapMemory
newtype MemoryMapFlags
MemoryMapFlags :: Flags -> MemoryMapFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance GHC.Show.Show Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
instance GHC.Read.Read Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags
module Vulkan.Core10.Enums.MemoryHeapFlagBits
type MemoryHeapFlags = MemoryHeapFlagBits
-- | VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap
--
-- See Also
--
-- VK_VERSION_1_0, MemoryHeapFlags
newtype MemoryHeapFlagBits
MemoryHeapFlagBits :: Flags -> 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_DEVICE_LOCAL_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.
pattern MEMORY_HEAP_MULTI_INSTANCE_BIT :: MemoryHeapFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlagBits
module Vulkan.Core10.Enums.LogicOp
-- | VkLogicOp - Framebuffer logical operations
--
-- Description
--
-- The logical operations supported by Vulkan are summarized in the
-- following table in which
--
--
-- - ¬ is bitwise invert,
-- - ∧ is bitwise and,
-- - ∨ is bitwise or,
-- - ⊕ is bitwise exclusive or,
-- - s is the fragment’s Rs0, Gs0, Bs0 or As0 component value for the
-- fragment output corresponding to the color attachment being updated,
-- and
-- - d is the color attachment’s R, G, B or A component value:
--
--
-- TODO: table
--
-- Logical Operations
--
-- The result of the logical operation is then written to the color
-- attachment as controlled by the component write mask, described in
-- Blend Operations.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendStateCreateInfo,
-- cmdSetLogicOpEXT
newtype LogicOp
LogicOp :: Int32 -> LogicOp
pattern LOGIC_OP_CLEAR :: LogicOp
pattern LOGIC_OP_AND :: LogicOp
pattern LOGIC_OP_AND_REVERSE :: LogicOp
pattern LOGIC_OP_COPY :: LogicOp
pattern LOGIC_OP_AND_INVERTED :: LogicOp
pattern LOGIC_OP_NO_OP :: LogicOp
pattern LOGIC_OP_XOR :: LogicOp
pattern LOGIC_OP_OR :: LogicOp
pattern LOGIC_OP_NOR :: LogicOp
pattern LOGIC_OP_EQUIVALENT :: LogicOp
pattern LOGIC_OP_INVERT :: LogicOp
pattern LOGIC_OP_OR_REVERSE :: LogicOp
pattern LOGIC_OP_COPY_INVERTED :: LogicOp
pattern LOGIC_OP_OR_INVERTED :: LogicOp
pattern LOGIC_OP_NAND :: LogicOp
pattern LOGIC_OP_SET :: LogicOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.LogicOp.LogicOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.LogicOp.LogicOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.LogicOp.LogicOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.LogicOp.LogicOp
instance GHC.Show.Show Vulkan.Core10.Enums.LogicOp.LogicOp
instance GHC.Read.Read Vulkan.Core10.Enums.LogicOp.LogicOp
module Vulkan.Core10.Enums.InternalAllocationType
-- | VkInternalAllocationType - Allocation type
--
-- See Also
--
-- PFN_vkInternalAllocationNotification,
-- PFN_vkInternalFreeNotification, VK_VERSION_1_0
newtype InternalAllocationType
InternalAllocationType :: Int32 -> InternalAllocationType
-- | INTERNAL_ALLOCATION_TYPE_EXECUTABLE specifies that the
-- allocation is intended for execution by the host.
pattern INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: InternalAllocationType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
instance GHC.Classes.Ord Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
instance GHC.Classes.Eq Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
instance GHC.Show.Show Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
instance GHC.Read.Read Vulkan.Core10.Enums.InternalAllocationType.InternalAllocationType
module Vulkan.Core10.FuncPointers
-- | PFN_vkInternalAllocationNotification - Application-defined memory
-- allocation notification function
--
-- Description
--
-- This is a purely informational callback.
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification
type FN_vkInternalAllocationNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO ()
-- | PFN_vkInternalFreeNotification - Application-defined memory free
-- notification function
--
-- Description
--
--
-- described link:https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-host-allocation-scope[here^].
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkInternalFreeNotification = FunPtr FN_vkInternalFreeNotification
type FN_vkInternalFreeNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO ()
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkReallocationFunction = FunPtr FN_vkReallocationFunction
type FN_vkReallocationFunction = ("pUserData" ::: Ptr ()) -> ("pOriginal" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ())
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkAllocationFunction = FunPtr FN_vkAllocationFunction
type FN_vkAllocationFunction = ("pUserData" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ())
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkFreeFunction = FunPtr FN_vkFreeFunction
type FN_vkFreeFunction = ("pUserData" ::: Ptr ()) -> ("pMemory" ::: Ptr ()) -> IO ()
-- | PFN_vkVoidFunction - Placeholder function pointer type returned by
-- queries
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceProcAddr,
-- getInstanceProcAddr
type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction
type FN_vkVoidFunction = () -> IO ()
module Vulkan.Core10.Enums.InstanceCreateFlags
-- | VkInstanceCreateFlags - Reserved for future use
--
-- Description
--
-- InstanceCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, InstanceCreateInfo
newtype InstanceCreateFlags
InstanceCreateFlags :: Flags -> InstanceCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags
module Vulkan.Core10.Enums.IndexType
-- | VkIndexType - Type of index buffer indices
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- BindIndexBufferIndirectCommandNV, GeometryTrianglesNV,
-- IndirectCommandsLayoutTokenNV, cmdBindIndexBuffer
newtype IndexType
IndexType :: Int32 -> IndexType
-- | INDEX_TYPE_UINT16 specifies that indices are 16-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT16 :: IndexType
-- | INDEX_TYPE_UINT32 specifies that indices are 32-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT32 :: IndexType
-- | INDEX_TYPE_UINT8_EXT specifies that indices are 8-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT8_EXT :: IndexType
-- | INDEX_TYPE_NONE_KHR specifies that no indices are provided.
pattern INDEX_TYPE_NONE_KHR :: IndexType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.IndexType.IndexType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.IndexType.IndexType
instance GHC.Classes.Ord Vulkan.Core10.Enums.IndexType.IndexType
instance GHC.Classes.Eq Vulkan.Core10.Enums.IndexType.IndexType
instance GHC.Show.Show Vulkan.Core10.Enums.IndexType.IndexType
instance GHC.Read.Read Vulkan.Core10.Enums.IndexType.IndexType
module Vulkan.Core10.Enums.ImageViewType
-- | VkImageViewType - Image view types
--
-- See Also
--
-- VK_VERSION_1_0, ImageViewCreateInfo,
-- PhysicalDeviceImageViewImageFormatInfoEXT
newtype ImageViewType
ImageViewType :: Int32 -> ImageViewType
pattern IMAGE_VIEW_TYPE_1D :: ImageViewType
pattern IMAGE_VIEW_TYPE_2D :: ImageViewType
pattern IMAGE_VIEW_TYPE_3D :: ImageViewType
pattern IMAGE_VIEW_TYPE_CUBE :: ImageViewType
pattern IMAGE_VIEW_TYPE_1D_ARRAY :: ImageViewType
pattern IMAGE_VIEW_TYPE_2D_ARRAY :: ImageViewType
pattern IMAGE_VIEW_TYPE_CUBE_ARRAY :: ImageViewType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageViewType.ImageViewType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageViewType.ImageViewType
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageViewType.ImageViewType
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageViewType.ImageViewType
instance GHC.Show.Show Vulkan.Core10.Enums.ImageViewType.ImageViewType
instance GHC.Read.Read Vulkan.Core10.Enums.ImageViewType.ImageViewType
module Vulkan.Core10.Enums.ImageViewCreateFlagBits
type ImageViewCreateFlags = ImageViewCreateFlagBits
-- | VkImageViewCreateFlagBits - Bitmask specifying additional parameters
-- of an image view
--
-- See Also
--
-- VK_VERSION_1_0, ImageViewCreateFlags
newtype ImageViewCreateFlagBits
ImageViewCreateFlagBits :: Flags -> ImageViewCreateFlagBits
-- | IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
-- specifies that the fragment density map will be read by the host
-- during endCommandBuffer for the primary command buffer that the
-- render pass is recorded into
pattern IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT :: ImageViewCreateFlagBits
-- | IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
-- specifies that the fragment density map will be read by device during
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
pattern IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT :: ImageViewCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits
module Vulkan.Core10.Enums.ImageUsageFlagBits
type ImageUsageFlags = ImageUsageFlagBits
-- | VkImageUsageFlagBits - Bitmask specifying intended usage of an image
--
-- See Also
--
-- VK_VERSION_1_0, ImageUsageFlags
newtype ImageUsageFlagBits
ImageUsageFlagBits :: Flags -> ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSFER_SRC_BIT specifies that the image
-- can be used as the source of a transfer command.
pattern IMAGE_USAGE_TRANSFER_SRC_BIT :: ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSFER_DST_BIT specifies that the image
-- can be used as the destination of a transfer command.
pattern IMAGE_USAGE_TRANSFER_DST_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_SAMPLED_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_STORAGE_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_COLOR_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_DEPTH_STENCIL_ATTACHMENT_BIT :: ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT specifies that
-- implementations may support using memory allocations
-- with the MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT to back an image
-- with this usage. 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_TRANSIENT_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_INPUT_ATTACHMENT_BIT :: ImageUsageFlagBits
pattern IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI :: ImageUsageFlagBits
-- | IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR specifies
-- that the image can be used to create a ImageView
-- suitable for use as a fragment shading rate attachment or
-- shading rate image
pattern IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: ImageUsageFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlagBits
module Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage
-- | VkImageStencilUsageCreateInfo - Specify separate usage flags for the
-- stencil aspect of a depth-stencil image
--
-- Description
--
-- If the pNext chain of ImageCreateInfo includes a
-- ImageStencilUsageCreateInfo structure, then that structure
-- includes the usage flags specific to the stencil aspect of the image
-- for an image with a depth-stencil format.
--
-- This structure specifies image usages which only apply to the stencil
-- aspect of a depth/stencil format image. When this structure is
-- included in the pNext chain of ImageCreateInfo, the
-- stencil aspect of the image must only be used as specified by
-- stencilUsage. When this structure is not included in the
-- pNext chain of ImageCreateInfo, the stencil aspect of
-- an image must only be used as specified by
-- ImageCreateInfo::usage. Use of other aspects of an
-- image are unaffected by this structure.
--
-- This structure can also be included in the pNext chain
-- of PhysicalDeviceImageFormatInfo2 to query additional
-- capabilities specific to image creation parameter combinations
-- including a separate set of usage flags for the stencil aspect of the
-- image using getPhysicalDeviceImageFormatProperties2. When this
-- structure is not included in the pNext chain of
-- PhysicalDeviceImageFormatInfo2 then the implicit value of
-- stencilUsage matches that of
-- PhysicalDeviceImageFormatInfo2::usage.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - stencilUsage must be a valid combination of
-- ImageUsageFlagBits values
-- - stencilUsage must not be 0
--
--
-- See Also
--
-- VK_EXT_separate_stencil_usage, VK_VERSION_1_2,
-- ImageUsageFlags, StructureType
data ImageStencilUsageCreateInfo
ImageStencilUsageCreateInfo :: ImageUsageFlags -> ImageStencilUsageCreateInfo
-- | stencilUsage is a bitmask of ImageUsageFlagBits
-- describing the intended usage of the stencil aspect of the image.
[$sel:stencilUsage:ImageStencilUsageCreateInfo] :: ImageStencilUsageCreateInfo -> ImageUsageFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo
-- | Name
--
-- VK_EXT_separate_stencil_usage - device extension
--
-- VK_EXT_separate_stencil_usage
--
--
-- - Name String
-- VK_EXT_separate_stencil_usage
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 247
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-11-08
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - IP Status No known IP claims.
-- - Contributors
- Daniel Rakos,
-- AMD
- Jordan Logan, AMD
--
--
-- Description
--
-- This extension allows specifying separate usage flags for the stencil
-- aspect of images with a depth-stencil format at image creation time.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the EXT suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-11-08 (Daniel Rakos)
--
--
-- See Also
--
-- ImageStencilUsageCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_separate_stencil_usage
pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT :: StructureType
type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo
type EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION = 1
pattern EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION :: forall a. Integral a => a
type EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_usage"
pattern EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.ImageType
-- | VkImageType - Specifies the type of an image object
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype ImageType
ImageType :: Int32 -> ImageType
-- | IMAGE_TYPE_1D specifies a one-dimensional image.
pattern IMAGE_TYPE_1D :: ImageType
-- | IMAGE_TYPE_2D specifies a two-dimensional image.
pattern IMAGE_TYPE_2D :: ImageType
-- | IMAGE_TYPE_3D specifies a three-dimensional image.
pattern IMAGE_TYPE_3D :: ImageType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageType.ImageType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageType.ImageType
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageType.ImageType
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageType.ImageType
instance GHC.Show.Show Vulkan.Core10.Enums.ImageType.ImageType
instance GHC.Read.Read Vulkan.Core10.Enums.ImageType.ImageType
module Vulkan.Core10.Enums.ImageTiling
-- | VkImageTiling - Specifies the tiling arrangement of data in an image
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype ImageTiling
ImageTiling :: Int32 -> ImageTiling
-- | IMAGE_TILING_OPTIMAL specifies optimal tiling (texels are laid
-- out in an implementation-dependent arrangement, for more efficient
-- memory access).
pattern IMAGE_TILING_OPTIMAL :: 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_LINEAR :: 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.
pattern IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: ImageTiling
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageTiling.ImageTiling
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageTiling.ImageTiling
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageTiling.ImageTiling
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageTiling.ImageTiling
instance GHC.Show.Show Vulkan.Core10.Enums.ImageTiling.ImageTiling
instance GHC.Read.Read Vulkan.Core10.Enums.ImageTiling.ImageTiling
module Vulkan.Core10.Enums.ImageLayout
-- | VkImageLayout - Layout of image and image subresources
--
-- Description
--
-- The type(s) of device access supported by each layout are:
--
-- The layout of each image subresource is not a state of the image
-- subresource itself, but is rather a property of how the data in memory
-- is organized, and thus for each mechanism of accessing an image in the
-- API the application must specify a parameter or structure
-- member that indicates which image layout the image subresource(s) are
-- considered to be in when the image will be accessed. For transfer
-- commands, this is a parameter to the command (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies).
-- For use as a framebuffer attachment, this is a member in the
-- substructures of the RenderPassCreateInfo (see Render
-- Pass). For use in a descriptor set, this is a member in the
-- DescriptorImageInfo structure (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates).
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout, AttachmentReference,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DescriptorImageInfo, ImageCreateInfo,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- ResolveImageInfo2KHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, cmdBlitImage,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- cmdCopyBufferToImage, cmdCopyImage,
-- cmdCopyImageToBuffer, cmdResolveImage
newtype ImageLayout
ImageLayout :: Int32 -> ImageLayout
-- | IMAGE_LAYOUT_UNDEFINED specifies that the layout is unknown.
-- Image memory cannot be transitioned into this layout. This
-- layout can be used as the initialLayout member of
-- ImageCreateInfo. This layout can be used in place of the
-- current image layout in a layout transition, but doing so will cause
-- the contents of the image’s memory to be undefined.
pattern IMAGE_LAYOUT_UNDEFINED :: ImageLayout
-- | IMAGE_LAYOUT_GENERAL supports all types of device access.
pattern IMAGE_LAYOUT_GENERAL :: ImageLayout
-- | IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL must only be used
-- as a color or resolve attachment in a Framebuffer. This layout
-- is valid only for image subresources of images created with the
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT usage bit enabled.
pattern IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL specifies a
-- layout for both the depth and stencil aspects of a depth/stencil
-- format image allowing read and write access as a depth/stencil
-- attachment. It is equivalent to
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL specifies a layout
-- for both the depth and stencil aspects of a depth/stencil format image
-- allowing read only access as a depth/stencil attachment or in shaders
-- as a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL specifies a layout
-- allowing read-only access in a shader as a sampled image, combined
-- image/sampler, or input attachment. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT usage bits enabled.
pattern IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL must only be used as a
-- source image of a transfer command (see the definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL must only be used as a
-- destination image of a transfer command. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_PREINITIALIZED specifies that an image’s memory is
-- in a defined layout and can be populated by data, but that it
-- has not yet been initialized by the driver. Image memory cannot
-- be transitioned into this layout. This layout can be used as
-- the initialLayout member of ImageCreateInfo. This
-- layout is intended to be used as the initial layout for an image whose
-- contents are written by the host, and hence the data can be
-- written to memory immediately, without first executing a layout
-- transition. Currently, IMAGE_LAYOUT_PREINITIALIZED is only
-- useful with linear images because there is not a standard
-- layout defined for IMAGE_TILING_OPTIMAL images.
pattern IMAGE_LAYOUT_PREINITIALIZED :: ImageLayout
-- | IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR specifies a layout that
-- must only be used with attachment accesses in the graphics
-- pipeline.
pattern IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR specifies a layout allowing
-- read only access as an attachment, or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- must only be used as a fragment shading rate attachment
-- or shading rate image. This layout is valid only for image
-- subresources of images created with the
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT must only
-- be used as a fragment density map attachment in a RenderPass.
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT :: ImageLayout
-- | IMAGE_LAYOUT_SHARED_PRESENT_KHR is valid only for shared
-- presentable images, and must be used for any usage the image
-- supports.
pattern IMAGE_LAYOUT_SHARED_PRESENT_KHR :: ImageLayout
-- | IMAGE_LAYOUT_PRESENT_SRC_KHR must only be used for
-- presenting a presentable image for display. A swapchain’s image
-- must be transitioned to this layout before calling
-- queuePresentKHR, and must be transitioned away from this
-- layout after calling acquireNextImageKHR.
pattern IMAGE_LAYOUT_PRESENT_SRC_KHR :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read-only
-- access as a stencil attachment or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read and
-- write access as a stencil attachment.
pattern IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL specifies a layout for the
-- depth aspect of a depth/stencil format image allowing read-only access
-- as a depth attachment or in shaders as a sampled image, combined
-- image/sampler, or input attachment.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL specifies a layout for
-- the depth aspect of a depth/stencil format image allowing read and
-- write access as a depth attachment.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the depth aspect as a depth attachment, and read only
-- access to the stencil aspect as a stencil attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the stencil aspect as a stencil attachment, and read
-- only access to the depth aspect as a depth attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageLayout.ImageLayout
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageLayout.ImageLayout
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageLayout.ImageLayout
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageLayout.ImageLayout
instance GHC.Show.Show Vulkan.Core10.Enums.ImageLayout.ImageLayout
instance GHC.Read.Read Vulkan.Core10.Enums.ImageLayout.ImageLayout
module Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts
-- | VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures - Structure
-- describing whether the implementation can do depth and stencil image
-- barriers separately
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_separate_depth_stencil_layouts, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceSeparateDepthStencilLayoutsFeatures
PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: Bool -> PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-- | separateDepthStencilLayouts indicates whether the
-- implementation supports a ImageMemoryBarrier for a
-- depth/stencil image with only one of IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT set, and whether
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL can be used.
[$sel:separateDepthStencilLayouts:PhysicalDeviceSeparateDepthStencilLayoutsFeatures] :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures -> Bool
-- | VkAttachmentReferenceStencilLayout - Structure specifying an
-- attachment description
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_separate_depth_stencil_layouts, VK_VERSION_1_2,
-- ImageLayout, StructureType
data AttachmentReferenceStencilLayout
AttachmentReferenceStencilLayout :: ImageLayout -> AttachmentReferenceStencilLayout
-- | stencilLayout is a ImageLayout value specifying the
-- layout the stencil aspect of the attachment uses during the subpass.
--
-- stencilLayout must not be
-- IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_PREINITIALIZED,
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_PRESENT_SRC_KHR
--
-- stencilLayout must be a valid ImageLayout value
[$sel:stencilLayout:AttachmentReferenceStencilLayout] :: AttachmentReferenceStencilLayout -> ImageLayout
-- | VkAttachmentDescriptionStencilLayout - Structure specifying an
-- attachment description
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_separate_depth_stencil_layouts, VK_VERSION_1_2,
-- ImageLayout, StructureType
data AttachmentDescriptionStencilLayout
AttachmentDescriptionStencilLayout :: ImageLayout -> ImageLayout -> AttachmentDescriptionStencilLayout
-- | stencilInitialLayout is the layout the stencil aspect of the
-- attachment image subresource will be in when a render pass instance
-- begins.
--
-- stencilInitialLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
--
-- stencilInitialLayout must be a valid
-- ImageLayout value
[$sel:stencilInitialLayout:AttachmentDescriptionStencilLayout] :: AttachmentDescriptionStencilLayout -> ImageLayout
-- | stencilFinalLayout is the layout the stencil aspect of the
-- attachment image subresource will be transitioned to when a render
-- pass instance ends.
--
-- stencilFinalLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
--
-- stencilFinalLayout must not be
-- IMAGE_LAYOUT_UNDEFINED or IMAGE_LAYOUT_PREINITIALIZED
--
-- stencilFinalLayout must be a valid ImageLayout
-- value
[$sel:stencilFinalLayout:AttachmentDescriptionStencilLayout] :: AttachmentDescriptionStencilLayout -> ImageLayout
-- | VkImageLayout - Layout of image and image subresources
--
-- Description
--
-- The type(s) of device access supported by each layout are:
--
-- The layout of each image subresource is not a state of the image
-- subresource itself, but is rather a property of how the data in memory
-- is organized, and thus for each mechanism of accessing an image in the
-- API the application must specify a parameter or structure
-- member that indicates which image layout the image subresource(s) are
-- considered to be in when the image will be accessed. For transfer
-- commands, this is a parameter to the command (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies).
-- For use as a framebuffer attachment, this is a member in the
-- substructures of the RenderPassCreateInfo (see Render
-- Pass). For use in a descriptor set, this is a member in the
-- DescriptorImageInfo structure (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates).
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout, AttachmentReference,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DescriptorImageInfo, ImageCreateInfo,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- ResolveImageInfo2KHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, cmdBlitImage,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- cmdCopyBufferToImage, cmdCopyImage,
-- cmdCopyImageToBuffer, cmdResolveImage
newtype ImageLayout
ImageLayout :: Int32 -> ImageLayout
-- | IMAGE_LAYOUT_UNDEFINED specifies that the layout is unknown.
-- Image memory cannot be transitioned into this layout. This
-- layout can be used as the initialLayout member of
-- ImageCreateInfo. This layout can be used in place of the
-- current image layout in a layout transition, but doing so will cause
-- the contents of the image’s memory to be undefined.
pattern IMAGE_LAYOUT_UNDEFINED :: ImageLayout
-- | IMAGE_LAYOUT_GENERAL supports all types of device access.
pattern IMAGE_LAYOUT_GENERAL :: ImageLayout
-- | IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL must only be used
-- as a color or resolve attachment in a Framebuffer. This layout
-- is valid only for image subresources of images created with the
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT usage bit enabled.
pattern IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL specifies a
-- layout for both the depth and stencil aspects of a depth/stencil
-- format image allowing read and write access as a depth/stencil
-- attachment. It is equivalent to
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL specifies a layout
-- for both the depth and stencil aspects of a depth/stencil format image
-- allowing read only access as a depth/stencil attachment or in shaders
-- as a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL specifies a layout
-- allowing read-only access in a shader as a sampled image, combined
-- image/sampler, or input attachment. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT usage bits enabled.
pattern IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL must only be used as a
-- source image of a transfer command (see the definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL must only be used as a
-- destination image of a transfer command. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_PREINITIALIZED specifies that an image’s memory is
-- in a defined layout and can be populated by data, but that it
-- has not yet been initialized by the driver. Image memory cannot
-- be transitioned into this layout. This layout can be used as
-- the initialLayout member of ImageCreateInfo. This
-- layout is intended to be used as the initial layout for an image whose
-- contents are written by the host, and hence the data can be
-- written to memory immediately, without first executing a layout
-- transition. Currently, IMAGE_LAYOUT_PREINITIALIZED is only
-- useful with linear images because there is not a standard
-- layout defined for IMAGE_TILING_OPTIMAL images.
pattern IMAGE_LAYOUT_PREINITIALIZED :: ImageLayout
-- | IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR specifies a layout that
-- must only be used with attachment accesses in the graphics
-- pipeline.
pattern IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR specifies a layout allowing
-- read only access as an attachment, or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- must only be used as a fragment shading rate attachment
-- or shading rate image. This layout is valid only for image
-- subresources of images created with the
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT must only
-- be used as a fragment density map attachment in a RenderPass.
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT :: ImageLayout
-- | IMAGE_LAYOUT_SHARED_PRESENT_KHR is valid only for shared
-- presentable images, and must be used for any usage the image
-- supports.
pattern IMAGE_LAYOUT_SHARED_PRESENT_KHR :: ImageLayout
-- | IMAGE_LAYOUT_PRESENT_SRC_KHR must only be used for
-- presenting a presentable image for display. A swapchain’s image
-- must be transitioned to this layout before calling
-- queuePresentKHR, and must be transitioned away from this
-- layout after calling acquireNextImageKHR.
pattern IMAGE_LAYOUT_PRESENT_SRC_KHR :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read-only
-- access as a stencil attachment or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read and
-- write access as a stencil attachment.
pattern IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL specifies a layout for the
-- depth aspect of a depth/stencil format image allowing read-only access
-- as a depth attachment or in shaders as a sampled image, combined
-- image/sampler, or input attachment.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL specifies a layout for
-- the depth aspect of a depth/stencil format image allowing read and
-- write access as a depth attachment.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the depth aspect as a depth attachment, and read only
-- access to the stencil aspect as a stencil attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the stencil aspect as a stencil attachment, and read
-- only access to the depth aspect as a depth attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentReferenceStencilLayout
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-- | Name
--
-- VK_KHR_separate_depth_stencil_layouts - device extension
--
-- VK_KHR_separate_depth_stencil_layouts
--
--
-- - Name String
-- VK_KHR_separate_depth_stencil_layouts
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 242
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_create_renderpass2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-25
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Jesse Barker,
-- Unity
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension allows image memory barriers for depth/stencil images
-- to have just one of the IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT aspect bits set, rather than require
-- both. This allows their layouts to be set independently. To support
-- depth/stencil images with different layouts for the depth and stencil
-- aspects, the depth/stencil attachment interface has been updated to
-- support a separate layout for stencil.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-06-25 (Piers Daniell)
--
--
-- See Also
--
-- AttachmentDescriptionStencilLayoutKHR,
-- AttachmentReferenceStencilLayoutKHR,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR :: StructureType
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR :: ImageLayout
pattern IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
pattern IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR :: ImageLayout
type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures
type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout
type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout
type KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1
pattern KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION :: forall a. Integral a => a
type KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts"
pattern KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits
module Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2
-- | VkBindBufferMemoryDeviceGroupInfo - Structure specifying device within
-- a group to bind to
--
-- Description
--
-- If the pNext chain of BindBufferMemoryInfo includes a
-- BindBufferMemoryDeviceGroupInfo structure, then that structure
-- determines how memory is bound to buffers across multiple devices in a
-- device group.
--
-- If deviceIndexCount is greater than zero, then on device
-- index i the buffer is attached to the instance of memory on
-- the physical device with device index pDeviceIndices[i].
--
-- If deviceIndexCount is zero and memory comes from a
-- memory heap with the MEMORY_HEAP_MULTI_INSTANCE_BIT bit set,
-- then it is as if pDeviceIndices contains consecutive indices
-- from zero to the number of physical devices in the logical device,
-- minus one. In other words, by default each physical device attaches to
-- its own instance of memory.
--
-- If deviceIndexCount is zero and memory comes from a
-- memory heap without the MEMORY_HEAP_MULTI_INSTANCE_BIT bit set,
-- then it is as if pDeviceIndices contains an array of zeros.
-- In other words, by default each physical device attaches to instance
-- zero.
--
-- Valid Usage
--
--
-- - deviceIndexCount must either be zero or equal to
-- the number of physical devices in the logical device
--
--
--
-- - All elements of pDeviceIndices must be valid
-- device indices
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If deviceIndexCount is not 0,
-- pDeviceIndices must be a valid pointer to an array of
-- deviceIndexCount uint32_t values
--
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data BindBufferMemoryDeviceGroupInfo
BindBufferMemoryDeviceGroupInfo :: Vector Word32 -> BindBufferMemoryDeviceGroupInfo
-- | pDeviceIndices is a pointer to an array of device indices.
[$sel:deviceIndices:BindBufferMemoryDeviceGroupInfo] :: BindBufferMemoryDeviceGroupInfo -> Vector Word32
-- | VkBindImageMemoryDeviceGroupInfo - Structure specifying device within
-- a group to bind to
--
-- Description
--
-- If the pNext chain of BindImageMemoryInfo includes a
-- BindImageMemoryDeviceGroupInfo structure, then that structure
-- determines how memory is bound to images across multiple devices in a
-- device group.
--
-- If deviceIndexCount is greater than zero, then on device
-- index i image is attached to the instance of the memory on
-- the physical device with device index pDeviceIndices[i].
--
-- Let N be the number of physical devices in the logical device. If
-- splitInstanceBindRegionCount is greater than zero, then
-- pSplitInstanceBindRegions is a pointer to an array of N2
-- rectangles, where the image region specified by the rectangle at
-- element i*N+j in resource instance i is bound to the memory instance
-- j. The blocks of the memory that are bound to each sparse image block
-- region use an offset in memory, relative to memoryOffset,
-- computed as if the whole image was being bound to a contiguous range
-- of memory. In other words, horizontally adjacent image blocks use
-- consecutive blocks of memory, vertically adjacent image blocks are
-- separated by the number of bytes per block multiplied by the width in
-- blocks of image, and the block at (0,0) corresponds to memory
-- starting at memoryOffset.
--
-- If splitInstanceBindRegionCount and deviceIndexCount
-- are zero and the memory comes from a memory heap with the
-- MEMORY_HEAP_MULTI_INSTANCE_BIT bit set, then it is as if
-- pDeviceIndices contains consecutive indices from zero to the
-- number of physical devices in the logical device, minus one. In other
-- words, by default each physical device attaches to its own instance of
-- the memory.
--
-- If splitInstanceBindRegionCount and deviceIndexCount
-- are zero and the memory comes from a memory heap without the
-- MEMORY_HEAP_MULTI_INSTANCE_BIT bit set, then it is as if
-- pDeviceIndices contains an array of zeros. In other words, by
-- default each physical device attaches to instance zero.
--
-- Valid Usage
--
--
-- - At least one of deviceIndexCount and
-- splitInstanceBindRegionCount must be zero
--
--
--
-- - deviceIndexCount must either be zero or equal to
-- the number of physical devices in the logical device
-- - All elements of pDeviceIndices must be valid
-- device indices
-- - splitInstanceBindRegionCount must either be zero
-- or equal to the number of physical devices in the logical device
-- squared
-- - Elements of pSplitInstanceBindRegions that correspond to
-- the same instance of an image must not overlap
-- - The offset.x member of any element of
-- pSplitInstanceBindRegions must be a multiple of the
-- sparse image block width
-- (SparseImageFormatProperties::imageGranularity.width)
-- of all non-metadata aspects of the image
-- - The offset.y member of any element of
-- pSplitInstanceBindRegions must be a multiple of the
-- sparse image block height
-- (SparseImageFormatProperties::imageGranularity.height)
-- of all non-metadata aspects of the image
-- - The extent.width member of any element of
-- pSplitInstanceBindRegions must either be a multiple of
-- the sparse image block width of all non-metadata aspects of the image,
-- or else extent.width + offset.x must equal
-- the width of the image subresource
-- - The extent.height member of any element of
-- pSplitInstanceBindRegions must either be a multiple of
-- the sparse image block height of all non-metadata aspects of the
-- image, or else extent.height + offset.y must
-- equal the height of the image subresource
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If deviceIndexCount is not 0,
-- pDeviceIndices must be a valid pointer to an array of
-- deviceIndexCount uint32_t values
-- - If splitInstanceBindRegionCount is not 0,
-- pSplitInstanceBindRegions must be a valid pointer to
-- an array of splitInstanceBindRegionCount Rect2D
-- structures
--
--
-- See Also
--
-- VK_VERSION_1_1, Rect2D, StructureType
data BindImageMemoryDeviceGroupInfo
BindImageMemoryDeviceGroupInfo :: Vector Word32 -> Vector Rect2D -> BindImageMemoryDeviceGroupInfo
-- | pDeviceIndices is a pointer to an array of device indices.
[$sel:deviceIndices:BindImageMemoryDeviceGroupInfo] :: BindImageMemoryDeviceGroupInfo -> Vector Word32
-- | pSplitInstanceBindRegions is a pointer to an array of
-- Rect2D structures describing which regions of the image are
-- attached to each instance of memory.
[$sel:splitInstanceBindRegions:BindImageMemoryDeviceGroupInfo] :: BindImageMemoryDeviceGroupInfo -> Vector Rect2D
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo
module Vulkan.Core10.Enums.ImageAspectFlagBits
type ImageAspectFlags = ImageAspectFlagBits
-- | VkImageAspectFlagBits - Bitmask specifying which aspects of an image
-- are included in a view
--
-- See Also
--
-- VK_VERSION_1_0, BindImagePlaneMemoryInfo,
-- DeviceImageMemoryRequirementsKHR, ImageAspectFlags,
-- ImagePlaneMemoryRequirementsInfo
newtype ImageAspectFlagBits
ImageAspectFlagBits :: Flags -> ImageAspectFlagBits
-- | IMAGE_ASPECT_COLOR_BIT specifies the color aspect.
pattern IMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_DEPTH_BIT specifies the depth aspect.
pattern IMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_STENCIL_BIT specifies the stencil aspect.
pattern IMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_METADATA_BIT specifies the metadata aspect, used
-- for sparse resource operations.
pattern IMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_NONE_KHR specifies no image aspect, or the image
-- aspect is not applicable.
pattern IMAGE_ASPECT_NONE_KHR :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT specifies memory
-- plane 3.
pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT specifies memory
-- plane 2.
pattern IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT specifies memory
-- plane 1.
pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT specifies memory
-- plane 0.
pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_2_BIT specifies plane 2 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_1_BIT specifies plane 1 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_0_BIT specifies plane 0 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits
module Vulkan.Core11.Promoted_From_VK_KHR_maintenance2
-- | VkInputAttachmentAspectReference - Structure specifying a
-- subpass/input attachment pair and an aspect mask that can be
-- read.
--
-- Description
--
-- This structure specifies an aspect mask for a specific input
-- attachment of a specific subpass in the render pass.
--
-- subpass and inputAttachmentIndex index into the
-- render pass as:
--
--
-- pCreateInfo->pSubpasses[subpass].pInputAttachments[inputAttachmentIndex]
--
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ImageAspectFlags,
-- RenderPassInputAttachmentAspectCreateInfo
data InputAttachmentAspectReference
InputAttachmentAspectReference :: Word32 -> Word32 -> ImageAspectFlags -> InputAttachmentAspectReference
-- | subpass is an index into the pSubpasses array of the
-- parent RenderPassCreateInfo structure.
[$sel:subpass:InputAttachmentAspectReference] :: InputAttachmentAspectReference -> Word32
-- | inputAttachmentIndex is an index into the
-- pInputAttachments of the specified subpass.
[$sel:inputAttachmentIndex:InputAttachmentAspectReference] :: InputAttachmentAspectReference -> Word32
-- | aspectMask is a mask of which aspect(s) can be
-- accessed within the specified subpass.
--
-- aspectMask must not include
-- IMAGE_ASPECT_METADATA_BIT
--
-- aspectMask must not include
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index i
--
-- aspectMask must be a valid combination of
-- ImageAspectFlagBits values
--
-- aspectMask must not be 0
[$sel:aspectMask:InputAttachmentAspectReference] :: InputAttachmentAspectReference -> ImageAspectFlags
-- | VkRenderPassInputAttachmentAspectCreateInfo - Structure specifying,
-- for a given subpass/input attachment pair, which aspect can be
-- read.
--
-- Description
--
-- To specify which aspects of an input attachment can be read,
-- add a RenderPassInputAttachmentAspectCreateInfo structure to
-- the pNext chain of the RenderPassCreateInfo structure:
--
-- An application can access any aspect of an input attachment
-- that does not have a specified aspect mask in the
-- pAspectReferences array. Otherwise, an application
-- must not access aspect(s) of an input attachment other than
-- those in its specified aspect mask.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, InputAttachmentAspectReference,
-- StructureType
data RenderPassInputAttachmentAspectCreateInfo
RenderPassInputAttachmentAspectCreateInfo :: Vector InputAttachmentAspectReference -> RenderPassInputAttachmentAspectCreateInfo
-- | pAspectReferences is a pointer to an array of
-- aspectReferenceCount InputAttachmentAspectReference
-- structures containing a mask describing which aspect(s) can be
-- accessed for a given input attachment within a given subpass.
--
-- pAspectReferences must be a valid pointer to an array
-- of aspectReferenceCount valid
-- InputAttachmentAspectReference structures
[$sel:aspectReferences:RenderPassInputAttachmentAspectCreateInfo] :: RenderPassInputAttachmentAspectCreateInfo -> Vector InputAttachmentAspectReference
-- | VkPhysicalDevicePointClippingProperties - Structure describing the
-- point clipping behavior supported by an implementation
--
-- Description
--
-- If the PhysicalDevicePointClippingProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, PointClippingBehavior,
-- StructureType
data PhysicalDevicePointClippingProperties
PhysicalDevicePointClippingProperties :: PointClippingBehavior -> PhysicalDevicePointClippingProperties
-- | pointClippingBehavior is a PointClippingBehavior value
-- specifying the point clipping behavior supported by the
-- implementation.
[$sel:pointClippingBehavior:PhysicalDevicePointClippingProperties] :: PhysicalDevicePointClippingProperties -> PointClippingBehavior
-- | VkImageViewUsageCreateInfo - Specify the intended usage of an image
-- view
--
-- Description
--
-- When this structure is chained to ImageViewCreateInfo the
-- usage field overrides the implicit usage parameter
-- inherited from image creation time and its value is used instead for
-- the purposes of determining the valid usage conditions of
-- ImageViewCreateInfo.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ImageUsageFlags, StructureType
data ImageViewUsageCreateInfo
ImageViewUsageCreateInfo :: ImageUsageFlags -> ImageViewUsageCreateInfo
-- | usage is a bitmask of ImageUsageFlagBits specifying
-- allowed usages of the image view.
--
-- usage must be a valid combination of
-- ImageUsageFlagBits values
--
-- usage must not be 0
[$sel:usage:ImageViewUsageCreateInfo] :: ImageViewUsageCreateInfo -> ImageUsageFlags
-- | VkPipelineTessellationDomainOriginStateCreateInfo - Structure
-- specifying the orientation of the tessellation domain
--
-- Description
--
-- If the PipelineTessellationDomainOriginStateCreateInfo
-- structure is included in the pNext chain of
-- PipelineTessellationStateCreateInfo, it controls the origin of
-- the tessellation domain. If this structure is not present, it is as if
-- domainOrigin was
-- TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, StructureType,
-- TessellationDomainOrigin
data PipelineTessellationDomainOriginStateCreateInfo
PipelineTessellationDomainOriginStateCreateInfo :: TessellationDomainOrigin -> PipelineTessellationDomainOriginStateCreateInfo
-- | domainOrigin is a TessellationDomainOrigin value
-- controlling the origin of the tessellation domain space.
--
-- domainOrigin must be a valid
-- TessellationDomainOrigin value
[$sel:domainOrigin:PipelineTessellationDomainOriginStateCreateInfo] :: PipelineTessellationDomainOriginStateCreateInfo -> TessellationDomainOrigin
-- | VkImageLayout - Layout of image and image subresources
--
-- Description
--
-- The type(s) of device access supported by each layout are:
--
-- The layout of each image subresource is not a state of the image
-- subresource itself, but is rather a property of how the data in memory
-- is organized, and thus for each mechanism of accessing an image in the
-- API the application must specify a parameter or structure
-- member that indicates which image layout the image subresource(s) are
-- considered to be in when the image will be accessed. For transfer
-- commands, this is a parameter to the command (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies).
-- For use as a framebuffer attachment, this is a member in the
-- substructures of the RenderPassCreateInfo (see Render
-- Pass). For use in a descriptor set, this is a member in the
-- DescriptorImageInfo structure (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates).
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout, AttachmentReference,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DescriptorImageInfo, ImageCreateInfo,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- ResolveImageInfo2KHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, cmdBlitImage,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- cmdCopyBufferToImage, cmdCopyImage,
-- cmdCopyImageToBuffer, cmdResolveImage
newtype ImageLayout
ImageLayout :: Int32 -> ImageLayout
-- | IMAGE_LAYOUT_UNDEFINED specifies that the layout is unknown.
-- Image memory cannot be transitioned into this layout. This
-- layout can be used as the initialLayout member of
-- ImageCreateInfo. This layout can be used in place of the
-- current image layout in a layout transition, but doing so will cause
-- the contents of the image’s memory to be undefined.
pattern IMAGE_LAYOUT_UNDEFINED :: ImageLayout
-- | IMAGE_LAYOUT_GENERAL supports all types of device access.
pattern IMAGE_LAYOUT_GENERAL :: ImageLayout
-- | IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL must only be used
-- as a color or resolve attachment in a Framebuffer. This layout
-- is valid only for image subresources of images created with the
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT usage bit enabled.
pattern IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL specifies a
-- layout for both the depth and stencil aspects of a depth/stencil
-- format image allowing read and write access as a depth/stencil
-- attachment. It is equivalent to
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL specifies a layout
-- for both the depth and stencil aspects of a depth/stencil format image
-- allowing read only access as a depth/stencil attachment or in shaders
-- as a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL specifies a layout
-- allowing read-only access in a shader as a sampled image, combined
-- image/sampler, or input attachment. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT usage bits enabled.
pattern IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL must only be used as a
-- source image of a transfer command (see the definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL must only be used as a
-- destination image of a transfer command. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_PREINITIALIZED specifies that an image’s memory is
-- in a defined layout and can be populated by data, but that it
-- has not yet been initialized by the driver. Image memory cannot
-- be transitioned into this layout. This layout can be used as
-- the initialLayout member of ImageCreateInfo. This
-- layout is intended to be used as the initial layout for an image whose
-- contents are written by the host, and hence the data can be
-- written to memory immediately, without first executing a layout
-- transition. Currently, IMAGE_LAYOUT_PREINITIALIZED is only
-- useful with linear images because there is not a standard
-- layout defined for IMAGE_TILING_OPTIMAL images.
pattern IMAGE_LAYOUT_PREINITIALIZED :: ImageLayout
-- | IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR specifies a layout that
-- must only be used with attachment accesses in the graphics
-- pipeline.
pattern IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR specifies a layout allowing
-- read only access as an attachment, or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- must only be used as a fragment shading rate attachment
-- or shading rate image. This layout is valid only for image
-- subresources of images created with the
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT must only
-- be used as a fragment density map attachment in a RenderPass.
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT :: ImageLayout
-- | IMAGE_LAYOUT_SHARED_PRESENT_KHR is valid only for shared
-- presentable images, and must be used for any usage the image
-- supports.
pattern IMAGE_LAYOUT_SHARED_PRESENT_KHR :: ImageLayout
-- | IMAGE_LAYOUT_PRESENT_SRC_KHR must only be used for
-- presenting a presentable image for display. A swapchain’s image
-- must be transitioned to this layout before calling
-- queuePresentKHR, and must be transitioned away from this
-- layout after calling acquireNextImageKHR.
pattern IMAGE_LAYOUT_PRESENT_SRC_KHR :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read-only
-- access as a stencil attachment or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read and
-- write access as a stencil attachment.
pattern IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL specifies a layout for the
-- depth aspect of a depth/stencil format image allowing read-only access
-- as a depth attachment or in shaders as a sampled image, combined
-- image/sampler, or input attachment.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL specifies a layout for
-- the depth aspect of a depth/stencil format image allowing read and
-- write access as a depth attachment.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the depth aspect as a depth attachment, and read only
-- access to the stencil aspect as a stencil attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the stencil aspect as a stencil attachment, and read
-- only access to the depth aspect as a depth attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkPointClippingBehavior - Enum specifying the point clipping behavior
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevicePointClippingProperties,
-- PhysicalDeviceVulkan11Properties
newtype PointClippingBehavior
PointClippingBehavior :: Int32 -> PointClippingBehavior
-- | POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES specifies that the
-- primitive is discarded if the vertex lies outside any clip plane,
-- including the planes bounding the view volume.
pattern POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: PointClippingBehavior
-- | POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY specifies that
-- the primitive is discarded only if the vertex lies outside any user
-- clip plane.
pattern POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: PointClippingBehavior
-- | VkTessellationDomainOrigin - Enum describing tessellation domain
-- origin
--
-- Description
--
-- This enum affects how the VertexOrderCw and
-- VertexOrderCcw tessellation execution modes are interpreted,
-- since the winding is defined relative to the orientation of the
-- domain.
--
-- See Also
--
-- VK_VERSION_1_1,
-- PipelineTessellationDomainOriginStateCreateInfo
newtype TessellationDomainOrigin
TessellationDomainOrigin :: Int32 -> TessellationDomainOrigin
-- | TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT specifies that the origin
-- of the domain space is in the upper left corner, as shown in figure
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#img-tessellation-topology-ul.
pattern TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT :: TessellationDomainOrigin
-- | TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT specifies that the origin
-- of the domain space is in the lower left corner, as shown in figure
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#img-tessellation-topology-ll.
pattern TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT :: TessellationDomainOrigin
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.RenderPassInputAttachmentAspectCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.RenderPassInputAttachmentAspectCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.RenderPassInputAttachmentAspectCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.RenderPassInputAttachmentAspectCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference
-- | Name
--
-- VK_KHR_maintenance2 - device extension
--
-- VK_KHR_maintenance2
--
--
-- - Name String VK_KHR_maintenance2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 118
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Michael Worcester, Imagination
-- Technologies
- Stuart Smith, Imagination
-- Technologies
- Jeff Bolz, NVIDIA
- Daniel Koch,
-- NVIDIA
- Jan-Harald Fredriksen, ARM
- Daniel Rakos,
-- AMD
- Neil Henning, Codeplay
- Piers Daniell,
-- NVIDIA
--
--
-- Description
--
-- VK_KHR_maintenance2 adds a collection of minor features that
-- were intentionally left out or overlooked from the original Vulkan 1.0
-- release.
--
-- The new features are as follows:
--
--
-- - Allow the application to specify which aspect of an input
-- attachment might be read for a given subpass.
-- - Allow implementations to express the clipping behavior of
-- points.
-- - Allow creating images with usage flags that may not be supported
-- for the base image’s format, but are supported for image views of the
-- image that have a different but compatible format.
-- - Allow creating uncompressed image views of compressed images.
-- - Allow the application to select between an upper-left and
-- lower-left origin for the tessellation domain space.
-- - Adds two new image layouts for depth stencil images to allow
-- either the depth or stencil aspect to be read-only while the other
-- aspect is writable.
--
--
-- Input Attachment Specification
--
-- Input attachment specification allows an application to specify which
-- aspect of a multi-aspect image (e.g. a combined depth stencil format)
-- will be accessed via a subpassLoad operation.
--
-- On some implementations there may be a performance penalty if
-- the implementation does not know (at createRenderPass time)
-- which aspect(s) of multi-aspect images can be accessed as input
-- attachments.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Input Attachment Specification Example
--
-- Consider the case where a render pass has two subpasses and two
-- attachments.
--
-- Attachment 0 has the format FORMAT_D24_UNORM_S8_UINT,
-- attachment 1 has some color format.
--
-- Subpass 0 writes to attachment 0, subpass 1 reads only the depth
-- information from attachment 0 (using inputAttachmentRead) and writes
-- to attachment 1.
--
--
-- VkInputAttachmentAspectReferenceKHR references[] = {
-- {
-- .subpass = 1,
-- .inputAttachmentIndex = 0,
-- .aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT
-- }
-- };
--
-- VkRenderPassInputAttachmentAspectCreateInfoKHR specifyAspects = {
-- .sType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
-- .pNext = NULL,
-- .aspectReferenceCount = 1,
-- .pAspectReferences = references
-- };
--
--
-- VkRenderPassCreateInfo createInfo = {
-- ...
-- .pNext = &specifyAspects,
-- ...
-- };
--
-- vkCreateRenderPass(...);
--
--
-- Issues
--
-- 1) What is the default tessellation domain origin?
--
-- RESOLVED: Vulkan 1.0 originally inadvertently documented a
-- lower-left origin, but the conformance tests and all implementations
-- implemented an upper-left origin. This extension adds a control to
-- select between lower-left (for compatibility with OpenGL) and
-- upper-left, and we retroactively fix unextended Vulkan to have a
-- default of an upper-left origin.
--
-- Version History
--
--
-- - Revision 1, 2017-04-28
--
--
-- See Also
--
-- ImageViewUsageCreateInfoKHR,
-- InputAttachmentAspectReferenceKHR,
-- PhysicalDevicePointClippingPropertiesKHR,
-- PipelineTessellationDomainOriginStateCreateInfoKHR,
-- PointClippingBehaviorKHR,
-- RenderPassInputAttachmentAspectCreateInfoKHR,
-- TessellationDomainOriginKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_maintenance2
pattern KHR_MAINTENANCE2_SPEC_VERSION :: Integral a => a
pattern KHR_MAINTENANCE2_EXTENSION_NAME :: (Eq a, IsString a) => a
pattern IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR :: ImageCreateFlagBits
pattern IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR :: ImageCreateFlagBits
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR :: StructureType
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR :: ImageLayout
pattern POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR :: PointClippingBehavior
pattern POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR :: PointClippingBehavior
pattern TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR :: TessellationDomainOrigin
pattern TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR :: TessellationDomainOrigin
type PointClippingBehaviorKHR = PointClippingBehavior
type TessellationDomainOriginKHR = TessellationDomainOrigin
type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference
type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo
type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties
type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo
type PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo
type KHR_MAINTENANCE_2_SPEC_VERSION = 1
pattern KHR_MAINTENANCE_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2"
pattern KHR_MAINTENANCE_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.FrontFace
-- | VkFrontFace - Interpret polygon front-facing orientation
--
-- Description
--
-- Any triangle which is not front-facing is back-facing, including
-- zero-area triangles.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo,
-- cmdSetFrontFaceEXT
newtype FrontFace
FrontFace :: Int32 -> FrontFace
-- | FRONT_FACE_COUNTER_CLOCKWISE specifies that a triangle with
-- positive area is considered front-facing.
pattern FRONT_FACE_COUNTER_CLOCKWISE :: FrontFace
-- | FRONT_FACE_CLOCKWISE specifies that a triangle with negative
-- area is considered front-facing.
pattern FRONT_FACE_CLOCKWISE :: FrontFace
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.FrontFace.FrontFace
instance Foreign.Storable.Storable Vulkan.Core10.Enums.FrontFace.FrontFace
instance GHC.Classes.Ord Vulkan.Core10.Enums.FrontFace.FrontFace
instance GHC.Classes.Eq Vulkan.Core10.Enums.FrontFace.FrontFace
instance GHC.Show.Show Vulkan.Core10.Enums.FrontFace.FrontFace
instance GHC.Read.Read Vulkan.Core10.Enums.FrontFace.FrontFace
module Vulkan.Core10.Enums.FramebufferCreateFlagBits
type FramebufferCreateFlags = FramebufferCreateFlagBits
-- | VkFramebufferCreateFlagBits - Bitmask specifying framebuffer
-- properties
--
-- See Also
--
-- VK_VERSION_1_0, FramebufferCreateFlags
newtype FramebufferCreateFlagBits
FramebufferCreateFlagBits :: Flags -> FramebufferCreateFlagBits
-- | FRAMEBUFFER_CREATE_IMAGELESS_BIT specifies that image views are
-- not specified, and only attachment compatibility information will be
-- provided via a FramebufferAttachmentImageInfo structure.
pattern FRAMEBUFFER_CREATE_IMAGELESS_BIT :: FramebufferCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits
module Vulkan.Core10.Enums.FormatFeatureFlagBits
type FormatFeatureFlags = FormatFeatureFlagBits
-- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a
-- buffer
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for FormatFeatureFlags2KHR and 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:
--
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image
-- view can be sampled from.
-- - FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image
-- view can be used as a storage image.
-- - FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
-- - FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image
-- view can be used as a framebuffer color attachment and as an
-- input attachment.
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_BLIT_DST_BIT specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - 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. Where depth
-- comparison is supported it may be linear filtered whether this
-- bit is present or not, but where this bit is not present the filtered
-- value may be computed 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.
-- - FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
-- - FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
-- - 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.
-- - FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried
-- is a depth/stencil format, this only specifies that the depth aspect
-- is cubic filterable.
-- - 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.
-- - 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.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - 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.
--
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that
-- an image view can be used as a fragment density map
-- attachment.
-- - 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties::format:
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FormatFeatureFlags
newtype FormatFeatureFlagBits
FormatFeatureFlagBits :: Flags -> FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view
-- can be sampled from.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view
-- can be used as a storage image.
pattern FORMAT_FEATURE_STORAGE_IMAGE_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_STORAGE_IMAGE_ATOMIC_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_UNIFORM_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_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_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format
-- can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_VERTEX_BUFFER_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_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_COLOR_ATTACHMENT_BLEND_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_DEPTH_STENCIL_ATTACHMENT_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_SRC_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_BLIT_DST_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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: 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_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: 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_SAMPLED_IMAGE_FILTER_MINMAX_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_COSITED_CHROMA_SAMPLES_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_DISJOINT_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_FORCEABLE_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_CHROMA_RECONSTRUCTION_EXPLICIT_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_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_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_MIDPOINT_CHROMA_SAMPLES_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_DST_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits
module Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax
-- | VkPhysicalDeviceSamplerFilterMinmaxProperties - Structure describing
-- sampler filter minmax limits that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceSamplerFilterMinmaxProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- If filterMinmaxSingleComponentFormats is TRUE, the
-- following formats must support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT feature with
-- IMAGE_TILING_OPTIMAL, if they support
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT:
--
-- If the format is a depth/stencil format, this bit only specifies that
-- the depth aspect (not the stencil aspect) of an image of this format
-- supports min/max filtering, and that min/max filtering of the depth
-- aspect is supported when depth compare is disabled in the sampler.
--
-- If filterMinmaxImageComponentMapping is FALSE the
-- component mapping of the image view used with min/max filtering
-- must have been created with the r component set to the
-- identity swizzle. Only the r component of the sampled
-- image value is defined and the other component values are undefined.
-- If filterMinmaxImageComponentMapping is TRUE this
-- restriction does not apply and image component mapping works as
-- normal.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sampler_filter_minmax, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceSamplerFilterMinmaxProperties
PhysicalDeviceSamplerFilterMinmaxProperties :: Bool -> Bool -> PhysicalDeviceSamplerFilterMinmaxProperties
-- | filterMinmaxSingleComponentFormats is a boolean value
-- indicating whether a minimum set of required formats support min/max
-- filtering.
[$sel:filterMinmaxSingleComponentFormats:PhysicalDeviceSamplerFilterMinmaxProperties] :: PhysicalDeviceSamplerFilterMinmaxProperties -> Bool
-- | filterMinmaxImageComponentMapping is a boolean value
-- indicating whether the implementation supports non-identity component
-- mapping of the image when doing min/max filtering.
[$sel:filterMinmaxImageComponentMapping:PhysicalDeviceSamplerFilterMinmaxProperties] :: PhysicalDeviceSamplerFilterMinmaxProperties -> Bool
-- | VkSamplerReductionModeCreateInfo - Structure specifying sampler
-- reduction mode
--
-- Description
--
-- If the pNext chain of SamplerCreateInfo includes a
-- SamplerReductionModeCreateInfo structure, then that structure
-- includes a mode controlling how texture filtering combines texel
-- values.
--
-- If this structure is not present, reductionMode is considered
-- to be SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sampler_filter_minmax, VK_VERSION_1_2,
-- SamplerReductionMode, StructureType
data SamplerReductionModeCreateInfo
SamplerReductionModeCreateInfo :: SamplerReductionMode -> SamplerReductionModeCreateInfo
-- | reductionMode is a SamplerReductionMode value
-- controlling how texture filtering combines texel values.
--
-- reductionMode must be a valid
-- SamplerReductionMode value
[$sel:reductionMode:SamplerReductionModeCreateInfo] :: SamplerReductionModeCreateInfo -> SamplerReductionMode
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a
-- buffer
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for FormatFeatureFlags2KHR and 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:
--
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image
-- view can be sampled from.
-- - FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image
-- view can be used as a storage image.
-- - FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
-- - FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image
-- view can be used as a framebuffer color attachment and as an
-- input attachment.
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_BLIT_DST_BIT specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - 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. Where depth
-- comparison is supported it may be linear filtered whether this
-- bit is present or not, but where this bit is not present the filtered
-- value may be computed 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.
-- - FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
-- - FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
-- - 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.
-- - FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried
-- is a depth/stencil format, this only specifies that the depth aspect
-- is cubic filterable.
-- - 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.
-- - 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.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - 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.
--
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that
-- an image view can be used as a fragment density map
-- attachment.
-- - 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties::format:
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FormatFeatureFlags
newtype FormatFeatureFlagBits
FormatFeatureFlagBits :: Flags -> FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view
-- can be sampled from.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view
-- can be used as a storage image.
pattern FORMAT_FEATURE_STORAGE_IMAGE_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_STORAGE_IMAGE_ATOMIC_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_UNIFORM_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_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_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format
-- can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_VERTEX_BUFFER_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_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_COLOR_ATTACHMENT_BLEND_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_DEPTH_STENCIL_ATTACHMENT_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_SRC_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_BLIT_DST_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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: 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_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: 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_SAMPLED_IMAGE_FILTER_MINMAX_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_COSITED_CHROMA_SAMPLES_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_DISJOINT_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_FORCEABLE_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_CHROMA_RECONSTRUCTION_EXPLICIT_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_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_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_MIDPOINT_CHROMA_SAMPLES_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_DST_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits
type FormatFeatureFlags = FormatFeatureFlagBits
-- | VkSamplerReductionMode - Specify reduction mode for texture filtering
--
-- See Also
--
-- VK_EXT_sampler_filter_minmax, VK_VERSION_1_2,
-- SamplerReductionModeCreateInfo
newtype SamplerReductionMode
SamplerReductionMode :: Int32 -> SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE specifies that texel
-- values are combined by computing a weighted average of values in the
-- footprint, using weights as specified in the image operations
-- chapter.
pattern SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_MIN specifies that texel values are
-- combined by taking the component-wise minimum of values in the
-- footprint with non-zero weights.
pattern SAMPLER_REDUCTION_MODE_MIN :: SamplerReductionMode
-- | SAMPLER_REDUCTION_MODE_MAX specifies that texel values are
-- combined by taking the component-wise maximum of values in the
-- footprint with non-zero weights.
pattern SAMPLER_REDUCTION_MODE_MAX :: SamplerReductionMode
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties
-- | Name
--
-- VK_EXT_sampler_filter_minmax - device extension
--
-- VK_EXT_sampler_filter_minmax
--
--
-- - Name String
-- VK_EXT_sampler_filter_minmax
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 131
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-19
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - IP Status No known IP claims.
-- - Contributors
- Jeff Bolz, NVIDIA
- Piers
-- Daniell, NVIDIA
--
--
-- Description
--
-- In unextended Vulkan, minification and magnification filters such as
-- LINEAR allow sampled image lookups to return a filtered texel value
-- produced by computing a weighted average of a collection of texels in
-- the neighborhood of the texture coordinate provided.
--
-- This extension provides a new sampler parameter which allows
-- applications to produce a filtered texel value by computing a
-- component-wise minimum (MIN) or maximum (MAX) of the texels that would
-- normally be averaged. The reduction mode is orthogonal to the
-- minification and magnification filter parameters. The filter
-- parameters are used to identify the set of texels used to produce a
-- final filtered value; the reduction mode identifies how these texels
-- are combined.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the EXT suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2017-05-19 (Piers Daniell)
--
--
--
-- - Revision 1, 2017-03-25 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceSamplerFilterMinmaxPropertiesEXT,
-- SamplerReductionModeCreateInfoEXT,
-- SamplerReductionModeEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_sampler_filter_minmax
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT :: StructureType
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT :: FormatFeatureFlagBits
pattern SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT :: SamplerReductionMode
pattern SAMPLER_REDUCTION_MODE_MIN_EXT :: SamplerReductionMode
pattern SAMPLER_REDUCTION_MODE_MAX_EXT :: SamplerReductionMode
type SamplerReductionModeEXT = SamplerReductionMode
type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties
type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo
type EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 2
pattern EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION :: forall a. Integral a => a
type EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax"
pattern EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.Format
-- | VkFormat - Available image formats
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AttachmentDescription, AttachmentDescription2,
-- BufferViewCreateInfo,
-- CommandBufferInheritanceRenderingInfoKHR,
-- FramebufferAttachmentImageInfo, GeometryTrianglesNV,
-- ImageCreateInfo, ImageFormatListCreateInfo,
-- ImageViewASTCDecodeModeEXT, ImageViewCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PipelineRenderingCreateInfoKHR,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR,
-- SwapchainCreateInfoKHR, VertexInputAttributeDescription,
-- VertexInputAttributeDescription2EXT,
-- VkVideoFormatPropertiesKHR, VkVideoSessionCreateInfoKHR,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceFormatProperties,
-- getPhysicalDeviceFormatProperties2,
-- getPhysicalDeviceFormatProperties2KHR,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype Format
Format :: Int32 -> Format
-- | FORMAT_UNDEFINED specifies that the format is not specified.
pattern FORMAT_UNDEFINED :: 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_R4G4_UNORM_PACK8 :: 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_R4G4B4A4_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_B4G4R4A4_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_R5G6B5_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_B5G6R5_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_R5G5B5A1_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_B5G5R5A1_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_A1R5G5B5_UNORM_PACK16 :: Format
-- | FORMAT_R8_UNORM specifies a one-component, 8-bit unsigned
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_UNORM :: Format
-- | FORMAT_R8_SNORM specifies a one-component, 8-bit signed
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has a single 8-bit R component.
pattern FORMAT_R8_UINT :: Format
-- | FORMAT_R8_SINT specifies a one-component, 8-bit signed integer
-- format that has a single 8-bit R component.
pattern FORMAT_R8_SINT :: 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_R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8A8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8A8_SRGB :: 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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_SINT_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_A8B8G8R8_SRGB_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2R10G10B10_SINT_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2B10G10R10_SINT_PACK32 :: Format
-- | FORMAT_R16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_UNORM :: Format
-- | FORMAT_R16_SNORM specifies a one-component, 16-bit signed
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R16_UINT specifies a one-component, 16-bit unsigned
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_UINT :: Format
-- | FORMAT_R16_SINT specifies a one-component, 16-bit signed
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_SINT :: Format
-- | FORMAT_R16_SFLOAT specifies a one-component, 16-bit signed
-- floating-point format that has a single 16-bit R component.
pattern FORMAT_R16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16A16_SFLOAT :: Format
-- | FORMAT_R32_UINT specifies a one-component, 32-bit unsigned
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_UINT :: Format
-- | FORMAT_R32_SINT specifies a one-component, 32-bit signed
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_SINT :: Format
-- | FORMAT_R32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has a single 32-bit R component.
pattern FORMAT_R32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32A32_SFLOAT :: Format
-- | FORMAT_R64_UINT specifies a one-component, 64-bit unsigned
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_UINT :: Format
-- | FORMAT_R64_SINT specifies a one-component, 64-bit signed
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_SINT :: Format
-- | FORMAT_R64_SFLOAT specifies a one-component, 64-bit signed
-- floating-point format that has a single 64-bit R component.
pattern FORMAT_R64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64A64_SFLOAT :: 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_B10G11R11_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_E5B9G9R9_UFLOAT_PACK32 :: Format
-- | FORMAT_D16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit depth component.
pattern FORMAT_D16_UNORM :: 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_X8_D24_UNORM_PACK32 :: Format
-- | FORMAT_D32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has 32 bits in the depth component.
pattern FORMAT_D32_SFLOAT :: Format
-- | FORMAT_S8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has 8 bits in the stencil component.
pattern FORMAT_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_D16_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_D24_UNORM_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_D32_SFLOAT_S8_UINT :: 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_UNORM_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_RGB_SRGB_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_UNORM_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_BC1_RGBA_SRGB_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_UNORM_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_BC2_SRGB_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_UNORM_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_BC3_SRGB_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_UNORM_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_BC4_SNORM_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_UNORM_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_BC5_SNORM_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_UFLOAT_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_BC6H_SFLOAT_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_UNORM_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_BC7_SRGB_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_UNORM_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_R8G8B8_SRGB_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_UNORM_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_R8G8B8A1_SRGB_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_UNORM_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_ETC2_R8G8B8A8_SRGB_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_UNORM_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_R11_SNORM_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_UNORM_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_EAC_R11G11_SNORM_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_UNORM_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_4x4_SRGB_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_UNORM_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_5x4_SRGB_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_UNORM_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_5x5_SRGB_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_UNORM_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_6x5_SRGB_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_UNORM_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_6x6_SRGB_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_UNORM_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_8x5_SRGB_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_UNORM_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_8x6_SRGB_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_UNORM_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_8x8_SRGB_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_UNORM_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_10x5_SRGB_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_UNORM_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_10x6_SRGB_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_UNORM_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_10x8_SRGB_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_UNORM_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_10x10_SRGB_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_UNORM_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_12x10_SRGB_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_UNORM_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_ASTC_12x12_SRGB_BLOCK :: 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_A4B4G4R4_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_A4R4G4B4_UNORM_PACK16_EXT :: Format
-- | FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT :: Format
-- | FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT 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. Both planes
-- have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G8_B8R8_2PLANE_444_UNORM_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_12x12_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_12x10_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_10x10_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_10x8_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_10x6_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_10x5_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_8x8_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_8x6_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_8x5_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_6x6_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_6x5_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_5x5_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_5x4_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_ASTC_4x4_SFLOAT_BLOCK_EXT :: 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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_SRGB_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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_UNORM_BLOCK_IMG :: 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_B16_R16_3PLANE_444_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 dimension
-- 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 <math>.
-- 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_420_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.
-- This format only supports images 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_B16G16R16G16_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.
-- This format only supports images 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_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_B12X4_R12X4_3PLANE_444_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, with the bottom 4 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_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, with the bottom 4 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B12X4G12X4R12X4G12X4_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. This
-- format only supports images 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_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_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: 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_R12X4G12X4_UNORM_2PACK16 :: 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_R12X4_UNORM_PACK16 :: 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_B10X6_R10X6_3PLANE_444_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, with the bottom 6 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_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, with the bottom 6 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B10X6G10X6R10X6G10X6_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. This
-- format only supports images 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_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_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: 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_R10X6G10X6_UNORM_2PACK16 :: 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_R10X6_UNORM_PACK16 :: 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_B8_R8_3PLANE_444_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 dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_420_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.
-- This format only supports images 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_B8G8R8G8_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.
-- This format only supports images 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
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.Format.Format
instance Foreign.Storable.Storable Vulkan.Core10.Enums.Format.Format
instance GHC.Classes.Ord Vulkan.Core10.Enums.Format.Format
instance GHC.Classes.Eq Vulkan.Core10.Enums.Format.Format
instance GHC.Show.Show Vulkan.Core10.Enums.Format.Format
instance GHC.Read.Read Vulkan.Core10.Enums.Format.Format
-- | Name
--
-- VK_EXT_astc_decode_mode - device extension
--
-- VK_EXT_astc_decode_mode
--
--
-- - Name String VK_EXT_astc_decode_mode
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 68
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-08-07
--
--
--
-- - Contributors
- Jan-Harald Fredriksen,
-- Arm
--
--
-- Description
--
-- The existing specification requires that low dynamic range (LDR) ASTC
-- textures are decompressed to FP16 values per component. In many cases,
-- decompressing LDR textures to a lower precision intermediate result
-- gives acceptable image quality. Source material for LDR textures is
-- typically authored as 8-bit UNORM values, so decoding to FP16 values
-- adds little value. On the other hand, reducing precision of the
-- decoded result reduces the size of the decompressed data, potentially
-- improving texture cache performance and saving power.
--
-- The goal of this extension is to enable this efficiency gain on
-- existing ASTC texture data. This is achieved by giving the application
-- the ability to select the intermediate decoding precision.
--
-- Three decoding options are provided:
--
--
-- - Decode to FORMAT_R16G16B16A16_SFLOAT precision: This is the
-- default, and matches the required behavior in the core API.
-- - Decode to FORMAT_R8G8B8A8_UNORM precision: This is provided
-- as an option in LDR mode.
-- - Decode to FORMAT_E5B9G9R9_UFLOAT_PACK32 precision: This is
-- provided as an option in both LDR and HDR mode. In this mode, negative
-- values cannot be represented and are clamped to zero. The alpha
-- component is ignored, and the results are as if alpha was 1.0. This
-- decode mode is optional and support can be queried via the physical
-- device properties.
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Are implementations allowed to decode at a higher precision than
-- what is requested?
--
--
-- RESOLUTION: No.
-- If we allow this, then this extension could be exposed on all
-- implementations that support ASTC.
-- But developers would have no way of knowing what precision was actually
-- used, and thus whether the image quality is sufficient at reduced
-- precision.
--
--
-- 2) Should the decode mode be image view state and/or sampler state?
--
--
-- RESOLUTION: Image view state only.
-- Some implementations treat the different decode modes as different
-- texture formats.
--
--
-- Example
--
-- Create an image view that decodes to FORMAT_R8G8B8A8_UNORM
-- precision:
--
--
-- VkImageViewASTCDecodeModeEXT decodeMode =
-- {
-- VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT, // sType
-- NULL, // pNext
-- VK_FORMAT_R8G8B8A8_UNORM // decode mode
-- };
--
-- VkImageViewCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, // sType
-- &decodeMode, // pNext
-- // flags, image, viewType set to application-desired values
-- VK_FORMAT_ASTC_8x8_UNORM_BLOCK, // format
-- // components, subresourceRange set to application-desired values
-- };
--
-- VkImageView imageView;
-- VkResult result = vkCreateImageView(
-- device,
-- &createInfo,
-- NULL,
-- &imageView);
--
--
-- Version History
--
--
-- - Revision 1, 2018-08-07 (Jan-Harald Fredriksen)
--
--
-- See Also
--
-- ImageViewASTCDecodeModeEXT,
-- PhysicalDeviceASTCDecodeFeaturesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_astc_decode_mode
-- | VkImageViewASTCDecodeModeEXT - Structure describing the ASTC decode
-- mode for an image view
--
-- Valid Usage
--
--
--
--
--
-- If format uses sRGB encoding then the decodeMode has
-- no effect.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - decodeMode must be a valid Format
-- value
--
--
-- See Also
--
-- VK_EXT_astc_decode_mode, Format, StructureType
data ImageViewASTCDecodeModeEXT
ImageViewASTCDecodeModeEXT :: Format -> ImageViewASTCDecodeModeEXT
-- | decodeMode is the intermediate format used to decode ASTC
-- compressed formats.
[$sel:decodeMode:ImageViewASTCDecodeModeEXT] :: ImageViewASTCDecodeModeEXT -> Format
-- | VkPhysicalDeviceASTCDecodeFeaturesEXT - Structure describing ASTC
-- decode mode features
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceASTCDecodeFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceASTCDecodeFeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_astc_decode_mode, Bool32, StructureType
data PhysicalDeviceASTCDecodeFeaturesEXT
PhysicalDeviceASTCDecodeFeaturesEXT :: Bool -> PhysicalDeviceASTCDecodeFeaturesEXT
-- | decodeModeSharedExponent indicates whether the implementation
-- supports decoding ASTC compressed formats to
-- FORMAT_E5B9G9R9_UFLOAT_PACK32 internal precision.
[$sel:decodeModeSharedExponent:PhysicalDeviceASTCDecodeFeaturesEXT] :: PhysicalDeviceASTCDecodeFeaturesEXT -> Bool
type EXT_ASTC_DECODE_MODE_SPEC_VERSION = 1
pattern EXT_ASTC_DECODE_MODE_SPEC_VERSION :: forall a. Integral a => a
type EXT_ASTC_DECODE_MODE_EXTENSION_NAME = "VK_EXT_astc_decode_mode"
pattern EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT
module Vulkan.Core12.Promoted_From_VK_KHR_image_format_list
-- | VkImageFormatListCreateInfo - Specify that an image can be used
-- with a particular set of formats
--
-- Description
--
-- If viewFormatCount is zero, pViewFormats is ignored
-- and the image is created as if the ImageFormatListCreateInfo
-- structure were not included in the pNext chain of
-- ImageCreateInfo.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If viewFormatCount is not 0,
-- pViewFormats must be a valid pointer to an array of
-- viewFormatCount valid Format values
--
--
-- See Also
--
-- VK_KHR_image_format_list, VK_VERSION_1_2, Format,
-- StructureType
data ImageFormatListCreateInfo
ImageFormatListCreateInfo :: Vector Format -> ImageFormatListCreateInfo
-- | pViewFormats is a pointer to an array of Format values
-- specifying all formats which can be used when creating views of
-- this image.
[$sel:viewFormats:ImageFormatListCreateInfo] :: ImageFormatListCreateInfo -> Vector Format
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo
-- | Name
--
-- VK_KHR_image_format_list - device extension
--
-- VK_KHR_image_format_list
--
--
-- - Name String VK_KHR_image_format_list
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 148
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-20
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - IP Status No known IP claims.
-- - Contributors
- Jason Ekstrand,
-- Intel
- Jan-Harald Fredriksen, ARM
- Jeff Bolz,
-- NVIDIA
- Jeff Leger, Qualcomm
- Neil Henning,
-- Codeplay
--
--
-- Description
--
-- On some implementations, setting the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT on image creation can cause
-- access to that image to perform worse than an equivalent image created
-- without IMAGE_CREATE_MUTABLE_FORMAT_BIT because the
-- implementation does not know what view formats will be paired with the
-- image.
--
-- This extension allows an application to provide the list of all
-- formats that can be used with an image when it is created. The
-- implementation may then be able to create a more efficient image that
-- supports the subset of formats required by the application without
-- having to support all formats in the format compatibility class of the
-- image format.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-20 (Jason Ekstrand)
--
--
-- See Also
--
-- ImageFormatListCreateInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_image_format_list
pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR :: StructureType
type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo
type KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1
pattern KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: forall a. Integral a => a
type KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list"
pattern KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.Filter
-- | VkFilter - Specify filters used for texture lookups
--
-- Description
--
-- These filters are described in detail in Texel Filtering.
--
-- See Also
--
-- VK_VERSION_1_0, BlitImageInfo2KHR,
-- SamplerCreateInfo, SamplerYcbcrConversionCreateInfo,
-- cmdBlitImage
newtype Filter
Filter :: Int32 -> Filter
-- | FILTER_NEAREST specifies nearest filtering.
pattern FILTER_NEAREST :: Filter
-- | FILTER_LINEAR specifies linear filtering.
pattern FILTER_LINEAR :: Filter
pattern FILTER_CUBIC_IMG :: Filter
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.Filter.Filter
instance Foreign.Storable.Storable Vulkan.Core10.Enums.Filter.Filter
instance GHC.Classes.Ord Vulkan.Core10.Enums.Filter.Filter
instance GHC.Classes.Eq Vulkan.Core10.Enums.Filter.Filter
instance GHC.Show.Show Vulkan.Core10.Enums.Filter.Filter
instance GHC.Read.Read Vulkan.Core10.Enums.Filter.Filter
-- | Name
--
-- VK_EXT_filter_cubic - device extension
--
-- VK_EXT_filter_cubic
--
--
-- - Name String VK_EXT_filter_cubic
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 171
-- - Revision 3
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-12-13
--
--
--
-- - Contributors
- Bill Licea-Kane, Qualcomm
-- Technologies, Inc.
- Andrew Garrard, Samsung
- Daniel
-- Koch, NVIDIA
- Donald Scorgie, Imagination
-- Technologies
- Graeme Leese, Broadcom
- Jan-Herald
-- Fredericksen, ARM
- Jeff Leger, Qualcomm Technologies,
-- Inc.
- Tobias Hector, AMD
- Tom Olson, ARM
- Stuart
-- Smith, Imagination Technologies
--
--
-- Description
--
-- VK_EXT_filter_cubic extends VK_IMG_filter_cubic.
--
-- It documents cubic filtering of other image view types. It adds new
-- structures that can be added to the pNext chain of
-- PhysicalDeviceImageFormatInfo2 and
-- ImageFormatProperties2 that can be used to determine
-- which image types and which image view types support cubic filtering.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 3, 2019-12-13 (wwlk)
- Delete requirement to cubic
-- filter the formats USCALED_PACKED32, SSCALED_PACKED32, UINT_PACK32,
-- and SINT_PACK32 (cut/paste error)
--
--
--
-- - Revision 2, 2019-06-05 (wwlk)
-- - Revision 1, 2019-01-24 (wwlk)
--
--
-- See Also
--
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_filter_cubic
pattern FILTER_CUBIC_EXT :: Filter
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits
-- | VkPhysicalDeviceImageViewImageFormatInfoEXT - Structure for providing
-- image view type
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_filter_cubic, ImageViewType, StructureType
data PhysicalDeviceImageViewImageFormatInfoEXT
PhysicalDeviceImageViewImageFormatInfoEXT :: ImageViewType -> PhysicalDeviceImageViewImageFormatInfoEXT
-- | imageViewType is a ImageViewType value specifying the
-- type of the image view.
--
-- imageViewType must be a valid ImageViewType
-- value
[$sel:imageViewType:PhysicalDeviceImageViewImageFormatInfoEXT] :: PhysicalDeviceImageViewImageFormatInfoEXT -> ImageViewType
-- | VkFilterCubicImageViewImageFormatPropertiesEXT - Structure for
-- querying cubic filtering capabilities of an image view type
--
-- Valid Usage (Implicit)
--
--
--
-- Valid Usage
--
--
--
-- See Also
--
-- VK_EXT_filter_cubic, Bool32, StructureType
data FilterCubicImageViewImageFormatPropertiesEXT
FilterCubicImageViewImageFormatPropertiesEXT :: Bool -> Bool -> FilterCubicImageViewImageFormatPropertiesEXT
-- | filterCubic tells if image format, image type and image view
-- type can be used with cubic filtering. This field is set by the
-- implementation. User-specified value is ignored.
[$sel:filterCubic:FilterCubicImageViewImageFormatPropertiesEXT] :: FilterCubicImageViewImageFormatPropertiesEXT -> Bool
-- | filterCubicMinmax tells if image format, image type and image
-- view type can be used with cubic filtering and minmax
-- filtering. This field is set by the implementation. User-specified
-- value is ignored.
[$sel:filterCubicMinmax:FilterCubicImageViewImageFormatPropertiesEXT] :: FilterCubicImageViewImageFormatPropertiesEXT -> Bool
type EXT_FILTER_CUBIC_SPEC_VERSION = 3
pattern EXT_FILTER_CUBIC_SPEC_VERSION :: forall a. Integral a => a
type EXT_FILTER_CUBIC_EXTENSION_NAME = "VK_EXT_filter_cubic"
pattern EXT_FILTER_CUBIC_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT
module Vulkan.Core10.Enums.FenceCreateFlagBits
type FenceCreateFlags = FenceCreateFlagBits
-- | VkFenceCreateFlagBits - Bitmask specifying initial state and behavior
-- of a fence
--
-- See Also
--
-- VK_VERSION_1_0, FenceCreateFlags
newtype FenceCreateFlagBits
FenceCreateFlagBits :: Flags -> FenceCreateFlagBits
-- | FENCE_CREATE_SIGNALED_BIT specifies that the fence object is
-- created in the signaled state. Otherwise, it is created in the
-- unsignaled state.
pattern FENCE_CREATE_SIGNALED_BIT :: FenceCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits
module Vulkan.Core10.Enums.EventCreateFlagBits
type EventCreateFlags = EventCreateFlagBits
-- | VkEventCreateFlagBits - Event creation flag bits
--
-- See Also
--
-- VK_VERSION_1_0, EventCreateFlags
newtype EventCreateFlagBits
EventCreateFlagBits :: Flags -> EventCreateFlagBits
-- | EVENT_CREATE_DEVICE_ONLY_BIT_KHR specifies that host event
-- commands will not be used with this event.
pattern EVENT_CREATE_DEVICE_ONLY_BIT_KHR :: EventCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlagBits
module Vulkan.Core10.Enums.DynamicState
-- | VkDynamicState - Indicate which dynamic state is taken from dynamic
-- state commands
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDynamicStateCreateInfo
newtype DynamicState
DynamicState :: Int32 -> DynamicState
-- | DYNAMIC_STATE_VIEWPORT specifies that the pViewports
-- state in PipelineViewportStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetViewport before any
-- drawing commands. The number of viewports used by a pipeline is still
-- specified by the viewportCount member of
-- PipelineViewportStateCreateInfo.
pattern DYNAMIC_STATE_VIEWPORT :: DynamicState
-- | DYNAMIC_STATE_SCISSOR specifies that the pScissors
-- state in PipelineViewportStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetScissor before any
-- drawing commands. The number of scissor rectangles used by a pipeline
-- is still specified by the scissorCount member of
-- PipelineViewportStateCreateInfo.
pattern DYNAMIC_STATE_SCISSOR :: DynamicState
-- | DYNAMIC_STATE_LINE_WIDTH specifies that the lineWidth
-- state in PipelineRasterizationStateCreateInfo will be ignored
-- and must be set dynamically with cmdSetLineWidth before
-- any drawing commands that generate line primitives for the rasterizer.
pattern DYNAMIC_STATE_LINE_WIDTH :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BIAS specifies that the
-- depthBiasConstantFactor, depthBiasClamp and
-- depthBiasSlopeFactor states in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBias before any
-- draws are performed with depthBiasEnable in
-- PipelineRasterizationStateCreateInfo set to TRUE.
pattern DYNAMIC_STATE_DEPTH_BIAS :: DynamicState
-- | DYNAMIC_STATE_BLEND_CONSTANTS specifies that the
-- blendConstants state in
-- PipelineColorBlendStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetBlendConstants before
-- any draws are performed with a pipeline state with
-- PipelineColorBlendAttachmentState member blendEnable
-- set to TRUE and any of the blend functions using a constant
-- blend color.
pattern DYNAMIC_STATE_BLEND_CONSTANTS :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BOUNDS specifies that the
-- minDepthBounds and maxDepthBounds states of
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBounds before
-- any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- depthBoundsTestEnable set to TRUE.
pattern DYNAMIC_STATE_DEPTH_BOUNDS :: DynamicState
-- | DYNAMIC_STATE_STENCIL_COMPARE_MASK specifies that the
-- compareMask state in
-- PipelineDepthStencilStateCreateInfo for both front and
-- back will be ignored and must be set dynamically with
-- cmdSetStencilCompareMask before any draws are performed with a
-- pipeline state with PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_COMPARE_MASK :: DynamicState
-- | DYNAMIC_STATE_STENCIL_WRITE_MASK specifies that the
-- writeMask state in PipelineDepthStencilStateCreateInfo
-- for both front and back will be ignored and
-- must be set dynamically with cmdSetStencilWriteMask
-- before any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_WRITE_MASK :: DynamicState
-- | DYNAMIC_STATE_STENCIL_REFERENCE specifies that the
-- reference state in PipelineDepthStencilStateCreateInfo
-- for both front and back will be ignored and
-- must be set dynamically with cmdSetStencilReference
-- before any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_REFERENCE :: DynamicState
-- | DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT specifies that the
-- pColorWriteEnables state in
-- PipelineColorWriteCreateInfoEXT will be ignored and must
-- be set dynamically with cmdSetColorWriteEnableEXT before any
-- draw call.
pattern DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT specifies that the
-- primitiveRestartEnable state in
-- PipelineInputAssemblyStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetPrimitiveRestartEnableEXT before any drawing commands.
pattern DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_LOGIC_OP_EXT specifies that the logicOp
-- state in PipelineColorBlendStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetLogicOpEXT before any
-- drawing commands.
pattern DYNAMIC_STATE_LOGIC_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT specifies that the
-- depthBiasEnable state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBiasEnableEXT
-- before any drawing commands.
pattern DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT specifies that the
-- rasterizerDiscardEnable state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetRasterizerDiscardEnableEXT before any drawing commands.
pattern DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT specifies that the
-- patchControlPoints state in
-- PipelineTessellationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetPatchControlPointsEXT
-- before any drawing commands.
pattern DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT :: DynamicState
-- | DYNAMIC_STATE_VERTEX_INPUT_EXT specifies that the
-- pVertexInputState state will be ignored and must be
-- set dynamically with cmdSetVertexInputEXT before any drawing
-- commands
pattern DYNAMIC_STATE_VERTEX_INPUT_EXT :: DynamicState
-- | DYNAMIC_STATE_STENCIL_OP_EXT specifies that the
-- failOp, passOp, depthFailOp, and
-- compareOp states in
-- PipelineDepthStencilStateCreateInfo for both front and
-- back will be ignored and must be set dynamically with
-- cmdSetStencilOpEXT before any draws are performed with a
-- pipeline state with PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT specifies that the
-- stencilTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetStencilTestEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT specifies that the
-- depthBoundsTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetDepthBoundsTestEnableEXT before any draw call.
pattern DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT specifies that the
-- depthCompareOp state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthCompareOpEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT specifies that the
-- depthWriteEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthWriteEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT specifies that the
-- depthTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthTestEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT specifies that
-- the stride state in VertexInputBindingDescription will
-- be ignored and must be set dynamically with
-- cmdBindVertexBuffers2EXT before any draw call.
pattern DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT :: DynamicState
-- | DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT specifies that the
-- scissorCount and pScissors state in
-- PipelineViewportStateCreateInfo will be ignored and must
-- be set dynamically with cmdSetScissorWithCountEXT before any
-- draw call.
pattern DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT specifies that the
-- viewportCount and pViewports state in
-- PipelineViewportStateCreateInfo will be ignored and must
-- be set dynamically with cmdSetViewportWithCountEXT before any
-- draw call.
pattern DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: DynamicState
-- | DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT specifies that the
-- topology state in PipelineInputAssemblyStateCreateInfo
-- only specifies the topology class, and the specific topology
-- order and adjacency must be set dynamically with
-- cmdSetPrimitiveTopologyEXT before any drawing commands.
pattern DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: DynamicState
-- | DYNAMIC_STATE_FRONT_FACE_EXT specifies that the
-- frontFace state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetFrontFaceEXT before
-- any drawing commands.
pattern DYNAMIC_STATE_FRONT_FACE_EXT :: DynamicState
-- | DYNAMIC_STATE_CULL_MODE_EXT specifies that the
-- cullMode state in PipelineRasterizationStateCreateInfo
-- will be ignored and must be set dynamically with
-- cmdSetCullModeEXT before any drawing commands.
pattern DYNAMIC_STATE_CULL_MODE_EXT :: DynamicState
-- | DYNAMIC_STATE_LINE_STIPPLE_EXT specifies that the
-- lineStippleFactor and lineStipplePattern state in
-- PipelineRasterizationLineStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetLineStippleEXT before
-- any draws are performed with a pipeline state with
-- PipelineRasterizationLineStateCreateInfoEXT member
-- stippledLineEnable set to TRUE.
pattern DYNAMIC_STATE_LINE_STIPPLE_EXT :: DynamicState
-- | DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR specifies that state in
-- PipelineFragmentShadingRateStateCreateInfoKHR and
-- PipelineFragmentShadingRateEnumStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetFragmentShadingRateKHR or
-- cmdSetFragmentShadingRateEnumNV before any drawing commands.
pattern DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR :: DynamicState
-- | DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV specifies that the
-- pExclusiveScissors state in
-- PipelineViewportExclusiveScissorStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetExclusiveScissorNV before any drawing commands. The
-- number of exclusive scissor rectangles used by a pipeline is still
-- specified by the exclusiveScissorCount member of
-- PipelineViewportExclusiveScissorStateCreateInfoNV.
pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV specifies that
-- the coarse sample order state in
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetCoarseSampleOrderNV before any drawing commands.
pattern DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV specifies that
-- the pShadingRatePalettes state in
-- PipelineViewportShadingRateImageStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetViewportShadingRatePaletteNV before any drawing commands.
pattern DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV :: DynamicState
-- | DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR specifies
-- that the default stack size computation for the pipeline will be
-- ignored and must be set dynamically with
-- cmdSetRayTracingPipelineStackSizeKHR before any ray tracing
-- calls are performed.
pattern DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR :: DynamicState
-- | DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT specifies that the
-- sampleLocationsInfo state in
-- PipelineSampleLocationsStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetSampleLocationsEXT
-- before any draw or clear commands. Enabling custom sample locations is
-- still indicated by the sampleLocationsEnable member of
-- PipelineSampleLocationsStateCreateInfoEXT.
pattern DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: DynamicState
-- | DYNAMIC_STATE_DISCARD_RECTANGLE_EXT specifies that the
-- pDiscardRectangles state in
-- PipelineDiscardRectangleStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetDiscardRectangleEXT
-- before any draw or clear commands. The DiscardRectangleModeEXT
-- and the number of active discard rectangles is still specified by the
-- discardRectangleMode and discardRectangleCount
-- members of PipelineDiscardRectangleStateCreateInfoEXT.
pattern DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_W_SCALING_NV specifies that the
-- pViewportScalings state in
-- PipelineViewportWScalingStateCreateInfoNV will be ignored and
-- must be set dynamically with cmdSetViewportWScalingNV
-- before any draws are performed with a pipeline state with
-- PipelineViewportWScalingStateCreateInfoNV member
-- viewportScalingEnable set to TRUE
pattern DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: DynamicState
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DynamicState.DynamicState
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DynamicState.DynamicState
instance GHC.Classes.Ord Vulkan.Core10.Enums.DynamicState.DynamicState
instance GHC.Classes.Eq Vulkan.Core10.Enums.DynamicState.DynamicState
instance GHC.Show.Show Vulkan.Core10.Enums.DynamicState.DynamicState
instance GHC.Read.Read Vulkan.Core10.Enums.DynamicState.DynamicState
module Vulkan.Core10.Enums.DeviceQueueCreateFlagBits
type DeviceQueueCreateFlags = DeviceQueueCreateFlagBits
-- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue
--
-- See Also
--
-- VK_VERSION_1_1, DeviceQueueCreateFlags
newtype DeviceQueueCreateFlagBits
DeviceQueueCreateFlagBits :: Flags -> DeviceQueueCreateFlagBits
-- | DEVICE_QUEUE_CREATE_PROTECTED_BIT specifies that the device
-- queue is a protected-capable queue.
pattern DEVICE_QUEUE_CREATE_PROTECTED_BIT :: DeviceQueueCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits
module Vulkan.Core10.Enums.DeviceCreateFlags
-- | VkDeviceCreateFlags - Reserved for future use
--
-- Description
--
-- DeviceCreateFlags is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, DeviceCreateInfo
newtype DeviceCreateFlags
DeviceCreateFlags :: Flags -> DeviceCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags
module Vulkan.Core10.Enums.DescriptorType
-- | VkDescriptorType - Specifies the type of a descriptor in a descriptor
-- set
--
-- Description
--
--
--
--
--
-- When a descriptor set is updated via elements of
-- WriteDescriptorSet, members of pImageInfo,
-- pBufferInfo and pTexelBufferView are only accessed
-- by the implementation when they correspond to descriptor type being
-- defined - otherwise they are ignored. The members accessed are as
-- follows for each descriptor type:
--
--
-- - For DESCRIPTOR_TYPE_SAMPLER, only the sampler
-- member of each element of
-- WriteDescriptorSet::pImageInfo is accessed.
-- - For DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, only the imageView
-- and imageLayout members of each element of
-- WriteDescriptorSet::pImageInfo are accessed.
-- - For DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, all members of
-- each element of WriteDescriptorSet::pImageInfo are
-- accessed.
-- - For DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, all members of each
-- element of WriteDescriptorSet::pBufferInfo are
-- accessed.
-- - For DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, each element of
-- WriteDescriptorSet::pTexelBufferView is accessed.
--
--
-- When updating descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetInlineUniformBlockEXT structure in the
-- pNext chain of WriteDescriptorSet. When updating
-- descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetAccelerationStructureKHR structure in the
-- pNext chain of WriteDescriptorSet. When updating
-- descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetAccelerationStructureNV structure in the
-- pNext chain of WriteDescriptorSet.
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolSize,
-- DescriptorSetLayoutBinding,
-- DescriptorUpdateTemplateEntry, ImageViewHandleInfoNVX,
-- MutableDescriptorTypeListVALVE, WriteDescriptorSet
newtype DescriptorType
DescriptorType :: Int32 -> DescriptorType
pattern DESCRIPTOR_TYPE_SAMPLER :: DescriptorType
pattern DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: DescriptorType
pattern DESCRIPTOR_TYPE_SAMPLED_IMAGE :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_IMAGE :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: DescriptorType
pattern DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: DescriptorType
pattern DESCRIPTOR_TYPE_MUTABLE_VALVE :: DescriptorType
pattern DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV :: DescriptorType
pattern DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR :: DescriptorType
pattern DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT :: DescriptorType
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DescriptorType.DescriptorType
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DescriptorType.DescriptorType
instance GHC.Classes.Ord Vulkan.Core10.Enums.DescriptorType.DescriptorType
instance GHC.Classes.Eq Vulkan.Core10.Enums.DescriptorType.DescriptorType
instance GHC.Show.Show Vulkan.Core10.Enums.DescriptorType.DescriptorType
instance GHC.Read.Read Vulkan.Core10.Enums.DescriptorType.DescriptorType
-- | Name
--
-- VK_VALVE_mutable_descriptor_type - device extension
--
-- VK_VALVE_mutable_descriptor_type
--
--
-- - Name String
-- VK_VALVE_mutable_descriptor_type
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 352
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_maintenance3
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-12-02
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Joshua Ashton,
-- Valve
- Hans-Kristian Arntzen, Valve
--
--
-- Description
--
-- This extension allows applications to reduce descriptor memory
-- footprint by allowing a descriptor to be able to mutate to a given
-- list of descriptor types depending on which descriptor types are
-- written into, or copied into a descriptor set.
--
-- The main use case this extension intends to address is descriptor
-- indexing with DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
-- where the descriptor types are completely generic, as this means
-- applications can allocate one large descriptor set, rather than having
-- one large descriptor set per descriptor type, which significantly
-- bloats descriptor memory usage and causes performance issues.
--
-- This extension also adds a mechanism to declare that a descriptor
-- pool, and therefore the descriptor sets that are allocated from it,
-- reside only in host memory; as such these descriptors can only be
-- updated/copied, but not bound.
--
-- These features together allow much more efficient emulation of the raw
-- D3D12 binding model. This extension is primarily intended to be useful
-- for API layering efforts.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-12-01 (Joshua Ashton, Hans-Kristian
-- Arntzen)
- Initial specification, squashed from public
-- draft.
--
--
-- See Also
--
-- MutableDescriptorTypeCreateInfoVALVE,
-- MutableDescriptorTypeListVALVE,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_VALVE_mutable_descriptor_type
-- | VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE - Structure
-- describing whether the mutable descriptor type is supported
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - mutableDescriptorType indicates that the implementation
-- must support using the DescriptorType of
-- DESCRIPTOR_TYPE_MUTABLE_VALVE with at least the following
-- descriptor types, where any combination of the types must be
-- supported:
-- - Additionally, mutableDescriptorType indicates
-- that:
--
--
-- If the PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VALVE_mutable_descriptor_type, Bool32,
-- StructureType
data PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: Bool -> PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
[$sel:mutableDescriptorType:PhysicalDeviceMutableDescriptorTypeFeaturesVALVE] :: PhysicalDeviceMutableDescriptorTypeFeaturesVALVE -> Bool
-- | VkMutableDescriptorTypeListVALVE - Structure describing descriptor
-- types that a given descriptor may mutate to
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - If descriptorTypeCount is not 0,
-- pDescriptorTypes must be a valid pointer to an array
-- of descriptorTypeCount valid DescriptorType
-- values
--
--
-- See Also
--
-- VK_VALVE_mutable_descriptor_type, DescriptorType,
-- MutableDescriptorTypeCreateInfoVALVE
data MutableDescriptorTypeListVALVE
MutableDescriptorTypeListVALVE :: Vector DescriptorType -> MutableDescriptorTypeListVALVE
-- | pDescriptorTypes is NULL or a pointer to an array of
-- descriptorTypeCount DescriptorType values defining
-- which descriptor types a given binding may mutate to.
[$sel:descriptorTypes:MutableDescriptorTypeListVALVE] :: MutableDescriptorTypeListVALVE -> Vector DescriptorType
-- | VkMutableDescriptorTypeCreateInfoVALVE - Structure describing the list
-- of possible active descriptor types for mutable type descriptors
--
-- Description
--
-- If mutableDescriptorTypeListCount is zero or if this
-- structure is not included in the pNext chain, the
-- MutableDescriptorTypeListVALVE for each element is considered
-- to be zero or NULL for each member. Otherwise, the descriptor
-- set layout binding at
-- DescriptorSetLayoutCreateInfo::pBindings[i] uses the
-- descriptor type lists in
-- MutableDescriptorTypeCreateInfoVALVE::pMutableDescriptorTypeLists[i].
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If mutableDescriptorTypeListCount is not 0,
-- pMutableDescriptorTypeLists must be a valid pointer to
-- an array of mutableDescriptorTypeListCount valid
-- MutableDescriptorTypeListVALVE structures
--
--
-- See Also
--
-- VK_VALVE_mutable_descriptor_type,
-- MutableDescriptorTypeListVALVE, StructureType
data MutableDescriptorTypeCreateInfoVALVE
MutableDescriptorTypeCreateInfoVALVE :: Vector MutableDescriptorTypeListVALVE -> MutableDescriptorTypeCreateInfoVALVE
-- | pMutableDescriptorTypeLists is a pointer to an array of
-- MutableDescriptorTypeListVALVE structures.
[$sel:mutableDescriptorTypeLists:MutableDescriptorTypeCreateInfoVALVE] :: MutableDescriptorTypeCreateInfoVALVE -> Vector MutableDescriptorTypeListVALVE
type VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION = 1
pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION :: forall a. Integral a => a
type VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME = "VK_VALVE_mutable_descriptor_type"
pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
instance GHC.Show.Show Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
instance GHC.Show.Show Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeListVALVE
instance GHC.Show.Show Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeListVALVE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeListVALVE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeListVALVE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
instance Foreign.Storable.Storable Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
module Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits
type DescriptorSetLayoutCreateFlags = DescriptorSetLayoutCreateFlagBits
-- | VkDescriptorSetLayoutCreateFlagBits - Bitmask specifying descriptor
-- set layout properties
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayoutCreateFlags
newtype DescriptorSetLayoutCreateFlagBits
DescriptorSetLayoutCreateFlagBits :: Flags -> DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE specifies
-- that descriptor sets using this layout must be allocated from a
-- descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE bit set. Descriptor
-- set layouts created with this bit have no expressable limit for
-- maximum number of descriptors per-stage. Host descriptor sets are
-- limited only by available host memory, but may be limited for
-- implementation specific reasons. Implementations may limit the
-- number of supported descriptors to UpdateAfterBind limits or
-- non-UpdateAfterBind limits, whichever is larger.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR specifies
-- that descriptor sets must not be allocated using this layout,
-- and descriptors are instead pushed by cmdPushDescriptorSetKHR.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
-- specifies that descriptor sets using this layout must be
-- allocated from a descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set.
-- Descriptor set layouts created with this bit set have alternate limits
-- for the maximum number of descriptors per-stage and per-pipeline
-- layout. The non-UpdateAfterBind limits only count descriptors in sets
-- created without this flag. The UpdateAfterBind limits count all
-- descriptors, but the limits may be higher than the
-- non-UpdateAfterBind limits.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT :: DescriptorSetLayoutCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits
module Vulkan.Core10.Enums.DescriptorPoolResetFlags
-- | VkDescriptorPoolResetFlags - Reserved for future use
--
-- Description
--
-- DescriptorPoolResetFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, resetDescriptorPool
newtype DescriptorPoolResetFlags
DescriptorPoolResetFlags :: Flags -> DescriptorPoolResetFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance GHC.Show.Show Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
instance GHC.Read.Read Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags
module Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits
type DescriptorPoolCreateFlags = DescriptorPoolCreateFlagBits
-- | VkDescriptorPoolCreateFlagBits - Bitmask specifying certain supported
-- operations on a descriptor pool
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolCreateFlags
newtype DescriptorPoolCreateFlagBits
DescriptorPoolCreateFlagBits :: Flags -> DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT specifies that
-- descriptor sets can return their individual allocations to the
-- pool, i.e. all of allocateDescriptorSets,
-- freeDescriptorSets, and resetDescriptorPool are allowed.
-- Otherwise, descriptor sets allocated from the pool must not be
-- individually freed back to the pool, i.e. only
-- allocateDescriptorSets and resetDescriptorPool are
-- allowed.
pattern DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE specifies that this
-- descriptor pool and the descriptor sets allocated from it reside
-- entirely in host memory and cannot be bound. Descriptor sets allocated
-- from this pool are partially exempt from the external synchronization
-- requirement in updateDescriptorSetWithTemplateKHR and
-- updateDescriptorSets. Descriptor sets and their descriptors can
-- be updated concurrently in different threads, though the same
-- descriptor must not be updated concurrently by two threads.
pattern DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT specifies that
-- descriptor sets allocated from this pool can include bindings
-- with the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set. It
-- is valid to allocate descriptor sets that have bindings that do not
-- set the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit from a
-- pool that has DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT set.
pattern DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: DescriptorPoolCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits
module Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing
-- | VkPhysicalDeviceDescriptorIndexingFeatures - Structure describing
-- descriptor indexing features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceDescriptorIndexingFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDescriptorIndexingFeatures can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceDescriptorIndexingFeatures
PhysicalDeviceDescriptorIndexingFeatures :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceDescriptorIndexingFeatures
-- | shaderInputAttachmentArrayDynamicIndexing indicates whether
-- arrays of input attachments can be indexed by dynamically
-- uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT must be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the InputAttachmentArrayDynamicIndexing capability.
[$sel:shaderInputAttachmentArrayDynamicIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderUniformTexelBufferArrayDynamicIndexing indicates
-- whether arrays of uniform texel buffers can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the UniformTexelBufferArrayDynamicIndexing
-- capability.
[$sel:shaderUniformTexelBufferArrayDynamicIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderStorageTexelBufferArrayDynamicIndexing indicates
-- whether arrays of storage texel buffers can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the StorageTexelBufferArrayDynamicIndexing
-- capability.
[$sel:shaderStorageTexelBufferArrayDynamicIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderUniformBufferArrayNonUniformIndexing indicates whether
-- arrays of uniform buffers can be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled, resources
-- with a descriptor type of DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must not be
-- indexed by non-uniform integer expressions when aggregated into arrays
-- in shader code. This also indicates whether shader modules can
-- declare the UniformBufferArrayNonUniformIndexing capability.
[$sel:shaderUniformBufferArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderSampledImageArrayNonUniformIndexing indicates whether
-- arrays of samplers or sampled images can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE must not be indexed by
-- non-uniform integer expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the SampledImageArrayNonUniformIndexing capability.
[$sel:shaderSampledImageArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderStorageBufferArrayNonUniformIndexing indicates whether
-- arrays of storage buffers can be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled, resources
-- with a descriptor type of DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must not be
-- indexed by non-uniform integer expressions when aggregated into arrays
-- in shader code. This also indicates whether shader modules can
-- declare the StorageBufferArrayNonUniformIndexing capability.
[$sel:shaderStorageBufferArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderStorageImageArrayNonUniformIndexing indicates whether
-- arrays of storage images can be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled, resources
-- with a descriptor type of DESCRIPTOR_TYPE_STORAGE_IMAGE
-- must not be indexed by non-uniform integer expressions when
-- aggregated into arrays in shader code. This also indicates whether
-- shader modules can declare the
-- StorageImageArrayNonUniformIndexing capability.
[$sel:shaderStorageImageArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderInputAttachmentArrayNonUniformIndexing indicates
-- whether arrays of input attachments can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT must not be indexed by
-- non-uniform integer expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the InputAttachmentArrayNonUniformIndexing capability.
[$sel:shaderInputAttachmentArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderUniformTexelBufferArrayNonUniformIndexing indicates
-- whether arrays of uniform texel buffers can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must not be indexed
-- by non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the UniformTexelBufferArrayNonUniformIndexing
-- capability.
[$sel:shaderUniformTexelBufferArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | shaderStorageTexelBufferArrayNonUniformIndexing indicates
-- whether arrays of storage texel buffers can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must not be indexed
-- by non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the StorageTexelBufferArrayNonUniformIndexing
-- capability.
[$sel:shaderStorageTexelBufferArrayNonUniformIndexing:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingUniformBufferUpdateAfterBind indicates
-- whether the implementation supports updating uniform buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_UNIFORM_BUFFER.
[$sel:descriptorBindingUniformBufferUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingSampledImageUpdateAfterBind indicates
-- whether the implementation supports updating sampled image descriptors
-- after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE.
[$sel:descriptorBindingSampledImageUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingStorageImageUpdateAfterBind indicates
-- whether the implementation supports updating storage image descriptors
-- after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_STORAGE_IMAGE.
[$sel:descriptorBindingStorageImageUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingStorageBufferUpdateAfterBind indicates
-- whether the implementation supports updating storage buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_STORAGE_BUFFER.
[$sel:descriptorBindingStorageBufferUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingUniformTexelBufferUpdateAfterBind indicates
-- whether the implementation supports updating uniform texel buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.
[$sel:descriptorBindingUniformTexelBufferUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingStorageTexelBufferUpdateAfterBind indicates
-- whether the implementation supports updating storage texel buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.
[$sel:descriptorBindingStorageTexelBufferUpdateAfterBind:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingUpdateUnusedWhilePending indicates whether
-- the implementation supports updating descriptors while the set is in
-- use. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT must
-- not be used.
[$sel:descriptorBindingUpdateUnusedWhilePending:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingPartiallyBound indicates whether the
-- implementation supports statically using a descriptor set binding in
-- which some descriptors are not valid. If this feature is not enabled,
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT must not be used.
[$sel:descriptorBindingPartiallyBound:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | descriptorBindingVariableDescriptorCount indicates whether
-- the implementation supports descriptor sets with a variable-sized last
-- binding. If this feature is not enabled,
-- DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT must
-- not be used.
[$sel:descriptorBindingVariableDescriptorCount:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | runtimeDescriptorArray indicates whether the implementation
-- supports the SPIR-V RuntimeDescriptorArray capability. If
-- this feature is not enabled, descriptors must not be declared
-- in runtime arrays.
[$sel:runtimeDescriptorArray:PhysicalDeviceDescriptorIndexingFeatures] :: PhysicalDeviceDescriptorIndexingFeatures -> Bool
-- | VkPhysicalDeviceDescriptorIndexingProperties - Structure describing
-- descriptor indexing properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceDescriptorIndexingProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceDescriptorIndexingProperties
PhysicalDeviceDescriptorIndexingProperties :: Word32 -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceDescriptorIndexingProperties
-- | maxUpdateAfterBindDescriptorsInAllPools is the maximum number
-- of descriptors (summed over all descriptor types) that can be
-- created across all pools that are created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set. Pool
-- creation may fail when this limit is exceeded, or when the
-- space this limit represents is unable to satisfy a pool creation due
-- to fragmentation.
[$sel:maxUpdateAfterBindDescriptorsInAllPools:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | shaderUniformBufferArrayNonUniformIndexingNative is a boolean
-- value indicating whether uniform buffer descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- uniform buffers may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderUniformBufferArrayNonUniformIndexingNative:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | shaderSampledImageArrayNonUniformIndexingNative is a boolean
-- value indicating whether sampler and image descriptors natively
-- support nonuniform indexing. If this is FALSE, then a single
-- dynamic instance of an instruction that nonuniformly indexes an array
-- of samplers or images may execute multiple times in order to
-- access all the descriptors.
[$sel:shaderSampledImageArrayNonUniformIndexingNative:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | shaderStorageBufferArrayNonUniformIndexingNative is a boolean
-- value indicating whether storage buffer descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage buffers may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderStorageBufferArrayNonUniformIndexingNative:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | shaderStorageImageArrayNonUniformIndexingNative is a boolean
-- value indicating whether storage image descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage images may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderStorageImageArrayNonUniformIndexingNative:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | shaderInputAttachmentArrayNonUniformIndexingNative is a
-- boolean value indicating whether input attachment descriptors natively
-- support nonuniform indexing. If this is FALSE, then a single
-- dynamic instance of an instruction that nonuniformly indexes an array
-- of input attachments may execute multiple times in order to
-- access all the descriptors.
[$sel:shaderInputAttachmentArrayNonUniformIndexingNative:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | robustBufferAccessUpdateAfterBind is a boolean value
-- indicating whether robustBufferAccess can be enabled in
-- a device simultaneously with
-- descriptorBindingUniformBufferUpdateAfterBind,
-- descriptorBindingStorageBufferUpdateAfterBind,
-- descriptorBindingUniformTexelBufferUpdateAfterBind, and/or
-- descriptorBindingStorageTexelBufferUpdateAfterBind. If this
-- is FALSE, then either robustBufferAccess must
-- be disabled or all of these update-after-bind features must be
-- disabled.
[$sel:robustBufferAccessUpdateAfterBind:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | quadDivergentImplicitLod is a boolean value indicating
-- whether implicit level of detail calculations for image operations
-- have well-defined results when the image and/or sampler objects used
-- for the instruction are not uniform within a quad. See Derivative
-- Image Operations.
[$sel:quadDivergentImplicitLod:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Bool
-- | maxPerStageDescriptorUpdateAfterBindSamplers is similar to
-- maxPerStageDescriptorSamplers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindSamplers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindUniformBuffers is similar
-- to maxPerStageDescriptorUniformBuffers but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindUniformBuffers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindStorageBuffers is similar
-- to maxPerStageDescriptorStorageBuffers but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindStorageBuffers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindSampledImages is similar
-- to maxPerStageDescriptorSampledImages but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindSampledImages:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindStorageImages is similar
-- to maxPerStageDescriptorStorageImages but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindStorageImages:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindInputAttachments is
-- similar to maxPerStageDescriptorInputAttachments but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindInputAttachments:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxPerStageUpdateAfterBindResources is similar to
-- maxPerStageResources but counts descriptors from descriptor
-- sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageUpdateAfterBindResources:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindSamplers is similar to
-- maxDescriptorSetSamplers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindSamplers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindUniformBuffers is similar to
-- maxDescriptorSetUniformBuffers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindUniformBuffers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindUniformBuffersDynamic is
-- similar to maxDescriptorSetUniformBuffersDynamic but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set. While an application can allocate dynamic uniform buffer
-- descriptors from a pool created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-- bindings for these descriptors must not be present in any
-- descriptor set layout that includes bindings created with
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT.
[$sel:maxDescriptorSetUpdateAfterBindUniformBuffersDynamic:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageBuffers is similar to
-- maxDescriptorSetStorageBuffers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindStorageBuffers:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageBuffersDynamic is
-- similar to maxDescriptorSetStorageBuffersDynamic but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set. While an application can allocate dynamic storage buffer
-- descriptors from a pool created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-- bindings for these descriptors must not be present in any
-- descriptor set layout that includes bindings created with
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT.
[$sel:maxDescriptorSetUpdateAfterBindStorageBuffersDynamic:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindSampledImages is similar to
-- maxDescriptorSetSampledImages but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindSampledImages:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageImages is similar to
-- maxDescriptorSetStorageImages but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindStorageImages:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | maxDescriptorSetUpdateAfterBindInputAttachments is similar to
-- maxDescriptorSetInputAttachments but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindInputAttachments:PhysicalDeviceDescriptorIndexingProperties] :: PhysicalDeviceDescriptorIndexingProperties -> Word32
-- | VkDescriptorSetLayoutBindingFlagsCreateInfo - Structure specifying
-- creation flags for descriptor set layout bindings
--
-- Description
--
-- If bindingCount is zero or if this structure is not included
-- in the pNext chain, the DescriptorBindingFlags for
-- each descriptor set layout binding is considered to be zero.
-- Otherwise, the descriptor set layout binding at
-- DescriptorSetLayoutCreateInfo::pBindings[i] uses the
-- flags in pBindingFlags[i].
--
-- Valid Usage
--
--
--
--
-- - If DescriptorSetLayoutCreateInfo::flags includes
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, then all
-- elements of pBindingFlags must not include
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, or
-- DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
-- - If an element of pBindingFlags includes
-- DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, then all
-- other elements of
-- DescriptorSetLayoutCreateInfo::pBindings must
-- have a smaller value of binding
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingUniformBufferUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingSampledImageUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingStorageImageUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_STORAGE_IMAGE must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingStorageBufferUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingUniformTexelBufferUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingStorageTexelBufferUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceInlineUniformBlockFeaturesEXT::descriptorBindingInlineUniformBlockUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceAccelerationStructureFeaturesKHR::descriptorBindingAccelerationStructureUpdateAfterBind
-- is not enabled, all bindings with descriptor type
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR or
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - All bindings with descriptor type
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must not use
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingUpdateUnusedWhilePending
-- is not enabled, all elements of pBindingFlags must not
-- include DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingPartiallyBound
-- is not enabled, all elements of pBindingFlags must not
-- include DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT
-- - If
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingVariableDescriptorCount
-- is not enabled, all elements of pBindingFlags must not
-- include DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
-- - If an element of pBindingFlags includes
-- DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, that
-- element’s descriptorType must not be
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If bindingCount is not 0, pBindingFlags
-- must be a valid pointer to an array of bindingCount
-- valid combinations of DescriptorBindingFlagBits values
--
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- DescriptorBindingFlags, StructureType
data DescriptorSetLayoutBindingFlagsCreateInfo
DescriptorSetLayoutBindingFlagsCreateInfo :: Vector DescriptorBindingFlags -> DescriptorSetLayoutBindingFlagsCreateInfo
-- | pBindingFlags is a pointer to an array of
-- DescriptorBindingFlags bitfields, one for each descriptor set
-- layout binding.
[$sel:bindingFlags:DescriptorSetLayoutBindingFlagsCreateInfo] :: DescriptorSetLayoutBindingFlagsCreateInfo -> Vector DescriptorBindingFlags
-- | VkDescriptorSetVariableDescriptorCountAllocateInfo - Structure
-- specifying additional allocation parameters for descriptor sets
--
-- Description
--
-- If descriptorSetCount is zero or this structure is not
-- included in the pNext chain, then the variable lengths are
-- considered to be zero. Otherwise, pDescriptorCounts[i] is the
-- number of descriptors in the variable count descriptor binding in the
-- corresponding descriptor set layout. If the variable count descriptor
-- binding in the corresponding descriptor set layout has a descriptor
-- type of DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- pDescriptorCounts[i] specifies the binding’s capacity in
-- bytes. If DescriptorSetAllocateInfo::pSetLayouts[i]
-- does not include a variable count descriptor binding, then
-- pDescriptorCounts[i] is ignored.
--
-- Valid Usage
--
--
--
--
-- - If DescriptorSetAllocateInfo::pSetLayouts[i] has a
-- variable descriptor count binding, then pDescriptorCounts[i]
-- must be less than or equal to the descriptor count specified
-- for that binding when the descriptor set layout was created
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If descriptorSetCount is not 0,
-- pDescriptorCounts must be a valid pointer to an array
-- of descriptorSetCount uint32_t values
--
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- StructureType
data DescriptorSetVariableDescriptorCountAllocateInfo
DescriptorSetVariableDescriptorCountAllocateInfo :: Vector Word32 -> DescriptorSetVariableDescriptorCountAllocateInfo
-- | pDescriptorCounts is a pointer to an array of descriptor
-- counts, with each member specifying the number of descriptors in a
-- variable descriptor count binding in the corresponding descriptor set
-- being allocated.
[$sel:descriptorCounts:DescriptorSetVariableDescriptorCountAllocateInfo] :: DescriptorSetVariableDescriptorCountAllocateInfo -> Vector Word32
-- | VkDescriptorSetVariableDescriptorCountLayoutSupport - Structure
-- returning information about whether a descriptor set layout can be
-- supported
--
-- Description
--
-- If the DescriptorSetLayoutCreateInfo structure specified in
-- getDescriptorSetLayoutSupport::pCreateInfo includes a
-- variable-sized descriptor, then supported is determined
-- assuming the requested size of the variable-sized descriptor, and
-- maxVariableDescriptorCount is set to the maximum size of that
-- descriptor that can be successfully created (which is greater
-- than or equal to the requested size passed in). If the
-- DescriptorSetLayoutCreateInfo structure does not include a
-- variable-sized descriptor, or if the
-- PhysicalDeviceDescriptorIndexingFeatures::descriptorBindingVariableDescriptorCount
-- feature is not enabled, then maxVariableDescriptorCount is
-- set to zero. For the purposes of this command, a variable-sized
-- descriptor binding with a descriptorCount of zero is treated
-- as if the descriptorCount is one, and thus the binding is not
-- ignored and the maximum descriptor count will be returned. If the
-- layout is not supported, then the value written to
-- maxVariableDescriptorCount is undefined.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- StructureType
data DescriptorSetVariableDescriptorCountLayoutSupport
DescriptorSetVariableDescriptorCountLayoutSupport :: Word32 -> DescriptorSetVariableDescriptorCountLayoutSupport
-- | maxVariableDescriptorCount indicates the maximum number of
-- descriptors supported in the highest numbered binding of the layout,
-- if that binding is variable-sized. If the highest numbered binding of
-- the layout has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- maxVariableDescriptorCount indicates the maximum byte size
-- supported for the binding, if that binding is variable-sized.
[$sel:maxVariableDescriptorCount:DescriptorSetVariableDescriptorCountLayoutSupport] :: DescriptorSetVariableDescriptorCountLayoutSupport -> Word32
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
-- | VkDescriptorPoolCreateFlagBits - Bitmask specifying certain supported
-- operations on a descriptor pool
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolCreateFlags
newtype DescriptorPoolCreateFlagBits
DescriptorPoolCreateFlagBits :: Flags -> DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT specifies that
-- descriptor sets can return their individual allocations to the
-- pool, i.e. all of allocateDescriptorSets,
-- freeDescriptorSets, and resetDescriptorPool are allowed.
-- Otherwise, descriptor sets allocated from the pool must not be
-- individually freed back to the pool, i.e. only
-- allocateDescriptorSets and resetDescriptorPool are
-- allowed.
pattern DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE specifies that this
-- descriptor pool and the descriptor sets allocated from it reside
-- entirely in host memory and cannot be bound. Descriptor sets allocated
-- from this pool are partially exempt from the external synchronization
-- requirement in updateDescriptorSetWithTemplateKHR and
-- updateDescriptorSets. Descriptor sets and their descriptors can
-- be updated concurrently in different threads, though the same
-- descriptor must not be updated concurrently by two threads.
pattern DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT specifies that
-- descriptor sets allocated from this pool can include bindings
-- with the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set. It
-- is valid to allocate descriptor sets that have bindings that do not
-- set the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit from a
-- pool that has DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT set.
pattern DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: DescriptorPoolCreateFlagBits
type DescriptorPoolCreateFlags = DescriptorPoolCreateFlagBits
-- | VkDescriptorSetLayoutCreateFlagBits - Bitmask specifying descriptor
-- set layout properties
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayoutCreateFlags
newtype DescriptorSetLayoutCreateFlagBits
DescriptorSetLayoutCreateFlagBits :: Flags -> DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE specifies
-- that descriptor sets using this layout must be allocated from a
-- descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE bit set. Descriptor
-- set layouts created with this bit have no expressable limit for
-- maximum number of descriptors per-stage. Host descriptor sets are
-- limited only by available host memory, but may be limited for
-- implementation specific reasons. Implementations may limit the
-- number of supported descriptors to UpdateAfterBind limits or
-- non-UpdateAfterBind limits, whichever is larger.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR specifies
-- that descriptor sets must not be allocated using this layout,
-- and descriptors are instead pushed by cmdPushDescriptorSetKHR.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
-- specifies that descriptor sets using this layout must be
-- allocated from a descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set.
-- Descriptor set layouts created with this bit set have alternate limits
-- for the maximum number of descriptors per-stage and per-pipeline
-- layout. The non-UpdateAfterBind limits only count descriptors in sets
-- created without this flag. The UpdateAfterBind limits count all
-- descriptors, but the limits may be higher than the
-- non-UpdateAfterBind limits.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT :: DescriptorSetLayoutCreateFlagBits
type DescriptorSetLayoutCreateFlags = DescriptorSetLayoutCreateFlagBits
-- | VkDescriptorBindingFlagBits - Bitmask specifying descriptor set layout
-- binding properties
--
-- Description
--
-- Note
--
-- Note that while DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT and
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT both involve
-- updates to descriptor sets after they are bound,
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT is a weaker
-- requirement since it is only about descriptors that are not used,
-- whereas DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT requires the
-- implementation to observe updates to descriptors that are used.
--
-- See Also
--
-- VK_EXT_descriptor_indexing, VK_VERSION_1_2,
-- DescriptorBindingFlags
newtype DescriptorBindingFlagBits
DescriptorBindingFlagBits :: Flags -> DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT indicates that if
-- descriptors in this binding are updated between when the descriptor
-- set is bound in a command buffer and when that command buffer is
-- submitted to a queue, then the submission will use the most recently
-- set descriptors for this binding and the updates do not invalidate the
-- command buffer. Descriptor bindings created with this flag are also
-- partially exempt from the external synchronization requirement in
-- updateDescriptorSetWithTemplateKHR and
-- updateDescriptorSets. Multiple descriptors with this flag set
-- can be updated concurrently in different threads, though the
-- same descriptor must not be updated concurrently by two
-- threads. Descriptors with this flag set can be updated
-- concurrently with the set being bound to a command buffer in another
-- thread, but not concurrently with the set being reset or freed.
pattern DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT indicates
-- that descriptors in this binding can be updated after a command
-- buffer has bound this descriptor set, or while a command buffer that
-- uses this descriptor set is pending execution, as long as the
-- descriptors that are updated are not used by those command buffers. If
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT is also set, then
-- descriptors can be updated as long as they are not dynamically
-- used by any shader invocations. If
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT is not set, then
-- descriptors can be updated as long as they are not statically
-- used by any shader invocations.
pattern DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT indicates that
-- descriptors in this binding that are not dynamically used need
-- not contain valid descriptors at the time the descriptors are
-- consumed. A descriptor is dynamically used if any shader invocation
-- executes an instruction that performs any memory access using the
-- descriptor.
pattern DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: DescriptorBindingFlagBits
-- | DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT indicates that
-- this descriptor binding has a variable size that will be specified
-- when a descriptor set is allocated using this layout. The value of
-- descriptorCount is treated as an upper bound on the size of
-- the binding. This must only be used for the last binding in the
-- descriptor set layout (i.e. the binding with the largest value of
-- binding). For the purposes of counting against limits such as
-- maxDescriptorSet* and maxPerStageDescriptor*, the
-- full value of descriptorCount is counted, except for
-- descriptor bindings with a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT where
-- descriptorCount specifies the upper bound on the byte size of
-- the binding, thus it counts against the
-- maxInlineUniformBlockSize limit instead.
pattern DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: DescriptorBindingFlagBits
type DescriptorBindingFlags = DescriptorBindingFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetLayoutBindingFlagsCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetLayoutBindingFlagsCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetLayoutBindingFlagsCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetLayoutBindingFlagsCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures
-- | Name
--
-- VK_EXT_descriptor_indexing - device extension
--
-- VK_EXT_descriptor_indexing
--
--
-- - Name String VK_EXT_descriptor_indexing
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 162
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_maintenance3
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-02
--
--
--
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Daniel Rakos, AMD
- Slawomir Grajewski,
-- Intel
- Tobias Hector, Imagination Technologies
--
--
-- Description
--
-- This extension adds several small features which together enable
-- applications to create large descriptor sets containing substantially
-- all of their resources, and selecting amongst those resources with
-- dynamic (non-uniform) indexes in the shader. There are feature enables
-- and SPIR-V capabilities for non-uniform descriptor indexing in the
-- shader, and non-uniform indexing in the shader requires use of a new
-- NonUniformEXT decoration defined in the
-- SPV_EXT_descriptor_indexing SPIR-V extension. There are
-- descriptor set layout binding creation flags enabling several
-- features:
--
--
-- - Descriptors can be updated after they are bound to a command
-- buffer, such that the execution of the command buffer reflects the
-- most recent update to the descriptors.
-- - Descriptors that are not used by any pending command buffers can
-- be updated, which enables writing new descriptors for frame N+1 while
-- frame N is executing.
-- - Relax the requirement that all descriptors in a binding that is
-- “statically used” must be valid, such that descriptors that are not
-- accessed by a submission need not be valid and can be updated while
-- that submission is executing.
-- - The final binding in a descriptor set layout can have a variable
-- size (and unsized arrays of resources are allowed in the
-- GL_EXT_nonuniform_qualifier and
-- SPV_EXT_descriptor_indexing extensions).
--
--
-- Note that it is valid for multiple descriptor arrays in a shader to
-- use the same set and binding number, as long as they are all
-- compatible with the descriptor type in the pipeline layout. This means
-- a single array binding in the descriptor set can serve multiple
-- texture dimensionalities, or an array of buffer descriptors can be
-- used with multiple different block layouts.
--
-- There are new descriptor set layout and descriptor pool creation flags
-- that are required to opt in to the update-after-bind functionality,
-- and there are separate maxPerStage* and
-- maxDescriptorSet* limits that apply to these descriptor set
-- layouts which may be much higher than the pre-existing limits.
-- The old limits only count descriptors in non-updateAfterBind
-- descriptor set layouts, and the new limits count descriptors in all
-- descriptor set layouts in the pipeline layout.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Promotion to Vulkan 1.2
--
-- Functionality in this extension is included in core Vulkan 1.2, with
-- the EXT suffix omitted. However, if Vulkan 1.2 is supported and this
-- extension is not, the descriptorIndexing capability is
-- optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- Version History
--
--
-- - Revision 1, 2017-07-26 (Jeff Bolz)
--
--
--
-- - Revision 2, 2017-10-02 (Jeff Bolz)
--
--
-- See Also
--
-- DescriptorBindingFlagBitsEXT, DescriptorBindingFlagsEXT,
-- DescriptorSetLayoutBindingFlagsCreateInfoEXT,
-- DescriptorSetVariableDescriptorCountAllocateInfoEXT,
-- DescriptorSetVariableDescriptorCountLayoutSupportEXT,
-- PhysicalDeviceDescriptorIndexingFeaturesEXT,
-- PhysicalDeviceDescriptorIndexingPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_descriptor_indexing
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT :: StructureType
pattern DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT :: DescriptorBindingFlagBits
pattern DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT :: DescriptorBindingFlagBits
pattern DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT :: DescriptorBindingFlagBits
pattern DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT :: DescriptorBindingFlagBits
pattern DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT :: DescriptorPoolCreateFlagBits
pattern DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT :: DescriptorSetLayoutCreateFlagBits
pattern ERROR_FRAGMENTATION_EXT :: Result
type DescriptorBindingFlagsEXT = DescriptorBindingFlags
type DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits
type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures
type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties
type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo
type DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo
type DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport
type EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2
pattern EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: forall a. Integral a => a
type EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing"
pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.DependencyFlagBits
type DependencyFlags = DependencyFlagBits
-- | VkDependencyFlagBits - Bitmask specifying how execution and memory
-- dependencies are formed
--
-- See Also
--
-- VK_VERSION_1_0, DependencyFlags
newtype DependencyFlagBits
DependencyFlagBits :: Flags -> DependencyFlagBits
-- | DEPENDENCY_BY_REGION_BIT specifies that dependencies will be
-- framebuffer-local.
pattern DEPENDENCY_BY_REGION_BIT :: DependencyFlagBits
-- | DEPENDENCY_VIEW_LOCAL_BIT specifies that a subpass has more
-- than one view.
pattern DEPENDENCY_VIEW_LOCAL_BIT :: DependencyFlagBits
-- | DEPENDENCY_DEVICE_GROUP_BIT specifies that dependencies are
-- non-device-local.
pattern DEPENDENCY_DEVICE_GROUP_BIT :: DependencyFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlagBits
module Vulkan.Core11.Promoted_From_VK_KHR_multiview
-- | VkPhysicalDeviceMultiviewFeatures - Structure describing multiview
-- features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - multiview specifies whether the implementation supports
-- multiview rendering within a render pass. If this feature is not
-- enabled, the view mask of each subpass must always be
-- zero.
-- - multiviewGeometryShader specifies whether the
-- implementation supports multiview rendering within a render pass, with
-- geometry shaders. If this feature is not enabled, then a
-- pipeline compiled against a subpass with a non-zero view mask
-- must not include a geometry shader.
-- - multiviewTessellationShader specifies whether the
-- implementation supports multiview rendering within a render pass, with
-- tessellation shaders. If this feature is not enabled, then a
-- pipeline compiled against a subpass with a non-zero view mask
-- must not include any tessellation shaders.
--
--
-- If the PhysicalDeviceMultiviewFeatures structure is included in
-- the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceMultiviewFeatures can also be used in the
-- pNext chain of DeviceCreateInfo to selectively enable
-- these features.
--
-- Valid Usage
--
--
-- - If multiviewGeometryShader is enabled then
-- multiview must also be enabled
--
--
--
-- - If multiviewTessellationShader is enabled then
-- multiview must also be enabled
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDeviceMultiviewFeatures
PhysicalDeviceMultiviewFeatures :: Bool -> Bool -> Bool -> PhysicalDeviceMultiviewFeatures
[$sel:multiview:PhysicalDeviceMultiviewFeatures] :: PhysicalDeviceMultiviewFeatures -> Bool
[$sel:multiviewGeometryShader:PhysicalDeviceMultiviewFeatures] :: PhysicalDeviceMultiviewFeatures -> Bool
[$sel:multiviewTessellationShader:PhysicalDeviceMultiviewFeatures] :: PhysicalDeviceMultiviewFeatures -> Bool
-- | VkPhysicalDeviceMultiviewProperties - Structure describing multiview
-- limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceMultiviewProperties structure is included
-- in the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data PhysicalDeviceMultiviewProperties
PhysicalDeviceMultiviewProperties :: Word32 -> Word32 -> PhysicalDeviceMultiviewProperties
-- | maxMultiviewViewCount is one greater than the maximum view
-- index that can be used in a subpass.
[$sel:maxMultiviewViewCount:PhysicalDeviceMultiviewProperties] :: PhysicalDeviceMultiviewProperties -> Word32
-- | maxMultiviewInstanceIndex is the maximum valid value of
-- instance index allowed to be generated by a drawing command recorded
-- within a subpass of a multiview render pass instance.
[$sel:maxMultiviewInstanceIndex:PhysicalDeviceMultiviewProperties] :: PhysicalDeviceMultiviewProperties -> Word32
-- | VkRenderPassMultiviewCreateInfo - Structure containing multiview
-- information for all subpasses
--
-- Description
--
-- When a subpass uses a non-zero view mask, multiview
-- functionality is considered to be enabled. Multiview is all-or-nothing
-- for a render pass - that is, either all subpasses must have a
-- non-zero view mask (though some subpasses may have only one
-- view) or all must be zero. Multiview causes all drawing and
-- clear commands in the subpass to behave as if they were broadcast to
-- each view, where a view is represented by one layer of the framebuffer
-- attachments. All draws and clears are broadcast to each view
-- index whose bit is set in the view mask. The view index is
-- provided in the ViewIndex shader input variable, and color,
-- depth/stencil, and input attachments all read/write the layer of the
-- framebuffer corresponding to the view index.
--
-- If the view mask is zero for all subpasses, multiview is considered to
-- be disabled and all drawing commands execute normally, without this
-- additional broadcasting.
--
-- Some implementations may not support multiview in conjunction
-- with geometry shaders or tessellation shaders.
--
-- When multiview is enabled, the DEPENDENCY_VIEW_LOCAL_BIT bit in
-- a dependency can be used to express a view-local dependency,
-- meaning that each view in the destination subpass depends on a single
-- view in the source subpass. Unlike pipeline barriers, a subpass
-- dependency can potentially have a different view mask in the
-- source subpass and the destination subpass. If the dependency is
-- view-local, then each view (dstView) in the destination subpass
-- depends on the view dstView + pViewOffsets[dependency] in the
-- source subpass. If there is not such a view in the source subpass,
-- then this dependency does not affect that view in the destination
-- subpass. If the dependency is not view-local, then all views in the
-- destination subpass depend on all views in the source subpass, and the
-- view offset is ignored. A non-zero view offset is not allowed in a
-- self-dependency.
--
-- The elements of pCorrelationMasks are a set of masks of views
-- indicating that views in the same mask may exhibit spatial
-- coherency between the views, making it more efficient to render them
-- concurrently. Correlation masks must not have a functional
-- effect on the results of the multiview rendering.
--
-- When multiview is enabled, at the beginning of each subpass all
-- non-render pass state is undefined. In particular, each time
-- cmdBeginRenderPass or cmdNextSubpass is called the
-- graphics pipeline must be bound, any relevant descriptor sets
-- or vertex/index buffers must be bound, and any relevant dynamic
-- state or push constants must be set before they are used.
--
-- A multiview subpass can declare that its shaders will write
-- per-view attributes for all views in a single invocation, by setting
-- the SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX bit in the
-- subpass description. The only supported per-view attributes are
-- position and viewport mask, and per-view position and viewport masks
-- are written to output array variables decorated with
-- PositionPerViewNV and ViewportMaskPerViewNV,
-- respectively. If VK_NV_viewport_array2 is not supported and
-- enabled, ViewportMaskPerViewNV must not be used.
-- Values written to elements of PositionPerViewNV and
-- ViewportMaskPerViewNV must not depend on the
-- ViewIndex. The shader must also write to an output
-- variable decorated with Position, and the value written to
-- Position must equal the value written to
-- PositionPerViewNV[ViewIndex]. Similarly, if
-- ViewportMaskPerViewNV is written to then the shader
-- must also write to an output variable decorated with
-- ViewportMaskNV, and the value written to
-- ViewportMaskNV must equal the value written to
-- ViewportMaskPerViewNV[ViewIndex]. Implementations
-- will either use values taken from Position and
-- ViewportMaskNV and invoke the shader once for each view, or
-- will use values taken from PositionPerViewNV and
-- ViewportMaskPerViewNV and invoke the shader fewer times. The
-- values written to Position and ViewportMaskNV
-- must not depend on the values written to
-- PositionPerViewNV and ViewportMaskPerViewNV, or vice
-- versa (to allow compilers to eliminate the unused outputs). All
-- attributes that do not have *PerViewNV counterparts
-- must not depend on ViewIndex.
--
-- Per-view attributes are all-or-nothing for a subpass. That is, all
-- pipelines compiled against a subpass that includes the
-- SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX bit must
-- write per-view attributes to the *PerViewNV[] shader outputs,
-- in addition to the non-per-view (e.g. Position) outputs.
-- Pipelines compiled against a subpass that does not include this bit
-- must not include the *PerViewNV[] outputs in their
-- interfaces.
--
-- Valid Usage
--
--
-- - Each view index must not be set in more than one element of
-- pCorrelationMasks
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If subpassCount is not 0, pViewMasks
-- must be a valid pointer to an array of subpassCount
-- uint32_t values
-- - If dependencyCount is not 0,
-- pViewOffsets must be a valid pointer to an array of
-- dependencyCount int32_t values
-- - If correlationMaskCount is not 0,
-- pCorrelationMasks must be a valid pointer to an array
-- of correlationMaskCount uint32_t values
--
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data RenderPassMultiviewCreateInfo
RenderPassMultiviewCreateInfo :: Vector Word32 -> Vector Int32 -> Vector Word32 -> RenderPassMultiviewCreateInfo
-- | pViewMasks is a pointer to an array of subpassCount
-- view masks, where each mask is a bitfield of view indices describing
-- which views rendering is broadcast to in each subpass, when multiview
-- is enabled. If subpassCount is zero, each view mask is
-- treated as zero.
[$sel:viewMasks:RenderPassMultiviewCreateInfo] :: RenderPassMultiviewCreateInfo -> Vector Word32
-- | pViewOffsets is a pointer to an array of
-- dependencyCount view offsets, one for each dependency. If
-- dependencyCount is zero, each dependency’s view offset is
-- treated as zero. Each view offset controls which views in the source
-- subpass the views in the destination subpass depend on.
[$sel:viewOffsets:RenderPassMultiviewCreateInfo] :: RenderPassMultiviewCreateInfo -> Vector Int32
-- | pCorrelationMasks is a pointer to an array of
-- correlationMaskCount view masks indicating sets of views that
-- may be more efficient to render concurrently.
[$sel:correlationMasks:RenderPassMultiviewCreateInfo] :: RenderPassMultiviewCreateInfo -> Vector Word32
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkDependencyFlagBits - Bitmask specifying how execution and memory
-- dependencies are formed
--
-- See Also
--
-- VK_VERSION_1_0, DependencyFlags
newtype DependencyFlagBits
DependencyFlagBits :: Flags -> DependencyFlagBits
-- | DEPENDENCY_BY_REGION_BIT specifies that dependencies will be
-- framebuffer-local.
pattern DEPENDENCY_BY_REGION_BIT :: DependencyFlagBits
-- | DEPENDENCY_VIEW_LOCAL_BIT specifies that a subpass has more
-- than one view.
pattern DEPENDENCY_VIEW_LOCAL_BIT :: DependencyFlagBits
-- | DEPENDENCY_DEVICE_GROUP_BIT specifies that dependencies are
-- non-device-local.
pattern DEPENDENCY_DEVICE_GROUP_BIT :: DependencyFlagBits
type DependencyFlags = DependencyFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures
-- | Name
--
-- VK_KHR_multiview - device extension
--
-- VK_KHR_multiview
--
--
-- - Name String VK_KHR_multiview
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 54
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-28
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
--
--
-- Description
--
-- This extension has the same goal as the OpenGL ES
-- GL_OVR_multiview extension. Multiview is a rendering
-- technique originally designed for VR where it is more efficient to
-- record a single set of commands to be executed with slightly different
-- behavior for each “view”.
--
-- It includes a concise way to declare a render pass with multiple
-- views, and gives implementations freedom to render the views in the
-- most efficient way possible. This is done with a multiview
-- configuration specified during render pass creation with the
-- RenderPassMultiviewCreateInfo passed into
-- RenderPassCreateInfo::pNext.
--
-- This extension enables the use of the SPV_KHR_multiview shader
-- extension, which adds a new ViewIndex built-in type that
-- allows shaders to control what to do for each view. If using GLSL
-- there is also the GL_EXT_multiview extension that introduces a
-- highp int gl_ViewIndex; built-in variable for vertex,
-- tessellation, geometry, and fragment shaders.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New Built-In Variables
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-28 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceMultiviewFeaturesKHR,
-- PhysicalDeviceMultiviewPropertiesKHR,
-- RenderPassMultiviewCreateInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_multiview
pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR :: StructureType
pattern DEPENDENCY_VIEW_LOCAL_BIT_KHR :: DependencyFlagBits
type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures
type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties
type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo
type KHR_MULTIVIEW_SPEC_VERSION = 1
pattern KHR_MULTIVIEW_SPEC_VERSION :: forall a. Integral a => a
type KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview"
pattern KHR_MULTIVIEW_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.CullModeFlagBits
type CullModeFlags = CullModeFlagBits
-- | VkCullModeFlagBits - Bitmask controlling triangle culling
--
-- Description
--
-- Following culling, fragments are produced for any triangles which have
-- not been discarded.
--
-- See Also
--
-- VK_VERSION_1_0, CullModeFlags
newtype CullModeFlagBits
CullModeFlagBits :: Flags -> CullModeFlagBits
-- | CULL_MODE_NONE specifies that no triangles are discarded
pattern CULL_MODE_NONE :: CullModeFlagBits
-- | CULL_MODE_FRONT_BIT specifies that front-facing triangles are
-- discarded
pattern CULL_MODE_FRONT_BIT :: CullModeFlagBits
-- | CULL_MODE_BACK_BIT specifies that back-facing triangles are
-- discarded
pattern CULL_MODE_BACK_BIT :: CullModeFlagBits
-- | CULL_MODE_FRONT_AND_BACK specifies that all triangles are
-- discarded.
pattern CULL_MODE_FRONT_AND_BACK :: CullModeFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits
module Vulkan.Core10.Enums.ComponentSwizzle
-- | VkComponentSwizzle - Specify how a component is swizzled
--
-- Description
--
-- Setting the identity swizzle on a component is equivalent to setting
-- the identity mapping on that component. That is:
--
-- TODO: table
--
-- Component Mappings Equivalent To COMPONENT_SWIZZLE_IDENTITY
--
-- See Also
--
-- VK_VERSION_1_0, ComponentMapping
newtype ComponentSwizzle
ComponentSwizzle :: Int32 -> ComponentSwizzle
-- | COMPONENT_SWIZZLE_IDENTITY specifies that the component is set
-- to the identity swizzle.
pattern COMPONENT_SWIZZLE_IDENTITY :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_ZERO specifies that the component is set to
-- zero.
pattern COMPONENT_SWIZZLE_ZERO :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_ONE specifies that the component is set to
-- either 1 or 1.0, depending on whether the type of the image view
-- format is integer or floating-point respectively, as determined by the
-- Format Definition section for each Format.
pattern COMPONENT_SWIZZLE_ONE :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_R specifies that the component is set to the
-- value of the R component of the image.
pattern COMPONENT_SWIZZLE_R :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_G specifies that the component is set to the
-- value of the G component of the image.
pattern COMPONENT_SWIZZLE_G :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_B specifies that the component is set to the
-- value of the B component of the image.
pattern COMPONENT_SWIZZLE_B :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_A specifies that the component is set to the
-- value of the A component of the image.
pattern COMPONENT_SWIZZLE_A :: ComponentSwizzle
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
instance GHC.Classes.Ord Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
instance GHC.Classes.Eq Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
instance GHC.Show.Show Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
instance GHC.Read.Read Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle
module Vulkan.Core10.Enums.CompareOp
-- | VkCompareOp - Stencil comparison function
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDepthStencilStateCreateInfo,
-- SamplerCreateInfo, StencilOpState,
-- cmdSetDepthCompareOpEXT, cmdSetStencilOpEXT
newtype CompareOp
CompareOp :: Int32 -> CompareOp
-- | COMPARE_OP_NEVER specifies that the test evaluates to false.
pattern COMPARE_OP_NEVER :: CompareOp
-- | COMPARE_OP_LESS specifies that the test evaluates A < B.
pattern COMPARE_OP_LESS :: CompareOp
-- | COMPARE_OP_EQUAL specifies that the test evaluates A = B.
pattern COMPARE_OP_EQUAL :: CompareOp
-- | COMPARE_OP_LESS_OR_EQUAL specifies that the test evaluates A ≤
-- B.
pattern COMPARE_OP_LESS_OR_EQUAL :: CompareOp
-- | COMPARE_OP_GREATER specifies that the test evaluates A > B.
pattern COMPARE_OP_GREATER :: CompareOp
-- | COMPARE_OP_NOT_EQUAL specifies that the test evaluates A ≠ B.
pattern COMPARE_OP_NOT_EQUAL :: CompareOp
-- | COMPARE_OP_GREATER_OR_EQUAL specifies that the test evaluates A
-- ≥ B.
pattern COMPARE_OP_GREATER_OR_EQUAL :: CompareOp
-- | COMPARE_OP_ALWAYS specifies that the test evaluates to true.
pattern COMPARE_OP_ALWAYS :: CompareOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CompareOp.CompareOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CompareOp.CompareOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.CompareOp.CompareOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.CompareOp.CompareOp
instance GHC.Show.Show Vulkan.Core10.Enums.CompareOp.CompareOp
instance GHC.Read.Read Vulkan.Core10.Enums.CompareOp.CompareOp
module Vulkan.Core10.Enums.CommandPoolResetFlagBits
type CommandPoolResetFlags = CommandPoolResetFlagBits
-- | VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command
-- pool reset
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolResetFlags
newtype CommandPoolResetFlagBits
CommandPoolResetFlagBits :: Flags -> CommandPoolResetFlagBits
-- | COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT specifies that
-- resetting a command pool recycles all of the resources from the
-- command pool back to the system.
pattern COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: CommandPoolResetFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlagBits
module Vulkan.Core10.Enums.CommandPoolCreateFlagBits
type CommandPoolCreateFlags = CommandPoolCreateFlagBits
-- | VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a
-- command pool
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolCreateFlags
newtype CommandPoolCreateFlagBits
CommandPoolCreateFlagBits :: Flags -> CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_TRANSIENT_BIT specifies that command
-- buffers allocated from the pool will be short-lived, meaning that they
-- will be reset or freed in a relatively short timeframe. This flag
-- may be used by the implementation to control memory allocation
-- behavior within the pool.
pattern COMMAND_POOL_CREATE_TRANSIENT_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT allows any command
-- buffer allocated from a pool to be individually reset to the
-- initial state; either by calling resetCommandBuffer, or
-- via the implicit reset when calling beginCommandBuffer. If this
-- flag is not set on a pool, then resetCommandBuffer must
-- not be called for any command buffer allocated from that pool.
pattern COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_PROTECTED_BIT specifies that command
-- buffers allocated from the pool are protected command buffers.
pattern COMMAND_POOL_CREATE_PROTECTED_BIT :: CommandPoolCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlagBits
module Vulkan.Core10.Enums.CommandBufferUsageFlagBits
type CommandBufferUsageFlags = CommandBufferUsageFlagBits
-- | VkCommandBufferUsageFlagBits - Bitmask specifying usage behavior for
-- command buffer
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferUsageFlags
newtype CommandBufferUsageFlagBits
CommandBufferUsageFlagBits :: Flags -> CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT specifies that each
-- recording of the command buffer will only be submitted once, and the
-- command buffer will be reset and recorded again between each
-- submission.
pattern COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT :: CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT specifies that a
-- secondary command buffer is considered to be entirely inside a render
-- pass. If this is a primary command buffer, then this bit is ignored.
pattern COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT :: CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT specifies that a
-- command buffer can be resubmitted to a queue while it is in the
-- /pending state/, and recorded into multiple primary command buffers.
pattern COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT :: CommandBufferUsageFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits
module Vulkan.Core10.Enums.CommandBufferResetFlagBits
type CommandBufferResetFlags = CommandBufferResetFlagBits
-- | VkCommandBufferResetFlagBits - Bitmask controlling behavior of a
-- command buffer reset
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferResetFlags
newtype CommandBufferResetFlagBits
CommandBufferResetFlagBits :: Flags -> CommandBufferResetFlagBits
-- | COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT specifies that most
-- or all memory resources currently owned by the command buffer
-- should be returned to the parent command pool. If this flag is
-- not set, then the command buffer may hold onto memory resources
-- and reuse them when recording commands. commandBuffer is
-- moved to the initial state.
pattern COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT :: CommandBufferResetFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlagBits
module Vulkan.Core10.Enums.CommandBufferLevel
-- | VkCommandBufferLevel - Enumerant specifying a command buffer level
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo
newtype CommandBufferLevel
CommandBufferLevel :: Int32 -> CommandBufferLevel
-- | COMMAND_BUFFER_LEVEL_PRIMARY specifies a primary command
-- buffer.
pattern COMMAND_BUFFER_LEVEL_PRIMARY :: CommandBufferLevel
-- | COMMAND_BUFFER_LEVEL_SECONDARY specifies a secondary command
-- buffer.
pattern COMMAND_BUFFER_LEVEL_SECONDARY :: CommandBufferLevel
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
instance Foreign.Storable.Storable Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
instance GHC.Classes.Ord Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
instance GHC.Classes.Eq Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
instance GHC.Show.Show Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
instance GHC.Read.Read Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel
module Vulkan.Core10.Enums.ColorComponentFlagBits
type ColorComponentFlags = ColorComponentFlagBits
-- | VkColorComponentFlagBits - Bitmask controlling which components are
-- written to the framebuffer
--
-- Description
--
-- The color write mask operation is applied regardless of whether
-- blending is enabled.
--
-- The color write mask operation is applied only if Color Write
-- Enable is enabled for the respective attachment. Otherwise the
-- color write mask is ignored and writes to all components of the
-- attachment are disabled.
--
-- See Also
--
-- VK_VERSION_1_0, ColorComponentFlags
newtype ColorComponentFlagBits
ColorComponentFlagBits :: Flags -> ColorComponentFlagBits
-- | COLOR_COMPONENT_R_BIT specifies that the R value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_R_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_G_BIT specifies that the G value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_G_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_B_BIT specifies that the B value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_B_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_A_BIT specifies that the A value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_A_BIT :: ColorComponentFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits
module Vulkan.Core10.Enums.BufferViewCreateFlags
-- | VkBufferViewCreateFlags - Reserved for future use
--
-- Description
--
-- BufferViewCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, BufferViewCreateInfo
newtype BufferViewCreateFlags
BufferViewCreateFlags :: Flags -> BufferViewCreateFlags
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance Data.Bits.Bits Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance GHC.Classes.Ord Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance GHC.Show.Show Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
instance GHC.Read.Read Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags
module Vulkan.Core10.Enums.BufferUsageFlagBits
type BufferUsageFlags = BufferUsageFlagBits
-- | VkBufferUsageFlagBits - Bitmask specifying allowed usage of a buffer
--
-- See Also
--
-- VK_VERSION_1_0, BufferUsageFlags
newtype BufferUsageFlagBits
BufferUsageFlagBits :: Flags -> BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_SRC_BIT specifies that the buffer
-- can be used as the source of a transfer command (see the
-- definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
pattern BUFFER_USAGE_TRANSFER_SRC_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_DST_BIT specifies that the buffer
-- can be used as the destination of a transfer command.
pattern BUFFER_USAGE_TRANSFER_DST_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.
pattern BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.
pattern BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_UNIFORM_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_STORAGE_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdBindIndexBuffer.
pattern BUFFER_USAGE_INDEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_VERTEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as an element of the pBuffers array to
-- cmdBindVertexBuffers.
pattern BUFFER_USAGE_VERTEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDIRECT_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdDrawIndirect, cmdDrawIndexedIndirect,
-- cmdDrawMeshTasksIndirectNV,
-- cmdDrawMeshTasksIndirectCountNV, or cmdDispatchIndirect.
-- It is also suitable for passing as the buffer member of
-- IndirectCommandsStreamNV, or sequencesCountBuffer or
-- sequencesIndexBuffer or preprocessedBuffer member of
-- GeneratedCommandsInfoNV
pattern BUFFER_USAGE_INDIRECT_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR specifies that the
-- buffer is suitable for use as a Shader Binding Table.
pattern BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR specifies
-- that the buffer is suitable for storage space for a
-- AccelerationStructureKHR.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR :: BufferUsageFlagBits
-- |
-- BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-- specifies that the buffer is suitable for use as a read-only input to
-- an acceleration structure build.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT specifies that the
-- buffer is suitable for passing as the buffer parameter to
-- cmdBeginConditionalRenderingEXT.
pattern BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
-- specifies that the buffer is suitable for using as a counter buffer
-- with cmdBeginTransformFeedbackEXT and
-- cmdEndTransformFeedbackEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT specifies that
-- the buffer is suitable for using for binding as a transform feedback
-- buffer with cmdBindTransformFeedbackBuffersEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT specifies that the
-- buffer can be used to retrieve a buffer device address via
-- getBufferDeviceAddress and use that address to access the
-- buffer’s memory from a shader.
pattern BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT :: BufferUsageFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits
module Vulkan.Core10.Enums.BufferCreateFlagBits
type BufferCreateFlags = BufferCreateFlagBits
-- | VkBufferCreateFlagBits - Bitmask specifying additional parameters of a
-- buffer
--
-- Description
--
-- See Sparse Resource Features and Physical Device
-- Features for details of the sparse memory features supported on a
-- device.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateFlags
newtype BufferCreateFlagBits
BufferCreateFlagBits :: Flags -> BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_BINDING_BIT specifies that the buffer will
-- be backed using sparse memory binding.
pattern BUFFER_CREATE_SPARSE_BINDING_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_RESIDENCY_BIT specifies that the buffer
-- can be partially backed using sparse memory binding. Buffers
-- created with this flag must also be created with the
-- BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_ALIASED_BIT specifies that the buffer will
-- be backed using sparse memory binding with memory ranges that might
-- also simultaneously be backing another buffer (or another portion of
-- the same buffer). Buffers created with this flag must also be
-- created with the BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_ALIASED_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies that
-- the buffer’s address can be saved and reused on a subsequent
-- run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_PROTECTED_BIT specifies that the buffer is a
-- protected buffer.
pattern BUFFER_CREATE_PROTECTED_BIT :: BufferCreateFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits
module Vulkan.Core10.Enums.BorderColor
-- | VkBorderColor - Specify border color used for texture lookups
--
-- Description
--
-- These colors are described in detail in Texel Replacement.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype BorderColor
BorderColor :: Int32 -> BorderColor
-- | BORDER_COLOR_FLOAT_TRANSPARENT_BLACK specifies a transparent,
-- floating-point format, black color.
pattern BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: BorderColor
-- | BORDER_COLOR_INT_TRANSPARENT_BLACK specifies a transparent,
-- integer format, black color.
pattern BORDER_COLOR_INT_TRANSPARENT_BLACK :: BorderColor
-- | BORDER_COLOR_FLOAT_OPAQUE_BLACK specifies an opaque,
-- floating-point format, black color.
pattern BORDER_COLOR_FLOAT_OPAQUE_BLACK :: BorderColor
-- | BORDER_COLOR_INT_OPAQUE_BLACK specifies an opaque, integer
-- format, black color.
pattern BORDER_COLOR_INT_OPAQUE_BLACK :: BorderColor
-- | BORDER_COLOR_FLOAT_OPAQUE_WHITE specifies an opaque,
-- floating-point format, white color.
pattern BORDER_COLOR_FLOAT_OPAQUE_WHITE :: BorderColor
-- | BORDER_COLOR_INT_OPAQUE_WHITE specifies an opaque, integer
-- format, white color.
pattern BORDER_COLOR_INT_OPAQUE_WHITE :: BorderColor
-- | BORDER_COLOR_INT_CUSTOM_EXT indicates that a
-- SamplerCustomBorderColorCreateInfoEXT structure is included in
-- the SamplerCreateInfo::pNext chain containing the
-- color data in integer format.
pattern BORDER_COLOR_INT_CUSTOM_EXT :: BorderColor
-- | BORDER_COLOR_FLOAT_CUSTOM_EXT indicates that a
-- SamplerCustomBorderColorCreateInfoEXT structure is included in
-- the SamplerCreateInfo::pNext chain containing the
-- color data in floating-point format.
pattern BORDER_COLOR_FLOAT_CUSTOM_EXT :: BorderColor
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BorderColor.BorderColor
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BorderColor.BorderColor
instance GHC.Classes.Ord Vulkan.Core10.Enums.BorderColor.BorderColor
instance GHC.Classes.Eq Vulkan.Core10.Enums.BorderColor.BorderColor
instance GHC.Show.Show Vulkan.Core10.Enums.BorderColor.BorderColor
instance GHC.Read.Read Vulkan.Core10.Enums.BorderColor.BorderColor
module Vulkan.Core10.Enums.BlendOp
-- | VkBlendOp - Framebuffer blending operations
--
-- Description
--
-- The semantics of the basic blend operations are described in the table
-- below:
--
-- TODO: table
--
-- Basic Blend Operations
--
-- In this table, the following conventions are used:
--
--
-- - Rs0, Gs0, Bs0 and As0 represent the first source color R, G, B,
-- and A components, respectively.
-- - Rd, Gd, Bd and Ad represent the R, G, B, and A components of the
-- destination color. That is, the color currently in the corresponding
-- color attachment for this fragment/sample.
-- - Sr, Sg, Sb and Sa represent the source blend factor R, G, B, and A
-- components, respectively.
-- - Dr, Dg, Db and Da represent the destination blend factor R, G, B,
-- and A components, respectively.
--
--
-- The blending operation produces a new set of values R, G, B and A,
-- which are written to the framebuffer attachment. If blending is not
-- enabled for this attachment, then R, G, B and A are assigned Rs0, Gs0,
-- Bs0 and As0, respectively.
--
-- If the color attachment is fixed-point, the components of the source
-- and destination values and blend factors are each clamped to [0,1] or
-- [-1,1] respectively for an unsigned normalized or signed normalized
-- color attachment prior to evaluating the blend operations. If the
-- color attachment is floating-point, no clamping occurs.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendAttachmentState
newtype BlendOp
BlendOp :: Int32 -> BlendOp
pattern BLEND_OP_ADD :: BlendOp
pattern BLEND_OP_SUBTRACT :: BlendOp
pattern BLEND_OP_REVERSE_SUBTRACT :: BlendOp
pattern BLEND_OP_MIN :: BlendOp
pattern BLEND_OP_MAX :: BlendOp
pattern BLEND_OP_BLUE_EXT :: BlendOp
pattern BLEND_OP_GREEN_EXT :: BlendOp
pattern BLEND_OP_RED_EXT :: BlendOp
pattern BLEND_OP_INVERT_OVG_EXT :: BlendOp
pattern BLEND_OP_CONTRAST_EXT :: BlendOp
pattern BLEND_OP_MINUS_CLAMPED_EXT :: BlendOp
pattern BLEND_OP_MINUS_EXT :: BlendOp
pattern BLEND_OP_PLUS_DARKER_EXT :: BlendOp
pattern BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: BlendOp
pattern BLEND_OP_PLUS_CLAMPED_EXT :: BlendOp
pattern BLEND_OP_PLUS_EXT :: BlendOp
pattern BLEND_OP_HSL_LUMINOSITY_EXT :: BlendOp
pattern BLEND_OP_HSL_COLOR_EXT :: BlendOp
pattern BLEND_OP_HSL_SATURATION_EXT :: BlendOp
pattern BLEND_OP_HSL_HUE_EXT :: BlendOp
pattern BLEND_OP_HARDMIX_EXT :: BlendOp
pattern BLEND_OP_PINLIGHT_EXT :: BlendOp
pattern BLEND_OP_LINEARLIGHT_EXT :: BlendOp
pattern BLEND_OP_VIVIDLIGHT_EXT :: BlendOp
pattern BLEND_OP_LINEARBURN_EXT :: BlendOp
pattern BLEND_OP_LINEARDODGE_EXT :: BlendOp
pattern BLEND_OP_INVERT_RGB_EXT :: BlendOp
pattern BLEND_OP_INVERT_EXT :: BlendOp
pattern BLEND_OP_EXCLUSION_EXT :: BlendOp
pattern BLEND_OP_DIFFERENCE_EXT :: BlendOp
pattern BLEND_OP_SOFTLIGHT_EXT :: BlendOp
pattern BLEND_OP_HARDLIGHT_EXT :: BlendOp
pattern BLEND_OP_COLORBURN_EXT :: BlendOp
pattern BLEND_OP_COLORDODGE_EXT :: BlendOp
pattern BLEND_OP_LIGHTEN_EXT :: BlendOp
pattern BLEND_OP_DARKEN_EXT :: BlendOp
pattern BLEND_OP_OVERLAY_EXT :: BlendOp
pattern BLEND_OP_SCREEN_EXT :: BlendOp
pattern BLEND_OP_MULTIPLY_EXT :: BlendOp
pattern BLEND_OP_XOR_EXT :: BlendOp
pattern BLEND_OP_DST_ATOP_EXT :: BlendOp
pattern BLEND_OP_SRC_ATOP_EXT :: BlendOp
pattern BLEND_OP_DST_OUT_EXT :: BlendOp
pattern BLEND_OP_SRC_OUT_EXT :: BlendOp
pattern BLEND_OP_DST_IN_EXT :: BlendOp
pattern BLEND_OP_SRC_IN_EXT :: BlendOp
pattern BLEND_OP_DST_OVER_EXT :: BlendOp
pattern BLEND_OP_SRC_OVER_EXT :: BlendOp
pattern BLEND_OP_DST_EXT :: BlendOp
pattern BLEND_OP_SRC_EXT :: BlendOp
pattern BLEND_OP_ZERO_EXT :: BlendOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BlendOp.BlendOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BlendOp.BlendOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.BlendOp.BlendOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.BlendOp.BlendOp
instance GHC.Show.Show Vulkan.Core10.Enums.BlendOp.BlendOp
instance GHC.Read.Read Vulkan.Core10.Enums.BlendOp.BlendOp
module Vulkan.Core10.Enums.BlendFactor
-- | VkBlendFactor - Framebuffer blending factors
--
-- Description
--
-- The semantics of the enum values are described in the table below:
--
-- TODO: table
--
-- Blend Factors
--
-- In this table, the following conventions are used:
--
--
-- - Rs0,Gs0,Bs0 and As0 represent the first source color R, G, B, and
-- A components, respectively, for the fragment output location
-- corresponding to the color attachment being blended.
-- - Rs1,Gs1,Bs1 and As1 represent the second source color R, G, B, and
-- A components, respectively, used in dual source blending modes, for
-- the fragment output location corresponding to the color attachment
-- being blended.
-- - Rd,Gd,Bd and Ad represent the R, G, B, and A components of the
-- destination color. That is, the color currently in the corresponding
-- color attachment for this fragment/sample.
-- - Rc,Gc,Bc and Ac represent the blend constant R, G, B, and A
-- components, respectively.
--
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendAttachmentState
newtype BlendFactor
BlendFactor :: Int32 -> BlendFactor
pattern BLEND_FACTOR_ZERO :: BlendFactor
pattern BLEND_FACTOR_ONE :: BlendFactor
pattern BLEND_FACTOR_SRC_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: BlendFactor
pattern BLEND_FACTOR_DST_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_DST_COLOR :: BlendFactor
pattern BLEND_FACTOR_SRC_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: BlendFactor
pattern BLEND_FACTOR_DST_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: BlendFactor
pattern BLEND_FACTOR_CONSTANT_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: BlendFactor
pattern BLEND_FACTOR_CONSTANT_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: BlendFactor
pattern BLEND_FACTOR_SRC_ALPHA_SATURATE :: BlendFactor
pattern BLEND_FACTOR_SRC1_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: BlendFactor
pattern BLEND_FACTOR_SRC1_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: BlendFactor
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.BlendFactor.BlendFactor
instance Foreign.Storable.Storable Vulkan.Core10.Enums.BlendFactor.BlendFactor
instance GHC.Classes.Ord Vulkan.Core10.Enums.BlendFactor.BlendFactor
instance GHC.Classes.Eq Vulkan.Core10.Enums.BlendFactor.BlendFactor
instance GHC.Show.Show Vulkan.Core10.Enums.BlendFactor.BlendFactor
instance GHC.Read.Read Vulkan.Core10.Enums.BlendFactor.BlendFactor
module Vulkan.Core10.Enums.AttachmentStoreOp
-- | VkAttachmentStoreOp - Specify how contents of an attachment are
-- treated at the end of a subpass
--
-- Description
--
-- Note
--
-- ATTACHMENT_STORE_OP_DONT_CARE can cause contents
-- generated during previous render passes to be discarded before
-- reaching memory, even if no write to the attachment occurs during the
-- current render pass.
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, RenderingAttachmentInfoKHR
newtype AttachmentStoreOp
AttachmentStoreOp :: Int32 -> AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_STORE specifies the contents generated
-- during the render pass and within the render area are written to
-- memory. For attachments with a depth/stencil format, this uses the
-- access type ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For
-- attachments with a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_STORE_OP_STORE :: AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_DONT_CARE specifies the contents within the
-- render area are not needed after rendering, and may be
-- discarded; the contents of the attachment will be undefined inside the
-- render area. For attachments with a depth/stencil format, this uses
-- the access type ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For
-- attachments with a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_STORE_OP_DONT_CARE :: AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_NONE_KHR specifies the contents within the
-- render area are not accessed by the store operation. However, if the
-- attachment was written to during the render pass, the contents of the
-- attachment will be undefined inside the render area.
pattern ATTACHMENT_STORE_OP_NONE_KHR :: AttachmentStoreOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
instance GHC.Show.Show Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
instance GHC.Read.Read Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp
-- | Name
--
-- VK_QCOM_render_pass_store_ops - device extension
--
-- VK_QCOM_render_pass_store_ops
--
--
-- - Name String
-- VK_QCOM_render_pass_store_ops
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 302
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-03-25
--
--
--
-- - Contributors
- Bill Licea-Kane, Qualcomm
-- Technologies, Inc.
--
--
-- Description
--
-- Renderpass attachments can be read-only for the duration of a
-- render pass.
--
-- Examples include input attachments and depth attachments where depth
-- tests are enabled but depth writes are not enabled.
--
-- In such cases, there can be no contents generated for an
-- attachment within the render area.
--
-- This extension adds a new AttachmentStoreOp
-- ATTACHMENT_STORE_OP_NONE_QCOM specifying that the contents
-- within the render area may not be written to memory, but that
-- the prior contents of the attachment in memory are preserved. However,
-- if any contents were generated within the render area during
-- rendering, the contents of the attachment will be undefined inside the
-- render area.
--
-- Note
--
-- The AttachmentStoreOp ATTACHMENT_STORE_OP_STORE
-- may force an implementation to assume that the attachment was
-- written and force an implementation to flush data to memory or to a
-- higher level cache. The AttachmentStoreOp
-- ATTACHMENT_STORE_OP_NONE_QCOM may allow an
-- implementation to assume that the attachment was not written and allow
-- an implementation to avoid such a flush..
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-12-20 (wwlk)
--
--
--
-- - Revision 2, 2020-03-25 (wwlk)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_QCOM_render_pass_store_ops
pattern ATTACHMENT_STORE_OP_NONE_QCOM :: AttachmentStoreOp
type QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION = 2
pattern QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION :: forall a. Integral a => a
type QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME = "VK_QCOM_render_pass_store_ops"
pattern QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_load_store_op_none - device extension
--
-- VK_EXT_load_store_op_none
--
--
-- - Name String VK_EXT_load_store_op_none
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 401
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-06
--
--
--
-- - Contributors
- Shahbaz Youssefi,
-- Google
- Bill Licea-Kane, Qualcomm Technologies,
-- Inc.
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension incorporates ATTACHMENT_STORE_OP_NONE_EXT from
-- VK_QCOM_render_pass_store_ops, enabling applications to avoid
-- unnecessary synchronization when an attachment is not written during a
-- render pass.
--
-- Additionally, ATTACHMENT_LOAD_OP_NONE_EXT is introduced to
-- avoid unnecessary synchronization when an attachment is not used
-- during a render pass at all. In combination with
-- ATTACHMENT_STORE_OP_NONE_EXT, this is useful as an alternative
-- to preserve attachments in applications that cannot decide if an
-- attachment will be used in a render pass until after the necessary
-- pipelines have been created.
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-06-06 (Shahbaz Youssefi)
- Initial revision,
-- based on VK_QCOM_render_pass_store_ops.
- Added
-- VK_ATTACHMENT_LOAD_OP_NONE_EXT.
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_load_store_op_none
pattern ATTACHMENT_STORE_OP_NONE_EXT :: AttachmentStoreOp
type EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1
pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a. Integral a => a
type EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none"
pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Enums.AttachmentLoadOp
-- | VkAttachmentLoadOp - Specify how contents of an attachment are treated
-- at the beginning of a subpass
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, RenderingAttachmentInfoKHR
newtype AttachmentLoadOp
AttachmentLoadOp :: Int32 -> AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_LOAD specifies that the previous contents of
-- the image within the render area will be preserved. For attachments
-- with a depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_READ_BIT.
pattern ATTACHMENT_LOAD_OP_LOAD :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_CLEAR specifies that the contents within the
-- render area will be cleared to a uniform value, which is specified
-- when a render pass instance is begun. For attachments with a
-- depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_LOAD_OP_CLEAR :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_DONT_CARE specifies that the previous
-- contents within the area need not be preserved; the contents of the
-- attachment will be undefined inside the render area. For attachments
-- with a depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_LOAD_OP_DONT_CARE :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_NONE_EXT specifies that the previous
-- contents of the image within the render area will be preserved, but
-- the contents of the attachment will be undefined inside the render
-- pass. No access type is used as the image is not accessed.
pattern ATTACHMENT_LOAD_OP_NONE_EXT :: AttachmentLoadOp
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
instance Foreign.Storable.Storable Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
instance GHC.Classes.Ord Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
instance GHC.Classes.Eq Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
instance GHC.Show.Show Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
instance GHC.Read.Read Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp
module Vulkan.Core10.Enums.AttachmentDescriptionFlagBits
type AttachmentDescriptionFlags = AttachmentDescriptionFlagBits
-- | VkAttachmentDescriptionFlagBits - Bitmask specifying additional
-- properties of an attachment
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescriptionFlags
newtype AttachmentDescriptionFlagBits
AttachmentDescriptionFlagBits :: Flags -> AttachmentDescriptionFlagBits
-- | ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT specifies that the
-- attachment aliases the same device memory as other attachments.
pattern ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: AttachmentDescriptionFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits
module Vulkan.Core10.Enums.AccessFlagBits
type AccessFlags = AccessFlagBits
-- | VkAccessFlagBits - Bitmask specifying memory access types that will
-- participate in a memory dependency
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for AccessFlags2KHR.
--
-- Certain access types are only performed by a subset of pipeline
-- stages. Any synchronization command that takes both stage masks and
-- access masks uses both to define the access scopes - only the
-- specified access types performed by the specified stages are included
-- in the access scope. An application must not specify an access
-- flag in a synchronization command if it does not include a pipeline
-- stage in the corresponding stage mask that is able to perform accesses
-- of that type. The following table lists, for each access flag, which
-- pipeline stages can perform that type of access.
--
-- TODO: table
--
-- Supported access types
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags
newtype AccessFlagBits
AccessFlagBits :: Flags -> AccessFlagBits
-- | ACCESS_INDIRECT_COMMAND_READ_BIT specifies read access to
-- indirect command data read as part of an indirect build, trace,
-- drawing or dispatching command. Such access occurs in the
-- PIPELINE_STAGE_DRAW_INDIRECT_BIT pipeline stage.
pattern ACCESS_INDIRECT_COMMAND_READ_BIT :: AccessFlagBits
-- | ACCESS_INDEX_READ_BIT specifies read access to an index buffer
-- as part of an indexed drawing command, bound by
-- cmdBindIndexBuffer. Such access occurs in the
-- PIPELINE_STAGE_VERTEX_INPUT_BIT pipeline stage.
pattern ACCESS_INDEX_READ_BIT :: AccessFlagBits
-- | ACCESS_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a
-- vertex buffer as part of a drawing command, bound by
-- cmdBindVertexBuffers. Such access occurs in the
-- PIPELINE_STAGE_VERTEX_INPUT_BIT pipeline stage.
pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits
-- | ACCESS_UNIFORM_READ_BIT specifies read access to a uniform
-- buffer in any shader pipeline stage.
pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits
-- | ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an
-- input attachment within a render pass during subpass shading or
-- fragment shading. Such access occurs in the
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI or
-- PIPELINE_STAGE_FRAGMENT_SHADER_BIT pipeline stage.
pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_SHADER_READ_BIT specifies read access to a uniform
-- buffer, uniform texel buffer, sampled image,
-- storage buffer, physical storage buffer, shader
-- binding table, storage texel buffer, or storage
-- image in any shader pipeline stage.
pattern ACCESS_SHADER_READ_BIT :: AccessFlagBits
-- | ACCESS_SHADER_WRITE_BIT specifies write access to a storage
-- buffer, physical storage buffer, storage texel
-- buffer, or storage image in any shader pipeline stage.
pattern ACCESS_SHADER_WRITE_BIT :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_READ_BIT specifies read access to a
-- color attachment, such as via blending, logic
-- operations, or via certain subpass load operations. It does
-- not include advanced blend operations. Such access occurs in
-- the PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a
-- color, resolve, or depth/stencil resolve attachment during a
-- render pass or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: AccessFlagBits
-- | ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT specifies read access
-- to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load operations. Such
-- access occurs in the PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT or
-- PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stages.
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT specifies write
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT or
-- PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stages.
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits
-- | ACCESS_TRANSFER_READ_BIT specifies read access to an image or
-- buffer in a copy operation. Such access occurs in the
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR pipeline stage.
pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits
-- | ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or
-- buffer in a clear or copy operation. Such access occurs
-- in the PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR pipeline stage.
pattern ACCESS_TRANSFER_WRITE_BIT :: AccessFlagBits
-- | ACCESS_HOST_READ_BIT specifies read access by a host operation.
-- Accesses of this type are not performed through a resource, but
-- directly on memory. Such access occurs in the
-- PIPELINE_STAGE_HOST_BIT pipeline stage.
pattern ACCESS_HOST_READ_BIT :: AccessFlagBits
-- | ACCESS_HOST_WRITE_BIT specifies write access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_HOST_BIT pipeline stage.
pattern ACCESS_HOST_WRITE_BIT :: AccessFlagBits
-- | ACCESS_MEMORY_READ_BIT specifies all read accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all READ access flags that are valid where it is
-- used.
pattern ACCESS_MEMORY_READ_BIT :: AccessFlagBits
-- | ACCESS_MEMORY_WRITE_BIT specifies all write accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all WRITE access flags that are valid where it is
-- used.
pattern ACCESS_MEMORY_WRITE_BIT :: AccessFlagBits
-- | ACCESS_NONE_KHR specifies no accesses.
pattern ACCESS_NONE_KHR :: AccessFlagBits
-- | ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to the
-- target command buffer:VkBuffer preprocess outputs in
-- cmdPreprocessGeneratedCommandsNV. Such access occurs in the
-- PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV pipeline stage.
pattern ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits
-- | ACCESS_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from
-- buffer inputs to cmdPreprocessGeneratedCommandsNV. Such access
-- occurs in the PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV pipeline
-- stage.
pattern ACCESS_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits
-- | ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR specifies
-- read access to a fragment shading rate attachment during
-- rasterization. Such access occurs in the
-- PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- pipeline stage.
pattern ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits
-- | ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read access
-- to a fragment density map attachment during dynamic fragment
-- density map operations Such access occurs in the
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT pipeline stage.
pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR specifies write
-- access to an acceleration structure or acceleration structure
-- scratch buffer as part of a build or copy command. Such access
-- occurs in the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits
-- | ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR specifies read
-- access to an acceleration structure as part of a trace, build, or copy
-- command, or to an acceleration structure scratch buffer as part
-- of a build command. Such access occurs in the
-- PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR pipeline stage or
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT specifies read
-- access to color attachments, including advanced blend
-- operations. Such access occurs in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits
-- | ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT specifies read access
-- to a predicate as part of conditional rendering. Such access occurs in
-- the PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT pipeline
-- stage.
pattern ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT specifies write
-- access to a transform feedback counter buffer which is written when
-- cmdEndTransformFeedbackEXT executes. Such access occurs in the
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT specifies read
-- access to a transform feedback counter buffer which is read when
-- cmdBeginTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT specifies write access
-- to a transform feedback buffer made when transform feedback is active.
-- Such access occurs in the
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits
instance Data.Bits.FiniteBits Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance Data.Bits.Bits Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance Vulkan.Zero.Zero Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance Foreign.Storable.Storable Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance GHC.Classes.Ord Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance GHC.Show.Show Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
instance GHC.Read.Read Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits
module Vulkan.Core10.Enums
module Vulkan.Core10.AllocationCallbacks
-- | 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, VK_VERSION_1_0,
-- allocateMemory, createAccelerationStructureKHR,
-- createAccelerationStructureNV, createAndroidSurfaceKHR,
-- createBuffer, createBufferCollectionFUCHSIA,
-- createBufferView, createCommandPool,
-- createComputePipelines, createCuFunctionNVX,
-- createCuModuleNVX, 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, createScreenSurfaceQNX,
-- createSemaphore, createShaderModule,
-- createSharedSwapchainsKHR,
-- createStreamDescriptorSurfaceGGP, createSwapchainKHR,
-- createValidationCacheEXT, createViSurfaceNN,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, 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,
-- vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, freeMemory,
-- registerDeviceEventEXT, registerDisplayEventEXT
data AllocationCallbacks
AllocationCallbacks :: Ptr () -> PFN_vkAllocationFunction -> PFN_vkReallocationFunction -> PFN_vkFreeFunction -> PFN_vkInternalAllocationNotification -> PFN_vkInternalFreeNotification -> AllocationCallbacks
-- | pUserData is a value to be interpreted by the implementation
-- of the callbacks. When any of the callbacks in
-- AllocationCallbacks are called, the Vulkan implementation will
-- pass this value as the first parameter to the callback. This value
-- can vary each time an allocator is passed into a command, even
-- when the same object takes an allocator in multiple commands.
[$sel:userData:AllocationCallbacks] :: AllocationCallbacks -> Ptr ()
-- | pfnAllocation is a PFN_vkAllocationFunction pointer to
-- an application-defined memory allocation function.
[$sel:pfnAllocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkAllocationFunction
-- | pfnReallocation is a PFN_vkReallocationFunction
-- pointer to an application-defined memory reallocation function.
[$sel:pfnReallocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkReallocationFunction
-- | pfnFree is a PFN_vkFreeFunction pointer to an
-- application-defined memory free function.
[$sel:pfnFree:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkFreeFunction
-- | pfnInternalAllocation is a
-- PFN_vkInternalAllocationNotification pointer to an
-- application-defined function that is called by the implementation when
-- the implementation makes internal allocations.
[$sel:pfnInternalAllocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkInternalAllocationNotification
-- | pfnInternalFree is a PFN_vkInternalFreeNotification
-- pointer to an application-defined function that is called by the
-- implementation when the implementation frees internal allocations.
[$sel:pfnInternalFree:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkInternalFreeNotification
instance GHC.Show.Show Vulkan.Core10.AllocationCallbacks.AllocationCallbacks
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.AllocationCallbacks.AllocationCallbacks
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.AllocationCallbacks.AllocationCallbacks
instance Foreign.Storable.Storable Vulkan.Core10.AllocationCallbacks.AllocationCallbacks
instance Vulkan.Zero.Zero Vulkan.Core10.AllocationCallbacks.AllocationCallbacks
module Vulkan.Core10.APIConstants
-- | VK_LOD_CLAMP_NONE - Maximum level of detail unclamped access sentinel
--
-- See Also
--
-- VK_VERSION_1_0
pattern LOD_CLAMP_NONE :: Float
type LUID_SIZE_KHR = LUID_SIZE
type QUEUE_FAMILY_EXTERNAL_KHR = QUEUE_FAMILY_EXTERNAL
type MAX_DEVICE_GROUP_SIZE_KHR = MAX_DEVICE_GROUP_SIZE
type MAX_DRIVER_NAME_SIZE_KHR = MAX_DRIVER_NAME_SIZE
type MAX_DRIVER_INFO_SIZE_KHR = MAX_DRIVER_INFO_SIZE
type SHADER_UNUSED_NV = SHADER_UNUSED_KHR
type MAX_PHYSICAL_DEVICE_NAME_SIZE = 256
-- | VK_MAX_PHYSICAL_DEVICE_NAME_SIZE - Length of a physical device name
-- string
--
-- See Also
--
-- No cross-references are available
pattern MAX_PHYSICAL_DEVICE_NAME_SIZE :: forall a. Integral a => a
type UUID_SIZE = 16
-- | VK_UUID_SIZE - Length of a universally unique device or driver build
-- identifier
--
-- See Also
--
-- No cross-references are available
pattern UUID_SIZE :: forall a. Integral a => a
type LUID_SIZE = 8
-- | VK_LUID_SIZE - Length of a locally unique device identifier
--
-- See Also
--
-- VK_KHR_external_fence_capabilities,
-- VK_KHR_external_memory_capabilities,
-- VK_KHR_external_semaphore_capabilities, VK_VERSION_1_1
pattern LUID_SIZE :: forall a. Integral a => a
type MAX_EXTENSION_NAME_SIZE = 256
-- | VK_MAX_EXTENSION_NAME_SIZE - Maximum length of a layer of extension
-- name string
--
-- See Also
--
-- No cross-references are available
pattern MAX_EXTENSION_NAME_SIZE :: forall a. Integral a => a
type MAX_DESCRIPTION_SIZE = 256
-- | VK_MAX_DESCRIPTION_SIZE - Length of a driver name string
--
-- See Also
--
-- No cross-references are available
pattern MAX_DESCRIPTION_SIZE :: forall a. Integral a => a
type MAX_MEMORY_TYPES = 32
-- | VK_MAX_MEMORY_TYPES - Length of an array of memory types
--
-- See Also
--
-- No cross-references are available
pattern MAX_MEMORY_TYPES :: forall a. Integral a => a
type MAX_MEMORY_HEAPS = 16
-- | VK_MAX_MEMORY_HEAPS - Length of an array of memory heaps
--
-- See Also
--
-- No cross-references are available
pattern MAX_MEMORY_HEAPS :: forall a. Integral a => a
type REMAINING_MIP_LEVELS = 4294967295
-- | VK_REMAINING_MIP_LEVELS - Sentinel for all remaining mipmap levels
--
-- See Also
--
-- VK_VERSION_1_0
pattern REMAINING_MIP_LEVELS :: Word32
type REMAINING_ARRAY_LAYERS = 4294967295
-- | VK_REMAINING_ARRAY_LAYERS - Sentinel for all remaining array layers
--
-- See Also
--
-- VK_VERSION_1_0
pattern REMAINING_ARRAY_LAYERS :: Word32
type WHOLE_SIZE = 18446744073709551615
-- | VK_WHOLE_SIZE - Sentinel value to use entire remaining array length
--
-- See Also
--
-- VK_VERSION_1_0
pattern WHOLE_SIZE :: Word64
type ATTACHMENT_UNUSED = 4294967295
-- | VK_ATTACHMENT_UNUSED - Unused attachment sentinel
--
-- See Also
--
-- VK_VERSION_1_0
pattern ATTACHMENT_UNUSED :: Word32
type QUEUE_FAMILY_IGNORED = 4294967295
-- | VK_QUEUE_FAMILY_IGNORED - Ignored queue family index sentinel
--
-- See Also
--
-- VK_VERSION_1_0
pattern QUEUE_FAMILY_IGNORED :: Word32
type QUEUE_FAMILY_EXTERNAL = 4294967294
-- | VK_QUEUE_FAMILY_EXTERNAL - External queue family index sentinel
--
-- See Also
--
-- VK_KHR_external_memory, VK_VERSION_1_1
pattern QUEUE_FAMILY_EXTERNAL :: Word32
type QUEUE_FAMILY_FOREIGN_EXT = 4294967293
-- | VK_QUEUE_FAMILY_FOREIGN_EXT - Foreign queue family index sentinel
--
-- See Also
--
-- VK_EXT_queue_family_foreign
pattern QUEUE_FAMILY_FOREIGN_EXT :: Word32
type SUBPASS_EXTERNAL = 4294967295
-- | VK_SUBPASS_EXTERNAL - Subpass index sentinel expanding synchronization
-- scope outside a subpass
--
-- See Also
--
-- VK_VERSION_1_0
pattern SUBPASS_EXTERNAL :: Word32
type MAX_DEVICE_GROUP_SIZE = 32
-- | VK_MAX_DEVICE_GROUP_SIZE - Length of a physical device handle array
--
-- See Also
--
-- VK_KHR_device_group_creation, VK_VERSION_1_1
pattern MAX_DEVICE_GROUP_SIZE :: forall a. Integral a => a
type MAX_DRIVER_NAME_SIZE = 256
-- | VK_MAX_DRIVER_NAME_SIZE - Maximum length of a physical device driver
-- name string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a
type MAX_DRIVER_INFO_SIZE = 256
-- | VK_MAX_DRIVER_INFO_SIZE - Length of a physical device driver
-- information string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_INFO_SIZE :: forall a. Integral a => a
type SHADER_UNUSED_KHR = 4294967295
-- | VK_SHADER_UNUSED_KHR - Sentinel for an unused shader index
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing
pattern SHADER_UNUSED_KHR :: Word32
type MAX_GLOBAL_PRIORITY_SIZE_EXT = 16
pattern MAX_GLOBAL_PRIORITY_SIZE_EXT :: forall a. Integral a => a
-- | VK_NULL_HANDLE - Reserved non-valid object handle
--
-- See Also
--
-- VK_VERSION_1_0
pattern NULL_HANDLE :: IsHandle a => a
-- | A class for things which can be created with NULL_HANDLE.
class (Eq a, Zero a) => IsHandle a
class HasObjectType a
objectTypeAndHandle :: HasObjectType a => a -> (ObjectType, Word64)
-- | VkBool32 - Vulkan boolean type
--
-- Description
--
-- TRUE represents a boolean True (unsigned integer 1)
-- value, and FALSE a boolean False (unsigned integer 0)
-- value.
--
-- All values returned from a Vulkan implementation in a Bool32
-- will be either TRUE or FALSE.
--
-- Applications must not pass any other values than TRUE or
-- FALSE into a Vulkan implementation where a Bool32 is
-- expected.
--
-- See Also
--
-- FALSE, TRUE, VK_VERSION_1_0,
-- AccelerationStructureGeometryInstancesDataKHR,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DescriptorSetLayoutSupport,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPresentInfoKHR, DisplayPropertiesKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- IndirectCommandsLayoutTokenNV,
-- MemoryDedicatedRequirements,
-- MultiviewPerViewAttributesInfoNVX,
-- PerformanceOverrideInfoINTEL, PerformanceValueDataINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceFeatures,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLimits,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceSparseProperties,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendAttachmentState,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutableStatisticValueKHR,
-- PipelineInputAssemblyStateCreateInfo,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- ProtectedSubmitInfo,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo, SamplerYcbcrConversionCreateInfo,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceProtectedCapabilitiesKHR, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- TextureLODGatherFormatPropertiesAMD,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- cmdBuildAccelerationStructureNV,
-- cmdExecuteGeneratedCommandsNV,
-- cmdSetColorWriteEnableEXT, cmdSetDepthBiasEnableEXT,
-- cmdSetDepthBoundsTestEnableEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetStencilTestEnableEXT,
-- getPhysicalDeviceSurfaceSupportKHR, setLocalDimmingAMD,
-- waitForFences
newtype Bool32
Bool32 :: Int32 -> Bool32
pattern FALSE :: Bool32
pattern TRUE :: Bool32
-- | VkPipelineCacheHeaderVersion - Encode pipeline cache version
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCacheHeaderVersionOne,
-- createPipelineCache, getPipelineCacheData
newtype PipelineCacheHeaderVersion
PipelineCacheHeaderVersion :: Int32 -> PipelineCacheHeaderVersion
-- | PIPELINE_CACHE_HEADER_VERSION_ONE specifies version one of the
-- pipeline cache.
pattern PIPELINE_CACHE_HEADER_VERSION_ONE :: PipelineCacheHeaderVersion
-- | Name
--
-- VK_EXT_queue_family_foreign - device extension
--
-- VK_EXT_queue_family_foreign
--
--
-- - Name String
-- VK_EXT_queue_family_foreign
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 127
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-11-01
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Chad Versace,
-- Google
- James Jones, NVIDIA
- Jason Ekstrand,
-- Intel
- Jesse Hall, Google
- Daniel Rakos, AMD
- Ray
-- Smith, ARM
--
--
-- Description
--
-- This extension defines a special queue family,
-- QUEUE_FAMILY_FOREIGN_EXT, which can be used to transfer
-- ownership of resources backed by external memory to foreign, external
-- queues. This is similar to QUEUE_FAMILY_EXTERNAL_KHR, defined
-- in VK_KHR_external_memory. The key differences between the
-- two are:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-11-01 (Chad Versace)
- Squashed internal
-- revisions
--
--
-- See Also
--
-- QUEUE_FAMILY_FOREIGN_EXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_queue_family_foreign
type EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1
pattern EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION :: forall a. Integral a => a
type EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME = "VK_EXT_queue_family_foreign"
pattern EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type QUEUE_FAMILY_FOREIGN_EXT = 4294967293
-- | VK_QUEUE_FAMILY_FOREIGN_EXT - Foreign queue family index sentinel
--
-- See Also
--
-- VK_EXT_queue_family_foreign
pattern QUEUE_FAMILY_FOREIGN_EXT :: Word32
-- | Name
--
-- VK_EXT_memory_budget - device extension
--
-- VK_EXT_memory_budget
--
--
-- - Name String VK_EXT_memory_budget
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 238
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-10-08
--
--
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Jeff
-- Juliano, NVIDIA
--
--
-- Description
--
-- While running a Vulkan application, other processes on the machine
-- might also be attempting to use the same device memory, which can pose
-- problems. This extension adds support for querying the amount of
-- memory used and the total memory budget for a memory heap. The values
-- returned by this query are implementation-dependent and can depend on
-- a variety of factors including operating system and system load.
--
-- The
-- PhysicalDeviceMemoryBudgetPropertiesEXT::heapBudget
-- values can be used as a guideline for how much total memory from each
-- heap the current process can use at any given time, before
-- allocations may start failing or causing performance degradation. The
-- values may change based on other activity in the system that is
-- outside the scope and control of the Vulkan implementation.
--
-- The PhysicalDeviceMemoryBudgetPropertiesEXT::heapUsage
-- will display the current process estimated heap usage.
--
-- With this information, the idea is for an application at some interval
-- (once per frame, per few seconds, etc) to query heapBudget
-- and heapUsage. From here the application can notice if it is
-- over budget and decide how it wants to handle the memory situation
-- (free it, move to host memory, changing mipmap levels, etc). This
-- extension is designed to be used in concert with
-- VK_EXT_memory_priority to help with this part of memory
-- management.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-10-08 (Jeff Bolz)
--
--
-- See Also
--
-- PhysicalDeviceMemoryBudgetPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_memory_budget
-- | VkPhysicalDeviceMemoryBudgetPropertiesEXT - Structure specifying
-- physical device memory budget and usage
--
-- Description
--
-- The values returned in this structure are not invariant. The
-- heapBudget and heapUsage values must be zero
-- for array elements greater than or equal to
-- PhysicalDeviceMemoryProperties::memoryHeapCount. The
-- heapBudget value must be non-zero for array elements
-- less than
-- PhysicalDeviceMemoryProperties::memoryHeapCount. The
-- heapBudget value must be less than or equal to
-- MemoryHeap::size for each heap.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_memory_budget, DeviceSize, StructureType
data PhysicalDeviceMemoryBudgetPropertiesEXT
PhysicalDeviceMemoryBudgetPropertiesEXT :: Vector DeviceSize -> Vector DeviceSize -> PhysicalDeviceMemoryBudgetPropertiesEXT
-- | heapBudget is an array of MAX_MEMORY_HEAPS
-- DeviceSize values in which memory budgets are returned, with
-- one element for each memory heap. A heap’s budget is a rough estimate
-- of how much memory the process can allocate from that heap
-- before allocations may fail or cause performance degradation.
-- The budget includes any currently allocated device memory.
[$sel:heapBudget:PhysicalDeviceMemoryBudgetPropertiesEXT] :: PhysicalDeviceMemoryBudgetPropertiesEXT -> Vector DeviceSize
-- | heapUsage is an array of MAX_MEMORY_HEAPS
-- DeviceSize values in which memory usages are returned, with one
-- element for each memory heap. A heap’s usage is an estimate of how
-- much memory the process is currently using in that heap.
[$sel:heapUsage:PhysicalDeviceMemoryBudgetPropertiesEXT] :: PhysicalDeviceMemoryBudgetPropertiesEXT -> Vector DeviceSize
type EXT_MEMORY_BUDGET_SPEC_VERSION = 1
pattern EXT_MEMORY_BUDGET_SPEC_VERSION :: forall a. Integral a => a
type EXT_MEMORY_BUDGET_EXTENSION_NAME = "VK_EXT_memory_budget"
pattern EXT_MEMORY_BUDGET_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT
-- | Name
--
-- VK_EXT_global_priority_query - device extension
--
-- VK_EXT_global_priority_query
--
--
-- - Name String
-- VK_EXT_global_priority_query
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 389
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_global_priority
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-03-29
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This device extension allows applications to query the global queue
-- priorities supported by a queue family. It allows implementations to
-- report which global priority levels are treated differently by the
-- implementation, instead of silently mapping multiple requested global
-- priority levels to the same internal priority, or using device
-- creation failure to signal that a requested priority is not supported.
-- It is intended primarily for use by system integration along with
-- certain platform-specific priority enforcement rules.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Can we additionally query whether a caller is permitted to acquire
-- a specific global queue priority in this extension?
--
-- RESOLVED: No. Whether a caller has enough privilege goes with
-- the OS, and the Vulkan driver cannot really guarantee that the
-- privilege will not change in between this query and the actual queue
-- creation call.
--
-- 2) If more than 1 queue using global priority is requested, is there a
-- good way to know which queue is failing the device creation?
--
-- RESOLVED: No. There is not a good way at this moment, and it is
-- also not quite actionable for the applications to know that because
-- the information may not be accurate. Queue creation can fail because
-- of runtime constraints like insufficient privilege or lack of
-- resource, and the failure is not necessarily tied to that particular
-- queue configuration requested.
--
-- Version History
--
--
-- - Revision 1, 2021-03-29 (Yiwei Zhang)
--
--
-- See Also
--
-- MAX_GLOBAL_PRIORITY_SIZE_EXT,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- QueueFamilyGlobalPriorityPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_global_priority_query
-- | VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT - Structure describing
-- whether global priority query can be supported by an implementation
--
-- Members
--
-- The members of the PhysicalDeviceGlobalPriorityQueryFeaturesEXT
-- structure describe the following features:
--
-- Description
--
-- If the PhysicalDeviceGlobalPriorityQueryFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_global_priority_query, Bool32,
-- StructureType
data PhysicalDeviceGlobalPriorityQueryFeaturesEXT
PhysicalDeviceGlobalPriorityQueryFeaturesEXT :: Bool -> PhysicalDeviceGlobalPriorityQueryFeaturesEXT
-- | globalPriorityQuery indicates whether the implementation
-- supports the ability to query global queue priorities.
[$sel:globalPriorityQuery:PhysicalDeviceGlobalPriorityQueryFeaturesEXT] :: PhysicalDeviceGlobalPriorityQueryFeaturesEXT -> Bool
-- | VkQueueFamilyGlobalPriorityPropertiesEXT - Return structure for queue
-- family global priority information query
--
-- Description
--
-- The valid elements of priorities must not contain any
-- duplicate values.
--
-- The valid elements of priorities must be a continuous
-- sequence of QueueGlobalPriorityEXT enums in the ascending
-- order.
--
-- Note
--
-- For example, returning priorityCount as 3 with supported
-- priorities as QUEUE_GLOBAL_PRIORITY_LOW_EXT,
-- QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT and
-- QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is not allowed.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_global_priority_query, QueueGlobalPriorityEXT,
-- StructureType
data QueueFamilyGlobalPriorityPropertiesEXT
QueueFamilyGlobalPriorityPropertiesEXT :: Word32 -> Vector QueueGlobalPriorityEXT -> QueueFamilyGlobalPriorityPropertiesEXT
-- | priorityCount is the number of supported global queue
-- priorities in this queue family, and it must be greater than 0.
[$sel:priorityCount:QueueFamilyGlobalPriorityPropertiesEXT] :: QueueFamilyGlobalPriorityPropertiesEXT -> Word32
-- | priorities is an array of MAX_GLOBAL_PRIORITY_SIZE_EXT
-- QueueGlobalPriorityEXT enums representing all supported global
-- queue priorities in this queue family. The first
-- priorityCount elements of the array will be valid.
[$sel:priorities:QueueFamilyGlobalPriorityPropertiesEXT] :: QueueFamilyGlobalPriorityPropertiesEXT -> Vector QueueGlobalPriorityEXT
type EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1
pattern EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION :: forall a. Integral a => a
type EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query"
pattern EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkQueueGlobalPriorityEXT - Values specifying a system-wide queue
-- priority
--
-- Description
--
-- Priority values are sorted in ascending order. A comparison operation
-- on the enum values can be used to determine the priority order.
--
-- See Also
--
-- VK_EXT_global_priority,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- QueueFamilyGlobalPriorityPropertiesEXT
newtype QueueGlobalPriorityEXT
QueueGlobalPriorityEXT :: Int32 -> QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_LOW_EXT is below the system default.
-- Useful for non-interactive tasks.
pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT is the system default
-- priority.
pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_HIGH_EXT is above the system default.
pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriorityEXT
-- | QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is the highest priority.
-- Useful for critical tasks.
pattern QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: QueueGlobalPriorityEXT
type MAX_GLOBAL_PRIORITY_SIZE_EXT = 16
pattern MAX_GLOBAL_PRIORITY_SIZE_EXT :: forall a. Integral a => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT
module Vulkan.Core12.Promoted_From_VK_KHR_driver_properties
-- | VkConformanceVersion - Structure containing the conformance test suite
-- version the implementation is compliant with
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceVulkan12Properties
data ConformanceVersion
ConformanceVersion :: Word8 -> Word8 -> Word8 -> Word8 -> ConformanceVersion
-- | major is the major version number of the conformance test
-- suite.
[$sel:major:ConformanceVersion] :: ConformanceVersion -> Word8
-- | minor is the minor version number of the conformance test
-- suite.
[$sel:minor:ConformanceVersion] :: ConformanceVersion -> Word8
-- | subminor is the subminor version number of the conformance
-- test suite.
[$sel:subminor:ConformanceVersion] :: ConformanceVersion -> Word8
-- | patch is the patch version number of the conformance test
-- suite.
[$sel:patch:ConformanceVersion] :: ConformanceVersion -> Word8
-- | VkPhysicalDeviceDriverProperties - Structure containing driver
-- identification information
--
-- Description
--
-- If the PhysicalDeviceDriverProperties structure is included in
-- the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- These are properties of the driver corresponding to a physical device.
--
-- driverID must be immutable for a given driver across
-- instances, processes, driver versions, and system reboots.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- ConformanceVersion, DriverId, StructureType
data PhysicalDeviceDriverProperties
PhysicalDeviceDriverProperties :: DriverId -> ByteString -> ByteString -> ConformanceVersion -> PhysicalDeviceDriverProperties
-- | driverID is a unique identifier for the driver of the
-- physical device.
[$sel:driverID:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> DriverId
-- | driverName is an array of MAX_DRIVER_NAME_SIZE
-- char containing a null-terminated UTF-8 string which is the
-- name of the driver.
[$sel:driverName:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ByteString
-- | driverInfo is an array of MAX_DRIVER_INFO_SIZE
-- char containing a null-terminated UTF-8 string with
-- additional information about the driver.
[$sel:driverInfo:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ByteString
-- | conformanceVersion is the version of the Vulkan conformance
-- test this driver is conformant against (see
-- ConformanceVersion).
[$sel:conformanceVersion:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ConformanceVersion
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkDriverId - Khronos driver IDs
--
-- Description
--
-- Note
--
-- Khronos driver IDs may be allocated by vendors at any time. There may
-- be multiple driver IDs for the same vendor, representing different
-- drivers (for e.g. different platforms, proprietary or open source,
-- etc.). Only the latest canonical versions of this Specification, of
-- the corresponding vk.xml API Registry, and of the
-- corresponding vulkan_core.h header file must contain
-- all reserved Khronos driver IDs.
--
-- Only driver IDs registered with Khronos are given symbolic names.
-- There may be unregistered driver IDs returned.
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceVulkan12Properties
newtype DriverId
DriverId :: Int32 -> DriverId
pattern DRIVER_ID_AMD_PROPRIETARY :: DriverId
pattern DRIVER_ID_AMD_OPEN_SOURCE :: DriverId
pattern DRIVER_ID_MESA_RADV :: DriverId
pattern DRIVER_ID_NVIDIA_PROPRIETARY :: DriverId
pattern DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: DriverId
pattern DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: DriverId
pattern DRIVER_ID_IMAGINATION_PROPRIETARY :: DriverId
pattern DRIVER_ID_QUALCOMM_PROPRIETARY :: DriverId
pattern DRIVER_ID_ARM_PROPRIETARY :: DriverId
pattern DRIVER_ID_GOOGLE_SWIFTSHADER :: DriverId
pattern DRIVER_ID_GGP_PROPRIETARY :: DriverId
pattern DRIVER_ID_BROADCOM_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_LLVMPIPE :: DriverId
pattern DRIVER_ID_MOLTENVK :: DriverId
pattern DRIVER_ID_COREAVI_PROPRIETARY :: DriverId
pattern DRIVER_ID_JUICE_PROPRIETARY :: DriverId
pattern DRIVER_ID_VERISILICON_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_TURNIP :: DriverId
pattern DRIVER_ID_MESA_V3DV :: DriverId
pattern DRIVER_ID_MESA_PANVK :: DriverId
pattern DRIVER_ID_SAMSUNG_PROPRIETARY :: DriverId
type MAX_DRIVER_NAME_SIZE = 256
-- | VK_MAX_DRIVER_NAME_SIZE - Maximum length of a physical device driver
-- name string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a
type MAX_DRIVER_INFO_SIZE = 256
-- | VK_MAX_DRIVER_INFO_SIZE - Length of a physical device driver
-- information string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_INFO_SIZE :: forall a. Integral a => a
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion
-- | Name
--
-- VK_KHR_driver_properties - device extension
--
-- VK_KHR_driver_properties
--
--
-- - Name String VK_KHR_driver_properties
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 197
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-04-11
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - IP Status No known IP claims.
-- - Contributors
- Baldur
-- Karlsson
- Matthaeus G. Chajdas, AMD
- Piers Daniell,
-- NVIDIA
- Alexander Galazin, Arm
- Jesse Hall,
-- Google
- Daniel Rakos, AMD
--
--
-- Description
--
-- This extension provides a new physical device query which allows
-- retrieving information about the driver implementation, allowing
-- applications to determine which physical device corresponds to which
-- particular vendor’s driver, and which conformance test suite version
-- the driver implementation is compliant with.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-04-11 (Daniel Rakos)
--
--
-- See Also
--
-- MAX_DRIVER_INFO_SIZE_KHR, MAX_DRIVER_NAME_SIZE_KHR,
-- ConformanceVersionKHR, DriverIdKHR,
-- PhysicalDeviceDriverPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_driver_properties
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR :: StructureType
pattern DRIVER_ID_AMD_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_AMD_OPEN_SOURCE_KHR :: DriverId
pattern DRIVER_ID_MESA_RADV_KHR :: DriverId
pattern DRIVER_ID_NVIDIA_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR :: DriverId
pattern DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR :: DriverId
pattern DRIVER_ID_IMAGINATION_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_QUALCOMM_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_ARM_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_GOOGLE_SWIFTSHADER_KHR :: DriverId
pattern DRIVER_ID_GGP_PROPRIETARY_KHR :: DriverId
pattern DRIVER_ID_BROADCOM_PROPRIETARY_KHR :: DriverId
pattern MAX_DRIVER_NAME_SIZE_KHR :: Integral a => a
pattern MAX_DRIVER_INFO_SIZE_KHR :: Integral a => a
type DriverIdKHR = DriverId
type ConformanceVersionKHR = ConformanceVersion
type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties
type KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1
pattern KHR_DRIVER_PROPERTIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_DRIVER_PROPERTIES_EXTENSION_NAME = "VK_KHR_driver_properties"
pattern KHR_DRIVER_PROPERTIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_external_memory
-- | VkExternalMemoryImageCreateInfo - Specify that an image may be backed
-- by external memory
--
-- Members
--
-- Note
--
-- A ExternalMemoryImageCreateInfo structure with a non-zero
-- handleTypes field must be included in the creation parameters
-- for an image that will be bound to memory that is either exported or
-- imported.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlags,
-- StructureType
data ExternalMemoryImageCreateInfo
ExternalMemoryImageCreateInfo :: ExternalMemoryHandleTypeFlags -> ExternalMemoryImageCreateInfo
-- | handleTypes is zero, or a bitmask of
-- ExternalMemoryHandleTypeFlagBits specifying one or more
-- external memory handle types.
--
-- handleTypes must be a valid combination of
-- ExternalMemoryHandleTypeFlagBits values
[$sel:handleTypes:ExternalMemoryImageCreateInfo] :: ExternalMemoryImageCreateInfo -> ExternalMemoryHandleTypeFlags
-- | VkExternalMemoryBufferCreateInfo - Specify that a buffer may be backed
-- by external memory
--
-- Members
--
-- Note
--
-- A ExternalMemoryBufferCreateInfo structure with a non-zero
-- handleTypes field must be included in the creation parameters
-- for a buffer that will be bound to memory that is either exported or
-- imported.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlags,
-- StructureType
data ExternalMemoryBufferCreateInfo
ExternalMemoryBufferCreateInfo :: ExternalMemoryHandleTypeFlags -> ExternalMemoryBufferCreateInfo
-- | handleTypes is zero, or a bitmask of
-- ExternalMemoryHandleTypeFlagBits specifying one or more
-- external memory handle types.
--
-- handleTypes must be a valid combination of
-- ExternalMemoryHandleTypeFlagBits values
[$sel:handleTypes:ExternalMemoryBufferCreateInfo] :: ExternalMemoryBufferCreateInfo -> ExternalMemoryHandleTypeFlags
-- | VkExportMemoryAllocateInfo - Specify exportable handle types for a
-- device memory object
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlags,
-- StructureType
data ExportMemoryAllocateInfo
ExportMemoryAllocateInfo :: ExternalMemoryHandleTypeFlags -> ExportMemoryAllocateInfo
-- | handleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBits specifying one or more memory
-- handle types the application can export from the resulting
-- allocation. The application can request multiple handle types
-- for the same allocation.
[$sel:handleTypes:ExportMemoryAllocateInfo] :: ExportMemoryAllocateInfo -> ExternalMemoryHandleTypeFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
type QUEUE_FAMILY_EXTERNAL = 4294967294
-- | VK_QUEUE_FAMILY_EXTERNAL - External queue family index sentinel
--
-- See Also
--
-- VK_KHR_external_memory, VK_VERSION_1_1
pattern QUEUE_FAMILY_EXTERNAL :: Word32
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo
-- | Name
--
-- VK_KHR_external_memory - device extension
--
-- VK_KHR_external_memory
--
--
-- - Name String VK_KHR_external_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 73
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory_capabilities
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-20
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with
-- VK_KHR_dedicated_allocation.
- Interacts with
-- VK_NV_dedicated_allocation.
- Promoted to Vulkan 1.1
-- Core
-- - Contributors
- Jason Ekstrand,
-- Intel
- Ian Elliot, Google
- Jesse Hall,
-- Google
- Tobias Hector, Imagination Technologies
- James
-- Jones, NVIDIA
- Jeff Juliano, NVIDIA
- Matthew Netsch,
-- Qualcomm Technologies, Inc.
- Daniel Rakos, AMD
- Carsten
-- Rohde, NVIDIA
- Ray Smith, ARM
- Chad Versace,
-- Google
--
--
-- Description
--
-- An application may wish to reference device memory in multiple Vulkan
-- logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension enables an application to export
-- non-Vulkan handles from Vulkan memory objects such that the underlying
-- resources can be referenced outside the scope of the Vulkan logical
-- device that created them.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How do applications correlate two physical devices across process
-- or Vulkan instance boundaries?
--
-- RESOLVED: New device ID fields have been introduced by
-- VK_KHR_external_memory_capabilities. These fields, combined
-- with the existing
-- PhysicalDeviceProperties::driverVersion field can be
-- used to identify compatible devices across processes, drivers, and
-- APIs. PhysicalDeviceProperties::pipelineCacheUUID is
-- not sufficient for this purpose because despite its description in the
-- specification, it need only identify a unique pipeline cache format in
-- practice. Multiple devices may be able to use the same pipeline cache
-- data, and hence it would be desirable for all of them to have the same
-- pipeline cache UUID. However, only the same concrete physical device
-- can be used when sharing memory, so an actual unique device ID was
-- introduced. Further, the pipeline cache UUID was specific to Vulkan,
-- but correlation with other, non-extensible APIs is required to enable
-- interoperation with those APIs.
--
-- 2) If memory objects are shared between processes and APIs, is this
-- considered aliasing according to the rules outlined in the Memory
-- Aliasing section?
--
-- RESOLVED: Yes. Applications must take care to obey all
-- restrictions imposed on aliased resources when using memory across
-- multiple Vulkan instances or other APIs.
--
-- 3) Are new image layouts or metadata required to specify image layouts
-- and layout transitions compatible with non-Vulkan APIs, or with other
-- instances of the same Vulkan driver?
--
-- RESOLVED: Separate instances of the same Vulkan driver running
-- on the same GPU should have identical internal layout semantics, so
-- applications have the tools they need to ensure views of images are
-- consistent between the two instances. Other APIs will fall into two
-- categories: Those that are Vulkan- compatible, and those that are
-- Vulkan-incompatible. Vulkan-incompatible APIs will require the image
-- to be in the GENERAL layout whenever they are accessing them.
--
-- Note this does not attempt to address cross-device transitions, nor
-- transitions to engines on the same device which are not visible within
-- the Vulkan API. Both of these are beyond the scope of this extension.
--
-- 4) Is a new barrier flag or operation of some type needed to prepare
-- external memory for handoff to another Vulkan instance or API and/or
-- receive it from another instance or API?
--
-- RESOLVED: Yes. Some implementations need to perform additional
-- cache management when transitioning memory between address spaces and
-- other APIs, instances, or processes which may operate in a separate
-- address space. Options for defining this transition include:
--
--
--
-- A new structure has the advantage that the type of external transition
-- can be described in as much detail as necessary. However, there is not
-- currently a known need for anything beyond differentiating between
-- external and internal accesses, so this is likely an over-engineered
-- solution. The access flag bit has the advantage that it can be applied
-- at buffer, image, or global granularity, and semantically it maps
-- pretty well to the operation being described. Additionally, the API
-- already includes ACCESS_MEMORY_READ_BIT and
-- ACCESS_MEMORY_WRITE_BIT which appear to be intended for this
-- purpose. However, there is no obvious pipeline stage that would
-- correspond to an external access, and therefore no clear way to use
-- ACCESS_MEMORY_READ_BIT or ACCESS_MEMORY_WRITE_BIT.
-- DependencyFlags and PipelineStageFlags operate at
-- command granularity rather than image or buffer granularity, which
-- would make an entire pipeline barrier an internal→external or
-- external→internal barrier. This may not be a problem in practice, but
-- seems like the wrong scope. Another downside of DependencyFlags
-- is that it lacks inherent directionality: there are no src
-- and dst variants of it in the barrier or dependency
-- description semantics, so two bits might need to be added to describe
-- both internal→external and external→internal transitions.
-- Transitioning a resource to a special queue family corresponds well
-- with the operation of transitioning to a separate Vulkan instance, in
-- that both operations ideally include scheduling a barrier on both
-- sides of the transition: Both the releasing and the acquiring queue or
-- process. Using a special queue family requires adding an additional
-- reserved queue family index. Re-using QUEUE_FAMILY_IGNORED
-- would have left it unclear how to transition a concurrent usage
-- resource from one process to another, since the semantics would have
-- likely been equivalent to the currently-ignored transition of
-- QUEUE_FAMILY_IGNORED → QUEUE_FAMILY_IGNORED.
-- Fortunately, creating a new reserved queue family index is not
-- invasive.
--
-- Based on the above analysis, the approach of transitioning to a
-- special “external” queue family was chosen.
--
-- 5) Do internal driver memory arrangements and/or other internal driver
-- image properties need to be exported and imported when sharing images
-- across processes or APIs.
--
-- RESOLVED: Some vendors claim this is necessary on their
-- implementations, but it was determined that the security risks of
-- allowing opaque metadata to be passed from applications to the driver
-- were too high. Therefore, implementations which require metadata will
-- need to associate it with the objects represented by the external
-- handles, and rely on the dedicated allocation mechanism to associate
-- the exported and imported memory objects with a single image or
-- buffer.
--
-- 6) Most prior interoperation and cross-process sharing APIs have been
-- based on image-level sharing. Should Vulkan sharing be based on
-- memory-object sharing or image sharing?
--
-- RESOLVED: These extensions have assumed memory-level sharing is
-- the correct granularity. Vulkan is a lower-level API than most prior
-- APIs, and as such attempts to closely align with to the underlying
-- primitives of the hardware and system-level drivers it abstracts. In
-- general, the resource that holds the backing store for both images and
-- buffers of various types is memory. Images and buffers are merely
-- metadata containing brief descriptions of the layout of bits within
-- that memory.
--
-- Because memory object-based sharing is aligned with the overall Vulkan
-- API design, it enables the full range of Vulkan capabilities with
-- external objects. External memory can be used as backing for sparse
-- images, for example, whereas such usage would be awkward at best with
-- a sharing mechanism based on higher-level primitives such as images.
-- Further, aligning the mechanism with the API in this way provides some
-- hope of trivial compatibility with future API enhancements. If new
-- objects backed by memory objects are added to the API, they too can be
-- used across processes with minimal additions to the base external
-- memory APIs.
--
-- Earlier APIs implemented interop at a higher level, and this
-- necessitated entirely separate sharing APIs for images and buffers. To
-- co-exist and interoperate with those APIs, the Vulkan external sharing
-- mechanism must accommodate their model. However, if it can be agreed
-- that memory-based sharing is the more desirable and forward-looking
-- design, legacy interoperation constraints can be considered another
-- reason to favor memory-based sharing: while native and legacy driver
-- primitives that may be used to implement sharing may not be as
-- low-level as the API here suggests, raw memory is still the least
-- common denominator among the types. Image-based sharing can be cleanly
-- derived from a set of base memory- object sharing APIs with minimal
-- effort, whereas image-based sharing does not generalize well to buffer
-- or raw-memory sharing. Therefore, following the general Vulkan design
-- principle of minimalism, it is better to expose interopability with
-- image-based native and external primitives via the memory sharing API,
-- and place sufficient limits on their usage to ensure they can be used
-- only as backing for equivalent Vulkan images. This provides a
-- consistent API for applications regardless of which platform or
-- external API they are targeting, which makes development of multi-API
-- and multi-platform applications simpler.
--
-- 7) Should Vulkan define a common external handle type and provide
-- Vulkan functions to facilitate cross-process sharing of such handles
-- rather than relying on native handles to define the external objects?
--
-- RESOLVED: No. Cross-process sharing of resources is best left
-- to native platforms. There are myriad security and extensibility
-- issues with such a mechanism, and attempting to re-solve all those
-- issues within Vulkan does not align with Vulkan’s purpose as a
-- graphics API. If desired, such a mechanism could be built as a layer
-- or helper library on top of the opaque native handle defined in this
-- family of extensions.
--
-- 8) Must implementations provide additional guarantees about state
-- implicitly included in memory objects for those memory objects that
-- may be exported?
--
-- RESOLVED: Implementations must ensure that sharing memory
-- objects does not transfer any information between the exporting and
-- importing instances and APIs other than that required to share the
-- data contained in the memory objects explicitly shared. As specific
-- examples, data from previously freed memory objects that used the same
-- underlying physical memory, and data from memory obects using adjacent
-- physical memory must not be visible to applications importing an
-- exported memory object.
--
-- 9) Must implementations validate external handles the application
-- provides as inputs to memory import operations?
--
-- RESOLVED: Implementations must return an error to the
-- application if the provided memory handle cannot be used to complete
-- the requested import operation. However, implementations need not
-- validate handles are of the exact type specified by the application.
--
-- Version History
--
--
-- - Revision 1, 2016-10-20 (James Jones)
--
--
-- See Also
--
-- QUEUE_FAMILY_EXTERNAL_KHR, ExportMemoryAllocateInfoKHR,
-- ExternalMemoryBufferCreateInfoKHR,
-- ExternalMemoryImageCreateInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_memory
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR :: StructureType
pattern ERROR_INVALID_EXTERNAL_HANDLE_KHR :: Result
pattern QUEUE_FAMILY_EXTERNAL_KHR :: Word32
type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo
type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo
type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo
type KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1
pattern KHR_EXTERNAL_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory"
pattern KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.CStruct.Extends
-- | VkBaseOutStructure - Base structure for a read-only pointer chain
--
-- Description
--
-- BaseOutStructure can be used to facilitate iterating through a
-- structure pointer chain that returns data back to the application.
--
-- See Also
--
-- VK_VERSION_1_0, BaseOutStructure, StructureType
data BaseOutStructure
BaseOutStructure :: StructureType -> Ptr BaseOutStructure -> BaseOutStructure
-- | sType is the structure type of the structure being iterated
-- through.
[$sel:sType:BaseOutStructure] :: BaseOutStructure -> StructureType
-- | pNext is NULL or a pointer to the next structure in
-- a structure chain.
[$sel:next:BaseOutStructure] :: BaseOutStructure -> Ptr BaseOutStructure
-- | VkBaseInStructure - Base structure for a read-only pointer chain
--
-- Description
--
-- BaseInStructure can be used to facilitate iterating through a
-- read-only structure pointer chain.
--
-- See Also
--
-- VK_VERSION_1_0, BaseInStructure, StructureType
data BaseInStructure
BaseInStructure :: StructureType -> Ptr BaseInStructure -> BaseInStructure
-- | sType is the structure type of the structure being iterated
-- through.
[$sel:sType:BaseInStructure] :: BaseInStructure -> StructureType
-- | pNext is NULL or a pointer to the next structure in
-- a structure chain.
[$sel:next:BaseInStructure] :: BaseInStructure -> Ptr BaseInStructure
type family Extends (a :: [Type] -> Type) (b :: Type) :: Constraint
class PeekChain es
peekChain :: PeekChain es => Ptr (Chain es) -> IO (Chain es)
class PokeChain es
withChain :: PokeChain es => Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withZeroChain :: PokeChain es => (Ptr (Chain es) -> IO a) -> IO a
type family Chain (xs :: [a]) = (r :: a) | r -> xs
type family Extendss (p :: [Type] -> Type) (xs :: [Type]) :: Constraint
data SomeStruct (a :: [Type] -> Type)
[SomeStruct] :: forall a es. (Extendss a es, PokeChain es, Show (Chain es)) => a es -> SomeStruct a
-- | Add an extension to the beginning of the struct chain
--
-- This can be used to optionally extend structs based on some condition
-- (for example, an extension or layer being available)
extendSomeStruct :: (Extensible a, Extends a e, ToCStruct e, Show e) => e -> SomeStruct a -> SomeStruct a
-- | Consume a SomeStruct value
withSomeStruct :: forall a b. SomeStruct a -> (forall es. (Extendss a es, PokeChain es, Show (Chain es)) => a es -> b) -> b
-- | Write the C representation of some extended a and use the
-- pointer, the pointer must not be returned from the continuation.
withSomeCStruct :: forall a b. (forall es. (Extendss a es, PokeChain es) => ToCStruct (a es)) => SomeStruct a -> (forall es. (Extendss a es, PokeChain es) => Ptr (a es) -> IO b) -> IO b
-- | Given a pointer to a struct with an unknown chain, peek the struct and
-- its chain.
peekSomeCStruct :: forall a. (Extensible a, forall es. (Extendss a es, PeekChain es) => FromCStruct (a es)) => Ptr (SomeStruct a) -> IO (SomeStruct a)
-- | Given some memory for the head of the chain, allocate and poke the
-- tail and run an action.
pokeSomeCStruct :: (forall es. (Extendss a es, PokeChain es) => ToCStruct (a es)) => Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
-- | Forget which extensions a pointed-to struct has by casting the pointer
forgetExtensions :: Ptr (a es) -> Ptr (SomeStruct a)
class Extensible (a :: [Type] -> Type)
-- | For error reporting an invalid extension
extensibleTypeName :: Extensible a => String
getNext :: Extensible a => a es -> Chain es
setNext :: Extensible a => a ds -> Chain es -> a es
extends :: forall e b proxy. (Extensible a, Typeable e) => proxy e -> (Extends a e => b) -> Maybe b
-- | A pattern synonym to separate the head of a struct chain from the
-- tail, use in conjunction with :& to extract several
-- members.
--
--
-- Head{..} ::& () <- returningNoTail a b c
-- -- Equivalent to
-- Head{..} <- returningNoTail @'[] a b c
--
--
--
-- Head{..} ::& Foo{..} :& Bar{..} :& () <- returningWithTail a b c
--
--
--
-- myFun (Head{..} :&& Foo{..} :& ())
--
pattern (::&) :: Extensible a => a es' -> Chain es -> a es
infix 6 ::&
-- | View the head and tail of a Chain, see ::&
--
-- Equivalent to (,)
pattern (:&) :: e -> Chain es -> Chain (e : es)
infixr 7 :&
instance GHC.Classes.Eq Vulkan.CStruct.Extends.BaseOutStructure
instance GHC.Classes.Eq Vulkan.CStruct.Extends.BaseInStructure
instance GHC.Show.Show Vulkan.CStruct.Extends.BaseOutStructure
instance GHC.Show.Show Vulkan.CStruct.Extends.BaseInStructure
instance (forall (es :: [*]). GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (a es)) => GHC.Show.Show (Vulkan.CStruct.Extends.SomeStruct a)
instance Vulkan.CStruct.Extends.PeekChain '[]
instance (Vulkan.CStruct.FromCStruct e, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.Extends.PeekChain (e : es)
instance Vulkan.Zero.Zero (a '[]) => Vulkan.Zero.Zero (Vulkan.CStruct.Extends.SomeStruct a)
instance Vulkan.CStruct.Extends.PokeChain '[]
instance (Vulkan.CStruct.ToCStruct e, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.Extends.PokeChain (e : es)
instance Vulkan.CStruct.ToCStruct Vulkan.CStruct.Extends.BaseInStructure
instance Vulkan.CStruct.FromCStruct Vulkan.CStruct.Extends.BaseInStructure
instance Foreign.Storable.Storable Vulkan.CStruct.Extends.BaseInStructure
instance Vulkan.Zero.Zero Vulkan.CStruct.Extends.BaseInStructure
instance Vulkan.CStruct.ToCStruct Vulkan.CStruct.Extends.BaseOutStructure
instance Vulkan.CStruct.FromCStruct Vulkan.CStruct.Extends.BaseOutStructure
instance Foreign.Storable.Storable Vulkan.CStruct.Extends.BaseOutStructure
instance Vulkan.Zero.Zero Vulkan.CStruct.Extends.BaseOutStructure
module Vulkan.Dynamic
data InstanceCmds
InstanceCmds :: Ptr Instance_T -> FunPtr (Ptr Instance_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Instance_T -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T)) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr FormatProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDevice" ::: Ptr (Ptr Device_T)) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr LayerProperties) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr ExtensionProperties) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties) -> IO ()) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPropertiesKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr DisplayKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModePropertiesKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMode" ::: Ptr DisplayModeKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> DisplayModeKHR -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> SurfaceKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> ("pSupported" ::: Ptr Bool32) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Wl_display -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ScreenSurfaceCreateInfoQNX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Screen_window -> IO Bool32) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO Result) -> FunPtr (Ptr Instance_T -> DebugReportCallbackEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr ExternalImageFormatPropertiesNV) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2)) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2)) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2)) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pImageFormatInfo" ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2)) -> ("pImageFormatProperties" ::: Ptr (SomeStruct ImageFormatProperties2)) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr (SomeStruct QueueFamilyProperties2)) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2)) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties2) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalSemaphoreInfo" ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo)) -> ("pExternalSemaphoreProperties" ::: Ptr ExternalSemaphoreProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("deviceRelativeId" ::: Word32) -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("samples" ::: SampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceCapabilities" ::: Ptr (SomeStruct SurfaceCapabilities2KHR)) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayProperties2KHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModeProperties2KHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pTimeDomainCount" ::: Ptr Word32) -> ("pTimeDomains" ::: Ptr TimeDomainEXT) -> IO Result) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO Result) -> FunPtr (Ptr Instance_T -> DebugUtilsMessengerEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> IO ()) -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("pCounterCount" ::: Ptr Word32) -> ("pCounters" ::: Ptr PerformanceCounterKHR) -> ("pCounterDescriptions" ::: Ptr PerformanceCounterDescriptionKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pPerformanceQueryCreateInfo" ::: Ptr QueryPoolPerformanceCreateInfoKHR) -> ("pNumPasses" ::: Ptr Word32) -> IO ()) -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pCombinationCount" ::: Ptr Word32) -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pToolCount" ::: Ptr Word32) -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("pFragmentShadingRateCount" ::: Ptr Word32) -> ("pFragmentShadingRates" ::: Ptr PhysicalDeviceFragmentShadingRateKHR) -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("drmFd" ::: Int32) -> DisplayKHR -> IO Result) -> FunPtr (Ptr PhysicalDevice_T -> ("drmFd" ::: Int32) -> ("connectorId" ::: Word32) -> Ptr DisplayKHR -> IO Result) -> InstanceCmds
[instanceCmdsHandle] :: InstanceCmds -> Ptr Instance_T
[pVkDestroyInstance] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkEnumeratePhysicalDevices] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T)) -> IO Result)
[pVkGetInstanceProcAddr] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
[pVkGetPhysicalDeviceProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
[pVkGetPhysicalDeviceQueueFamilyProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties) -> IO ())
[pVkGetPhysicalDeviceMemoryProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties) -> IO ())
[pVkGetPhysicalDeviceFeatures] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
[pVkGetPhysicalDeviceFormatProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr FormatProperties) -> IO ())
[pVkGetPhysicalDeviceImageFormatProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties) -> IO Result)
[pVkCreateDevice] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDevice" ::: Ptr (Ptr Device_T)) -> IO Result)
[pVkEnumerateDeviceLayerProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr LayerProperties) -> IO Result)
[pVkEnumerateDeviceExtensionProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr ExtensionProperties) -> IO Result)
[pVkGetPhysicalDeviceSparseImageFormatProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties) -> IO ())
[pVkCreateAndroidSurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceDisplayPropertiesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPropertiesKHR) -> IO Result)
[pVkGetPhysicalDeviceDisplayPlanePropertiesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR) -> IO Result)
[pVkGetDisplayPlaneSupportedDisplaysKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr DisplayKHR) -> IO Result)
[pVkGetDisplayModePropertiesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModePropertiesKHR) -> IO Result)
[pVkCreateDisplayModeKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMode" ::: Ptr DisplayModeKHR) -> IO Result)
[pVkGetDisplayPlaneCapabilitiesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayModeKHR -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR) -> IO Result)
[pVkCreateDisplayPlaneSurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkDestroySurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> SurfaceKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetPhysicalDeviceSurfaceSupportKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> ("pSupported" ::: Ptr Bool32) -> IO Result)
[pVkGetPhysicalDeviceSurfaceCapabilitiesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR) -> IO Result)
[pVkGetPhysicalDeviceSurfaceFormatsKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR) -> IO Result)
[pVkGetPhysicalDeviceSurfacePresentModesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result)
[pVkCreateViSurfaceNN] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkCreateWaylandSurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceWaylandPresentationSupportKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Wl_display -> IO Bool32)
[pVkCreateWin32SurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceWin32PresentationSupportKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> IO Bool32)
[pVkCreateXlibSurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceXlibPresentationSupportKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
[pVkCreateXcbSurfaceKHR] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceXcbPresentationSupportKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> IO Bool32)
[pVkCreateDirectFBSurfaceEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceDirectFBPresentationSupportEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
[pVkCreateImagePipeSurfaceFUCHSIA] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkCreateStreamDescriptorSurfaceGGP] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkCreateScreenSurfaceQNX] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ScreenSurfaceCreateInfoQNX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceScreenPresentationSupportQNX] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Screen_window -> IO Bool32)
[pVkCreateDebugReportCallbackEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO Result)
[pVkDestroyDebugReportCallbackEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> DebugReportCallbackEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkDebugReportMessageEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ())
[pVkGetPhysicalDeviceExternalImageFormatPropertiesNV] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr ExternalImageFormatPropertiesNV) -> IO Result)
[pVkGetPhysicalDeviceFeatures2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2)) -> IO ())
[pVkGetPhysicalDeviceProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2)) -> IO ())
[pVkGetPhysicalDeviceFormatProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2)) -> IO ())
[pVkGetPhysicalDeviceImageFormatProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pImageFormatInfo" ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2)) -> ("pImageFormatProperties" ::: Ptr (SomeStruct ImageFormatProperties2)) -> IO Result)
[pVkGetPhysicalDeviceQueueFamilyProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr (SomeStruct QueueFamilyProperties2)) -> IO ())
[pVkGetPhysicalDeviceMemoryProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2)) -> IO ())
[pVkGetPhysicalDeviceSparseImageFormatProperties2] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties2) -> IO ())
[pVkGetPhysicalDeviceExternalBufferProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties) -> IO ())
[pVkGetPhysicalDeviceExternalSemaphoreProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalSemaphoreInfo" ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo)) -> ("pExternalSemaphoreProperties" ::: Ptr ExternalSemaphoreProperties) -> IO ())
[pVkGetPhysicalDeviceExternalFenceProperties] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties) -> IO ())
[pVkReleaseDisplayEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
[pVkAcquireXlibDisplayEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
[pVkGetRandROutputDisplayEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result)
[pVkAcquireWinrtDisplayNV] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
[pVkGetWinrtDisplayNV] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("deviceRelativeId" ::: Word32) -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result)
[pVkGetPhysicalDeviceSurfaceCapabilities2EXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result)
[pVkEnumeratePhysicalDeviceGroups] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result)
[pVkGetPhysicalDevicePresentRectanglesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result)
[pVkCreateIOSSurfaceMVK] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkCreateMacOSSurfaceMVK] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkCreateMetalSurfaceEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceMultisamplePropertiesEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("samples" ::: SampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT) -> IO ())
[pVkGetPhysicalDeviceSurfaceCapabilities2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceCapabilities" ::: Ptr (SomeStruct SurfaceCapabilities2KHR)) -> IO Result)
[pVkGetPhysicalDeviceSurfaceFormats2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR) -> IO Result)
[pVkGetPhysicalDeviceDisplayProperties2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayProperties2KHR) -> IO Result)
[pVkGetPhysicalDeviceDisplayPlaneProperties2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR) -> IO Result)
[pVkGetDisplayModeProperties2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModeProperties2KHR) -> IO Result)
[pVkGetDisplayPlaneCapabilities2KHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR) -> IO Result)
[pVkGetPhysicalDeviceCalibrateableTimeDomainsEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pTimeDomainCount" ::: Ptr Word32) -> ("pTimeDomains" ::: Ptr TimeDomainEXT) -> IO Result)
[pVkCreateDebugUtilsMessengerEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO Result)
[pVkDestroyDebugUtilsMessengerEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> DebugUtilsMessengerEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkSubmitDebugUtilsMessageEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> IO ())
[pVkGetPhysicalDeviceCooperativeMatrixPropertiesNV] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV) -> IO Result)
[pVkGetPhysicalDeviceSurfacePresentModes2EXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result)
[pVkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("pCounterCount" ::: Ptr Word32) -> ("pCounters" ::: Ptr PerformanceCounterKHR) -> ("pCounterDescriptions" ::: Ptr PerformanceCounterDescriptionKHR) -> IO Result)
[pVkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pPerformanceQueryCreateInfo" ::: Ptr QueryPoolPerformanceCreateInfoKHR) -> ("pNumPasses" ::: Ptr Word32) -> IO ())
[pVkCreateHeadlessSurfaceEXT] :: InstanceCmds -> FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
[pVkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pCombinationCount" ::: Ptr Word32) -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV) -> IO Result)
[pVkGetPhysicalDeviceToolPropertiesEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pToolCount" ::: Ptr Word32) -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT) -> IO Result)
[pVkGetPhysicalDeviceFragmentShadingRatesKHR] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("pFragmentShadingRateCount" ::: Ptr Word32) -> ("pFragmentShadingRates" ::: Ptr PhysicalDeviceFragmentShadingRateKHR) -> IO Result)
[pVkAcquireDrmDisplayEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("drmFd" ::: Int32) -> DisplayKHR -> IO Result)
[pVkGetDrmDisplayEXT] :: InstanceCmds -> FunPtr (Ptr PhysicalDevice_T -> ("drmFd" ::: Int32) -> ("connectorId" ::: Word32) -> Ptr DisplayKHR -> IO Result)
-- | A version of getInstanceProcAddr which can be called with a
-- null pointer for the instance.
getInstanceProcAddr' :: Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
initInstanceCmds :: Ptr Instance_T -> IO InstanceCmds
data DeviceCmds
DeviceCmds :: Ptr Device_T -> FunPtr (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Queue_T -> IO Result) -> FunPtr (Ptr Device_T -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMemory" ::: Ptr DeviceMemory) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> ("ppData" ::: Ptr (Ptr ())) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> IO ()) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pCommittedMemoryInBytes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements) -> IO ()) -> FunPtr (Ptr Queue_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> ("waitAll" ::: Bool32) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSemaphore" ::: Ptr Semaphore) -> IO Result) -> FunPtr (Ptr Device_T -> Semaphore -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr EventCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pEvent" ::: Ptr Event) -> IO Result) -> FunPtr (Ptr Device_T -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pQueryPool" ::: Ptr QueryPool) -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pBuffer" ::: Ptr Buffer) -> IO Result) -> FunPtr (Ptr Device_T -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferViewCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr BufferView) -> IO Result) -> FunPtr (Ptr Device_T -> BufferView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pImage" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource) -> ("pLayout" ::: Ptr SubresourceLayout) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr ImageView) -> IO Result) -> FunPtr (Ptr Device_T -> ImageView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pShaderModule" ::: Ptr ShaderModule) -> IO Result) -> FunPtr (Ptr Device_T -> ShaderModule -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineCache" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSampler" ::: Ptr Sampler) -> IO Result) -> FunPtr (Ptr Device_T -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSetLayout" ::: Ptr DescriptorSetLayout) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorPool" ::: Ptr DescriptorPool) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo)) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFramebuffer" ::: Ptr Framebuffer) -> IO Result) -> FunPtr (Ptr Device_T -> Framebuffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCommandPool" ::: Ptr CommandPool) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("blendConstants" ::: Ptr (FixedArray 4 CFloat)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pVertexInfo" ::: Ptr MultiDrawInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pIndexInfo" ::: Ptr MultiDrawIndexedInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> ("pVertexOffset" ::: Ptr Int32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pDepthStencil" ::: Ptr ClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr ClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr ClearRect) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageResolve) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> DependencyFlags -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pConditionalRenderingBegin" ::: Ptr ConditionalRenderingBeginInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineLayout -> ShaderStageFlags -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchain" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pPresentInfo" ::: Ptr (SomeStruct PresentInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugMarkerObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugMarkerObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("isPreprocessed" ::: Bool32) -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> ("groupIndex" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr GeneratedCommandsMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr IndirectCommandsLayoutCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr IndirectCommandsLayoutNV) -> IO Result) -> FunPtr (Ptr Device_T -> IndirectCommandsLayoutNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolTrimFlags -> IO ()) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr MemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> HANDLE -> ("pMemoryWin32HandleProperties" ::: Ptr MemoryWin32HandlePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr MemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr MemoryFdPropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr MemoryGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("zirconHandle" ::: Zx_handle_t) -> ("pMemoryZirconHandleProperties" ::: Ptr MemoryZirconHandlePropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pMemoryGetRemoteAddressInfo" ::: Ptr MemoryGetRemoteAddressInfoNV) -> ("pAddress" ::: Ptr RemoteAddressNV) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr SemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr ImportSemaphoreWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr SemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreFdInfo" ::: Ptr ImportSemaphoreFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr SemaphoreGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreZirconHandleInfo" ::: Ptr ImportSemaphoreZirconHandleInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr FenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceWin32HandleInfo" ::: Ptr ImportFenceWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr FenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceFdInfo" ::: Ptr ImportFenceFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayPowerInfo" ::: Ptr DisplayPowerInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pDeviceEventInfo" ::: Ptr DeviceEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayEventInfo" ::: Ptr DisplayEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> ("pCounterValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr PeerMemoryFeatureFlags) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindBufferMemoryInfo)) -> IO Result) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindImageMemoryInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("deviceMask" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pDeviceGroupPresentCapabilities" ::: Ptr DeviceGroupPresentCapabilitiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SurfaceKHR -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr AcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr DescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr DescriptorUpdateTemplate) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorUpdateTemplate -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorSet -> DescriptorUpdateTemplate -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> ("pMetadata" ::: Ptr HdrMetadataEXT) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pDisplayTimingProperties" ::: Ptr RefreshCycleDurationGOOGLE) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr PastPresentationTimingGOOGLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr ViewportWScalingNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSampleLocationsInfo" ::: Ptr SampleLocationsInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result) -> FunPtr (Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr ValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pValidationCache" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: ValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pSupport" ::: Ptr (SomeStruct DescriptorSetLayoutSupport)) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ShaderStageFlagBits -> ShaderInfoTypeAMD -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("localDimmingEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("timestampCount" ::: Word32) -> ("pTimestampInfos" ::: Ptr CalibratedTimestampInfoEXT) -> ("pTimestamps" ::: Ptr Word64) -> ("pMaxDeviation" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Queue_T -> IO ()) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr MemoryHostPointerPropertiesEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo2)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> ("pSubpassEndInfo" ::: Ptr SubpassEndInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassEndInfo" ::: Ptr SubpassEndInfo) -> IO ()) -> FunPtr (Ptr Device_T -> Semaphore -> ("pValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pWaitInfo" ::: Ptr SemaphoreWaitInfo) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSignalInfo" ::: Ptr SemaphoreSignalInfo) -> IO Result) -> FunPtr (Ptr Device_T -> Ptr AHardwareBuffer -> ("pProperties" ::: Ptr (SomeStruct AndroidHardwareBufferPropertiesANDROID)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr MemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCheckpointMarker" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointDataNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("counterBuffer" ::: Buffer) -> ("counterBufferOffset" ::: DeviceSize) -> ("counterOffset" ::: Word32) -> ("vertexStride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissorCount" ::: Word32) -> ("pExclusiveScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> ("customSampleOrderCount" ::: Word32) -> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("taskCount" ::: Word32) -> ("firstTask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2KHR)) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr BindAccelerationStructureMemoryInfoNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> CopyAccelerationStructureModeKHR -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureNV) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr AccelerationStructureInfoNV) -> ("instanceData" ::: Buffer) -> ("instanceOffset" ::: DeviceSize) -> ("update" ::: Bool32) -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> ("scratch" ::: Buffer) -> ("scratchOffset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("raygenShaderBindingTableBuffer" ::: Buffer) -> ("raygenShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingTableBuffer" ::: Buffer) -> ("missShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingStride" ::: DeviceSize) -> ("hitShaderBindingTableBuffer" ::: Buffer) -> ("hitShaderBindingOffset" ::: DeviceSize) -> ("hitShaderBindingStride" ::: DeviceSize) -> ("callableShaderBindingTableBuffer" ::: Buffer) -> ("callableShaderBindingOffset" ::: DeviceSize) -> ("callableShaderBindingStride" ::: DeviceSize) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ()) -> FunPtr (Ptr Device_T -> ("pVersionInfo" ::: Ptr AccelerationStructureVersionInfoKHR) -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> IO DeviceSize) -> FunPtr (Ptr CommandBuffer_T -> ("pipelineStackSize" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageViewHandleInfoNVX) -> IO Word32) -> FunPtr (Ptr Device_T -> ImageView -> ("pProperties" ::: Ptr ImageViewAddressPropertiesNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AcquireProfilingLockInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pProperties" ::: Ptr ImageDrmFormatModifierPropertiesEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pInitializeInfo" ::: Ptr InitializePerformanceApiInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceStreamMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pOverrideInfo" ::: Ptr PerformanceOverrideInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr PerformanceConfigurationAcquireInfoINTEL) -> ("pConfiguration" ::: Ptr PerformanceConfigurationINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Queue_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceParameterTypeINTEL -> ("pValue" ::: Ptr PerformanceValueINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceMemoryOpaqueCaptureAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureDeviceAddressInfoKHR) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDeferredOperation" ::: Ptr DeferredOperationKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Word32) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("primitiveRestartEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlotEXT) -> IO Result) -> FunPtr (Ptr Device_T -> PrivateDataSlotEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("pData" ::: Ptr Word64) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferInfo" ::: Ptr CopyBufferInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageInfo" ::: Ptr CopyImageInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBlitImageInfo" ::: Ptr BlitImageInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferToImageInfo" ::: Ptr CopyBufferToImageInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageToBufferInfo" ::: Ptr CopyImageToBufferInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pResolveImageInfo" ::: Ptr ResolveImageInfo2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pFragmentSize" ::: Ptr Extent2D) -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FragmentShadingRateNV -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> ("pBuildInfo" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pMaxPrimitiveCounts" ::: Ptr Word32) -> ("pSizeInfo" ::: Ptr AccelerationStructureBuildSizesInfoKHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexBindingDescriptionCount" ::: Word32) -> ("pVertexBindingDescriptions" ::: Ptr VertexInputBindingDescription2EXT) -> ("vertexAttributeDescriptionCount" ::: Word32) -> ("pVertexAttributeDescriptions" ::: Ptr VertexInputAttributeDescription2EXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pColorWriteEnables" ::: Ptr Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("pDependencyInfos" ::: Ptr DependencyInfoKHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR)) -> Fence -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result) -> FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> DeviceCmds
[deviceCmdsHandle] :: DeviceCmds -> Ptr Device_T
[pVkGetDeviceProcAddr] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
[pVkDestroyDevice] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetDeviceQueue] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ())
[pVkQueueSubmit] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo)) -> Fence -> IO Result)
[pVkQueueWaitIdle] :: DeviceCmds -> FunPtr (Ptr Queue_T -> IO Result)
[pVkDeviceWaitIdle] :: DeviceCmds -> FunPtr (Ptr Device_T -> IO Result)
[pVkAllocateMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMemory" ::: Ptr DeviceMemory) -> IO Result)
[pVkFreeMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkMapMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> ("ppData" ::: Ptr (Ptr ())) -> IO Result)
[pVkUnmapMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> IO ())
[pVkFlushMappedMemoryRanges] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result)
[pVkInvalidateMappedMemoryRanges] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result)
[pVkGetDeviceMemoryCommitment] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pCommittedMemoryInBytes" ::: Ptr DeviceSize) -> IO ())
[pVkGetBufferMemoryRequirements] :: DeviceCmds -> FunPtr (Ptr Device_T -> Buffer -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ())
[pVkBindBufferMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result)
[pVkGetImageMemoryRequirements] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ())
[pVkBindImageMemory] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result)
[pVkGetImageSparseMemoryRequirements] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements) -> IO ())
[pVkQueueBindSparse] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo)) -> Fence -> IO Result)
[pVkCreateFence] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result)
[pVkDestroyFence] :: DeviceCmds -> FunPtr (Ptr Device_T -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkResetFences] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> IO Result)
[pVkGetFenceStatus] :: DeviceCmds -> FunPtr (Ptr Device_T -> Fence -> IO Result)
[pVkWaitForFences] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> ("waitAll" ::: Bool32) -> ("timeout" ::: Word64) -> IO Result)
[pVkCreateSemaphore] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSemaphore" ::: Ptr Semaphore) -> IO Result)
[pVkDestroySemaphore] :: DeviceCmds -> FunPtr (Ptr Device_T -> Semaphore -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateEvent] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr EventCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pEvent" ::: Ptr Event) -> IO Result)
[pVkDestroyEvent] :: DeviceCmds -> FunPtr (Ptr Device_T -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetEventStatus] :: DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
[pVkSetEvent] :: DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
[pVkResetEvent] :: DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
[pVkCreateQueryPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pQueryPool" ::: Ptr QueryPool) -> IO Result)
[pVkDestroyQueryPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> QueryPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetQueryPoolResults] :: DeviceCmds -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO Result)
[pVkResetQueryPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ())
[pVkCreateBuffer] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pBuffer" ::: Ptr Buffer) -> IO Result)
[pVkDestroyBuffer] :: DeviceCmds -> FunPtr (Ptr Device_T -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateBufferView] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferViewCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr BufferView) -> IO Result)
[pVkDestroyBufferView] :: DeviceCmds -> FunPtr (Ptr Device_T -> BufferView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateImage] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pImage" ::: Ptr Image) -> IO Result)
[pVkDestroyImage] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetImageSubresourceLayout] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource) -> ("pLayout" ::: Ptr SubresourceLayout) -> IO ())
[pVkCreateImageView] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr ImageView) -> IO Result)
[pVkDestroyImageView] :: DeviceCmds -> FunPtr (Ptr Device_T -> ImageView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateShaderModule] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pShaderModule" ::: Ptr ShaderModule) -> IO Result)
[pVkDestroyShaderModule] :: DeviceCmds -> FunPtr (Ptr Device_T -> ShaderModule -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreatePipelineCache] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineCache" ::: Ptr PipelineCache) -> IO Result)
[pVkDestroyPipelineCache] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineCache -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetPipelineCacheData] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineCache -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result)
[pVkMergePipelineCaches] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result)
[pVkCreateGraphicsPipelines] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
[pVkCreateComputePipelines] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
[pVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI] :: DeviceCmds -> FunPtr (Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result)
[pVkDestroyPipeline] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreatePipelineLayout] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result)
[pVkDestroyPipelineLayout] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateSampler] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSampler" ::: Ptr Sampler) -> IO Result)
[pVkDestroySampler] :: DeviceCmds -> FunPtr (Ptr Device_T -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateDescriptorSetLayout] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSetLayout" ::: Ptr DescriptorSetLayout) -> IO Result)
[pVkDestroyDescriptorSetLayout] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateDescriptorPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorPool" ::: Ptr DescriptorPool) -> IO Result)
[pVkDestroyDescriptorPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkResetDescriptorPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result)
[pVkAllocateDescriptorSets] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo)) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result)
[pVkFreeDescriptorSets] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorPool -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result)
[pVkUpdateDescriptorSets] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet) -> IO ())
[pVkCreateFramebuffer] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFramebuffer" ::: Ptr Framebuffer) -> IO Result)
[pVkDestroyFramebuffer] :: DeviceCmds -> FunPtr (Ptr Device_T -> Framebuffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCreateRenderPass] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result)
[pVkDestroyRenderPass] :: DeviceCmds -> FunPtr (Ptr Device_T -> RenderPass -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetRenderAreaGranularity] :: DeviceCmds -> FunPtr (Ptr Device_T -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ())
[pVkCreateCommandPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCommandPool" ::: Ptr CommandPool) -> IO Result)
[pVkDestroyCommandPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> CommandPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkResetCommandPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result)
[pVkAllocateCommandBuffers] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO Result)
[pVkFreeCommandBuffers] :: DeviceCmds -> FunPtr (Ptr Device_T -> CommandPool -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ())
[pVkBeginCommandBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo)) -> IO Result)
[pVkEndCommandBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO Result)
[pVkResetCommandBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result)
[pVkCmdBindPipeline] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ())
[pVkCmdSetViewport] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ())
[pVkCmdSetScissor] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ())
[pVkCmdSetLineWidth] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ())
[pVkCmdSetDepthBias] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ())
[pVkCmdSetBlendConstants] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("blendConstants" ::: Ptr (FixedArray 4 CFloat)) -> IO ())
[pVkCmdSetDepthBounds] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ())
[pVkCmdSetStencilCompareMask] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ())
[pVkCmdSetStencilWriteMask] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ())
[pVkCmdSetStencilReference] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> IO ())
[pVkCmdBindDescriptorSets] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ())
[pVkCmdBindIndexBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> IO ())
[pVkCmdBindVertexBuffers] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ())
[pVkCmdDraw] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ())
[pVkCmdDrawIndexed] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ())
[pVkCmdDrawMultiEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pVertexInfo" ::: Ptr MultiDrawInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdDrawMultiIndexedEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pIndexInfo" ::: Ptr MultiDrawIndexedInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> ("pVertexOffset" ::: Ptr Int32) -> IO ())
[pVkCmdDrawIndirect] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdDrawIndexedIndirect] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdDispatch] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ())
[pVkCmdDispatchIndirect] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ())
[pVkCmdSubpassShadingHUAWEI] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
[pVkCmdCopyBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ())
[pVkCmdCopyImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ())
[pVkCmdBlitImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ())
[pVkCmdCopyBufferToImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ())
[pVkCmdCopyImageToBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ())
[pVkCmdUpdateBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ())
[pVkCmdFillBuffer] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ())
[pVkCmdClearColorImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ())
[pVkCmdClearDepthStencilImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pDepthStencil" ::: Ptr ClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ())
[pVkCmdClearAttachments] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr ClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr ClearRect) -> IO ())
[pVkCmdResolveImage] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageResolve) -> IO ())
[pVkCmdSetEvent] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ())
[pVkCmdResetEvent] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ())
[pVkCmdWaitEvents] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ())
[pVkCmdPipelineBarrier] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> DependencyFlags -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ())
[pVkCmdBeginQuery] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> IO ())
[pVkCmdEndQuery] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> IO ())
[pVkCmdBeginConditionalRenderingEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pConditionalRenderingBegin" ::: Ptr ConditionalRenderingBeginInfoEXT) -> IO ())
[pVkCmdEndConditionalRenderingEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
[pVkCmdResetQueryPool] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ())
[pVkCmdWriteTimestamp] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> QueryPool -> ("query" ::: Word32) -> IO ())
[pVkCmdCopyQueryPoolResults] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO ())
[pVkCmdPushConstants] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineLayout -> ShaderStageFlags -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ())
[pVkCmdBeginRenderPass] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> SubpassContents -> IO ())
[pVkCmdNextSubpass] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> SubpassContents -> IO ())
[pVkCmdEndRenderPass] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
[pVkCmdExecuteCommands] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ())
[pVkCreateSharedSwapchainsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> IO Result)
[pVkCreateSwapchainKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchain" ::: Ptr SwapchainKHR) -> IO Result)
[pVkDestroySwapchainKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetSwapchainImagesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr Image) -> IO Result)
[pVkAcquireNextImageKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> ("pImageIndex" ::: Ptr Word32) -> IO Result)
[pVkQueuePresentKHR] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("pPresentInfo" ::: Ptr (SomeStruct PresentInfoKHR)) -> IO Result)
[pVkDebugMarkerSetObjectNameEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugMarkerObjectNameInfoEXT) -> IO Result)
[pVkDebugMarkerSetObjectTagEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugMarkerObjectTagInfoEXT) -> IO Result)
[pVkCmdDebugMarkerBeginEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ())
[pVkCmdDebugMarkerEndEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
[pVkCmdDebugMarkerInsertEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ())
[pVkGetMemoryWin32HandleNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> ("pHandle" ::: Ptr HANDLE) -> IO Result)
[pVkCmdExecuteGeneratedCommandsNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("isPreprocessed" ::: Bool32) -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ())
[pVkCmdPreprocessGeneratedCommandsNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ())
[pVkCmdBindPipelineShaderGroupNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> ("groupIndex" ::: Word32) -> IO ())
[pVkGetGeneratedCommandsMemoryRequirementsNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr GeneratedCommandsMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
[pVkCreateIndirectCommandsLayoutNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr IndirectCommandsLayoutCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr IndirectCommandsLayoutNV) -> IO Result)
[pVkDestroyIndirectCommandsLayoutNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> IndirectCommandsLayoutNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCmdPushDescriptorSetKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> IO ())
[pVkTrimCommandPool] :: DeviceCmds -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolTrimFlags -> IO ())
[pVkGetMemoryWin32HandleKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr MemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result)
[pVkGetMemoryWin32HandlePropertiesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> HANDLE -> ("pMemoryWin32HandleProperties" ::: Ptr MemoryWin32HandlePropertiesKHR) -> IO Result)
[pVkGetMemoryFdKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr MemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result)
[pVkGetMemoryFdPropertiesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr MemoryFdPropertiesKHR) -> IO Result)
[pVkGetMemoryZirconHandleFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr MemoryGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result)
[pVkGetMemoryZirconHandlePropertiesFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("zirconHandle" ::: Zx_handle_t) -> ("pMemoryZirconHandleProperties" ::: Ptr MemoryZirconHandlePropertiesFUCHSIA) -> IO Result)
[pVkGetMemoryRemoteAddressNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pMemoryGetRemoteAddressInfo" ::: Ptr MemoryGetRemoteAddressInfoNV) -> ("pAddress" ::: Ptr RemoteAddressNV) -> IO Result)
[pVkGetSemaphoreWin32HandleKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr SemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result)
[pVkImportSemaphoreWin32HandleKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr ImportSemaphoreWin32HandleInfoKHR) -> IO Result)
[pVkGetSemaphoreFdKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr SemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result)
[pVkImportSemaphoreFdKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pImportSemaphoreFdInfo" ::: Ptr ImportSemaphoreFdInfoKHR) -> IO Result)
[pVkGetSemaphoreZirconHandleFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr SemaphoreGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result)
[pVkImportSemaphoreZirconHandleFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pImportSemaphoreZirconHandleInfo" ::: Ptr ImportSemaphoreZirconHandleInfoFUCHSIA) -> IO Result)
[pVkGetFenceWin32HandleKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr FenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result)
[pVkImportFenceWin32HandleKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pImportFenceWin32HandleInfo" ::: Ptr ImportFenceWin32HandleInfoKHR) -> IO Result)
[pVkGetFenceFdKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr FenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result)
[pVkImportFenceFdKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pImportFenceFdInfo" ::: Ptr ImportFenceFdInfoKHR) -> IO Result)
[pVkDisplayPowerControlEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayPowerInfo" ::: Ptr DisplayPowerInfoEXT) -> IO Result)
[pVkRegisterDeviceEventEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pDeviceEventInfo" ::: Ptr DeviceEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result)
[pVkRegisterDisplayEventEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayEventInfo" ::: Ptr DisplayEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result)
[pVkGetSwapchainCounterEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> ("pCounterValue" ::: Ptr Word64) -> IO Result)
[pVkGetDeviceGroupPeerMemoryFeatures] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr PeerMemoryFeatureFlags) -> IO ())
[pVkBindBufferMemory2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindBufferMemoryInfo)) -> IO Result)
[pVkBindImageMemory2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindImageMemoryInfo)) -> IO Result)
[pVkCmdSetDeviceMask] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("deviceMask" ::: Word32) -> IO ())
[pVkGetDeviceGroupPresentCapabilitiesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pDeviceGroupPresentCapabilities" ::: Ptr DeviceGroupPresentCapabilitiesKHR) -> IO Result)
[pVkGetDeviceGroupSurfacePresentModesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SurfaceKHR -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result)
[pVkAcquireNextImage2KHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr AcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO Result)
[pVkCmdDispatchBase] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ())
[pVkCreateDescriptorUpdateTemplate] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr DescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr DescriptorUpdateTemplate) -> IO Result)
[pVkDestroyDescriptorUpdateTemplate] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorUpdateTemplate -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkUpdateDescriptorSetWithTemplate] :: DeviceCmds -> FunPtr (Ptr Device_T -> DescriptorSet -> DescriptorUpdateTemplate -> ("pData" ::: Ptr ()) -> IO ())
[pVkCmdPushDescriptorSetWithTemplateKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ())
[pVkSetHdrMetadataEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> ("pMetadata" ::: Ptr HdrMetadataEXT) -> IO ())
[pVkGetSwapchainStatusKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result)
[pVkGetRefreshCycleDurationGOOGLE] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pDisplayTimingProperties" ::: Ptr RefreshCycleDurationGOOGLE) -> IO Result)
[pVkGetPastPresentationTimingGOOGLE] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr PastPresentationTimingGOOGLE) -> IO Result)
[pVkCmdSetViewportWScalingNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr ViewportWScalingNV) -> IO ())
[pVkCmdSetDiscardRectangleEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr Rect2D) -> IO ())
[pVkCmdSetSampleLocationsEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pSampleLocationsInfo" ::: Ptr SampleLocationsInfoEXT) -> IO ())
[pVkGetBufferMemoryRequirements2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
[pVkGetImageMemoryRequirements2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
[pVkGetImageSparseMemoryRequirements2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ())
[pVkGetDeviceBufferMemoryRequirementsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
[pVkGetDeviceImageMemoryRequirementsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
[pVkGetDeviceImageSparseMemoryRequirementsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ())
[pVkCreateSamplerYcbcrConversion] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result)
[pVkDestroySamplerYcbcrConversion] :: DeviceCmds -> FunPtr (Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetDeviceQueue2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ())
[pVkCreateValidationCacheEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr ValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pValidationCache" ::: Ptr ValidationCacheEXT) -> IO Result)
[pVkDestroyValidationCacheEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetValidationCacheDataEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result)
[pVkMergeValidationCachesEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("dstCache" ::: ValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr ValidationCacheEXT) -> IO Result)
[pVkGetDescriptorSetLayoutSupport] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pSupport" ::: Ptr (SomeStruct DescriptorSetLayoutSupport)) -> IO ())
[pVkGetShaderInfoAMD] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ShaderStageFlagBits -> ShaderInfoTypeAMD -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO Result)
[pVkSetLocalDimmingAMD] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("localDimmingEnable" ::: Bool32) -> IO ())
[pVkGetCalibratedTimestampsEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("timestampCount" ::: Word32) -> ("pTimestampInfos" ::: Ptr CalibratedTimestampInfoEXT) -> ("pTimestamps" ::: Ptr Word64) -> ("pMaxDeviation" ::: Ptr Word64) -> IO Result)
[pVkSetDebugUtilsObjectNameEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
[pVkSetDebugUtilsObjectTagEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
[pVkQueueBeginDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
[pVkQueueEndDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr Queue_T -> IO ())
[pVkQueueInsertDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
[pVkCmdBeginDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
[pVkCmdEndDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
[pVkCmdInsertDebugUtilsLabelEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
[pVkGetMemoryHostPointerPropertiesEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr MemoryHostPointerPropertiesEXT) -> IO Result)
[pVkCmdWriteBufferMarkerAMD] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ())
[pVkCreateRenderPass2] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo2)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result)
[pVkCmdBeginRenderPass2] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> IO ())
[pVkCmdNextSubpass2] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> ("pSubpassEndInfo" ::: Ptr SubpassEndInfo) -> IO ())
[pVkCmdEndRenderPass2] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassEndInfo" ::: Ptr SubpassEndInfo) -> IO ())
[pVkGetSemaphoreCounterValue] :: DeviceCmds -> FunPtr (Ptr Device_T -> Semaphore -> ("pValue" ::: Ptr Word64) -> IO Result)
[pVkWaitSemaphores] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pWaitInfo" ::: Ptr SemaphoreWaitInfo) -> ("timeout" ::: Word64) -> IO Result)
[pVkSignalSemaphore] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pSignalInfo" ::: Ptr SemaphoreSignalInfo) -> IO Result)
[pVkGetAndroidHardwareBufferPropertiesANDROID] :: DeviceCmds -> FunPtr (Ptr Device_T -> Ptr AHardwareBuffer -> ("pProperties" ::: Ptr (SomeStruct AndroidHardwareBufferPropertiesANDROID)) -> IO Result)
[pVkGetMemoryAndroidHardwareBufferANDROID] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr MemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO Result)
[pVkCmdDrawIndirectCount] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdDrawIndexedIndirectCount] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdSetCheckpointNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pCheckpointMarker" ::: Ptr ()) -> IO ())
[pVkGetQueueCheckpointDataNV] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointDataNV) -> IO ())
[pVkCmdBindTransformFeedbackBuffersEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> IO ())
[pVkCmdBeginTransformFeedbackEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ())
[pVkCmdEndTransformFeedbackEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ())
[pVkCmdBeginQueryIndexedEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> ("index" ::: Word32) -> IO ())
[pVkCmdEndQueryIndexedEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> IO ())
[pVkCmdDrawIndirectByteCountEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("counterBuffer" ::: Buffer) -> ("counterBufferOffset" ::: DeviceSize) -> ("counterOffset" ::: Word32) -> ("vertexStride" ::: Word32) -> IO ())
[pVkCmdSetExclusiveScissorNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissorCount" ::: Word32) -> ("pExclusiveScissors" ::: Ptr Rect2D) -> IO ())
[pVkCmdBindShadingRateImageNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
[pVkCmdSetViewportShadingRatePaletteNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO ())
[pVkCmdSetCoarseSampleOrderNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> ("customSampleOrderCount" ::: Word32) -> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO ())
[pVkCmdDrawMeshTasksNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("taskCount" ::: Word32) -> ("firstTask" ::: Word32) -> IO ())
[pVkCmdDrawMeshTasksIndirectNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCmdDrawMeshTasksIndirectCountNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
[pVkCompileDeferredNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result)
[pVkCreateAccelerationStructureNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result)
[pVkCmdBindInvocationMaskHUAWEI] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
[pVkDestroyAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkDestroyAccelerationStructureNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetAccelerationStructureMemoryRequirementsNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2KHR)) -> IO ())
[pVkBindAccelerationStructureMemoryNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr BindAccelerationStructureMemoryInfoNV) -> IO Result)
[pVkCmdCopyAccelerationStructureNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> CopyAccelerationStructureModeKHR -> IO ())
[pVkCmdCopyAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO ())
[pVkCopyAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO Result)
[pVkCmdCopyAccelerationStructureToMemoryKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO ())
[pVkCopyAccelerationStructureToMemoryKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO Result)
[pVkCmdCopyMemoryToAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO ())
[pVkCopyMemoryToAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO Result)
[pVkCmdWriteAccelerationStructuresPropertiesKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ())
[pVkCmdWriteAccelerationStructuresPropertiesNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureNV) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ())
[pVkCmdBuildAccelerationStructureNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr AccelerationStructureInfoNV) -> ("instanceData" ::: Buffer) -> ("instanceOffset" ::: DeviceSize) -> ("update" ::: Bool32) -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> ("scratch" ::: Buffer) -> ("scratchOffset" ::: DeviceSize) -> IO ())
[pVkWriteAccelerationStructuresPropertiesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result)
[pVkCmdTraceRaysKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ())
[pVkCmdTraceRaysNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("raygenShaderBindingTableBuffer" ::: Buffer) -> ("raygenShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingTableBuffer" ::: Buffer) -> ("missShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingStride" ::: DeviceSize) -> ("hitShaderBindingTableBuffer" ::: Buffer) -> ("hitShaderBindingOffset" ::: DeviceSize) -> ("hitShaderBindingStride" ::: DeviceSize) -> ("callableShaderBindingTableBuffer" ::: Buffer) -> ("callableShaderBindingOffset" ::: DeviceSize) -> ("callableShaderBindingStride" ::: DeviceSize) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ())
[pVkGetRayTracingShaderGroupHandlesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result)
[pVkGetRayTracingCaptureReplayShaderGroupHandlesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result)
[pVkGetAccelerationStructureHandleNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result)
[pVkCreateRayTracingPipelinesNV] :: DeviceCmds -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
[pVkCreateRayTracingPipelinesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
[pVkCmdTraceRaysIndirectKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ())
[pVkGetDeviceAccelerationStructureCompatibilityKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pVersionInfo" ::: Ptr AccelerationStructureVersionInfoKHR) -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ())
[pVkGetRayTracingShaderGroupStackSizeKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> IO DeviceSize)
[pVkCmdSetRayTracingPipelineStackSizeKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pipelineStackSize" ::: Word32) -> IO ())
[pVkGetImageViewHandleNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageViewHandleInfoNVX) -> IO Word32)
[pVkGetImageViewAddressNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> ImageView -> ("pProperties" ::: Ptr ImageViewAddressPropertiesNVX) -> IO Result)
[pVkGetDeviceGroupSurfacePresentModes2EXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result)
[pVkAcquireFullScreenExclusiveModeEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result)
[pVkReleaseFullScreenExclusiveModeEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result)
[pVkAcquireProfilingLockKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AcquireProfilingLockInfoKHR) -> IO Result)
[pVkReleaseProfilingLockKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> IO ())
[pVkGetImageDrmFormatModifierPropertiesEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> Image -> ("pProperties" ::: Ptr ImageDrmFormatModifierPropertiesEXT) -> IO Result)
[pVkGetBufferOpaqueCaptureAddress] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO Word64)
[pVkGetBufferDeviceAddress] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO DeviceAddress)
[pVkInitializePerformanceApiINTEL] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInitializeInfo" ::: Ptr InitializePerformanceApiInfoINTEL) -> IO Result)
[pVkUninitializePerformanceApiINTEL] :: DeviceCmds -> FunPtr (Ptr Device_T -> IO ())
[pVkCmdSetPerformanceMarkerINTEL] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceMarkerInfoINTEL) -> IO Result)
[pVkCmdSetPerformanceStreamMarkerINTEL] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceStreamMarkerInfoINTEL) -> IO Result)
[pVkCmdSetPerformanceOverrideINTEL] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pOverrideInfo" ::: Ptr PerformanceOverrideInfoINTEL) -> IO Result)
[pVkAcquirePerformanceConfigurationINTEL] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr PerformanceConfigurationAcquireInfoINTEL) -> ("pConfiguration" ::: Ptr PerformanceConfigurationINTEL) -> IO Result)
[pVkReleasePerformanceConfigurationINTEL] :: DeviceCmds -> FunPtr (Ptr Device_T -> PerformanceConfigurationINTEL -> IO Result)
[pVkQueueSetPerformanceConfigurationINTEL] :: DeviceCmds -> FunPtr (Ptr Queue_T -> PerformanceConfigurationINTEL -> IO Result)
[pVkGetPerformanceParameterINTEL] :: DeviceCmds -> FunPtr (Ptr Device_T -> PerformanceParameterTypeINTEL -> ("pValue" ::: Ptr PerformanceValueINTEL) -> IO Result)
[pVkGetDeviceMemoryOpaqueCaptureAddress] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceMemoryOpaqueCaptureAddressInfo) -> IO Word64)
[pVkGetPipelineExecutablePropertiesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result)
[pVkGetPipelineExecutableStatisticsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result)
[pVkGetPipelineExecutableInternalRepresentationsKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result)
[pVkCmdSetLineStippleEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ())
[pVkCreateAccelerationStructureKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result)
[pVkCmdBuildAccelerationStructuresKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ())
[pVkCmdBuildAccelerationStructuresIndirectKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ())
[pVkBuildAccelerationStructuresKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO Result)
[pVkGetAccelerationStructureDeviceAddressKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureDeviceAddressInfoKHR) -> IO DeviceAddress)
[pVkCreateDeferredOperationKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDeferredOperation" ::: Ptr DeferredOperationKHR) -> IO Result)
[pVkDestroyDeferredOperationKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetDeferredOperationMaxConcurrencyKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Word32)
[pVkGetDeferredOperationResultKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result)
[pVkDeferredOperationJoinKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result)
[pVkCmdSetCullModeEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ())
[pVkCmdSetFrontFaceEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ())
[pVkCmdSetPrimitiveTopologyEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ())
[pVkCmdSetViewportWithCountEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ())
[pVkCmdSetScissorWithCountEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ())
[pVkCmdBindVertexBuffers2EXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ())
[pVkCmdSetDepthTestEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ())
[pVkCmdSetDepthWriteEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ())
[pVkCmdSetDepthCompareOpEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ())
[pVkCmdSetDepthBoundsTestEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ())
[pVkCmdSetStencilTestEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ())
[pVkCmdSetStencilOpEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ())
[pVkCmdSetPatchControlPointsEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
[pVkCmdSetRasterizerDiscardEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
[pVkCmdSetDepthBiasEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasEnable" ::: Bool32) -> IO ())
[pVkCmdSetLogicOpEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
[pVkCmdSetPrimitiveRestartEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("primitiveRestartEnable" ::: Bool32) -> IO ())
[pVkCreatePrivateDataSlotEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlotEXT) -> IO Result)
[pVkDestroyPrivateDataSlotEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> PrivateDataSlotEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkSetPrivateDataEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> IO Result)
[pVkGetPrivateDataEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("pData" ::: Ptr Word64) -> IO ())
[pVkCmdCopyBuffer2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferInfo" ::: Ptr CopyBufferInfo2KHR) -> IO ())
[pVkCmdCopyImage2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageInfo" ::: Ptr CopyImageInfo2KHR) -> IO ())
[pVkCmdBlitImage2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pBlitImageInfo" ::: Ptr BlitImageInfo2KHR) -> IO ())
[pVkCmdCopyBufferToImage2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferToImageInfo" ::: Ptr CopyBufferToImageInfo2KHR) -> IO ())
[pVkCmdCopyImageToBuffer2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageToBufferInfo" ::: Ptr CopyImageToBufferInfo2KHR) -> IO ())
[pVkCmdResolveImage2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pResolveImageInfo" ::: Ptr ResolveImageInfo2KHR) -> IO ())
[pVkCmdSetFragmentShadingRateKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pFragmentSize" ::: Ptr Extent2D) -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ())
[pVkCmdSetFragmentShadingRateEnumNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> FragmentShadingRateNV -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ())
[pVkGetAccelerationStructureBuildSizesKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> ("pBuildInfo" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pMaxPrimitiveCounts" ::: Ptr Word32) -> ("pSizeInfo" ::: Ptr AccelerationStructureBuildSizesInfoKHR) -> IO ())
[pVkCmdSetVertexInputEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("vertexBindingDescriptionCount" ::: Word32) -> ("pVertexBindingDescriptions" ::: Ptr VertexInputBindingDescription2EXT) -> ("vertexAttributeDescriptionCount" ::: Word32) -> ("pVertexAttributeDescriptions" ::: Ptr VertexInputAttributeDescription2EXT) -> IO ())
[pVkCmdSetColorWriteEnableEXT] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pColorWriteEnables" ::: Ptr Bool32) -> IO ())
[pVkCmdSetEvent2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
[pVkCmdResetEvent2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
[pVkCmdWaitEvents2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("pDependencyInfos" ::: Ptr DependencyInfoKHR) -> IO ())
[pVkCmdPipelineBarrier2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
[pVkQueueSubmit2KHR] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR)) -> Fence -> IO Result)
[pVkCmdWriteTimestamp2KHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> QueryPool -> ("query" ::: Word32) -> IO ())
[pVkCmdWriteBufferMarker2AMD] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ())
[pVkGetQueueCheckpointData2NV] :: DeviceCmds -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ())
[pVkCreateCuModuleNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result)
[pVkCreateCuFunctionNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result)
[pVkDestroyCuModuleNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkDestroyCuFunctionNVX] :: DeviceCmds -> FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkCmdCuLaunchKernelNVX] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ())
[pVkSetDeviceMemoryPriorityEXT] :: DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ())
[pVkWaitForPresentKHR] :: DeviceCmds -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result)
[pVkCreateBufferCollectionFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result)
[pVkSetBufferCollectionBufferConstraintsFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result)
[pVkSetBufferCollectionImageConstraintsFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result)
[pVkDestroyBufferCollectionFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
[pVkGetBufferCollectionPropertiesFUCHSIA] :: DeviceCmds -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result)
[pVkCmdBeginRenderingKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR)) -> IO ())
[pVkCmdEndRenderingKHR] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
initDeviceCmds :: InstanceCmds -> Ptr Device_T -> IO DeviceCmds
instance GHC.Classes.Eq Vulkan.Dynamic.InstanceCmds
instance GHC.Show.Show Vulkan.Dynamic.InstanceCmds
instance GHC.Classes.Eq Vulkan.Dynamic.DeviceCmds
instance GHC.Show.Show Vulkan.Dynamic.DeviceCmds
instance Vulkan.Zero.Zero Vulkan.Dynamic.DeviceCmds
instance Vulkan.Zero.Zero Vulkan.Dynamic.InstanceCmds
module Vulkan.Core11.DeviceInitialization
-- | vkEnumerateInstanceVersion - Query instance-level version before
-- instance creation
--
-- Description
--
-- Note
--
-- The intended behaviour of enumerateInstanceVersion is that an
-- implementation should not need to perform memory allocations
-- and should unconditionally return SUCCESS. The loader,
-- and any enabled layers, may return
-- ERROR_OUT_OF_HOST_MEMORY in the case of a failed memory
-- allocation.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1
enumerateInstanceVersion :: forall io. MonadIO io => io ("apiVersion" ::: Word32)
module Vulkan.Core10.Handles
-- | VkInstance - Opaque handle to an instance object
--
-- See Also
--
-- VK_VERSION_1_0, createAndroidSurfaceKHR,
-- createDebugReportCallbackEXT,
-- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT,
-- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT,
-- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA,
-- createInstance, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- debugReportMessageEXT, destroyDebugReportCallbackEXT,
-- destroyDebugUtilsMessengerEXT, destroyInstance,
-- destroySurfaceKHR, enumeratePhysicalDeviceGroups,
-- enumeratePhysicalDeviceGroupsKHR,
-- enumeratePhysicalDevices, getInstanceProcAddr,
-- submitDebugUtilsMessageEXT
data Instance
Instance :: Ptr Instance_T -> InstanceCmds -> Instance
[$sel:instanceHandle:Instance] :: Instance -> Ptr Instance_T
[$sel:instanceCmds:Instance] :: Instance -> InstanceCmds
-- | An opaque type for representing pointers to VkInstance handles
data Instance_T
-- | VkPhysicalDevice - Opaque handle to a physical device object
--
-- See Also
--
-- VK_VERSION_1_0, DeviceGroupDeviceCreateInfo,
-- PhysicalDeviceGroupProperties, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDevice, createDisplayModeKHR,
-- enumerateDeviceExtensionProperties,
-- enumerateDeviceLayerProperties,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
-- enumeratePhysicalDevices, getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneCapabilities2KHR,
-- getDisplayPlaneCapabilitiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- 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,
-- getPhysicalDeviceScreenPresentationSupportQNX,
-- getPhysicalDeviceSparseImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR,
-- getPhysicalDeviceToolPropertiesEXT,
-- vkGetPhysicalDeviceVideoCapabilitiesKHR,
-- vkGetPhysicalDeviceVideoFormatPropertiesKHR,
-- getPhysicalDeviceWaylandPresentationSupportKHR,
-- getPhysicalDeviceWin32PresentationSupportKHR,
-- getPhysicalDeviceXcbPresentationSupportKHR,
-- getPhysicalDeviceXlibPresentationSupportKHR,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- releaseDisplayEXT
data PhysicalDevice
PhysicalDevice :: Ptr PhysicalDevice_T -> InstanceCmds -> PhysicalDevice
[$sel:physicalDeviceHandle:PhysicalDevice] :: PhysicalDevice -> Ptr PhysicalDevice_T
[$sel:instanceCmds:PhysicalDevice] :: PhysicalDevice -> InstanceCmds
-- | An opaque type for representing pointers to VkPhysicalDevice handles
data PhysicalDevice_T
-- | VkDevice - Opaque handle to a device object
--
-- See Also
--
-- VK_VERSION_1_0, acquireFullScreenExclusiveModeEXT,
-- acquireNextImage2KHR, acquireNextImageKHR,
-- acquirePerformanceConfigurationINTEL,
-- acquireProfilingLockKHR, allocateCommandBuffers,
-- allocateDescriptorSets, allocateMemory,
-- bindAccelerationStructureMemoryNV, bindBufferMemory,
-- bindBufferMemory2, bindBufferMemory2KHR,
-- bindImageMemory, bindImageMemory2,
-- bindImageMemory2KHR, vkBindVideoSessionMemoryKHR,
-- buildAccelerationStructuresKHR, compileDeferredNV,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createAccelerationStructureKHR,
-- createAccelerationStructureNV, createBuffer,
-- createBufferCollectionFUCHSIA, createBufferView,
-- createCommandPool, createComputePipelines,
-- createCuFunctionNVX, createCuModuleNVX,
-- createDeferredOperationKHR, createDescriptorPool,
-- createDescriptorSetLayout,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR, createDevice,
-- createEvent, createFence, createFramebuffer,
-- createGraphicsPipelines, createImage,
-- createImageView, createIndirectCommandsLayoutNV,
-- createPipelineCache, createPipelineLayout,
-- createPrivateDataSlotEXT, createQueryPool,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, createRenderPass,
-- createRenderPass2, createRenderPass2KHR,
-- createSampler, createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR, createSemaphore,
-- createShaderModule, createSharedSwapchainsKHR,
-- createSwapchainKHR, createValidationCacheEXT,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT,
-- deferredOperationJoinKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, destroyDeferredOperationKHR,
-- destroyDescriptorPool, destroyDescriptorSetLayout,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR, destroyDevice,
-- destroyEvent, destroyFence, destroyFramebuffer,
-- destroyImage, destroyImageView,
-- destroyIndirectCommandsLayoutNV, destroyPipeline,
-- destroyPipelineCache, destroyPipelineLayout,
-- destroyPrivateDataSlotEXT, destroyQueryPool,
-- destroyRenderPass, destroySampler,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR, destroySemaphore,
-- destroyShaderModule, destroySwapchainKHR,
-- destroyValidationCacheEXT, vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, deviceWaitIdle,
-- displayPowerControlEXT, flushMappedMemoryRanges,
-- freeCommandBuffers, freeDescriptorSets,
-- freeMemory, getAccelerationStructureBuildSizesKHR,
-- getAccelerationStructureDeviceAddressKHR,
-- getAccelerationStructureHandleNV,
-- getAccelerationStructureMemoryRequirementsNV,
-- getAndroidHardwareBufferPropertiesANDROID,
-- getBufferCollectionPropertiesFUCHSIA,
-- getBufferDeviceAddress, getBufferDeviceAddressEXT,
-- getBufferDeviceAddressKHR, getBufferMemoryRequirements,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR,
-- getBufferOpaqueCaptureAddress,
-- getBufferOpaqueCaptureAddressKHR,
-- getCalibratedTimestampsEXT,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR,
-- getDeviceAccelerationStructureCompatibilityKHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceGroupPeerMemoryFeatures,
-- getDeviceGroupPeerMemoryFeaturesKHR,
-- getDeviceGroupPresentCapabilitiesKHR,
-- getDeviceGroupSurfacePresentModes2EXT,
-- getDeviceGroupSurfacePresentModesKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR,
-- getDeviceMemoryCommitment,
-- getDeviceMemoryOpaqueCaptureAddress,
-- getDeviceMemoryOpaqueCaptureAddressKHR,
-- getDeviceProcAddr, getDeviceQueue,
-- getDeviceQueue2,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getEventStatus, getFenceFdKHR, getFenceStatus,
-- getFenceWin32HandleKHR,
-- getGeneratedCommandsMemoryRequirementsNV,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements, getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR,
-- getImageSparseMemoryRequirements,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR,
-- getImageSubresourceLayout, getImageViewAddressNVX,
-- getImageViewHandleNVX,
-- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryRemoteAddressNV, getMemoryWin32HandleKHR,
-- getMemoryWin32HandleNV,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandleFUCHSIA,
-- getMemoryZirconHandlePropertiesFUCHSIA,
-- getPastPresentationTimingGOOGLE,
-- getPerformanceParameterINTEL, getPipelineCacheData,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutablePropertiesKHR,
-- getPipelineExecutableStatisticsKHR, getPrivateDataEXT,
-- getQueryPoolResults,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR,
-- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity,
-- getSemaphoreCounterValue, getSemaphoreCounterValueKHR,
-- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR,
-- getSemaphoreZirconHandleFUCHSIA, getShaderInfoAMD,
-- getSwapchainCounterEXT, getSwapchainImagesKHR,
-- getSwapchainStatusKHR, getValidationCacheDataEXT,
-- vkGetVideoSessionMemoryRequirementsKHR,
-- importFenceFdKHR, importFenceWin32HandleKHR,
-- importSemaphoreFdKHR, importSemaphoreWin32HandleKHR,
-- importSemaphoreZirconHandleFUCHSIA,
-- initializePerformanceApiINTEL,
-- invalidateMappedMemoryRanges, mapMemory,
-- mergePipelineCaches, mergeValidationCachesEXT,
-- registerDeviceEventEXT, registerDisplayEventEXT,
-- releaseFullScreenExclusiveModeEXT,
-- releasePerformanceConfigurationINTEL,
-- releaseProfilingLockKHR, resetCommandPool,
-- resetDescriptorPool, resetEvent, resetFences,
-- resetQueryPool, resetQueryPoolEXT,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA,
-- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT,
-- setDeviceMemoryPriorityEXT, setEvent,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- setPrivateDataEXT, signalSemaphore,
-- signalSemaphoreKHR, trimCommandPool,
-- trimCommandPoolKHR, uninitializePerformanceApiINTEL,
-- unmapMemory, updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR,
-- updateDescriptorSets, vkUpdateVideoSessionParametersKHR,
-- waitForFences, waitForPresentKHR, waitSemaphores,
-- waitSemaphoresKHR,
-- writeAccelerationStructuresPropertiesKHR
data Device
Device :: Ptr Device_T -> DeviceCmds -> Device
[$sel:deviceHandle:Device] :: Device -> Ptr Device_T
[$sel:deviceCmds:Device] :: Device -> DeviceCmds
-- | An opaque type for representing pointers to VkDevice handles
data Device_T
-- | VkQueue - Opaque handle to a queue object
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceQueue, getDeviceQueue2,
-- getQueueCheckpointData2NV, getQueueCheckpointDataNV,
-- queueBeginDebugUtilsLabelEXT, queueBindSparse,
-- queueEndDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT, queuePresentKHR,
-- queueSetPerformanceConfigurationINTEL, queueSubmit,
-- queueSubmit2KHR, queueWaitIdle
data Queue
Queue :: Ptr Queue_T -> DeviceCmds -> Queue
[$sel:queueHandle:Queue] :: Queue -> Ptr Queue_T
[$sel:deviceCmds:Queue] :: Queue -> DeviceCmds
-- | An opaque type for representing pointers to VkQueue handles
data Queue_T
-- | VkCommandBuffer - Opaque handle to a command buffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferSubmitInfoKHR,
-- SubmitInfo, allocateCommandBuffers,
-- beginCommandBuffer, cmdBeginConditionalRenderingEXT,
-- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdBeginRenderPass,
-- cmdBeginRenderPass2, cmdBeginRenderPass2KHR,
-- cmdBeginRenderingKHR, cmdBeginTransformFeedbackEXT,
-- vkCmdBeginVideoCodingKHR, cmdBindDescriptorSets,
-- cmdBindIndexBuffer, cmdBindInvocationMaskHUAWEI,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdBindShadingRateImageNV,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBlitImage, cmdBlitImage2KHR,
-- cmdBuildAccelerationStructureNV,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR, cmdClearAttachments,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- vkCmdControlVideoCodingKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureNV,
-- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer,
-- cmdCopyBuffer2KHR, cmdCopyBufferToImage,
-- cmdCopyBufferToImage2KHR, cmdCopyImage,
-- cmdCopyImage2KHR, cmdCopyImageToBuffer,
-- cmdCopyImageToBuffer2KHR,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- cmdCopyQueryPoolResults, cmdCuLaunchKernelNVX,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerEndEXT,
-- cmdDebugMarkerInsertEXT, vkCmdDecodeVideoKHR,
-- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR,
-- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV,
-- cmdDrawMultiEXT, cmdDrawMultiIndexedEXT,
-- vkCmdEncodeVideoKHR, cmdEndConditionalRenderingEXT,
-- cmdEndDebugUtilsLabelEXT, cmdEndQuery,
-- cmdEndQueryIndexedEXT, cmdEndRenderPass,
-- cmdEndRenderPass2, cmdEndRenderPass2KHR,
-- cmdEndRenderingKHR, cmdEndTransformFeedbackEXT,
-- vkCmdEndVideoCodingKHR, cmdExecuteCommands,
-- cmdExecuteGeneratedCommandsNV, cmdFillBuffer,
-- cmdInsertDebugUtilsLabelEXT, cmdNextSubpass,
-- cmdNextSubpass2, cmdNextSubpass2KHR,
-- cmdPipelineBarrier, cmdPipelineBarrier2KHR,
-- cmdPreprocessGeneratedCommandsNV, cmdPushConstants,
-- cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent,
-- cmdResetEvent2KHR, cmdResetQueryPool,
-- cmdResolveImage, cmdResolveImage2KHR,
-- cmdSetBlendConstants, cmdSetCheckpointNV,
-- cmdSetCoarseSampleOrderNV, cmdSetColorWriteEnableEXT,
-- cmdSetCullModeEXT, cmdSetDepthBias,
-- cmdSetDepthBiasEnableEXT, cmdSetDepthBounds,
-- cmdSetDepthBoundsTestEnableEXT, cmdSetDepthCompareOpEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetDeviceMask, cmdSetDeviceMaskKHR,
-- cmdSetDiscardRectangleEXT, cmdSetEvent,
-- cmdSetEvent2KHR, cmdSetExclusiveScissorNV,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT,
-- cmdSetLineStippleEXT, cmdSetLineWidth,
-- cmdSetLogicOpEXT, cmdSetPatchControlPointsEXT,
-- cmdSetPerformanceMarkerINTEL,
-- cmdSetPerformanceOverrideINTEL,
-- cmdSetPerformanceStreamMarkerINTEL,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetPrimitiveTopologyEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetRayTracingPipelineStackSizeKHR,
-- cmdSetSampleLocationsEXT, cmdSetScissor,
-- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask,
-- cmdSetStencilOpEXT, cmdSetStencilReference,
-- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask,
-- cmdSetVertexInputEXT, cmdSetViewport,
-- cmdSetViewportShadingRatePaletteNV,
-- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT,
-- cmdSubpassShadingHUAWEI, cmdTraceRaysIndirectKHR,
-- cmdTraceRaysKHR, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWaitEvents, cmdWaitEvents2KHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- endCommandBuffer, freeCommandBuffers,
-- resetCommandBuffer
data CommandBuffer
CommandBuffer :: Ptr CommandBuffer_T -> DeviceCmds -> CommandBuffer
[$sel:commandBufferHandle:CommandBuffer] :: CommandBuffer -> Ptr CommandBuffer_T
[$sel:deviceCmds:CommandBuffer] :: CommandBuffer -> DeviceCmds
-- | An opaque type for representing pointers to VkCommandBuffer handles
data CommandBuffer_T
-- | VkDeviceMemory - Opaque handle to a device memory object
--
-- See Also
--
-- VK_VERSION_1_0, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryInfo, BindImageMemoryInfo,
-- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA, SparseImageMemoryBind,
-- SparseMemoryBind, VkVideoBindMemoryKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory,
-- bindBufferMemory, bindImageMemory, freeMemory,
-- getDeviceMemoryCommitment, getMemoryWin32HandleNV,
-- mapMemory, setDeviceMemoryPriorityEXT,
-- unmapMemory
newtype DeviceMemory
DeviceMemory :: Word64 -> DeviceMemory
-- | VkCommandPool - Opaque handle to a command pool object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo,
-- createCommandPool, destroyCommandPool,
-- freeCommandBuffers, resetCommandPool,
-- trimCommandPool, trimCommandPoolKHR
newtype CommandPool
CommandPool :: Word64 -> CommandPool
-- | VkBuffer - Opaque handle to a buffer object
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureCreateInfoKHR,
-- BindBufferMemoryInfo, BufferDeviceAddressInfo,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2, BufferViewCreateInfo,
-- ConditionalRenderingBeginInfoEXT, CopyBufferInfo2KHR,
-- CopyBufferToImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DescriptorBufferInfo, GeneratedCommandsInfoNV,
-- GeometryAABBNV, GeometryTrianglesNV,
-- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo,
-- SparseBufferMemoryBindInfo, VkVideoDecodeInfoKHR,
-- VkVideoEncodeInfoKHR, bindBufferMemory,
-- cmdBeginTransformFeedbackEXT, cmdBindIndexBuffer,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBuildAccelerationStructureNV, cmdCopyBuffer,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer,
-- cmdCopyQueryPoolResults, cmdDispatchIndirect,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdEndTransformFeedbackEXT,
-- cmdFillBuffer, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- createBuffer, destroyBuffer,
-- getBufferMemoryRequirements
newtype Buffer
Buffer :: Word64 -> Buffer
-- | VkBufferView - Opaque handle to a buffer view object
--
-- See Also
--
-- VK_VERSION_1_0, WriteDescriptorSet,
-- createBufferView, destroyBufferView
newtype BufferView
BufferView :: Word64 -> BufferView
-- | VkImage - Opaque handle to an image object
--
-- See Also
--
-- VK_VERSION_1_0, BindImageMemoryInfo,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImageSparseMemoryRequirementsInfo2, ImageViewCreateInfo,
-- MemoryDedicatedAllocateInfo, ResolveImageInfo2KHR,
-- SparseImageMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, bindImageMemory,
-- cmdBlitImage, cmdClearColorImage,
-- cmdClearDepthStencilImage, cmdCopyBufferToImage,
-- cmdCopyImage, cmdCopyImageToBuffer,
-- cmdResolveImage, createImage, destroyImage,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements,
-- getImageSparseMemoryRequirements,
-- getImageSubresourceLayout, getSwapchainImagesKHR
newtype Image
Image :: Word64 -> Image
-- | VkImageView - Opaque handle to an image view object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- FramebufferCreateInfo, ImageViewHandleInfoNVX,
-- RenderPassAttachmentBeginInfo,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- VkVideoPictureResourceKHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, createImageView,
-- destroyImageView, getImageViewAddressNVX
newtype ImageView
ImageView :: Word64 -> ImageView
-- | VkShaderModule - Opaque handle to a shader module object
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- createShaderModule, destroyShaderModule
newtype ShaderModule
ShaderModule :: Word64 -> ShaderModule
-- | VkPipeline - Opaque handle to a pipeline object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- PipelineExecutableInfoKHR, PipelineInfoKHR,
-- PipelineLibraryCreateInfoKHR,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindPipeline,
-- cmdBindPipelineShaderGroupNV, compileDeferredNV,
-- createComputePipelines, createGraphicsPipelines,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipeline,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR, getShaderInfoAMD
newtype Pipeline
Pipeline :: Word64 -> Pipeline
-- | VkPipelineLayout - Opaque handle to a pipeline layout object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- GraphicsPipelineCreateInfo,
-- IndirectCommandsLayoutTokenNV,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindDescriptorSets,
-- cmdPushConstants, cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR,
-- createPipelineLayout, destroyPipelineLayout
newtype PipelineLayout
PipelineLayout :: Word64 -> PipelineLayout
-- | VkSampler - Opaque handle to a sampler object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- DescriptorSetLayoutBinding, ImageViewHandleInfoNVX,
-- createSampler, destroySampler
newtype Sampler
Sampler :: Word64 -> Sampler
-- | VkDescriptorSet - Opaque handle to a descriptor set object
--
-- See Also
--
-- VK_VERSION_1_0, CopyDescriptorSet,
-- WriteDescriptorSet, allocateDescriptorSets,
-- cmdBindDescriptorSets, freeDescriptorSets,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorSet
DescriptorSet :: Word64 -> DescriptorSet
-- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout
-- object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- PipelineLayoutCreateInfo, createDescriptorSetLayout,
-- destroyDescriptorSetLayout
newtype DescriptorSetLayout
DescriptorSetLayout :: Word64 -> DescriptorSetLayout
-- | VkDescriptorPool - Opaque handle to a descriptor pool object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- createDescriptorPool, destroyDescriptorPool,
-- freeDescriptorSets, resetDescriptorPool
newtype DescriptorPool
DescriptorPool :: Word64 -> DescriptorPool
-- | VkFence - Opaque handle to a fence object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- acquireNextImageKHR, createFence, destroyFence,
-- getFenceStatus, queueBindSparse, queueSubmit,
-- queueSubmit2KHR, registerDeviceEventEXT,
-- registerDisplayEventEXT, resetFences,
-- waitForFences
newtype Fence
Fence :: Word64 -> Fence
-- | VkSemaphore - Opaque handle to a semaphore object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- BindSparseInfo, ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA, PresentInfoKHR,
-- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreWaitInfo, SubmitInfo,
-- acquireNextImageKHR, createSemaphore,
-- destroySemaphore, getSemaphoreCounterValue,
-- getSemaphoreCounterValueKHR
newtype Semaphore
Semaphore :: Word64 -> Semaphore
-- | VkEvent - Opaque handle to an event object
--
-- See Also
--
-- VK_VERSION_1_0, cmdResetEvent, cmdResetEvent2KHR,
-- cmdSetEvent, cmdSetEvent2KHR, cmdWaitEvents,
-- cmdWaitEvents2KHR, createEvent, destroyEvent,
-- getEventStatus, resetEvent, setEvent
newtype Event
Event :: Word64 -> Event
-- | VkQueryPool - Opaque handle to a query pool object
--
-- See Also
--
-- VK_VERSION_1_0, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdCopyQueryPoolResults,
-- cmdEndQuery, cmdEndQueryIndexedEXT,
-- cmdResetQueryPool,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- createQueryPool, destroyQueryPool,
-- getQueryPoolResults, resetQueryPool,
-- resetQueryPoolEXT
newtype QueryPool
QueryPool :: Word64 -> QueryPool
-- | VkFramebuffer - Opaque handle to a framebuffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- RenderPassBeginInfo, createFramebuffer,
-- destroyFramebuffer
newtype Framebuffer
Framebuffer :: Word64 -> Framebuffer
-- | VkRenderPass - Opaque handle to a render pass object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- FramebufferCreateInfo, GraphicsPipelineCreateInfo,
-- RenderPassBeginInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- createRenderPass, createRenderPass2,
-- createRenderPass2KHR, destroyRenderPass,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getRenderAreaGranularity
newtype RenderPass
RenderPass :: Word64 -> RenderPass
-- | VkPipelineCache - Opaque handle to a pipeline cache object
--
-- See Also
--
-- VK_VERSION_1_0, createComputePipelines,
-- createGraphicsPipelines, createPipelineCache,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipelineCache,
-- getPipelineCacheData, mergePipelineCaches
newtype PipelineCache
PipelineCache :: Word64 -> PipelineCache
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Instance
instance GHC.Show.Show Vulkan.Core10.Handles.Instance
instance GHC.Classes.Eq Vulkan.Core10.Handles.Instance
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.PhysicalDevice
instance GHC.Show.Show Vulkan.Core10.Handles.PhysicalDevice
instance GHC.Classes.Eq Vulkan.Core10.Handles.PhysicalDevice
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Device
instance GHC.Show.Show Vulkan.Core10.Handles.Device
instance GHC.Classes.Eq Vulkan.Core10.Handles.Device
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Queue
instance GHC.Show.Show Vulkan.Core10.Handles.Queue
instance GHC.Classes.Eq Vulkan.Core10.Handles.Queue
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.CommandBuffer
instance GHC.Show.Show Vulkan.Core10.Handles.CommandBuffer
instance GHC.Classes.Eq Vulkan.Core10.Handles.CommandBuffer
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.DeviceMemory
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.DeviceMemory
instance Foreign.Storable.Storable Vulkan.Core10.Handles.DeviceMemory
instance GHC.Classes.Ord Vulkan.Core10.Handles.DeviceMemory
instance GHC.Classes.Eq Vulkan.Core10.Handles.DeviceMemory
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.CommandPool
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.CommandPool
instance Foreign.Storable.Storable Vulkan.Core10.Handles.CommandPool
instance GHC.Classes.Ord Vulkan.Core10.Handles.CommandPool
instance GHC.Classes.Eq Vulkan.Core10.Handles.CommandPool
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Buffer
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Buffer
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Buffer
instance GHC.Classes.Ord Vulkan.Core10.Handles.Buffer
instance GHC.Classes.Eq Vulkan.Core10.Handles.Buffer
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.BufferView
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.BufferView
instance Foreign.Storable.Storable Vulkan.Core10.Handles.BufferView
instance GHC.Classes.Ord Vulkan.Core10.Handles.BufferView
instance GHC.Classes.Eq Vulkan.Core10.Handles.BufferView
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Image
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Image
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Image
instance GHC.Classes.Ord Vulkan.Core10.Handles.Image
instance GHC.Classes.Eq Vulkan.Core10.Handles.Image
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.ImageView
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.ImageView
instance Foreign.Storable.Storable Vulkan.Core10.Handles.ImageView
instance GHC.Classes.Ord Vulkan.Core10.Handles.ImageView
instance GHC.Classes.Eq Vulkan.Core10.Handles.ImageView
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.ShaderModule
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.ShaderModule
instance Foreign.Storable.Storable Vulkan.Core10.Handles.ShaderModule
instance GHC.Classes.Ord Vulkan.Core10.Handles.ShaderModule
instance GHC.Classes.Eq Vulkan.Core10.Handles.ShaderModule
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Pipeline
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Pipeline
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Pipeline
instance GHC.Classes.Ord Vulkan.Core10.Handles.Pipeline
instance GHC.Classes.Eq Vulkan.Core10.Handles.Pipeline
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.PipelineLayout
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.PipelineLayout
instance Foreign.Storable.Storable Vulkan.Core10.Handles.PipelineLayout
instance GHC.Classes.Ord Vulkan.Core10.Handles.PipelineLayout
instance GHC.Classes.Eq Vulkan.Core10.Handles.PipelineLayout
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Sampler
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Sampler
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Sampler
instance GHC.Classes.Ord Vulkan.Core10.Handles.Sampler
instance GHC.Classes.Eq Vulkan.Core10.Handles.Sampler
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.DescriptorSet
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.DescriptorSet
instance Foreign.Storable.Storable Vulkan.Core10.Handles.DescriptorSet
instance GHC.Classes.Ord Vulkan.Core10.Handles.DescriptorSet
instance GHC.Classes.Eq Vulkan.Core10.Handles.DescriptorSet
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.DescriptorSetLayout
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.DescriptorSetLayout
instance Foreign.Storable.Storable Vulkan.Core10.Handles.DescriptorSetLayout
instance GHC.Classes.Ord Vulkan.Core10.Handles.DescriptorSetLayout
instance GHC.Classes.Eq Vulkan.Core10.Handles.DescriptorSetLayout
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.DescriptorPool
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.DescriptorPool
instance Foreign.Storable.Storable Vulkan.Core10.Handles.DescriptorPool
instance GHC.Classes.Ord Vulkan.Core10.Handles.DescriptorPool
instance GHC.Classes.Eq Vulkan.Core10.Handles.DescriptorPool
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Fence
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Fence
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Fence
instance GHC.Classes.Ord Vulkan.Core10.Handles.Fence
instance GHC.Classes.Eq Vulkan.Core10.Handles.Fence
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Semaphore
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Semaphore
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Semaphore
instance GHC.Classes.Ord Vulkan.Core10.Handles.Semaphore
instance GHC.Classes.Eq Vulkan.Core10.Handles.Semaphore
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Event
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Event
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Event
instance GHC.Classes.Ord Vulkan.Core10.Handles.Event
instance GHC.Classes.Eq Vulkan.Core10.Handles.Event
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.QueryPool
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.QueryPool
instance Foreign.Storable.Storable Vulkan.Core10.Handles.QueryPool
instance GHC.Classes.Ord Vulkan.Core10.Handles.QueryPool
instance GHC.Classes.Eq Vulkan.Core10.Handles.QueryPool
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.Framebuffer
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Framebuffer
instance Foreign.Storable.Storable Vulkan.Core10.Handles.Framebuffer
instance GHC.Classes.Ord Vulkan.Core10.Handles.Framebuffer
instance GHC.Classes.Eq Vulkan.Core10.Handles.Framebuffer
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.RenderPass
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.RenderPass
instance Foreign.Storable.Storable Vulkan.Core10.Handles.RenderPass
instance GHC.Classes.Ord Vulkan.Core10.Handles.RenderPass
instance GHC.Classes.Eq Vulkan.Core10.Handles.RenderPass
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core10.Handles.PipelineCache
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.PipelineCache
instance Foreign.Storable.Storable Vulkan.Core10.Handles.PipelineCache
instance GHC.Classes.Ord Vulkan.Core10.Handles.PipelineCache
instance GHC.Classes.Eq Vulkan.Core10.Handles.PipelineCache
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.PipelineCache
instance GHC.Show.Show Vulkan.Core10.Handles.PipelineCache
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.RenderPass
instance GHC.Show.Show Vulkan.Core10.Handles.RenderPass
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Framebuffer
instance GHC.Show.Show Vulkan.Core10.Handles.Framebuffer
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.QueryPool
instance GHC.Show.Show Vulkan.Core10.Handles.QueryPool
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Event
instance GHC.Show.Show Vulkan.Core10.Handles.Event
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Semaphore
instance GHC.Show.Show Vulkan.Core10.Handles.Semaphore
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Fence
instance GHC.Show.Show Vulkan.Core10.Handles.Fence
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.DescriptorPool
instance GHC.Show.Show Vulkan.Core10.Handles.DescriptorPool
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.DescriptorSetLayout
instance GHC.Show.Show Vulkan.Core10.Handles.DescriptorSetLayout
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.DescriptorSet
instance GHC.Show.Show Vulkan.Core10.Handles.DescriptorSet
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Sampler
instance GHC.Show.Show Vulkan.Core10.Handles.Sampler
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.PipelineLayout
instance GHC.Show.Show Vulkan.Core10.Handles.PipelineLayout
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Pipeline
instance GHC.Show.Show Vulkan.Core10.Handles.Pipeline
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.ShaderModule
instance GHC.Show.Show Vulkan.Core10.Handles.ShaderModule
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.ImageView
instance GHC.Show.Show Vulkan.Core10.Handles.ImageView
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Image
instance GHC.Show.Show Vulkan.Core10.Handles.Image
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.BufferView
instance GHC.Show.Show Vulkan.Core10.Handles.BufferView
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Buffer
instance GHC.Show.Show Vulkan.Core10.Handles.Buffer
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.CommandPool
instance GHC.Show.Show Vulkan.Core10.Handles.CommandPool
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.DeviceMemory
instance GHC.Show.Show Vulkan.Core10.Handles.DeviceMemory
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.CommandBuffer
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.CommandBuffer
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Queue
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Queue
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Device
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Device
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.PhysicalDevice
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.PhysicalDevice
instance Vulkan.Zero.Zero Vulkan.Core10.Handles.Instance
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core10.Handles.Instance
-- | Name
--
-- VK_NV_win32_keyed_mutex - device extension
--
-- VK_NV_win32_keyed_mutex
--
--
-- - Name String VK_NV_win32_keyed_mutex
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 59
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_NV_external_memory_win32
-- - Deprecation state
- Promoted to
-- VK_KHR_win32_keyed_mutex extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Carsten Rohde, NVIDIA
--
--
-- Description
--
-- Applications that wish to import Direct3D 11 memory objects into the
-- Vulkan API may wish to use the native keyed mutex mechanism to
-- synchronize access to the memory between Vulkan and Direct3D. This
-- extension provides a way for an application to access the keyed mutex
-- associated with an imported Vulkan memory object when submitting
-- command buffers to a queue.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- //
-- // Import a memory object from Direct3D 11, and synchronize
-- // access to it in Vulkan using keyed mutex objects.
-- //
--
-- extern VkPhysicalDevice physicalDevice;
-- extern VkDevice device;
-- extern HANDLE sharedNtHandle;
--
-- static const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
-- static const VkExternalMemoryHandleTypeFlagsNV handleType =
-- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV;
--
-- VkPhysicalDeviceMemoryProperties memoryProperties;
-- VkExternalImageFormatPropertiesNV properties;
-- VkExternalMemoryImageCreateInfoNV externalMemoryImageCreateInfo;
-- VkImageCreateInfo imageCreateInfo;
-- VkImage image;
-- VkMemoryRequirements imageMemoryRequirements;
-- uint32_t numMemoryTypes;
-- uint32_t memoryType;
-- VkImportMemoryWin32HandleInfoNV importMemoryInfo;
-- VkMemoryAllocateInfo memoryAllocateInfo;
-- VkDeviceMemory mem;
-- VkResult result;
--
-- // Figure out how many memory types the device supports
-- vkGetPhysicalDeviceMemoryProperties(physicalDevice,
-- &memoryProperties);
-- numMemoryTypes = memoryProperties.memoryTypeCount;
--
-- // Check the external handle type capabilities for the chosen format
-- // Importable 2D image support with at least 1 mip level, 1 array
-- // layer, and VK_SAMPLE_COUNT_1_BIT using optimal tiling and supporting
-- // texturing and color rendering is required.
-- result = vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-- physicalDevice,
-- format,
-- VK_IMAGE_TYPE_2D,
-- VK_IMAGE_TILING_OPTIMAL,
-- VK_IMAGE_USAGE_SAMPLED_BIT |
-- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- 0,
-- handleType,
-- &properties);
--
-- if ((result != VK_SUCCESS) ||
-- !(properties.externalMemoryFeatures &
-- VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)) {
-- abort();
-- }
--
-- // Set up the external memory image creation info
-- memset(&externalMemoryImageCreateInfo,
-- 0, sizeof(externalMemoryImageCreateInfo));
-- externalMemoryImageCreateInfo.sType =
-- VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
-- externalMemoryImageCreateInfo.handleTypes = handleType;
-- // Set up the core image creation info
-- memset(&imageCreateInfo, 0, sizeof(imageCreateInfo));
-- imageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
-- imageCreateInfo.pNext = &externalMemoryImageCreateInfo;
-- imageCreateInfo.format = format;
-- imageCreateInfo.extent.width = 64;
-- imageCreateInfo.extent.height = 64;
-- imageCreateInfo.extent.depth = 1;
-- imageCreateInfo.mipLevels = 1;
-- imageCreateInfo.arrayLayers = 1;
-- imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT;
-- imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
-- imageCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT |
-- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
-- imageCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
-- imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
--
-- vkCreateImage(device, &imageCreateInfo, NULL, &image);
-- vkGetImageMemoryRequirements(device,
-- image,
-- &imageMemoryRequirements);
--
-- // For simplicity, just pick the first compatible memory type.
-- for (memoryType = 0; memoryType < numMemoryTypes; memoryType++) {
-- if ((1 << memoryType) & imageMemoryRequirements.memoryTypeBits) {
-- break;
-- }
-- }
--
-- // At least one memory type must be supported given the prior external
-- // handle capability check.
-- assert(memoryType < numMemoryTypes);
--
-- // Allocate the external memory object.
-- memset(&exportMemoryAllocateInfo, 0, sizeof(exportMemoryAllocateInfo));
-- exportMemoryAllocateInfo.sType =
-- VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
-- importMemoryInfo.handleTypes = handleType;
-- importMemoryInfo.handle = sharedNtHandle;
--
-- memset(&memoryAllocateInfo, 0, sizeof(memoryAllocateInfo));
-- memoryAllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
-- memoryAllocateInfo.pNext = &exportMemoryAllocateInfo;
-- memoryAllocateInfo.allocationSize = imageMemoryRequirements.size;
-- memoryAllocateInfo.memoryTypeIndex = memoryType;
--
-- vkAllocateMemory(device, &memoryAllocateInfo, NULL, &mem);
--
-- vkBindImageMemory(device, image, mem, 0);
--
-- ...
--
-- const uint64_t acquireKey = 1;
-- const uint32_t timeout = INFINITE;
-- const uint64_t releaseKey = 2;
--
-- VkWin32KeyedMutexAcquireReleaseInfoNV keyedMutex =
-- { VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV };
-- keyedMutex.acquireCount = 1;
-- keyedMutex.pAcquireSyncs = &mem;
-- keyedMutex.pAcquireKeys = &acquireKey;
-- keyedMutex.pAcquireTimeoutMilliseconds = &timeout;
-- keyedMutex.releaseCount = 1;
-- keyedMutex.pReleaseSyncs = &mem;
-- keyedMutex.pReleaseKeys = &releaseKey;
--
-- VkSubmitInfo submit_info = { VK_STRUCTURE_TYPE_SUBMIT_INFO, &keyedMutex };
-- submit_info.commandBufferCount = 1;
-- submit_info.pCommandBuffers = &cmd_buf;
-- vkQueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE);
--
--
-- Version History
--
--
-- - Revision 2, 2016-08-11 (James Jones)
- Updated sample code
-- based on the NV external memory extensions.
- Renamed from NVX
-- to NV extension.
- Added Overview and Description
-- sections.
- Updated sample code to use the NV external memory
-- extensions.
--
--
--
-- - Revision 1, 2016-06-14 (Carsten Rohde)
--
--
-- See Also
--
-- Win32KeyedMutexAcquireReleaseInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_win32_keyed_mutex
-- | VkWin32KeyedMutexAcquireReleaseInfoNV - Use Windows keyex mutex
-- mechanism to synchronize work
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If acquireCount is not 0, pAcquireSyncs
-- must be a valid pointer to an array of acquireCount
-- valid DeviceMemory handles
-- - If acquireCount is not 0, pAcquireKeys
-- must be a valid pointer to an array of acquireCount
-- uint64_t values
-- - If acquireCount is not 0,
-- pAcquireTimeoutMilliseconds must be a valid pointer to
-- an array of acquireCount uint32_t values
-- - If releaseCount is not 0, pReleaseSyncs
-- must be a valid pointer to an array of releaseCount
-- valid DeviceMemory handles
-- - If releaseCount is not 0, pReleaseKeys
-- must be a valid pointer to an array of releaseCount
-- uint64_t values
-- - Both of the elements of pAcquireSyncs, and the elements
-- of pReleaseSyncs that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- See Also
--
-- VK_NV_win32_keyed_mutex, DeviceMemory,
-- StructureType
data Win32KeyedMutexAcquireReleaseInfoNV
Win32KeyedMutexAcquireReleaseInfoNV :: Vector DeviceMemory -> Vector Word64 -> Vector Word32 -> Vector DeviceMemory -> Vector Word64 -> Win32KeyedMutexAcquireReleaseInfoNV
-- | pAcquireSyncs is a pointer to an array of DeviceMemory
-- objects which were imported from Direct3D 11 resources.
[$sel:acquireSyncs:Win32KeyedMutexAcquireReleaseInfoNV] :: Win32KeyedMutexAcquireReleaseInfoNV -> Vector DeviceMemory
-- | pAcquireKeys is a pointer to an array of mutex key values to
-- wait for prior to beginning the submitted work. Entries refer to the
-- keyed mutex associated with the corresponding entries in
-- pAcquireSyncs.
[$sel:acquireKeys:Win32KeyedMutexAcquireReleaseInfoNV] :: Win32KeyedMutexAcquireReleaseInfoNV -> Vector Word64
-- | pAcquireTimeoutMilliseconds is a pointer to an array of
-- timeout values, in millisecond units, for each acquire specified in
-- pAcquireKeys.
[$sel:acquireTimeoutMilliseconds:Win32KeyedMutexAcquireReleaseInfoNV] :: Win32KeyedMutexAcquireReleaseInfoNV -> Vector Word32
-- | pReleaseSyncs is a pointer to an array of DeviceMemory
-- objects which were imported from Direct3D 11 resources.
[$sel:releaseSyncs:Win32KeyedMutexAcquireReleaseInfoNV] :: Win32KeyedMutexAcquireReleaseInfoNV -> Vector DeviceMemory
-- | pReleaseKeys is a pointer to an array of mutex key values to
-- set when the submitted work has completed. Entries refer to the keyed
-- mutex associated with the corresponding entries in
-- pReleaseSyncs.
[$sel:releaseKeys:Win32KeyedMutexAcquireReleaseInfoNV] :: Win32KeyedMutexAcquireReleaseInfoNV -> Vector Word64
type NV_WIN32_KEYED_MUTEX_SPEC_VERSION = 2
pattern NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: forall a. Integral a => a
type NV_WIN32_KEYED_MUTEX_EXTENSION_NAME = "VK_NV_win32_keyed_mutex"
pattern NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Show.Show Vulkan.Extensions.VK_NV_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoNV
-- | Name
--
-- VK_NV_shading_rate_image - device extension
--
-- VK_NV_shading_rate_image
--
--
-- - Name String VK_NV_shading_rate_image
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 165
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-07-18
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Pat Brown,
-- NVIDIA
- Carsten Rohde, NVIDIA
- Jeff Bolz,
-- NVIDIA
- Daniel Koch, NVIDIA
- Mathias Schott,
-- NVIDIA
- Matthew Netsch, Qualcomm Technologies,
-- Inc.
--
--
-- Description
--
-- This extension allows applications to use a variable shading rate when
-- processing fragments of rasterized primitives. By default, Vulkan will
-- spawn one fragment shader for each pixel covered by a primitive. In
-- this extension, applications can bind a shading rate image that
-- can be used to vary the number of fragment shader invocations across
-- the framebuffer. Some portions of the screen may be configured to
-- spawn up to 16 fragment shaders for each pixel, while other portions
-- may use a single fragment shader invocation for a 4x4 block of pixels.
-- This can be useful for use cases like eye tracking, where the portion
-- of the framebuffer that the user is looking at directly can be
-- processed at high frequency, while distant corners of the image can be
-- processed at lower frequency. Each texel in the shading rate image
-- represents a fixed-size rectangle in the framebuffer, covering 16x16
-- pixels in the initial implementation of this extension. When
-- rasterizing a primitive covering one of these rectangles, the Vulkan
-- implementation reads a texel in the bound shading rate image and looks
-- up the fetched value in a palette to determine a base shading rate.
--
-- In addition to the API support controlling rasterization, this
-- extension also adds Vulkan support for the SPV_NV_shading_rate
-- extension to SPIR-V. That extension provides two fragment shader
-- variable decorations that allow fragment shaders to determine the
-- shading rate used for processing the fragment:
--
--
-- - FragmentSizeNV, which indicates the width and height of
-- the set of pixels processed by the fragment shader.
-- - InvocationsPerPixel, which indicates the maximum number
-- of fragment shader invocations that could be spawned for the pixel(s)
-- covered by the fragment.
--
--
-- When using SPIR-V in conjunction with the OpenGL Shading Language
-- (GLSL), the fragment shader capabilities are provided by the
-- GL_NV_shading_rate_image language extension and correspond to
-- the built-in variables gl_FragmentSizeNV and
-- gl_InvocationsPerPixelNV, respectively.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - When using shading rates specifying “coarse” fragments covering
-- multiple pixels, we will generate a combined coverage mask that
-- combines the coverage masks of all pixels covered by the fragment. By
-- default, these masks are combined in an implementation-dependent
-- order. Should we provide a mechanism allowing applications to query or
-- specify an exact order?
--
--
-- RESOLVED: Yes, this feature is useful for cases where most of
-- the fragment shader can be evaluated once for an entire coarse
-- fragment, but where some per-pixel computations are also required. For
-- example, a per-pixel alpha test may want to kill all the samples for
-- some pixels in a coarse fragment. This sort of test can be implemented
-- using an output sample mask, but such a shader would need to know
-- which bit in the mask corresponds to each sample in the coarse
-- fragment. We are including a mechanism to allow aplications to specify
-- the orders of coverage samples for each shading rate and sample count,
-- either as static pipeline state or dynamically via a command buffer.
-- This portion of the extension has its own feature bit.
--
-- We will not be providing a query to determine the
-- implementation-dependent default ordering. The thinking here is that
-- if an application cares enough about the coarse fragment sample
-- ordering to perform such a query, it could instead just set its own
-- order, also using custom per-pixel sample locations if required.
--
--
-- - For the pipeline stage
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, should we specify a
-- precise location in the pipeline the shading rate image is accessed
-- (after geometry shading, but before the early fragment tests) or leave
-- it under-specified in case there are other implementations that access
-- the image in a different pipeline location?
--
--
-- RESOLVED We are specifying the pipeline stage to be between the
-- final pre-rasterization shader stage
-- (PIPELINE_STAGE_GEOMETRY_SHADER_BIT) and before the first stage
-- used for fragment processing
-- (PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT), which seems to be
-- the natural place to access the shading rate image.
--
--
-- - How do centroid-sampled variables work with fragments larger than
-- one pixel?
--
--
-- RESOLVED For single-pixel fragments, fragment shader inputs
-- decorated with Centroid are sampled at an
-- implementation-dependent location in the intersection of the area of
-- the primitive being rasterized and the area of the pixel that
-- corresponds to the fragment. With multi-pixel fragments, we follow a
-- similar pattern, using the intersection of the primitive and the
-- set of pixels corresponding to the fragment.
--
-- One important thing to keep in mind when using such “coarse” shading
-- rates is that fragment attributes are sampled at the center of the
-- fragment by default, regardless of the set of pixels/samples covered
-- by the fragment. For fragments with a size of 4x4 pixels, this center
-- location will be more than two pixels (1.5 * sqrt(2)) away from the
-- center of the pixels at the corners of the fragment. When rendering a
-- primitive that covers only a small part of a coarse fragment, sampling
-- a color outside the primitive can produce overly bright or dark color
-- values if the color values have a large gradient. To deal with this,
-- an application can use centroid sampling on attributes where
-- “extrapolation” artifacts can lead to overly bright or dark pixels.
-- Note that this same problem also exists for multisampling with
-- single-pixel fragments, but is less severe because it only affects
-- certain samples of a pixel and such bright/dark samples may be
-- averaged with other samples that do not have a similar problem.
--
-- Version History
--
--
-- - Revision 3, 2019-07-18 (Mathias Schott)
- Fully list
-- extension interfaces in this appendix.
--
--
--
-- - Revision 2, 2018-09-13 (Pat Brown)
- Miscellaneous edits
-- preparing the specification for publication.
-- - Revision 1, 2018-08-08 (Pat Brown)
--
--
-- See Also
--
-- CoarseSampleLocationNV, CoarseSampleOrderCustomNV,
-- CoarseSampleOrderTypeNV,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- ShadingRatePaletteEntryNV, ShadingRatePaletteNV,
-- cmdBindShadingRateImageNV, cmdSetCoarseSampleOrderNV,
-- cmdSetViewportShadingRatePaletteNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_shading_rate_image
-- | vkCmdBindShadingRateImageNV - Bind a shading rate image on a command
-- buffer
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If imageView is not NULL_HANDLE,
-- imageView must be a valid ImageView handle
-- - imageLayout must be a valid ImageLayout
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - Both of commandBuffer, and imageView that are
-- valid handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_shading_rate_image, CommandBuffer,
-- ImageLayout, ImageView
cmdBindShadingRateImageNV :: forall io. MonadIO io => CommandBuffer -> ImageView -> ImageLayout -> io ()
-- | vkCmdSetViewportShadingRatePaletteNV - Set shading rate image palettes
-- dynamically for a command buffer
--
-- Description
--
-- This command sets the per-viewport shading rate image palettes for
-- subsequent drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportShadingRateImageStateCreateInfoNV::pShadingRatePalettes
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
-- - The sum of firstViewport and viewportCount
-- must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
-- - If the multiple viewports feature is not enabled,
-- firstViewport must be 0
-- - If the multiple viewports feature is not enabled,
-- viewportCount must be 1
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pShadingRatePalettes must be a valid pointer to an
-- array of viewportCount valid ShadingRatePaletteNV
-- structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - viewportCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_shading_rate_image, CommandBuffer,
-- ShadingRatePaletteNV
cmdSetViewportShadingRatePaletteNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV) -> io ()
-- | vkCmdSetCoarseSampleOrderNV - Set order of coverage samples for coarse
-- fragments dynamically for a command buffer
--
-- Description
--
-- If sampleOrderType is
-- COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, the coverage sample order
-- used for any combination of fragment area and coverage sample count
-- not enumerated in pCustomSampleOrders will be identical to
-- that used for COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV.
--
-- This command sets the order of coverage samples for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV values used
-- to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
-- - The array pCustomSampleOrders must not contain two
-- structures with matching values for both the shadingRate and
-- sampleCount members
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - sampleOrderType must be a valid
-- CoarseSampleOrderTypeNV value
-- - If customSampleOrderCount is not 0,
-- pCustomSampleOrders must be a valid pointer to an
-- array of customSampleOrderCount valid
-- CoarseSampleOrderCustomNV structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_shading_rate_image, CoarseSampleOrderCustomNV,
-- CoarseSampleOrderTypeNV, CommandBuffer
cmdSetCoarseSampleOrderNV :: forall io. MonadIO io => CommandBuffer -> CoarseSampleOrderTypeNV -> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV) -> io ()
pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: ImageLayout
pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: AccessFlagBits
pattern IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV :: ImageUsageFlagBits
pattern PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: PipelineStageFlagBits
-- | VkShadingRatePaletteNV - Structure specifying a single shading rate
-- palette
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shading_rate_image,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- ShadingRatePaletteEntryNV,
-- cmdSetViewportShadingRatePaletteNV
data ShadingRatePaletteNV
ShadingRatePaletteNV :: Vector ShadingRatePaletteEntryNV -> ShadingRatePaletteNV
-- | pShadingRatePaletteEntries is a pointer to an array of
-- ShadingRatePaletteEntryNV enums defining the shading rate for
-- each palette entry.
--
-- pShadingRatePaletteEntries must be a valid pointer to
-- an array of shadingRatePaletteEntryCount valid
-- ShadingRatePaletteEntryNV values
[$sel:shadingRatePaletteEntries:ShadingRatePaletteNV] :: ShadingRatePaletteNV -> Vector ShadingRatePaletteEntryNV
-- | VkPipelineViewportShadingRateImageStateCreateInfoNV - Structure
-- specifying parameters controlling shading rate image usage
--
-- Description
--
-- If this structure is not present, shadingRateImageEnable is
-- considered to be FALSE, and the shading rate image and palettes
-- are not used.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_NV_shading_rate_image, Bool32,
-- ShadingRatePaletteNV, StructureType
data PipelineViewportShadingRateImageStateCreateInfoNV
PipelineViewportShadingRateImageStateCreateInfoNV :: Bool -> Vector ShadingRatePaletteNV -> PipelineViewportShadingRateImageStateCreateInfoNV
-- | shadingRateImageEnable specifies whether shading rate image
-- and palettes are used during rasterization.
[$sel:shadingRateImageEnable:PipelineViewportShadingRateImageStateCreateInfoNV] :: PipelineViewportShadingRateImageStateCreateInfoNV -> Bool
-- | pShadingRatePalettes is a pointer to an array of
-- ShadingRatePaletteNV structures defining the palette for each
-- viewport. If the shading rate palette state is dynamic, this member is
-- ignored.
[$sel:shadingRatePalettes:PipelineViewportShadingRateImageStateCreateInfoNV] :: PipelineViewportShadingRateImageStateCreateInfoNV -> Vector ShadingRatePaletteNV
-- | VkPhysicalDeviceShadingRateImageFeaturesNV - Structure describing
-- shading rate image features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- See Shading Rate Image for more information.
--
-- If the PhysicalDeviceShadingRateImageFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceShadingRateImageFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shading_rate_image, Bool32, StructureType
data PhysicalDeviceShadingRateImageFeaturesNV
PhysicalDeviceShadingRateImageFeaturesNV :: Bool -> Bool -> PhysicalDeviceShadingRateImageFeaturesNV
-- | shadingRateImage indicates that the implementation supports
-- the use of a shading rate image to derive an effective shading rate
-- for fragment processing. It also indicates that the implementation
-- supports the ShadingRateNV SPIR-V execution mode.
[$sel:shadingRateImage:PhysicalDeviceShadingRateImageFeaturesNV] :: PhysicalDeviceShadingRateImageFeaturesNV -> Bool
-- | shadingRateCoarseSampleOrder indicates that the
-- implementation supports a user-configurable ordering of coverage
-- samples in fragments larger than one pixel.
[$sel:shadingRateCoarseSampleOrder:PhysicalDeviceShadingRateImageFeaturesNV] :: PhysicalDeviceShadingRateImageFeaturesNV -> Bool
-- | VkPhysicalDeviceShadingRateImagePropertiesNV - Structure describing
-- shading rate image limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceShadingRateImagePropertiesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- These properties are related to the shading rate image feature.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_shading_rate_image, Extent2D, StructureType
data PhysicalDeviceShadingRateImagePropertiesNV
PhysicalDeviceShadingRateImagePropertiesNV :: Extent2D -> Word32 -> Word32 -> PhysicalDeviceShadingRateImagePropertiesNV
-- | shadingRateTexelSize indicates the width and height of the
-- portion of the framebuffer corresponding to each texel in the shading
-- rate image.
[$sel:shadingRateTexelSize:PhysicalDeviceShadingRateImagePropertiesNV] :: PhysicalDeviceShadingRateImagePropertiesNV -> Extent2D
-- | shadingRatePaletteSize indicates the maximum number of
-- palette entries supported for the shading rate image.
[$sel:shadingRatePaletteSize:PhysicalDeviceShadingRateImagePropertiesNV] :: PhysicalDeviceShadingRateImagePropertiesNV -> Word32
-- | shadingRateMaxCoarseSamples specifies the maximum number of
-- coverage samples supported in a single fragment. If the product of the
-- fragment size derived from the base shading rate and the number of
-- coverage samples per pixel exceeds this limit, the final shading rate
-- will be adjusted so that its product does not exceed the limit.
[$sel:shadingRateMaxCoarseSamples:PhysicalDeviceShadingRateImagePropertiesNV] :: PhysicalDeviceShadingRateImagePropertiesNV -> Word32
-- | VkCoarseSampleLocationNV - Structure specifying parameters controlling
-- shading rate image usage
--
-- Valid Usage
--
-- See Also
--
-- VK_NV_shading_rate_image, CoarseSampleOrderCustomNV
data CoarseSampleLocationNV
CoarseSampleLocationNV :: Word32 -> Word32 -> Word32 -> CoarseSampleLocationNV
-- | pixelX is added to the x coordinate of the upper-leftmost
-- pixel of each fragment to identify the pixel containing the coverage
-- sample.
--
-- pixelX must be less than the width (in pixels) of the
-- fragment
[$sel:pixelX:CoarseSampleLocationNV] :: CoarseSampleLocationNV -> Word32
-- | pixelY is added to the y coordinate of the upper-leftmost
-- pixel of each fragment to identify the pixel containing the coverage
-- sample.
--
-- pixelY must be less than the height (in pixels) of the
-- fragment
[$sel:pixelY:CoarseSampleLocationNV] :: CoarseSampleLocationNV -> Word32
-- | sample is the number of the coverage sample in the pixel
-- identified by pixelX and pixelY.
--
-- sample must be less than the number of coverage
-- samples in each pixel belonging to the fragment
[$sel:sample:CoarseSampleLocationNV] :: CoarseSampleLocationNV -> Word32
-- | VkCoarseSampleOrderCustomNV - Structure specifying parameters
-- controlling shading rate image usage
--
-- Description
--
-- When using a custom sample ordering, element j in
-- pSampleLocations specifies a specific pixel location and
-- sample index that corresponds to coverage index j
-- in the multi-pixel fragment.
--
-- Valid Usage
--
--
-- - shadingRate must be a shading rate that generates
-- fragments with more than one pixel
--
--
--
-- - sampleCount must correspond to a sample count
-- enumerated in SampleCountFlags whose corresponding bit is set
-- in
-- PhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts
-- - sampleLocationCount must be equal to the product
-- of sampleCount, the fragment width for shadingRate,
-- and the fragment height for shadingRate
-- - sampleLocationCount must be less than or equal to
-- the value of
-- PhysicalDeviceShadingRateImagePropertiesNV::shadingRateMaxCoarseSamples
-- - The array pSampleLocations must contain exactly
-- one entry for every combination of valid values for pixelX,
-- pixelY, and sample in the structure
-- CoarseSampleOrderCustomNV
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pSampleLocations must be a valid pointer to an
-- array of sampleLocationCount CoarseSampleLocationNV
-- structures
-- - sampleLocationCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_NV_shading_rate_image, CoarseSampleLocationNV,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- ShadingRatePaletteEntryNV, cmdSetCoarseSampleOrderNV
data CoarseSampleOrderCustomNV
CoarseSampleOrderCustomNV :: ShadingRatePaletteEntryNV -> Word32 -> Vector CoarseSampleLocationNV -> CoarseSampleOrderCustomNV
-- | shadingRate is a shading rate palette entry that identifies
-- the fragment width and height for the combination of fragment area and
-- per-pixel coverage sample count to control.
[$sel:shadingRate:CoarseSampleOrderCustomNV] :: CoarseSampleOrderCustomNV -> ShadingRatePaletteEntryNV
-- | sampleCount identifies the per-pixel coverage sample count
-- for the combination of fragment area and coverage sample count to
-- control.
[$sel:sampleCount:CoarseSampleOrderCustomNV] :: CoarseSampleOrderCustomNV -> Word32
-- | pSampleLocations is a pointer to an array of
-- CoarseSampleLocationNV structures specifying the location of
-- each sample in the custom ordering.
[$sel:sampleLocations:CoarseSampleOrderCustomNV] :: CoarseSampleOrderCustomNV -> Vector CoarseSampleLocationNV
-- | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV - Structure
-- specifying parameters controlling sample order in coarse fragments
--
-- Description
--
-- If this structure is not present, sampleOrderType is
-- considered to be COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV.
--
-- If sampleOrderType is
-- COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, the coverage sample order
-- used for any combination of fragment area and coverage sample count
-- not enumerated in pCustomSampleOrders will be identical to
-- that used for COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV.
--
-- If the pipeline was created with
-- DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV, the contents of
-- this structure (if present) are ignored, and the coverage sample order
-- is instead specified by cmdSetCoarseSampleOrderNV.
--
-- Valid Usage
--
--
--
--
-- - The array pCustomSampleOrders must not contain two
-- structures with matching values for both the shadingRate and
-- sampleCount members
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - sampleOrderType must be a valid
-- CoarseSampleOrderTypeNV value
-- - If customSampleOrderCount is not 0,
-- pCustomSampleOrders must be a valid pointer to an
-- array of customSampleOrderCount valid
-- CoarseSampleOrderCustomNV structures
--
--
-- See Also
--
-- VK_NV_shading_rate_image, CoarseSampleOrderCustomNV,
-- CoarseSampleOrderTypeNV, StructureType
data PipelineViewportCoarseSampleOrderStateCreateInfoNV
PipelineViewportCoarseSampleOrderStateCreateInfoNV :: CoarseSampleOrderTypeNV -> Vector CoarseSampleOrderCustomNV -> PipelineViewportCoarseSampleOrderStateCreateInfoNV
-- | sampleOrderType specifies the mechanism used to order
-- coverage samples in fragments larger than one pixel.
[$sel:sampleOrderType:PipelineViewportCoarseSampleOrderStateCreateInfoNV] :: PipelineViewportCoarseSampleOrderStateCreateInfoNV -> CoarseSampleOrderTypeNV
-- | pCustomSampleOrders is a pointer to an array of
-- customSampleOrderCount CoarseSampleOrderCustomNV
-- structures, each structure specifying the coverage sample order for a
-- single combination of fragment area and coverage sample count.
[$sel:customSampleOrders:PipelineViewportCoarseSampleOrderStateCreateInfoNV] :: PipelineViewportCoarseSampleOrderStateCreateInfoNV -> Vector CoarseSampleOrderCustomNV
-- | VkShadingRatePaletteEntryNV - Shading rate image palette entry types
--
-- Description
--
-- The following table indicates the width and height (in pixels) of each
-- fragment generated using the indicated shading rate, as well as the
-- maximum number of fragment shader invocations launched for each
-- fragment. When processing regions of a primitive that have a shading
-- rate of SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV, no
-- fragments will be generated in that region.
--
-- TODO: table
--
-- See Also
--
-- VK_NV_shading_rate_image, CoarseSampleOrderCustomNV,
-- ShadingRatePaletteNV
newtype ShadingRatePaletteEntryNV
ShadingRatePaletteEntryNV :: Int32 -> ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV :: ShadingRatePaletteEntryNV
pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV :: ShadingRatePaletteEntryNV
-- | VkCoarseSampleOrderTypeNV - Shading rate image sample ordering types
--
-- See Also
--
-- VK_NV_shading_rate_image,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- cmdSetCoarseSampleOrderNV
newtype CoarseSampleOrderTypeNV
CoarseSampleOrderTypeNV :: Int32 -> CoarseSampleOrderTypeNV
-- | COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV specifies that coverage
-- samples will be ordered in an implementation-dependent manner.
pattern COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: CoarseSampleOrderTypeNV
-- | COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV specifies that coverage
-- samples will be ordered according to the array of custom orderings
-- provided in either the pCustomSampleOrders member of
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV or the
-- pCustomSampleOrders member of
-- cmdSetCoarseSampleOrderNV.
pattern COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: CoarseSampleOrderTypeNV
-- | COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV specifies that coverage
-- samples will be ordered sequentially, sorted first by pixel coordinate
-- (in row-major order) and then by sample index.
pattern COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: CoarseSampleOrderTypeNV
-- | COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV specifies that
-- coverage samples will be ordered sequentially, sorted first by
-- sample index and then by pixel coordinate (in row-major order).
pattern COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: CoarseSampleOrderTypeNV
type NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3
pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall a. Integral a => a
type NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image"
pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderCustomNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderTypeNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderCustomNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderCustomNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleOrderCustomNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteEntryNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV
-- | Name
--
-- VK_NV_scissor_exclusive - device extension
--
-- VK_NV_scissor_exclusive
--
--
-- - Name String VK_NV_scissor_exclusive
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 206
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-31
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies None
-- - Contributors
- Pat Brown, NVIDIA
- Jeff
-- Bolz, NVIDIA
- Piers Daniell, NVIDIA
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension adds support for an exclusive scissor test to Vulkan.
-- The exclusive scissor test behaves like the scissor test, except that
-- the exclusive scissor test fails for pixels inside the corresponding
-- rectangle and passes for pixels outside the rectangle. If the same
-- rectangle is used for both the scissor and exclusive scissor tests,
-- the exclusive scissor test will pass if and only if the scissor test
-- fails.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) For the scissor test, the viewport state must be created with a
-- matching number of scissor and viewport rectangles. Should we have the
-- same requirement for exclusive scissors?
--
-- RESOLVED: For exclusive scissors, we relax this requirement and
-- allow an exclusive scissor rectangle count that is either zero or
-- equal to the number of viewport rectangles. If you pass in an
-- exclusive scissor count of zero, the exclusive scissor test is treated
-- as disabled.
--
-- Version History
--
--
-- - Revision 1, 2018-07-31 (Pat Brown)
--
--
-- See Also
--
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- cmdSetExclusiveScissorNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_scissor_exclusive
-- | vkCmdSetExclusiveScissorNV - Set exclusive scissor rectangles
-- dynamically for a command buffer
--
-- Description
--
-- The scissor rectangles taken from element i of
-- pExclusiveScissors replace the current state for the scissor
-- index firstExclusiveScissor + i, for i in [0,
-- exclusiveScissorCount).
--
-- This command sets the exclusive scissor rectangles for subsequent
-- drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportExclusiveScissorStateCreateInfoNV::pExclusiveScissors
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
-- - The sum of firstExclusiveScissor and
-- exclusiveScissorCount must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
-- - If the multiple viewports feature is not enabled,
-- firstExclusiveScissor must be 0
-- - If the multiple viewports feature is not enabled,
-- exclusiveScissorCount must be 1
-- - The x and y members of offset in each
-- member of pExclusiveScissors must be greater than or
-- equal to 0
-- - Evaluation of (offset.x + extent.width) for each
-- member of pExclusiveScissors must not cause a signed
-- integer addition overflow
-- - Evaluation of (offset.y + extent.height) for
-- each member of pExclusiveScissors must not cause a
-- signed integer addition overflow
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pExclusiveScissors must be a valid pointer to an
-- array of exclusiveScissorCount Rect2D structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - exclusiveScissorCount must be greater than
-- 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_scissor_exclusive, CommandBuffer, Rect2D
cmdSetExclusiveScissorNV :: forall io. MonadIO io => CommandBuffer -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissors" ::: Vector Rect2D) -> io ()
-- | VkPhysicalDeviceExclusiveScissorFeaturesNV - Structure describing
-- exclusive scissor features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- See Exclusive Scissor Test for more information.
--
-- If the PhysicalDeviceExclusiveScissorFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceExclusiveScissorFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_scissor_exclusive, Bool32, StructureType
data PhysicalDeviceExclusiveScissorFeaturesNV
PhysicalDeviceExclusiveScissorFeaturesNV :: Bool -> PhysicalDeviceExclusiveScissorFeaturesNV
-- | exclusiveScissor indicates that the implementation supports
-- the exclusive scissor test.
[$sel:exclusiveScissor:PhysicalDeviceExclusiveScissorFeaturesNV] :: PhysicalDeviceExclusiveScissorFeaturesNV -> Bool
-- | VkPipelineViewportExclusiveScissorStateCreateInfoNV - Structure
-- specifying parameters controlling exclusive scissor testing
--
-- Description
--
-- If the DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state is
-- enabled for a pipeline, the pExclusiveScissors member is
-- ignored.
--
-- When this structure is included in the pNext chain of
-- GraphicsPipelineCreateInfo, it defines parameters of the
-- exclusive scissor test. If this structure is not included in the
-- pNext chain, it is equivalent to specifying this structure
-- with a exclusiveScissorCount of 0.
--
-- Valid Usage
--
--
-- - If the multiple viewports feature is not enabled,
-- exclusiveScissorCount must be 0 or
-- 1
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_NV_scissor_exclusive, Rect2D, StructureType
data PipelineViewportExclusiveScissorStateCreateInfoNV
PipelineViewportExclusiveScissorStateCreateInfoNV :: Vector Rect2D -> PipelineViewportExclusiveScissorStateCreateInfoNV
-- | pExclusiveScissors is a pointer to an array of Rect2D
-- structures defining exclusive scissor rectangles.
[$sel:exclusiveScissors:PipelineViewportExclusiveScissorStateCreateInfoNV] :: PipelineViewportExclusiveScissorStateCreateInfoNV -> Vector Rect2D
type NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1
pattern NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a
type NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive"
pattern NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV
-- | Name
--
-- VK_NV_mesh_shader - device extension
--
-- VK_NV_mesh_shader
--
--
-- - Name String VK_NV_mesh_shader
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 203
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-19
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Pat Brown, NVIDIA
- Jeff
-- Bolz, NVIDIA
- Daniel Koch, NVIDIA
- Piers Daniell,
-- NVIDIA
- Pierre Boudier, NVIDIA
--
--
-- Description
--
-- This extension provides a new mechanism allowing applications to
-- generate collections of geometric primitives via programmable mesh
-- shading. It is an alternative to the existing programmable primitive
-- shading pipeline, which relied on generating input primitives by a
-- fixed function assembler as well as fixed function vertex fetch.
--
-- There are new programmable shader types — the task and mesh shader —
-- to generate these collections to be processed by fixed-function
-- primitive assembly and rasterization logic. When task and mesh shaders
-- are dispatched, they replace the core pre-rasterization stages,
-- including vertex array attribute fetching, vertex shader processing,
-- tessellation, and geometry shader processing.
--
-- This extension also adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capability
--
--
--
-- Issues
--
--
-- - How to name this extension?RESOLVED: VK_NV_mesh_shaderOther
-- options
-- considered:
- VK_NV_mesh_shading
- VK_NV_programmable_mesh_shading
- VK_NV_primitive_group_shading
- VK_NV_grouped_drawing
--
--
--
-- - Do we need a new VkPrimitiveTopology?RESOLVED: No. We skip
-- the InputAssembler stage.
-- - Should we allow Instancing?RESOLVED: No. There is no fixed
-- function input, other than the IDs. However, allow offsetting with a
-- “first” value.
-- - Should we use existing vkCmdDraw or introduce new
-- functions?RESOLVED: Introduce new functions.New functions make
-- it easier to separate from “programmable primitive shading” chapter,
-- less “dual use” language about existing functions having alternative
-- behavior. The text around the existing “draws” is heavily based around
-- emitting vertices.
-- - If new functions, how to name?RESOLVED:
-- CmdDrawMeshTasks*Other options
-- considered:
- CmdDrawMeshed
- CmdDrawTasked
- CmdDrawGrouped
-- - Should VK_SHADER_STAGE_ALL_GRAPHICS be updated to include the new
-- stages?RESOLVED: No. If an application were to be recompiled
-- with headers that include additional shader stage bits in
-- VK_SHADER_STAGE_ALL_GRAPHICS, then the previously valid application
-- would no longer be valid on implementations that do not support mesh
-- or task shaders. This means the change would not be backwards
-- compatible. It is too bad VkShaderStageFlagBits does not have a
-- dedicated “all supported graphics stages” bit like
-- VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, which would have avoided this
-- problem.
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-19 (Christoph Kubisch, Daniel
-- Koch)
--
--
-- See Also
--
-- DrawMeshTasksIndirectCommandNV,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_mesh_shader
-- | vkCmdDrawMeshTasksNV - Draw mesh task work items
--
-- Description
--
-- When the command is executed, a global workgroup consisting of
-- taskCount local workgroups is assembled.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_VERTEX_BIT,
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT or
-- SHADER_STAGE_GEOMETRY_BIT
-- - taskCount must be less than or equal to
-- PhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_mesh_shader, CommandBuffer
cmdDrawMeshTasksNV :: forall io. MonadIO io => CommandBuffer -> ("taskCount" ::: Word32) -> ("firstTask" ::: Word32) -> io ()
-- | vkCmdDrawMeshTasksIndirectNV - Issue an indirect mesh tasks draw into
-- a command buffer
--
-- Description
--
-- cmdDrawMeshTasksIndirectNV behaves similarly to
-- cmdDrawMeshTasksNV except that the parameters are read by the
-- device from a buffer during execution. drawCount draws are
-- executed by the command, with parameters taken from buffer
-- starting at offset and increasing by stride bytes
-- for each successive draw. The parameters of each draw are encoded in
-- an array of DrawMeshTasksIndirectCommandNV structures. If
-- drawCount is less than or equal to one, stride is
-- ignored.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_VERTEX_BIT,
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT or
-- SHADER_STAGE_GEOMETRY_BIT
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If the multi-draw indirect feature is not enabled,
-- drawCount must be 0 or 1
-- - drawCount must be less than or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - If drawCount is greater than 1, stride
-- must be a multiple of 4 and must be greater
-- than or equal to
-- sizeof(DrawMeshTasksIndirectCommandNV)
-- - If drawCount is equal to 1, (offset +
-- sizeof(DrawMeshTasksIndirectCommandNV)) must be
-- less than or equal to the size of buffer
-- - If drawCount is greater than 1, (stride
-- × (drawCount - 1) + offset +
-- sizeof(DrawMeshTasksIndirectCommandNV)) must be
-- less than or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of buffer, and commandBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_mesh_shader, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawMeshTasksIndirectNV :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | vkCmdDrawMeshTasksIndirectCountNV - Perform an indirect mesh tasks
-- draw with the draw count sourced from a buffer
--
-- Description
--
-- cmdDrawMeshTasksIndirectCountNV behaves similarly to
-- cmdDrawMeshTasksIndirectNV except that the draw count is read
-- by the device from a buffer during execution. The command will read an
-- unsigned 32-bit integer from countBuffer located at
-- countBufferOffset and use this as the draw count.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_VERTEX_BIT,
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT or
-- SHADER_STAGE_GEOMETRY_BIT
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If countBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - countBuffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - countBufferOffset must be a multiple of
-- 4
-- - The count stored in countBuffer must be less than
-- or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - (countBufferOffset + sizeof(uint32_t))
-- must be less than or equal to the size of
-- countBuffer
-- - If drawIndirectCount is not enabled this function
-- must not be used
-- - stride must be a multiple of 4 and
-- must be greater than or equal to
-- sizeof(DrawMeshTasksIndirectCommandNV)
-- - If maxDrawCount is greater than or equal to 1,
-- (stride × (maxDrawCount - 1) + offset +
-- sizeof(DrawMeshTasksIndirectCommandNV)) must be
-- less than or equal to the size of buffer
-- - If the count stored in countBuffer is equal to
-- 1, (offset +
-- sizeof(DrawMeshTasksIndirectCommandNV)) must be
-- less than or equal to the size of buffer
-- - If the count stored in countBuffer is greater than
-- 1, (stride × (drawCount - 1) +
-- offset +
-- sizeof(DrawMeshTasksIndirectCommandNV)) must be
-- less than or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - countBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Each of buffer, commandBuffer, and
-- countBuffer must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_mesh_shader, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawMeshTasksIndirectCountNV :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | VkPhysicalDeviceMeshShaderFeaturesNV - Structure describing mesh
-- shading features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceMeshShaderFeaturesNV structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceMeshShaderFeaturesNV can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_mesh_shader, Bool32, StructureType
data PhysicalDeviceMeshShaderFeaturesNV
PhysicalDeviceMeshShaderFeaturesNV :: Bool -> Bool -> PhysicalDeviceMeshShaderFeaturesNV
-- | taskShader indicates whether the task shader stage is
-- supported.
[$sel:taskShader:PhysicalDeviceMeshShaderFeaturesNV] :: PhysicalDeviceMeshShaderFeaturesNV -> Bool
-- | meshShader indicates whether the mesh shader stage is
-- supported.
[$sel:meshShader:PhysicalDeviceMeshShaderFeaturesNV] :: PhysicalDeviceMeshShaderFeaturesNV -> Bool
-- | VkPhysicalDeviceMeshShaderPropertiesNV - Structure describing mesh
-- shading properties
--
-- Description
--
-- If the PhysicalDeviceMeshShaderPropertiesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_mesh_shader, StructureType
data PhysicalDeviceMeshShaderPropertiesNV
PhysicalDeviceMeshShaderPropertiesNV :: Word32 -> Word32 -> (Word32, Word32, Word32) -> Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32) -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceMeshShaderPropertiesNV
-- | maxDrawMeshTasksCount is the maximum number of local
-- workgroups that can be launched by a single draw mesh tasks
-- command. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-mesh-shading.
[$sel:maxDrawMeshTasksCount:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxTaskWorkGroupInvocations is the maximum total number of
-- task shader invocations in a single local workgroup. The product of
-- the X, Y, and Z sizes, as specified by the LocalSize or
-- LocalSizeId execution mode in shader modules or by the object
-- decorated by the WorkgroupSize decoration, must be
-- less than or equal to this limit.
[$sel:maxTaskWorkGroupInvocations:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxTaskWorkGroupSize[3] is the maximum size of a local task
-- workgroup. These three values represent the maximum local workgroup
-- size in the X, Y, and Z dimensions, respectively. The x,
-- y, and z sizes, as specified by the
-- LocalSize or LocalSizeId execution mode or by the
-- object decorated by the WorkgroupSize decoration in shader
-- modules, must be less than or equal to the corresponding limit.
[$sel:maxTaskWorkGroupSize:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> (Word32, Word32, Word32)
-- | maxTaskTotalMemorySize is the maximum number of bytes that
-- the task shader can use in total for shared and output memory
-- combined.
[$sel:maxTaskTotalMemorySize:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxTaskOutputCount is the maximum number of output tasks a
-- single task shader workgroup can emit.
[$sel:maxTaskOutputCount:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxMeshWorkGroupInvocations is the maximum total number of
-- mesh shader invocations in a single local workgroup. The product of
-- the X, Y, and Z sizes, as specified by the LocalSize or
-- LocalSizeId execution mode in shader modules or by the object
-- decorated by the WorkgroupSize decoration, must be
-- less than or equal to this limit.
[$sel:maxMeshWorkGroupInvocations:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxMeshWorkGroupSize[3] is the maximum size of a local mesh
-- workgroup. These three values represent the maximum local workgroup
-- size in the X, Y, and Z dimensions, respectively. The x,
-- y, and z sizes, as specified by the
-- LocalSize or LocalSizeId execution mode or by the
-- object decorated by the WorkgroupSize decoration in shader
-- modules, must be less than or equal to the corresponding limit.
[$sel:maxMeshWorkGroupSize:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> (Word32, Word32, Word32)
-- | maxMeshTotalMemorySize is the maximum number of bytes that
-- the mesh shader can use in total for shared and output memory
-- combined.
[$sel:maxMeshTotalMemorySize:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxMeshOutputVertices is the maximum number of vertices a
-- mesh shader output can store.
[$sel:maxMeshOutputVertices:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxMeshOutputPrimitives is the maximum number of primitives a
-- mesh shader output can store.
[$sel:maxMeshOutputPrimitives:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | maxMeshMultiviewViewCount is the maximum number of multi-view
-- views a mesh shader can use.
[$sel:maxMeshMultiviewViewCount:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | meshOutputPerVertexGranularity is the granularity with which
-- mesh vertex outputs are allocated. The value can be used to compute
-- the memory size used by the mesh shader, which must be less than or
-- equal to maxMeshTotalMemorySize.
[$sel:meshOutputPerVertexGranularity:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | meshOutputPerPrimitiveGranularity is the granularity with
-- which mesh outputs qualified as per-primitive are allocated. The value
-- can be used to compute the memory size used by the mesh shader, which
-- must be less than or equal to maxMeshTotalMemorySize.
[$sel:meshOutputPerPrimitiveGranularity:PhysicalDeviceMeshShaderPropertiesNV] :: PhysicalDeviceMeshShaderPropertiesNV -> Word32
-- | VkDrawMeshTasksIndirectCommandNV - Structure specifying a mesh tasks
-- draw indirect command
--
-- Description
--
-- The members of DrawMeshTasksIndirectCommandNV have the same
-- meaning as the similarly named parameters of
-- cmdDrawMeshTasksNV.
--
-- Valid Usage
--
-- See Also
--
-- VK_NV_mesh_shader, cmdDrawMeshTasksIndirectNV
data DrawMeshTasksIndirectCommandNV
DrawMeshTasksIndirectCommandNV :: Word32 -> Word32 -> DrawMeshTasksIndirectCommandNV
-- | taskCount is the number of local workgroups to dispatch in
-- the X dimension. Y and Z dimension are implicitly set to one.
--
-- taskCount must be less than or equal to
-- PhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount
[$sel:taskCount:DrawMeshTasksIndirectCommandNV] :: DrawMeshTasksIndirectCommandNV -> Word32
-- | firstTask is the X component of the first workgroup ID.
[$sel:firstTask:DrawMeshTasksIndirectCommandNV] :: DrawMeshTasksIndirectCommandNV -> Word32
type NV_MESH_SHADER_SPEC_VERSION = 1
pattern NV_MESH_SHADER_SPEC_VERSION :: forall a. Integral a => a
type NV_MESH_SHADER_EXTENSION_NAME = "VK_NV_mesh_shader"
pattern NV_MESH_SHADER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_mesh_shader.DrawMeshTasksIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV
-- | Name
--
-- VK_NV_external_memory_rdma - device extension
--
-- VK_NV_external_memory_rdma
--
--
-- - Name String VK_NV_external_memory_rdma
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 372
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-04-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension adds support for allocating memory which can be used
-- for remote direct memory access (RDMA) from other devices.
--
-- New Base Types
--
--
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- VkPhysicalDeviceMemoryBudgetPropertiesEXT memoryBudgetProperties = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT };
-- VkPhysicalDeviceMemoryProperties2 memoryProperties2 = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, &memoryBudgetProperties };
-- vkGetPhysicalDeviceMemoryProperties2(physicalDevice, &memoryProperties2);
-- uint32_t heapIndex = (uint32_t)-1;
-- for (uint32_t memoryType = 0; memoryType < memoryProperties2.memoryProperties.memoryTypeCount; memoryType++) {
-- if (memoryProperties2.memoryProperties.memoryTypes[memoryType].propertyFlags & VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV) {
-- heapIndex = memoryProperties2.memoryProperties.memoryTypes[memoryType].heapIndex;
-- break;
-- }
-- }
-- if ((heapIndex == (uint32_t)-1) ||
-- (memoryBudgetProperties.heapBudget[heapIndex] < size)) {
-- return;
-- }
--
-- VkPhysicalDeviceExternalBufferInfo externalBufferInfo = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO };
-- externalBufferInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT;
-- externalBufferInfo.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV;
--
-- VkExternalBufferProperties externalBufferProperties = { VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES };
-- vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, &externalBufferInfo, &externalBufferProperties);
--
-- if (!(externalBufferProperties.externalMemoryProperties.externalMemoryFeatures & VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT)) {
-- return;
-- }
--
-- VkExternalMemoryBufferCreateInfo externalMemoryBufferCreateInfo = { VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO };
-- externalMemoryBufferCreateInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV;
--
-- VkBufferCreateInfo bufferCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, &externalMemoryBufferCreateInfo };
-- bufferCreateInfo.size = size;
-- bufferCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT;
--
-- VkMemoryRequirements mem_reqs;
-- vkCreateBuffer(device, &bufferCreateInfo, NULL, &buffer);
-- vkGetBufferMemoryRequirements(device, buffer, &mem_reqs);
--
-- VkExportMemoryAllocateInfo exportMemoryAllocateInfo = { VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO };
-- exportMemoryAllocateInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV;
--
-- // Find memory type index
-- uint32_t i = 0;
-- for (; i < VK_MAX_MEMORY_TYPES; i++) {
-- if ((mem_reqs.memoryTypeBits & (1 << i)) &&
-- (memoryProperties.memoryTypes[i].propertyFlags & VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV)) {
-- break;
-- }
-- }
--
-- VkMemoryAllocateInfo memAllocInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, &exportMemoryAllocateInfo };
-- memAllocInfo.allocationSize = mem_reqs.size;
-- memAllocInfo.memoryTypeIndex = i;
--
-- vkAllocateMemory(device, &memAllocInfo, NULL, &mem);
-- vkBindBufferMemory(device, buffer, mem, 0);
--
-- VkMemoryGetRemoteAddressInfoNV getMemoryRemoteAddressInfo = { VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV };
-- getMemoryRemoteAddressInfo.memory = mem;
-- getMemoryRemoteAddressInfo.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV;
--
-- VkRemoteAddressNV rdmaAddress;
-- vkGetMemoryRemoteAddressNV(device, &getMemoryRemoteAddressInfo, &rdmaAddress);
-- // address returned in 'rdmaAddress' can be used by external devices to initiate RDMA transfers
--
--
-- Version History
--
--
-- - Revision 1, 2020-12-15 (Carsten Rohde)
--
--
-- See Also
--
-- MemoryGetRemoteAddressInfoNV,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- RemoteAddressNV, getMemoryRemoteAddressNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_external_memory_rdma
-- | vkGetMemoryRemoteAddressNV - Get an address for a memory object
-- accessible by remote devices
--
-- Description
--
-- More communication may be required between the kernel-mode drivers of
-- the devices involved. This information is out of scope of this
-- documentation and should be requested from the vendors of the devices.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_external_memory_rdma, Device,
-- MemoryGetRemoteAddressInfoNV, RemoteAddressNV
getMemoryRemoteAddressNV :: forall io. MonadIO io => Device -> MemoryGetRemoteAddressInfoNV -> io RemoteAddressNV
-- | VkPhysicalDeviceExternalMemoryRDMAFeaturesNV - Structure describing
-- the external memory RDMA features supported by the implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceExternalMemoryRDMAFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_external_memory_rdma, Bool32, StructureType
data PhysicalDeviceExternalMemoryRDMAFeaturesNV
PhysicalDeviceExternalMemoryRDMAFeaturesNV :: Bool -> PhysicalDeviceExternalMemoryRDMAFeaturesNV
-- | externalMemoryRDMA indicates whether the implementation has
-- support for the MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV memory
-- property and the
-- EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV external memory
-- handle type.
[$sel:externalMemoryRDMA:PhysicalDeviceExternalMemoryRDMAFeaturesNV] :: PhysicalDeviceExternalMemoryRDMAFeaturesNV -> Bool
-- | VkMemoryGetRemoteAddressInfoNV - Structure describing a remote
-- accessible address export operation
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_external_memory_rdma, DeviceMemory,
-- ExternalMemoryHandleTypeFlagBits, StructureType,
-- getMemoryRemoteAddressNV
data MemoryGetRemoteAddressInfoNV
MemoryGetRemoteAddressInfoNV :: DeviceMemory -> ExternalMemoryHandleTypeFlagBits -> MemoryGetRemoteAddressInfoNV
-- | memory is the memory object from which the remote accessible
-- address will be exported.
--
-- memory must be a valid DeviceMemory handle
[$sel:memory:MemoryGetRemoteAddressInfoNV] :: MemoryGetRemoteAddressInfoNV -> DeviceMemory
-- | handleType is the type of handle requested.
--
-- handleType must have been included in
-- ExportMemoryAllocateInfo::handleTypes when
-- memory was created
--
-- handleType must be a valid
-- ExternalMemoryHandleTypeFlagBits value
[$sel:handleType:MemoryGetRemoteAddressInfoNV] :: MemoryGetRemoteAddressInfoNV -> ExternalMemoryHandleTypeFlagBits
type NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1
pattern NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION :: forall a. Integral a => a
type NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma"
pattern NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type RemoteAddressNV = Ptr ()
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_rdma.MemoryGetRemoteAddressInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV
-- | Name
--
-- VK_NV_device_diagnostic_checkpoints - device extension
--
-- VK_NV_device_diagnostic_checkpoints
--
--
-- - Name String
-- VK_NV_device_diagnostic_checkpoints
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 207
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-16
--
--
--
-- - Contributors
- Oleg Kuznetsov,
-- NVIDIA
- Alex Dunn, NVIDIA
- Jeff Bolz,
-- NVIDIA
- Eric Werness, NVIDIA
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension allows applications to insert markers in the command
-- stream and associate them with custom data.
--
-- If a device lost error occurs, the application may then query
-- the implementation for the last markers to cross specific
-- implementation-defined pipeline stages, in order to narrow down which
-- commands were executing at the time and might have caused the failure.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-16 (Nuno Subtil)
--
--
--
-- - Revision 2, 2018-07-16 (Nuno Subtil)
--
--
-- See Also
--
-- CheckpointDataNV, QueueFamilyCheckpointPropertiesNV,
-- cmdSetCheckpointNV, getQueueCheckpointDataNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints
-- | vkCmdSetCheckpointNV - Insert diagnostic checkpoint in command stream
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, compute, or transfer
-- operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_device_diagnostic_checkpoints, CommandBuffer
cmdSetCheckpointNV :: forall io. MonadIO io => CommandBuffer -> ("checkpointMarker" ::: Ptr ()) -> io ()
-- | vkGetQueueCheckpointDataNV - Retrieve diagnostic checkpoint data
--
-- Description
--
-- If pCheckpointData is NULL, then the number of
-- checkpoint markers available is returned in
-- pCheckpointDataCount.
--
-- Otherwise, pCheckpointDataCount must point to a
-- variable set by the user to the number of elements in the
-- pCheckpointData array, and on return the variable is
-- overwritten with the number of structures actually written to
-- pCheckpointData.
--
-- If pCheckpointDataCount is less than the number of checkpoint
-- markers available, at most pCheckpointDataCount structures
-- will be written.
--
-- Valid Usage
--
--
-- - The device that queue belongs to must be in the
-- lost state
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - pCheckpointDataCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pCheckpointDataCount is not
-- 0, and pCheckpointData is not NULL,
-- pCheckpointData must be a valid pointer to an array of
-- pCheckpointDataCount CheckpointDataNV structures
--
--
-- See Also
--
-- VK_NV_device_diagnostic_checkpoints, CheckpointDataNV,
-- Queue
getQueueCheckpointDataNV :: forall io. MonadIO io => Queue -> io ("checkpointData" ::: Vector CheckpointDataNV)
-- | VkQueueFamilyCheckpointPropertiesNV - Return structure for queue
-- family checkpoint information query
--
-- Description
--
-- Additional queue family information can be queried by setting
-- QueueFamilyProperties2::pNext to point to a
-- QueueFamilyCheckpointPropertiesNV structure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_diagnostic_checkpoints, PipelineStageFlags,
-- StructureType
data QueueFamilyCheckpointPropertiesNV
QueueFamilyCheckpointPropertiesNV :: PipelineStageFlags -> QueueFamilyCheckpointPropertiesNV
-- | checkpointExecutionStageMask is a mask indicating which
-- pipeline stages the implementation can execute checkpoint markers in.
[$sel:checkpointExecutionStageMask:QueueFamilyCheckpointPropertiesNV] :: QueueFamilyCheckpointPropertiesNV -> PipelineStageFlags
-- | VkCheckpointDataNV - Return structure for command buffer checkpoint
-- data
--
-- Description
--
-- The stages at which a checkpoint marker can be executed are
-- implementation-defined and can be queried by calling
-- getPhysicalDeviceQueueFamilyProperties2.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_diagnostic_checkpoints,
-- PipelineStageFlagBits, StructureType,
-- getQueueCheckpointDataNV
data CheckpointDataNV
CheckpointDataNV :: PipelineStageFlagBits -> Ptr () -> CheckpointDataNV
-- | stage is a PipelineStageFlagBits value specifying
-- which pipeline stage the checkpoint marker data refers to.
[$sel:stage:CheckpointDataNV] :: CheckpointDataNV -> PipelineStageFlagBits
-- | pCheckpointMarker contains the value of the last checkpoint
-- marker executed in the stage that stage refers to.
[$sel:checkpointMarker:CheckpointDataNV] :: CheckpointDataNV -> Ptr ()
type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION = 2
pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: forall a. Integral a => a
type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints"
pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.QueueFamilyCheckpointPropertiesNV
-- | Name
--
-- VK_NV_dedicated_allocation - device extension
--
-- VK_NV_dedicated_allocation
--
--
-- - Name String VK_NV_dedicated_allocation
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 27
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_KHR_dedicated_allocation extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-05-31
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension allows device memory to be allocated for a particular
-- buffer or image resource, which on some devices can significantly
-- improve the performance of that resource. Normal device memory
-- allocations must support memory aliasing and sparse binding, which
-- could interfere with optimizations like framebuffer compression or
-- efficient page table usage. This is important for render targets and
-- very large resources, but need not (and probably should not) be used
-- for smaller resources that can benefit from suballocation.
--
-- This extension adds a few small structures to resource creation and
-- memory allocation: a new structure that flags whether am image/buffer
-- will have a dedicated allocation, and a structure indicating the image
-- or buffer that an allocation will be bound to.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- // Create an image with
-- // VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation
-- // set to VK_TRUE
--
-- VkDedicatedAllocationImageCreateInfoNV dedicatedImageInfo =
-- {
-- VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV, // sType
-- NULL, // pNext
-- VK_TRUE, // dedicatedAllocation
-- };
--
-- VkImageCreateInfo imageCreateInfo =
-- {
-- VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // sType
-- &dedicatedImageInfo // pNext
-- // Other members set as usual
-- };
--
-- VkImage image;
-- VkResult result = vkCreateImage(
-- device,
-- &imageCreateInfo,
-- NULL, // pAllocator
-- &image);
--
-- VkMemoryRequirements memoryRequirements;
-- vkGetImageMemoryRequirements(
-- device,
-- image,
-- &memoryRequirements);
--
-- // Allocate memory with VkDedicatedAllocationMemoryAllocateInfoNV::image
-- // pointing to the image we are allocating the memory for
--
-- VkDedicatedAllocationMemoryAllocateInfoNV dedicatedInfo =
-- {
-- VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV, // sType
-- NULL, // pNext
-- image, // image
-- VK_NULL_HANDLE, // buffer
-- };
--
-- VkMemoryAllocateInfo memoryAllocateInfo =
-- {
-- VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, // sType
-- &dedicatedInfo, // pNext
-- memoryRequirements.size, // allocationSize
-- FindMemoryTypeIndex(memoryRequirements.memoryTypeBits), // memoryTypeIndex
-- };
--
-- VkDeviceMemory memory;
-- vkAllocateMemory(
-- device,
-- &memoryAllocateInfo,
-- NULL, // pAllocator
-- &memory);
--
-- // Bind the image to the memory
--
-- vkBindImageMemory(
-- device,
-- image,
-- memory,
-- 0);
--
--
-- Version History
--
--
-- - Revision 1, 2016-05-31 (Jeff Bolz)
--
--
-- See Also
--
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_dedicated_allocation
-- | VkDedicatedAllocationImageCreateInfoNV - Specify that an image is
-- bound to a dedicated memory resource
--
-- Description
--
-- Note
--
-- Using a dedicated allocation for color and depth/stencil attachments
-- or other large images may improve performance on some devices.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_NV_dedicated_allocation, Bool32, StructureType
data DedicatedAllocationImageCreateInfoNV
DedicatedAllocationImageCreateInfoNV :: Bool -> DedicatedAllocationImageCreateInfoNV
-- | dedicatedAllocation specifies whether the image will have a
-- dedicated allocation bound to it.
[$sel:dedicatedAllocation:DedicatedAllocationImageCreateInfoNV] :: DedicatedAllocationImageCreateInfoNV -> Bool
-- | VkDedicatedAllocationBufferCreateInfoNV - Specify that a buffer is
-- bound to a dedicated memory resource
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_dedicated_allocation, Bool32, StructureType
data DedicatedAllocationBufferCreateInfoNV
DedicatedAllocationBufferCreateInfoNV :: Bool -> DedicatedAllocationBufferCreateInfoNV
-- | dedicatedAllocation specifies whether the buffer will have a
-- dedicated allocation bound to it.
[$sel:dedicatedAllocation:DedicatedAllocationBufferCreateInfoNV] :: DedicatedAllocationBufferCreateInfoNV -> Bool
-- | VkDedicatedAllocationMemoryAllocateInfoNV - Specify a dedicated memory
-- allocation resource
--
-- Valid Usage
--
--
-- - At least one of image and buffer must be
-- NULL_HANDLE
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If image is not NULL_HANDLE, image
-- must be a valid Image handle
-- - If buffer is not NULL_HANDLE, buffer
-- must be a valid Buffer handle
-- - Both of buffer, and image that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_NV_dedicated_allocation, Buffer, Image,
-- StructureType
data DedicatedAllocationMemoryAllocateInfoNV
DedicatedAllocationMemoryAllocateInfoNV :: Image -> Buffer -> DedicatedAllocationMemoryAllocateInfoNV
-- | image is NULL_HANDLE or a handle of an image which
-- this memory will be bound to.
[$sel:image:DedicatedAllocationMemoryAllocateInfoNV] :: DedicatedAllocationMemoryAllocateInfoNV -> Image
-- | buffer is NULL_HANDLE or a handle of a buffer which
-- this memory will be bound to.
[$sel:buffer:DedicatedAllocationMemoryAllocateInfoNV] :: DedicatedAllocationMemoryAllocateInfoNV -> Buffer
type NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1
pattern NV_DEDICATED_ALLOCATION_SPEC_VERSION :: forall a. Integral a => a
type NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation"
pattern NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV
-- | Name
--
-- VK_NV_coverage_reduction_mode - device extension
--
-- VK_NV_coverage_reduction_mode
--
--
-- - Name String
-- VK_NV_coverage_reduction_mode
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 251
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_NV_framebuffer_mixed_samples
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-29
--
--
--
-- - Contributors
- Kedarnath Thangudu,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- When using a framebuffer with mixed samples, a per-fragment coverage
-- reduction operation is performed which generates color sample coverage
-- from the pixel coverage. This extension defines the following modes to
-- control how this reduction is performed.
--
--
-- - Merge: When there are more samples in the pixel coverage than
-- color samples, there is an implementation-dependent association of
-- each pixel coverage sample to a color sample. In the merge mode, the
-- color sample coverage is computed such that only if any associated
-- sample in the pixel coverage is covered, the color sample is covered.
-- This is the default mode.
-- - Truncate: When there are more raster samples (N) than color
-- samples(M), there is one to one association of the first M raster
-- samples to the M color samples; other raster samples are ignored.
--
--
-- When the number of raster samples is equal to the color samples, there
-- is a one to one mapping between them in either of the above modes.
--
-- The new command
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-- can be used to query the various raster, color, depth/stencil sample
-- count and reduction mode combinations that are supported by the
-- implementation. This extension would allow an implementation to
-- support the behavior of both VK_NV_framebuffer_mixed_samples
-- and VK_AMD_mixed_attachment_samples extensions
-- simultaneously.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-01-29 (Kedarnath Thangudu)
--
--
-- See Also
--
-- CoverageReductionModeNV,
-- FramebufferMixedSamplesCombinationNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PipelineCoverageReductionStateCreateFlagsNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_coverage_reduction_mode
-- | vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV -
-- Query supported sample count combinations
--
-- Description
--
-- If pCombinations is NULL, then the number of
-- supported combinations for the given physicalDevice is
-- returned in pCombinationCount. Otherwise,
-- pCombinationCount must point to a variable set by the
-- user to the number of elements in the pCombinations array,
-- and on return the variable is overwritten with the number of values
-- actually written to pCombinations. If the value of
-- pCombinationCount is less than the number of combinations
-- supported for the given physicalDevice, at most
-- pCombinationCount values will be written to
-- pCombinations, and INCOMPLETE will be returned instead
-- of SUCCESS, to indicate that not all the supported values were
-- returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCombinationCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pCombinationCount is not
-- 0, and pCombinations is not NULL,
-- pCombinations must be a valid pointer to an array of
-- pCombinationCount FramebufferMixedSamplesCombinationNV
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_coverage_reduction_mode,
-- FramebufferMixedSamplesCombinationNV, PhysicalDevice
getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: forall io. MonadIO io => PhysicalDevice -> io (Result, "combinations" ::: Vector FramebufferMixedSamplesCombinationNV)
-- | VkPhysicalDeviceCoverageReductionModeFeaturesNV - Structure describing
-- the coverage reduction mode features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceCoverageReductionModeFeaturesNV structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceCoverageReductionModeFeaturesNV can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_coverage_reduction_mode, Bool32,
-- StructureType
data PhysicalDeviceCoverageReductionModeFeaturesNV
PhysicalDeviceCoverageReductionModeFeaturesNV :: Bool -> PhysicalDeviceCoverageReductionModeFeaturesNV
-- | coverageReductionMode indicates whether the implementation
-- supports coverage reduction modes. See Coverage Reduction.
[$sel:coverageReductionMode:PhysicalDeviceCoverageReductionModeFeaturesNV] :: PhysicalDeviceCoverageReductionModeFeaturesNV -> Bool
-- | VkPipelineCoverageReductionStateCreateInfoNV - Structure specifying
-- parameters controlling coverage reduction
--
-- Description
--
-- If this structure is not included in the pNext chain, or if
-- the extension is not enabled, the default coverage reduction mode is
-- inferred as follows:
--
--
-- - If the VK_NV_framebuffer_mixed_samples extension is
-- enabled, then it is as if the coverageReductionMode is
-- COVERAGE_REDUCTION_MODE_MERGE_NV.
-- - If the VK_AMD_mixed_attachment_samples extension is
-- enabled, then it is as if the coverageReductionMode is
-- COVERAGE_REDUCTION_MODE_TRUNCATE_NV.
-- - If both VK_NV_framebuffer_mixed_samples and
-- VK_AMD_mixed_attachment_samples are enabled, then the default
-- coverage reduction mode is implementation-dependent.
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_coverage_reduction_mode, CoverageReductionModeNV,
-- PipelineCoverageReductionStateCreateFlagsNV,
-- StructureType
data PipelineCoverageReductionStateCreateInfoNV
PipelineCoverageReductionStateCreateInfoNV :: PipelineCoverageReductionStateCreateFlagsNV -> CoverageReductionModeNV -> PipelineCoverageReductionStateCreateInfoNV
-- | flags is reserved for future use.
[$sel:flags:PipelineCoverageReductionStateCreateInfoNV] :: PipelineCoverageReductionStateCreateInfoNV -> PipelineCoverageReductionStateCreateFlagsNV
-- | coverageReductionMode is a CoverageReductionModeNV
-- value controlling how color sample coverage is generated from pixel
-- coverage.
[$sel:coverageReductionMode:PipelineCoverageReductionStateCreateInfoNV] :: PipelineCoverageReductionStateCreateInfoNV -> CoverageReductionModeNV
-- | VkFramebufferMixedSamplesCombinationNV - Structure specifying a
-- supported sample count combination
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_coverage_reduction_mode, CoverageReductionModeNV,
-- SampleCountFlagBits, SampleCountFlags,
-- StructureType,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
data FramebufferMixedSamplesCombinationNV
FramebufferMixedSamplesCombinationNV :: CoverageReductionModeNV -> SampleCountFlagBits -> SampleCountFlags -> SampleCountFlags -> FramebufferMixedSamplesCombinationNV
-- | coverageReductionMode is a CoverageReductionModeNV
-- value specifying the coverage reduction mode.
[$sel:coverageReductionMode:FramebufferMixedSamplesCombinationNV] :: FramebufferMixedSamplesCombinationNV -> CoverageReductionModeNV
-- | rasterizationSamples is a SampleCountFlagBits
-- specifying the number of rasterization samples in the supported
-- combination.
[$sel:rasterizationSamples:FramebufferMixedSamplesCombinationNV] :: FramebufferMixedSamplesCombinationNV -> SampleCountFlagBits
-- | depthStencilSamples specifies the number of samples in the
-- depth stencil attachment in the supported combination. A value of 0
-- indicates the combination does not have a depth stencil attachment.
[$sel:depthStencilSamples:FramebufferMixedSamplesCombinationNV] :: FramebufferMixedSamplesCombinationNV -> SampleCountFlags
-- | colorSamples specifies the number of color samples in a color
-- attachment in the supported combination. A value of 0 indicates the
-- combination does not have a color attachment.
[$sel:colorSamples:FramebufferMixedSamplesCombinationNV] :: FramebufferMixedSamplesCombinationNV -> SampleCountFlags
-- | VkPipelineCoverageReductionStateCreateFlagsNV - Reserved for future
-- use
--
-- Description
--
-- PipelineCoverageReductionStateCreateFlagsNV is a bitmask type
-- for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_coverage_reduction_mode,
-- PipelineCoverageReductionStateCreateInfoNV
newtype PipelineCoverageReductionStateCreateFlagsNV
PipelineCoverageReductionStateCreateFlagsNV :: Flags -> PipelineCoverageReductionStateCreateFlagsNV
-- | VkCoverageReductionModeNV - Specify the coverage reduction mode
--
-- See Also
--
-- VK_NV_coverage_reduction_mode,
-- FramebufferMixedSamplesCombinationNV,
-- PipelineCoverageReductionStateCreateInfoNV
newtype CoverageReductionModeNV
CoverageReductionModeNV :: Int32 -> CoverageReductionModeNV
-- | COVERAGE_REDUCTION_MODE_MERGE_NV specifies that each color
-- sample will be associated with an implementation-dependent subset of
-- samples in the pixel coverage. If any of those associated samples are
-- covered, the color sample is covered.
pattern COVERAGE_REDUCTION_MODE_MERGE_NV :: CoverageReductionModeNV
-- | COVERAGE_REDUCTION_MODE_TRUNCATE_NV specifies that for color
-- samples present in the color attachments, a color sample is covered if
-- the pixel coverage sample with the same sample index i is
-- covered; other pixel coverage samples are discarded.
pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV
type NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION = 1
pattern NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: forall a. Integral a => a
type NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME = "VK_NV_coverage_reduction_mode"
pattern NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_coverage_reduction_mode.CoverageReductionModeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_coverage_reduction_mode.PipelineCoverageReductionStateCreateFlagsNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV
-- | Name
--
-- VK_NV_cooperative_matrix - device extension
--
-- VK_NV_cooperative_matrix
--
--
-- - Name String VK_NV_cooperative_matrix
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 250
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-02-05
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Markus Tavenrath, NVIDIA
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension adds support for using cooperative matrix types in
-- SPIR-V. Cooperative matrix types are medium-sized matrices that are
-- primarily supported in compute shaders, where the storage for the
-- matrix is spread across all invocations in some scope (usually a
-- subgroup) and those invocations cooperate to efficiently perform
-- matrix multiplies.
--
-- Cooperative matrix types are defined by the
-- SPV_NV_cooperative_matrix SPIR-V extension and can be used with
-- the GL_NV_cooperative_matrix GLSL extension.
--
-- This extension includes support for enumerating the matrix types and
-- dimensions that are supported by the implementation.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
--
-- - What matrix properties will be supported in practice?
--
--
-- RESOLVED: In NVIDIA’s initial implementation, we will support:
--
--
-- - AType = BType = fp16 CType = DType = fp16 MxNxK = 16x8x16 scope =
-- Subgroup
-- - AType = BType = fp16 CType = DType = fp16 MxNxK = 16x8x8 scope =
-- Subgroup
-- - AType = BType = fp16 CType = DType = fp32 MxNxK = 16x8x16 scope =
-- Subgroup
-- - AType = BType = fp16 CType = DType = fp32 MxNxK = 16x8x8 scope =
-- Subgroup
--
--
-- Version History
--
--
-- - Revision 1, 2019-02-05 (Jeff Bolz)
--
--
-- See Also
--
-- ComponentTypeNV, CooperativeMatrixPropertiesNV,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV, ScopeNV,
-- getPhysicalDeviceCooperativeMatrixPropertiesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_cooperative_matrix
-- | vkGetPhysicalDeviceCooperativeMatrixPropertiesNV - Returns properties
-- describing what cooperative matrix types are supported
--
-- Description
--
-- If pProperties is NULL, then the number of
-- cooperative matrix properties available is returned in
-- pPropertyCount. Otherwise, pPropertyCount
-- must point to a variable set by the user to the number of
-- elements in the pProperties array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pProperties. If pPropertyCount is less than the
-- number of cooperative matrix properties available, at most
-- pPropertyCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available cooperative matrix properties were
-- returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount CooperativeMatrixPropertiesNV
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_cooperative_matrix, CooperativeMatrixPropertiesNV,
-- PhysicalDevice
getPhysicalDeviceCooperativeMatrixPropertiesNV :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector CooperativeMatrixPropertiesNV)
-- | VkPhysicalDeviceCooperativeMatrixFeaturesNV - Structure describing
-- cooperative matrix features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceCooperativeMatrixFeaturesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceCooperativeMatrixFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_cooperative_matrix, Bool32, StructureType
data PhysicalDeviceCooperativeMatrixFeaturesNV
PhysicalDeviceCooperativeMatrixFeaturesNV :: Bool -> Bool -> PhysicalDeviceCooperativeMatrixFeaturesNV
-- | cooperativeMatrix indicates that the implementation supports
-- the CooperativeMatrixNV SPIR-V capability.
[$sel:cooperativeMatrix:PhysicalDeviceCooperativeMatrixFeaturesNV] :: PhysicalDeviceCooperativeMatrixFeaturesNV -> Bool
-- | cooperativeMatrixRobustBufferAccess indicates that the
-- implementation supports robust buffer access for SPIR-V
-- OpCooperativeMatrixLoadNV and
-- OpCooperativeMatrixStoreNV instructions.
[$sel:cooperativeMatrixRobustBufferAccess:PhysicalDeviceCooperativeMatrixFeaturesNV] :: PhysicalDeviceCooperativeMatrixFeaturesNV -> Bool
-- | VkPhysicalDeviceCooperativeMatrixPropertiesNV - Structure describing
-- cooperative matrix properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceCooperativeMatrixPropertiesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_cooperative_matrix, ShaderStageFlags,
-- StructureType
data PhysicalDeviceCooperativeMatrixPropertiesNV
PhysicalDeviceCooperativeMatrixPropertiesNV :: ShaderStageFlags -> PhysicalDeviceCooperativeMatrixPropertiesNV
-- | cooperativeMatrixSupportedStages is a bitfield of
-- ShaderStageFlagBits describing the shader stages that
-- cooperative matrix instructions are supported in.
-- cooperativeMatrixSupportedStages will have the
-- SHADER_STAGE_COMPUTE_BIT bit set if any of the physical
-- device’s queues support QUEUE_COMPUTE_BIT.
[$sel:cooperativeMatrixSupportedStages:PhysicalDeviceCooperativeMatrixPropertiesNV] :: PhysicalDeviceCooperativeMatrixPropertiesNV -> ShaderStageFlags
-- | VkCooperativeMatrixPropertiesNV - Structure specifying cooperative
-- matrix properties
--
-- Description
--
-- If some types are preferred over other types (e.g. for performance),
-- they should appear earlier in the list enumerated by
-- getPhysicalDeviceCooperativeMatrixPropertiesNV.
--
-- At least one entry in the list must have power of two values
-- for all of MSize, KSize, and NSize.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_cooperative_matrix, ComponentTypeNV,
-- ScopeNV, StructureType,
-- getPhysicalDeviceCooperativeMatrixPropertiesNV
data CooperativeMatrixPropertiesNV
CooperativeMatrixPropertiesNV :: Word32 -> Word32 -> Word32 -> ComponentTypeNV -> ComponentTypeNV -> ComponentTypeNV -> ComponentTypeNV -> ScopeNV -> CooperativeMatrixPropertiesNV
-- | MSize is the number of rows in matrices A, C, and D.
[$sel:mSize:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> Word32
-- | NSize is the number of columns in matrices B, C, D.
[$sel:nSize:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> Word32
-- | KSize is the number of columns in matrix A and rows in matrix
-- B.
[$sel:kSize:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> Word32
-- | AType is the component type of matrix A, of type
-- ComponentTypeNV.
--
-- AType must be a valid ComponentTypeNV value
[$sel:aType:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> ComponentTypeNV
-- | BType is the component type of matrix B, of type
-- ComponentTypeNV.
--
-- BType must be a valid ComponentTypeNV value
[$sel:bType:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> ComponentTypeNV
-- | CType is the component type of matrix C, of type
-- ComponentTypeNV.
--
-- CType must be a valid ComponentTypeNV value
[$sel:cType:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> ComponentTypeNV
-- | DType is the component type of matrix D, of type
-- ComponentTypeNV.
--
-- DType must be a valid ComponentTypeNV value
[$sel:dType:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> ComponentTypeNV
-- | scope is the scope of all the matrix types, of type
-- ScopeNV.
--
-- scope must be a valid ScopeNV value
[$sel:scope:CooperativeMatrixPropertiesNV] :: CooperativeMatrixPropertiesNV -> ScopeNV
-- | VkScopeNV - Specify SPIR-V scope
--
-- Description
--
-- All enum values match the corresponding SPIR-V value.
--
-- See Also
--
-- VK_NV_cooperative_matrix, CooperativeMatrixPropertiesNV
newtype ScopeNV
ScopeNV :: Int32 -> ScopeNV
-- | SCOPE_DEVICE_NV corresponds to SPIR-V Device scope.
pattern SCOPE_DEVICE_NV :: ScopeNV
-- | SCOPE_WORKGROUP_NV corresponds to SPIR-V Workgroup
-- scope.
pattern SCOPE_WORKGROUP_NV :: ScopeNV
-- | SCOPE_SUBGROUP_NV corresponds to SPIR-V Subgroup
-- scope.
pattern SCOPE_SUBGROUP_NV :: ScopeNV
-- | SCOPE_QUEUE_FAMILY_NV corresponds to SPIR-V
-- QueueFamily scope.
pattern SCOPE_QUEUE_FAMILY_NV :: ScopeNV
-- | VkComponentTypeNV - Specify SPIR-V cooperative matrix component type
--
-- See Also
--
-- VK_NV_cooperative_matrix, CooperativeMatrixPropertiesNV
newtype ComponentTypeNV
ComponentTypeNV :: Int32 -> ComponentTypeNV
-- | COMPONENT_TYPE_FLOAT16_NV corresponds to SPIR-V
-- OpTypeFloat 16.
pattern COMPONENT_TYPE_FLOAT16_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_FLOAT32_NV corresponds to SPIR-V
-- OpTypeFloat 32.
pattern COMPONENT_TYPE_FLOAT32_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_FLOAT64_NV corresponds to SPIR-V
-- OpTypeFloat 64.
pattern COMPONENT_TYPE_FLOAT64_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_SINT8_NV corresponds to SPIR-V
-- OpTypeInt 8 1.
pattern COMPONENT_TYPE_SINT8_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_SINT16_NV corresponds to SPIR-V
-- OpTypeInt 16 1.
pattern COMPONENT_TYPE_SINT16_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_SINT32_NV corresponds to SPIR-V
-- OpTypeInt 32 1.
pattern COMPONENT_TYPE_SINT32_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_SINT64_NV corresponds to SPIR-V
-- OpTypeInt 64 1.
pattern COMPONENT_TYPE_SINT64_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_UINT8_NV corresponds to SPIR-V
-- OpTypeInt 8 0.
pattern COMPONENT_TYPE_UINT8_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_UINT16_NV corresponds to SPIR-V
-- OpTypeInt 16 0.
pattern COMPONENT_TYPE_UINT16_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_UINT32_NV corresponds to SPIR-V
-- OpTypeInt 32 0.
pattern COMPONENT_TYPE_UINT32_NV :: ComponentTypeNV
-- | COMPONENT_TYPE_UINT64_NV corresponds to SPIR-V
-- OpTypeInt 64 0.
pattern COMPONENT_TYPE_UINT64_NV :: ComponentTypeNV
type NV_COOPERATIVE_MATRIX_SPEC_VERSION = 1
pattern NV_COOPERATIVE_MATRIX_SPEC_VERSION :: forall a. Integral a => a
type NV_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_NV_cooperative_matrix"
pattern NV_COOPERATIVE_MATRIX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_cooperative_matrix.CooperativeMatrixPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_cooperative_matrix.ComponentTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_cooperative_matrix.ScopeNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV
-- | Name
--
-- VK_NV_clip_space_w_scaling - device extension
--
-- VK_NV_clip_space_w_scaling
--
--
-- - Name String VK_NV_clip_space_w_scaling
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 88
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-15
--
--
--
-- - Contributors
- Eric Werness,
-- NVIDIA
- Kedarnath Thangudu, NVIDIA
--
--
-- Description
--
-- Virtual Reality (VR) applications often involve a post-processing step
-- to apply a “barrel” distortion to the rendered image to correct the
-- “pincushion” distortion introduced by the optics in a VR device. The
-- barrel distorted image has lower resolution along the edges compared
-- to the center. Since the original image is rendered at high
-- resolution, which is uniform across the complete image, a lot of
-- pixels towards the edges do not make it to the final post-processed
-- image.
--
-- This extension provides a mechanism to render VR scenes at a
-- non-uniform resolution, in particular a resolution that falls linearly
-- from the center towards the edges. This is achieved by scaling the w
-- coordinate of the vertices in the clip space before perspective
-- divide. The clip space w coordinate of the vertices can be
-- offset as of a function of x and y coordinates as follows:
--
-- w' = w + Ax + By
--
-- In the intended use case for viewport position scaling, an application
-- should use a set of four viewports, one for each of the four quadrants
-- of a Cartesian coordinate system. Each viewport is set to the
-- dimension of the image, but is scissored to the quadrant it
-- represents. The application should specify A and B coefficients of the
-- w-scaling equation above, that have the same value, but different
-- signs, for each of the viewports. The signs of A and B should match
-- the signs of x and y for the quadrant that they represent such that
-- the value of w' will always be greater than or equal to the original w
-- value for the entire image. Since the offset to w, (Ax + By), is
-- always positive, and increases with the absolute values of x and y,
-- the effective resolution will fall off linearly from the center of the
-- image to its edges.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Is the pipeline struct name too long?
--
-- RESOLVED: It fits with the naming convention.
--
-- 2) Separate W scaling section or fold into coordinate transformations?
--
-- RESOLVED: Leaving it as its own section for now.
--
-- Examples
--
--
-- VkViewport viewports[4];
-- VkRect2D scissors[4];
-- VkViewportWScalingNV scalings[4];
--
-- for (int i = 0; i < 4; i++) {
-- int x = (i & 2) ? 0 : currentWindowWidth / 2;
-- int y = (i & 1) ? 0 : currentWindowHeight / 2;
--
-- viewports[i].x = 0;
-- viewports[i].y = 0;
-- viewports[i].width = currentWindowWidth;
-- viewports[i].height = currentWindowHeight;
-- viewports[i].minDepth = 0.0f;
-- viewports[i].maxDepth = 1.0f;
--
-- scissors[i].offset.x = x;
-- scissors[i].offset.y = y;
-- scissors[i].extent.width = currentWindowWidth/2;
-- scissors[i].extent.height = currentWindowHeight/2;
--
-- const float factor = 0.15;
-- scalings[i].xcoeff = ((i & 2) ? -1.0 : 1.0) * factor;
-- scalings[i].ycoeff = ((i & 1) ? -1.0 : 1.0) * factor;
-- }
--
-- VkPipelineViewportWScalingStateCreateInfoNV vpWScalingStateInfo = { VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV };
--
-- vpWScalingStateInfo.viewportWScalingEnable = VK_TRUE;
-- vpWScalingStateInfo.viewportCount = 4;
-- vpWScalingStateInfo.pViewportWScalings = &scalings[0];
--
-- VkPipelineViewportStateCreateInfo vpStateInfo = { VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO };
-- vpStateInfo.viewportCount = 4;
-- vpStateInfo.pViewports = &viewports[0];
-- vpStateInfo.scissorCount = 4;
-- vpStateInfo.pScissors = &scissors[0];
-- vpStateInfo.pNext = &vpWScalingStateInfo;
--
--
-- Example shader to read from a w-scaled texture:
--
--
-- // Vertex Shader
-- // Draw a triangle that covers the whole screen
-- const vec4 positions[3] = vec4[3](vec4(-1, -1, 0, 1),
-- vec4( 3, -1, 0, 1),
-- vec4(-1, 3, 0, 1));
-- out vec2 uv;
-- void main()
-- {
-- vec4 pos = positions[ gl_VertexID ];
-- gl_Position = pos;
-- uv = pos.xy;
-- }
--
-- // Fragment Shader
-- uniform sampler2D tex;
-- uniform float xcoeff;
-- uniform float ycoeff;
-- out vec4 Color;
-- in vec2 uv;
--
-- void main()
-- {
-- // Handle uv as if upper right quadrant
-- vec2 uvabs = abs(uv);
--
-- // unscale: transform w-scaled image into an unscaled image
-- // scale: transform unscaled image int a w-scaled image
-- float unscale = 1.0 / (1 + xcoeff * uvabs.x + xcoeff * uvabs.y);
-- //float scale = 1.0 / (1 - xcoeff * uvabs.x - xcoeff * uvabs.y);
--
-- vec2 P = vec2(unscale * uvabs.x, unscale * uvabs.y);
--
-- // Go back to the right quadrant
-- P *= sign(uv);
--
-- Color = texture(tex, P * 0.5 + 0.5);
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-15 (Eric Werness)
--
--
-- See Also
--
-- PipelineViewportWScalingStateCreateInfoNV,
-- ViewportWScalingNV, cmdSetViewportWScalingNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_clip_space_w_scaling
-- | vkCmdSetViewportWScalingNV - Set the viewport W scaling dynamically
-- for a command buffer
--
-- Description
--
-- The viewport parameters taken from element i of
-- pViewportWScalings replace the current state for the viewport
-- index firstViewport + i, for i in [0,
-- viewportCount).
--
-- This command sets the viewport W scaling for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportWScalingStateCreateInfoNV::pViewportWScalings
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - The sum of firstViewport and viewportCount
-- must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pViewportWScalings must be a valid pointer to an
-- array of viewportCount ViewportWScalingNV
-- structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - viewportCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_clip_space_w_scaling, CommandBuffer,
-- ViewportWScalingNV
cmdSetViewportWScalingNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewportWScalings" ::: Vector ViewportWScalingNV) -> io ()
-- | VkViewportWScalingNV - Structure specifying a viewport
--
-- See Also
--
-- VK_NV_clip_space_w_scaling,
-- PipelineViewportWScalingStateCreateInfoNV,
-- cmdSetViewportWScalingNV
data ViewportWScalingNV
ViewportWScalingNV :: Float -> Float -> ViewportWScalingNV
-- | xcoeff and ycoeff are the viewport’s W scaling
-- factor for x and y respectively.
[$sel:xcoeff:ViewportWScalingNV] :: ViewportWScalingNV -> Float
[$sel:ycoeff:ViewportWScalingNV] :: ViewportWScalingNV -> Float
-- | VkPipelineViewportWScalingStateCreateInfoNV - Structure specifying
-- parameters of a newly created pipeline viewport W scaling state
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_clip_space_w_scaling, Bool32,
-- StructureType, ViewportWScalingNV
data PipelineViewportWScalingStateCreateInfoNV
PipelineViewportWScalingStateCreateInfoNV :: Bool -> Word32 -> Vector ViewportWScalingNV -> PipelineViewportWScalingStateCreateInfoNV
-- | viewportWScalingEnable controls whether viewport W
-- scaling is enabled.
[$sel:viewportWScalingEnable:PipelineViewportWScalingStateCreateInfoNV] :: PipelineViewportWScalingStateCreateInfoNV -> Bool
-- | viewportCount is the number of viewports used by W
-- scaling, and must match the number of viewports in the pipeline
-- if viewport W scaling is enabled.
--
-- viewportCount must be greater than 0
[$sel:viewportCount:PipelineViewportWScalingStateCreateInfoNV] :: PipelineViewportWScalingStateCreateInfoNV -> Word32
-- | pViewportWScalings is a pointer to an array of
-- ViewportWScalingNV structures defining the W scaling
-- parameters for the corresponding viewports. If the viewport W
-- scaling state is dynamic, this member is ignored.
[$sel:viewportWScalings:PipelineViewportWScalingStateCreateInfoNV] :: PipelineViewportWScalingStateCreateInfoNV -> Vector ViewportWScalingNV
type NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1
pattern NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: forall a. Integral a => a
type NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling"
pattern NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV
-- | Name
--
-- VK_NVX_image_view_handle - device extension
--
-- VK_NVX_image_view_handle
--
--
-- - Name String VK_NVX_image_view_handle
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 31
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-04-03
--
--
--
-- - Contributors
- Eric Werness,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Daniel Koch,
-- NVIDIA
--
--
-- Description
--
-- This extension allows applications to query an opaque handle from an
-- image view for use as a sampled image or storage image. This provides
-- no direct functionality itself.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2020-04-03 (Piers Daniell)
--
--
--
-- - Revision 1, 2018-12-07 (Eric Werness)
--
--
-- See Also
--
-- ImageViewAddressPropertiesNVX, ImageViewHandleInfoNVX,
-- getImageViewAddressNVX, getImageViewHandleNVX
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NVX_image_view_handle
-- | vkGetImageViewHandleNVX - Get the handle for an image view for a
-- specific descriptor type
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_image_view_handle, Device,
-- ImageViewHandleInfoNVX
getImageViewHandleNVX :: forall io. MonadIO io => Device -> ImageViewHandleInfoNVX -> io Word32
-- | vkGetImageViewAddressNVX - Get the device address of an image view
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NVX_image_view_handle, Device, ImageView,
-- ImageViewAddressPropertiesNVX
getImageViewAddressNVX :: forall io. MonadIO io => Device -> ImageView -> io ImageViewAddressPropertiesNVX
-- | VkImageViewHandleInfoNVX - Structure specifying the image view for
-- handle queries
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - imageView must be a valid ImageView
-- handle
-- - descriptorType must be a valid
-- DescriptorType value
-- - If sampler is not NULL_HANDLE, sampler
-- must be a valid Sampler handle
-- - Both of imageView, and sampler that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_NVX_image_view_handle, DescriptorType,
-- ImageView, Sampler, StructureType,
-- getImageViewHandleNVX
data ImageViewHandleInfoNVX
ImageViewHandleInfoNVX :: ImageView -> DescriptorType -> Sampler -> ImageViewHandleInfoNVX
-- | imageView is the image view to query.
[$sel:imageView:ImageViewHandleInfoNVX] :: ImageViewHandleInfoNVX -> ImageView
-- | descriptorType is the type of descriptor for which to query a
-- handle.
[$sel:descriptorType:ImageViewHandleInfoNVX] :: ImageViewHandleInfoNVX -> DescriptorType
-- | sampler is the sampler to combine with the image view when
-- generating the handle.
[$sel:sampler:ImageViewHandleInfoNVX] :: ImageViewHandleInfoNVX -> Sampler
-- | VkImageViewAddressPropertiesNVX - Structure specifying the image view
-- for handle queries
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_image_view_handle, DeviceAddress,
-- DeviceSize, StructureType, getImageViewAddressNVX
data ImageViewAddressPropertiesNVX
ImageViewAddressPropertiesNVX :: DeviceAddress -> DeviceSize -> ImageViewAddressPropertiesNVX
-- | deviceAddress is the device address of the image view.
[$sel:deviceAddress:ImageViewAddressPropertiesNVX] :: ImageViewAddressPropertiesNVX -> DeviceAddress
-- | size is the size in bytes of the image view device memory.
[$sel:size:ImageViewAddressPropertiesNVX] :: ImageViewAddressPropertiesNVX -> DeviceSize
type NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2
pattern NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION :: forall a. Integral a => a
type NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME = "VK_NVX_image_view_handle"
pattern NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
instance GHC.Classes.Eq Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX
-- | Name
--
-- VK_KHR_win32_keyed_mutex - device extension
--
-- VK_KHR_win32_keyed_mutex
--
--
-- - Name String VK_KHR_win32_keyed_mutex
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 76
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory_win32
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Jeff Juliano, NVIDIA
- Carsten Rohde,
-- NVIDIA
--
--
-- Description
--
-- Applications that wish to import Direct3D 11 memory objects into the
-- Vulkan API may wish to use the native keyed mutex mechanism to
-- synchronize access to the memory between Vulkan and Direct3D. This
-- extension provides a way for an application to access the keyed mutex
-- associated with an imported Vulkan memory object when submitting
-- command buffers to a queue.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (James Jones)
--
--
-- See Also
--
-- Win32KeyedMutexAcquireReleaseInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_win32_keyed_mutex
-- | VkWin32KeyedMutexAcquireReleaseInfoKHR - Use the Windows keyed mutex
-- mechanism to synchronize work
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If acquireCount is not 0, pAcquireSyncs
-- must be a valid pointer to an array of acquireCount
-- valid DeviceMemory handles
-- - If acquireCount is not 0, pAcquireKeys
-- must be a valid pointer to an array of acquireCount
-- uint64_t values
-- - If acquireCount is not 0,
-- pAcquireTimeouts must be a valid pointer to an array
-- of acquireCount uint32_t values
-- - If releaseCount is not 0, pReleaseSyncs
-- must be a valid pointer to an array of releaseCount
-- valid DeviceMemory handles
-- - If releaseCount is not 0, pReleaseKeys
-- must be a valid pointer to an array of releaseCount
-- uint64_t values
-- - Both of the elements of pAcquireSyncs, and the elements
-- of pReleaseSyncs that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- See Also
--
-- VK_KHR_win32_keyed_mutex, DeviceMemory,
-- StructureType
data Win32KeyedMutexAcquireReleaseInfoKHR
Win32KeyedMutexAcquireReleaseInfoKHR :: Vector DeviceMemory -> Vector Word64 -> Vector Word32 -> Vector DeviceMemory -> Vector Word64 -> Win32KeyedMutexAcquireReleaseInfoKHR
-- | pAcquireSyncs is a pointer to an array of DeviceMemory
-- objects which were imported from Direct3D 11 resources.
[$sel:acquireSyncs:Win32KeyedMutexAcquireReleaseInfoKHR] :: Win32KeyedMutexAcquireReleaseInfoKHR -> Vector DeviceMemory
-- | pAcquireKeys is a pointer to an array of mutex key values to
-- wait for prior to beginning the submitted work. Entries refer to the
-- keyed mutex associated with the corresponding entries in
-- pAcquireSyncs.
[$sel:acquireKeys:Win32KeyedMutexAcquireReleaseInfoKHR] :: Win32KeyedMutexAcquireReleaseInfoKHR -> Vector Word64
-- | pAcquireTimeouts is a pointer to an array of timeout values,
-- in millisecond units, for each acquire specified in
-- pAcquireKeys.
[$sel:acquireTimeouts:Win32KeyedMutexAcquireReleaseInfoKHR] :: Win32KeyedMutexAcquireReleaseInfoKHR -> Vector Word32
-- | pReleaseSyncs is a pointer to an array of DeviceMemory
-- objects which were imported from Direct3D 11 resources.
[$sel:releaseSyncs:Win32KeyedMutexAcquireReleaseInfoKHR] :: Win32KeyedMutexAcquireReleaseInfoKHR -> Vector DeviceMemory
-- | pReleaseKeys is a pointer to an array of mutex key values to
-- set when the submitted work has completed. Entries refer to the keyed
-- mutex associated with the corresponding entries in
-- pReleaseSyncs.
[$sel:releaseKeys:Win32KeyedMutexAcquireReleaseInfoKHR] :: Win32KeyedMutexAcquireReleaseInfoKHR -> Vector Word64
type KHR_WIN32_KEYED_MUTEX_SPEC_VERSION = 1
pattern KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: forall a. Integral a => a
type KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME = "VK_KHR_win32_keyed_mutex"
pattern KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_win32_keyed_mutex.Win32KeyedMutexAcquireReleaseInfoKHR
-- | Name
--
-- VK_KHR_pipeline_library - device extension
--
-- VK_KHR_pipeline_library
--
--
-- - Name String VK_KHR_pipeline_library
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 291
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-01-08
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- See contributors to
-- VK_KHR_ray_tracing_pipeline
--
--
-- Description
--
-- A pipeline library is a special pipeline that cannot be bound, instead
-- it defines a set of shaders and shader groups which can be linked into
-- other pipelines. This extension defines the infrastructure for
-- pipeline libraries, but does not specify the creation or usage of
-- pipeline libraries. This is left to additional dependent extensions.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-01-08 (Christoph Kubisch)
--
--
-- See Also
--
-- PipelineLibraryCreateInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_pipeline_library
-- | VkPipelineLibraryCreateInfoKHR - Structure specifying pipeline
-- libraries to use when creating a pipeline
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - If libraryCount is not 0, pLibraries
-- must be a valid pointer to an array of libraryCount
-- valid Pipeline handles
--
--
-- See Also
--
-- VK_KHR_pipeline_library, Pipeline,
-- RayTracingPipelineCreateInfoKHR, StructureType
data PipelineLibraryCreateInfoKHR
PipelineLibraryCreateInfoKHR :: Vector Pipeline -> PipelineLibraryCreateInfoKHR
-- | pLibraries is a pointer to an array of Pipeline
-- structures specifying pipeline libraries to use when creating a
-- pipeline.
[$sel:libraries:PipelineLibraryCreateInfoKHR] :: PipelineLibraryCreateInfoKHR -> Vector Pipeline
type KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1
pattern KHR_PIPELINE_LIBRARY_SPEC_VERSION :: forall a. Integral a => a
type KHR_PIPELINE_LIBRARY_EXTENSION_NAME = "VK_KHR_pipeline_library"
pattern KHR_PIPELINE_LIBRARY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR
-- | Name
--
-- VK_KHR_pipeline_executable_properties - device extension
--
-- VK_KHR_pipeline_executable_properties
--
--
-- - Name String
-- VK_KHR_pipeline_executable_properties
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 270
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-28
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies;
-- Contributors
- Jason Ekstrand, Intel
- Ian
-- Romanick, Intel
- Kenneth Graunke, Intel
- Baldur
-- Karlsson, Valve
- Jesse Hall, Google
- Jeff Bolz,
-- Nvidia
- Piers Daniel, Nvidia
- Tobias Hector,
-- AMD
- Jan-Harald Fredriksen, ARM
- Tom Olson,
-- ARM
- Daniel Koch, Nvidia
- Spencer Fricke,
-- Samsung
--
--
-- Description
--
-- When a pipeline is created, its state and shaders are compiled into
-- zero or more device-specific executables, which are used when
-- executing commands against that pipeline. This extension adds a
-- mechanism to query properties and statistics about the different
-- executables produced by the pipeline compilation process. This is
-- intended to be used by debugging and performance tools to allow them
-- to provide more detailed information to the user. Certain compile-time
-- shader statistics provided through this extension may be useful to
-- developers for debugging or performance analysis.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Unions
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What should we call the pieces of the pipeline which are produced
-- by the compilation process and about which you can query properties
-- and statistics?
--
-- RESOLVED: Call them “executables”. The name “binary” was used
-- in early drafts of the extension but it was determined that “pipeline
-- binary” could have a fairly broad meaning (such as a binary serialized
-- form of an entire pipeline) and was too big of a namespace for the
-- very specific needs of this extension.
--
-- Version History
--
--
-- - Revision 1, 2019-05-28 (Jason Ekstrand)
--
--
-- See Also
--
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticFormatKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineExecutableStatisticValueKHR, PipelineInfoKHR,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutablePropertiesKHR,
-- getPipelineExecutableStatisticsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_pipeline_executable_properties
-- | vkGetPipelineExecutablePropertiesKHR - Get the executables associated
-- with a pipeline
--
-- Description
--
-- If pProperties is NULL, then the number of pipeline
-- executables associated with the pipeline is returned in
-- pExecutableCount. Otherwise, pExecutableCount
-- must point to a variable set by the user to the number of
-- elements in the pProperties array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pProperties. If pExecutableCount is less than the
-- number of pipeline executables associated with the pipeline, at most
-- pExecutableCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available properties were returned.
--
-- Valid Usage
--
--
--
--
-- - pipeline member of pPipelineInfo must
-- have been created with device
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pPipelineInfo must be a valid pointer to a valid
-- PipelineInfoKHR structure
-- - pExecutableCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pExecutableCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pExecutableCount PipelineExecutablePropertiesKHR
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Device,
-- PipelineExecutablePropertiesKHR, PipelineInfoKHR
getPipelineExecutablePropertiesKHR :: forall io. MonadIO io => Device -> PipelineInfoKHR -> io (Result, "properties" ::: Vector PipelineExecutablePropertiesKHR)
-- | vkGetPipelineExecutableStatisticsKHR - Get compile time statistics
-- associated with a pipeline executable
--
-- Description
--
-- If pStatistics is NULL, then the number of
-- statistics associated with the pipeline executable is returned in
-- pStatisticCount. Otherwise, pStatisticCount
-- must point to a variable set by the user to the number of
-- elements in the pStatistics array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pStatistics. If pStatisticCount is less than the
-- number of statistics associated with the pipeline executable, at most
-- pStatisticCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available statistics were returned.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pExecutableInfo must be a valid pointer to a valid
-- PipelineExecutableInfoKHR structure
-- - pStatisticCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pStatisticCount is not
-- 0, and pStatistics is not NULL,
-- pStatistics must be a valid pointer to an array of
-- pStatisticCount PipelineExecutableStatisticKHR
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Device,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableStatisticKHR
getPipelineExecutableStatisticsKHR :: forall io. MonadIO io => Device -> PipelineExecutableInfoKHR -> io (Result, "statistics" ::: Vector PipelineExecutableStatisticKHR)
-- | vkGetPipelineExecutableInternalRepresentationsKHR - Get internal
-- representations of the pipeline executable
--
-- Description
--
-- If pInternalRepresentations is NULL, then the number
-- of internal representations associated with the pipeline executable is
-- returned in pInternalRepresentationCount. Otherwise,
-- pInternalRepresentationCount must point to a variable
-- set by the user to the number of elements in the
-- pInternalRepresentations array, and on return the variable is
-- overwritten with the number of structures actually written to
-- pInternalRepresentations. If
-- pInternalRepresentationCount is less than the number of
-- internal representations associated with the pipeline executable, at
-- most pInternalRepresentationCount structures will be written,
-- and INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available representations were returned.
--
-- While the details of the internal representations remain
-- implementation-dependent, the implementation should order the
-- internal representations in the order in which they occur in the
-- compiled pipeline with the final shader assembly (if any) last.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pExecutableInfo must be a valid pointer to a valid
-- PipelineExecutableInfoKHR structure
-- - pInternalRepresentationCount must be a valid
-- pointer to a uint32_t value
-- - If the value referenced by pInternalRepresentationCount
-- is not 0, and pInternalRepresentations is not
-- NULL, pInternalRepresentations must be a
-- valid pointer to an array of pInternalRepresentationCount
-- PipelineExecutableInternalRepresentationKHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Device,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR
getPipelineExecutableInternalRepresentationsKHR :: forall io. MonadIO io => Device -> PipelineExecutableInfoKHR -> io (Result, "internalRepresentations" ::: Vector PipelineExecutableInternalRepresentationKHR)
-- | VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR - Structure
-- describing whether pipeline executable properties are available
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
-- can also be used in the pNext chain of
-- DeviceCreateInfo to selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Bool32,
-- StructureType
data PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: Bool -> PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
-- | pipelineExecutableInfo indicates that the implementation
-- supports reporting properties and statistics about the pipeline
-- executables associated with a compiled pipeline.
[$sel:pipelineExecutableInfo:PhysicalDevicePipelineExecutablePropertiesFeaturesKHR] :: PhysicalDevicePipelineExecutablePropertiesFeaturesKHR -> Bool
-- | VkPipelineInfoKHR - Structure describing a pipeline
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Pipeline,
-- StructureType, getPipelineExecutablePropertiesKHR
data PipelineInfoKHR
PipelineInfoKHR :: Pipeline -> PipelineInfoKHR
-- | pipeline is a Pipeline handle.
--
-- pipeline must be a valid Pipeline handle
[$sel:pipeline:PipelineInfoKHR] :: PipelineInfoKHR -> Pipeline
-- | VkPipelineExecutablePropertiesKHR - Structure describing a pipeline
-- executable
--
-- Description
--
-- Not all implementations have a 1:1 mapping between shader stages and
-- pipeline executables and some implementations may reduce a
-- given shader stage to fixed function hardware programming such that no
-- pipeline executable is available. No guarantees are provided about the
-- mapping between shader stages and pipeline executables and
-- stages should be considered a best effort hint.
-- Because the application cannot rely on the stages
-- field to provide an exact description, name and
-- description provide a human readable name and description
-- which more accurately describes the given pipeline executable.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, ShaderStageFlags,
-- StructureType, getPipelineExecutablePropertiesKHR
data PipelineExecutablePropertiesKHR
PipelineExecutablePropertiesKHR :: ShaderStageFlags -> ByteString -> ByteString -> Word32 -> PipelineExecutablePropertiesKHR
-- | stages is a bitmask of zero or more
-- ShaderStageFlagBits indicating which shader stages (if any)
-- were principally used as inputs to compile this pipeline executable.
[$sel:stages:PipelineExecutablePropertiesKHR] :: PipelineExecutablePropertiesKHR -> ShaderStageFlags
-- | name is an array of MAX_DESCRIPTION_SIZE char
-- containing a null-terminated UTF-8 string which is a short human
-- readable name for this pipeline executable.
[$sel:name:PipelineExecutablePropertiesKHR] :: PipelineExecutablePropertiesKHR -> ByteString
-- | description is an array of MAX_DESCRIPTION_SIZE
-- char containing a null-terminated UTF-8 string which is a
-- human readable description for this pipeline executable.
[$sel:description:PipelineExecutablePropertiesKHR] :: PipelineExecutablePropertiesKHR -> ByteString
-- | subgroupSize is the subgroup size with which this pipeline
-- executable is dispatched.
[$sel:subgroupSize:PipelineExecutablePropertiesKHR] :: PipelineExecutablePropertiesKHR -> Word32
-- | VkPipelineExecutableInfoKHR - Structure describing a pipeline
-- executable to query for associated statistics or internal
-- representations
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Pipeline,
-- StructureType,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutableStatisticsKHR
data PipelineExecutableInfoKHR
PipelineExecutableInfoKHR :: Pipeline -> Word32 -> PipelineExecutableInfoKHR
-- | pipeline is the pipeline to query.
--
-- pipeline must be a valid Pipeline handle
[$sel:pipeline:PipelineExecutableInfoKHR] :: PipelineExecutableInfoKHR -> Pipeline
-- | executableIndex is the index of the pipeline executable to
-- query in the array of executable properties returned by
-- getPipelineExecutablePropertiesKHR.
--
-- executableIndex must be less than the number of
-- pipeline executables associated with pipeline as returned in
-- the pExecutableCount parameter of
-- getPipelineExecutablePropertiesKHR
[$sel:executableIndex:PipelineExecutableInfoKHR] :: PipelineExecutableInfoKHR -> Word32
-- | VkPipelineExecutableStatisticKHR - Structure describing a compile-time
-- pipeline executable statistic
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties,
-- PipelineExecutableStatisticFormatKHR,
-- PipelineExecutableStatisticValueKHR, StructureType,
-- getPipelineExecutableStatisticsKHR
data PipelineExecutableStatisticKHR
PipelineExecutableStatisticKHR :: ByteString -> ByteString -> PipelineExecutableStatisticFormatKHR -> PipelineExecutableStatisticValueKHR -> PipelineExecutableStatisticKHR
-- | name is an array of MAX_DESCRIPTION_SIZE char
-- containing a null-terminated UTF-8 string which is a short human
-- readable name for this statistic.
[$sel:name:PipelineExecutableStatisticKHR] :: PipelineExecutableStatisticKHR -> ByteString
-- | description is an array of MAX_DESCRIPTION_SIZE
-- char containing a null-terminated UTF-8 string which is a
-- human readable description for this statistic.
[$sel:description:PipelineExecutableStatisticKHR] :: PipelineExecutableStatisticKHR -> ByteString
-- | format is a PipelineExecutableStatisticFormatKHR value
-- specifying the format of the data found in value.
[$sel:format:PipelineExecutableStatisticKHR] :: PipelineExecutableStatisticKHR -> PipelineExecutableStatisticFormatKHR
-- | value is the value of this statistic.
[$sel:value:PipelineExecutableStatisticKHR] :: PipelineExecutableStatisticKHR -> PipelineExecutableStatisticValueKHR
-- | VkPipelineExecutableInternalRepresentationKHR - Structure describing
-- the textual form of a pipeline executable internal representation
--
-- Description
--
-- If pData is NULL, then the size, in bytes, of the
-- internal representation data is returned in dataSize.
-- Otherwise, dataSize must be the size of the buffer, in bytes,
-- pointed to by pData and on return dataSize is
-- overwritten with the number of bytes of data actually written to
-- pData including any trailing null character. If
-- dataSize is less than the size, in bytes, of the internal
-- representation’s data, at most dataSize bytes of data will be
-- written to pData, and INCOMPLETE will be returned
-- instead of SUCCESS, to indicate that not all the available
-- representation was returned.
--
-- If isText is TRUE and pData is not
-- NULL and dataSize is not zero, the last byte written
-- to pData will be a null character.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties, Bool32,
-- StructureType,
-- getPipelineExecutableInternalRepresentationsKHR
data PipelineExecutableInternalRepresentationKHR
PipelineExecutableInternalRepresentationKHR :: ByteString -> ByteString -> Bool -> Word64 -> Ptr () -> PipelineExecutableInternalRepresentationKHR
-- | name is an array of MAX_DESCRIPTION_SIZE char
-- containing a null-terminated UTF-8 string which is a short human
-- readable name for this internal representation.
[$sel:name:PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> ByteString
-- | description is an array of MAX_DESCRIPTION_SIZE
-- char containing a null-terminated UTF-8 string which is a
-- human readable description for this internal representation.
[$sel:description:PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> ByteString
-- | isText specifies whether the returned data is text or opaque
-- data. If isText is TRUE then the data returned in
-- pData is text and is guaranteed to be a null-terminated UTF-8
-- string.
[$sel:isText:PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> Bool
-- | dataSize is an integer related to the size, in bytes, of the
-- internal representation’s data, as described below.
[$sel:dataSize:PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> Word64
-- | pData is either NULL or a pointer to a block of data
-- into which the implementation will write the internal representation.
[$sel:data':PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> Ptr ()
data PipelineExecutableStatisticValueKHR
B32 :: Bool -> PipelineExecutableStatisticValueKHR
I64 :: Int64 -> PipelineExecutableStatisticValueKHR
U64 :: Word64 -> PipelineExecutableStatisticValueKHR
F64 :: Double -> PipelineExecutableStatisticValueKHR
peekPipelineExecutableStatisticValueKHR :: PipelineExecutableStatisticFormatKHR -> Ptr PipelineExecutableStatisticValueKHR -> IO PipelineExecutableStatisticValueKHR
-- | VkPipelineExecutableStatisticFormatKHR - Enum describing a pipeline
-- executable statistic
--
-- See Also
--
-- VK_KHR_pipeline_executable_properties,
-- PipelineExecutableStatisticKHR
newtype PipelineExecutableStatisticFormatKHR
PipelineExecutableStatisticFormatKHR :: Int32 -> PipelineExecutableStatisticFormatKHR
-- | PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR specifies that
-- the statistic is returned as a 32-bit boolean value which must
-- be either TRUE or FALSE and should be read from
-- the b32 field of PipelineExecutableStatisticValueKHR.
pattern PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: PipelineExecutableStatisticFormatKHR
-- | PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR specifies that
-- the statistic is returned as a signed 64-bit integer and should
-- be read from the i64 field of
-- PipelineExecutableStatisticValueKHR.
pattern PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: PipelineExecutableStatisticFormatKHR
-- | PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR specifies that
-- the statistic is returned as an unsigned 64-bit integer and
-- should be read from the u64 field of
-- PipelineExecutableStatisticValueKHR.
pattern PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: PipelineExecutableStatisticFormatKHR
-- | PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR specifies that
-- the statistic is returned as a 64-bit floating-point value and
-- should be read from the f64 field of
-- PipelineExecutableStatisticValueKHR.
pattern PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: PipelineExecutableStatisticFormatKHR
type KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1
pattern KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties"
pattern KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutablePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticFormatKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutablePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutablePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutablePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutablePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
-- | Name
--
-- VK_KHR_performance_query - device extension
--
-- VK_KHR_performance_query
--
--
-- - Name String VK_KHR_performance_query
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 117
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-10-08
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jesse Barker, Unity
-- Technologies
- Kenneth Benzie, Codeplay
- Jan-Harald
-- Fredriksen, ARM
- Jeff Leger, Qualcomm
- Jesse Hall,
-- Google
- Tobias Hector, AMD
- Neil Henning,
-- Codeplay
- Baldur Karlsson
- Lionel Landwerlin,
-- Intel
- Peter Lohrmann, AMD
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Niklas Smedberg, Unity
-- Technologies
- Igor Ostrowski, Intel
--
--
-- Description
--
-- The VK_KHR_performance_query extension adds a mechanism to
-- allow querying of performance counters for use in applications and by
-- profiling tools.
--
-- Each queue family may expose counters that can be
-- enabled on a queue of that family. We extend QueryType to add a
-- new query type for performance queries, and chain a structure on
-- QueryPoolCreateInfo to specify the performance queries to
-- enable.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Unions
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this extension include a mechanism to begin a query in
-- command buffer A and end the query in command buffer B?
--
-- RESOLVED No - queries are tied to command buffer creation and
-- thus have to be encapsulated within a single command buffer.
--
-- 2) Should this extension include a mechanism to begin and end queries
-- globally on the queue, not using the existing command buffer commands?
--
-- RESOLVED No - for the same reasoning as the resolution of 1).
--
-- 3) Should this extension expose counters that require multiple passes?
--
-- RESOLVED Yes - users should re-submit a command buffer with the
-- same commands in it multiple times, specifying the pass to count as
-- the query parameter in VkPerformanceQuerySubmitInfoKHR.
--
-- 4) How to handle counters across parallel workloads?
--
-- RESOLVED In the spirit of Vulkan, a counter description flag
-- PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
-- denotes that the accuracy of a counter result is affected by parallel
-- workloads.
--
-- 5) How to handle secondary command buffers?
--
-- RESOLVED Secondary command buffers inherit any counter pass
-- index specified in the parent primary command buffer. Note: this is no
-- longer an issue after change from issue 10 resolution
--
-- 6) What commands does the profiling lock have to be held for?
--
-- RESOLVED For any command buffer that is being queried with a
-- performance query pool, the profiling lock must be held while
-- that command buffer is in the recording, executable, or
-- pending state.
--
-- 7) Should we support cmdCopyQueryPoolResults?
--
-- RESOLVED Yes.
--
-- 8) Should we allow performance queries to interact with multiview?
--
-- RESOLVED Yes, but the performance queries must be performed
-- once for each pass per view.
--
-- 9) Should a queryCount > 1 be usable for performance
-- queries?
--
-- RESOLVED Yes. Some vendors will have costly performance counter
-- query pool creation, and would rather if a certain set of counters
-- were to be used multiple times that a queryCount > 1 can
-- be used to amortize the instantiation cost.
--
-- 10) Should we introduce an indirect mechanism to set the counter pass
-- index?
--
-- RESOLVED Specify the counter pass index at submit time instead,
-- to avoid requiring re-recording of command buffers when multiple
-- counter passes are needed.
--
-- Examples
--
-- The following example shows how to find what performance counters a
-- queue family supports, setup a query pool to record these performance
-- counters, how to add the query pool to the command buffer to record
-- information, and how to get the results from the query pool.
--
--
-- // A previously created physical device
-- VkPhysicalDevice physicalDevice;
--
-- // One of the queue families our device supports
-- uint32_t queueFamilyIndex;
--
-- uint32_t counterCount;
--
-- // Get the count of counters supported
-- vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-- physicalDevice,
-- queueFamilyIndex,
-- &counterCount,
-- NULL,
-- NULL);
--
-- VkPerformanceCounterKHR* counters =
-- malloc(sizeof(VkPerformanceCounterKHR) * counterCount);
-- VkPerformanceCounterDescriptionKHR* counterDescriptions =
-- malloc(sizeof(VkPerformanceCounterDescriptionKHR) * counterCount);
--
-- // Get the counters supported
-- vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
-- physicalDevice,
-- queueFamilyIndex,
-- &counterCount,
-- counters,
-- counterDescriptions);
--
-- // Try to enable the first 8 counters
-- uint32_t enabledCounters[8];
--
-- const uint32_t enabledCounterCount = min(counterCount, 8));
--
-- for (uint32_t i = 0; i < enabledCounterCount; i++) {
-- enabledCounters[i] = i;
-- }
--
-- // A previously created device that had the performanceCounterQueryPools feature
-- // set to VK_TRUE
-- VkDevice device;
--
-- VkQueryPoolPerformanceCreateInfoKHR performanceQueryCreateInfo = {
-- VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
-- NULL,
--
-- // Specify the queue family that this performance query is performed on
-- queueFamilyIndex,
--
-- // The number of counters to enable
-- enabledCounterCount,
--
-- // The array of indices of counters to enable
-- enabledCounters
-- };
--
--
-- // Get the number of passes our counters will require.
-- uint32_t numPasses;
--
-- vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
-- physicalDevice,
-- &performanceQueryCreateInfo,
-- &numPasses);
--
-- VkQueryPoolCreateInfo queryPoolCreateInfo = {
-- VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
-- &performanceQueryCreateInfo,
-- 0,
--
-- // Using our new query type here
-- VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
--
-- 1,
--
-- 0
-- };
--
-- VkQueryPool queryPool;
--
-- VkResult result = vkCreateQueryPool(
-- device,
-- &queryPoolCreateInfo,
-- NULL,
-- &queryPool);
--
-- assert(VK_SUCCESS == result);
--
-- // A queue from queueFamilyIndex
-- VkQueue queue;
--
-- // A command buffer we want to record counters on
-- VkCommandBuffer commandBuffer;
--
-- VkCommandBufferBeginInfo commandBufferBeginInfo = {
-- VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
-- NULL,
-- 0,
-- NULL
-- };
--
-- VkAcquireProfilingLockInfoKHR lockInfo = {
-- VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
-- NULL,
-- 0,
-- UINT64_MAX // Wait forever for the lock
-- };
--
-- // Acquire the profiling lock before we record command buffers
-- // that will use performance queries
--
-- result = vkAcquireProfilingLockKHR(device, &lockInfo);
--
-- assert(VK_SUCCESS == result);
--
-- result = vkBeginCommandBuffer(commandBuffer, &commandBufferBeginInfo);
--
-- assert(VK_SUCCESS == result);
--
-- vkCmdResetQueryPool(
-- commandBuffer,
-- queryPool,
-- 0,
-- 1);
--
-- vkCmdBeginQuery(
-- commandBuffer,
-- queryPool,
-- 0,
-- 0);
--
-- // Perform the commands you want to get performance information on
-- // ...
--
-- // Perform a barrier to ensure all previous commands were complete before
-- // ending the query
-- vkCmdPipelineBarrier(commandBuffer,
-- VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
-- VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
-- 0,
-- 0,
-- NULL,
-- 0,
-- NULL,
-- 0,
-- NULL);
--
-- vkCmdEndQuery(
-- commandBuffer,
-- queryPool,
-- 0);
--
-- result = vkEndCommandBuffer(commandBuffer);
--
-- assert(VK_SUCCESS == result);
--
-- for (uint32_t counterPass = 0; counterPass < numPasses; counterPass++) {
--
-- VkPerformanceQuerySubmitInfoKHR performanceQuerySubmitInfo = {
-- VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
-- NULL,
-- counterPass
-- };
--
--
-- // Submit the command buffer and wait for its completion
-- // ...
-- }
--
-- // Release the profiling lock after the command buffer is no longer in the
-- // pending state.
-- vkReleaseProfilingLockKHR(device);
--
-- result = vkResetCommandBuffer(commandBuffer, 0);
--
-- assert(VK_SUCCESS == result);
--
-- // Create an array to hold the results of all counters
-- VkPerformanceCounterResultKHR* recordedCounters = malloc(
-- sizeof(VkPerformanceCounterResultKHR) * enabledCounterCount);
--
-- result = vkGetQueryPoolResults(
-- device,
-- queryPool,
-- 0,
-- 1,
-- sizeof(VkPerformanceCounterResultKHR) * enabledCounterCount,
-- recordedCounters,
-- sizeof(VkPerformanceCounterResultKHR),
-- NULL);
--
-- // recordedCounters is filled with our counters, we will look at one for posterity
-- switch (counters[0].storage) {
-- case VK_PERFORMANCE_COUNTER_STORAGE_INT32:
-- // use recordCounters[0].int32 to get at the counter result!
-- break;
-- case VK_PERFORMANCE_COUNTER_STORAGE_INT64:
-- // use recordCounters[0].int64 to get at the counter result!
-- break;
-- case VK_PERFORMANCE_COUNTER_STORAGE_UINT32:
-- // use recordCounters[0].uint32 to get at the counter result!
-- break;
-- case VK_PERFORMANCE_COUNTER_STORAGE_UINT64:
-- // use recordCounters[0].uint64 to get at the counter result!
-- break;
-- case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32:
-- // use recordCounters[0].float32 to get at the counter result!
-- break;
-- case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64:
-- // use recordCounters[0].float64 to get at the counter result!
-- break;
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2019-10-08
--
--
-- See Also
--
-- AcquireProfilingLockFlagBitsKHR,
-- AcquireProfilingLockFlagsKHR,
-- AcquireProfilingLockInfoKHR,
-- PerformanceCounterDescriptionFlagBitsKHR,
-- PerformanceCounterDescriptionFlagsKHR,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceCounterResultKHR, PerformanceCounterScopeKHR,
-- PerformanceCounterStorageKHR, PerformanceCounterUnitKHR,
-- PerformanceQuerySubmitInfoKHR,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- QueryPoolPerformanceCreateInfoKHR,
-- acquireProfilingLockKHR,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
-- getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,
-- releaseProfilingLockKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_performance_query
-- | vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR -
-- Reports properties of the performance query counters available on a
-- queue family of a device
--
-- Description
--
-- If pCounters is NULL and
-- pCounterDescriptions is NULL, then the number of
-- counters available is returned in pCounterCount. Otherwise,
-- pCounterCount must point to a variable set by the user
-- to the number of elements in the pCounters,
-- pCounterDescriptions, or both arrays and on return the
-- variable is overwritten with the number of structures actually written
-- out. If pCounterCount is less than the number of counters
-- available, at most pCounterCount structures will be written,
-- and INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available counters were returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCounterCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pCounterCount is not
-- 0, and pCounters is not NULL,
-- pCounters must be a valid pointer to an array of
-- pCounterCount PerformanceCounterKHR structures
-- - If the value referenced by pCounterCount is not
-- 0, and pCounterDescriptions is not NULL,
-- pCounterDescriptions must be a valid pointer to an
-- array of pCounterCount
-- PerformanceCounterDescriptionKHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_performance_query,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PhysicalDevice
enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> io (Result, "counters" ::: Vector PerformanceCounterKHR, "counterDescriptions" ::: Vector PerformanceCounterDescriptionKHR)
-- | vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR - Reports the
-- number of passes require for a performance query pool type
--
-- Description
--
-- The pPerformanceQueryCreateInfo member
-- QueryPoolPerformanceCreateInfoKHR::queueFamilyIndex
-- must be a queue family of physicalDevice. The number
-- of passes required to capture the counters specified in the
-- pPerformanceQueryCreateInfo member
-- QueryPoolPerformanceCreateInfoKHR::pCounters is
-- returned in pNumPasses.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query, PhysicalDevice,
-- QueryPoolPerformanceCreateInfoKHR
getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: forall io. MonadIO io => PhysicalDevice -> ("performanceQueryCreateInfo" ::: QueryPoolPerformanceCreateInfoKHR) -> io ("numPasses" ::: Word32)
-- | vkAcquireProfilingLockKHR - Acquires the profiling lock
--
-- Description
--
-- Implementations may allow multiple actors to hold the profiling
-- lock concurrently.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_performance_query, AcquireProfilingLockInfoKHR,
-- Device
acquireProfilingLockKHR :: forall io. MonadIO io => Device -> AcquireProfilingLockInfoKHR -> io ()
-- | vkReleaseProfilingLockKHR - Releases the profiling lock
--
-- Valid Usage
--
--
-- - The profiling lock of device must have been held
-- via a previous successful call to acquireProfilingLockKHR
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
-- See Also
--
-- VK_KHR_performance_query, Device
releaseProfilingLockKHR :: forall io. MonadIO io => Device -> io ()
pattern QUERY_SCOPE_COMMAND_BUFFER_KHR :: PerformanceCounterScopeKHR
pattern QUERY_SCOPE_RENDER_PASS_KHR :: PerformanceCounterScopeKHR
pattern QUERY_SCOPE_COMMAND_KHR :: PerformanceCounterScopeKHR
pattern PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR :: PerformanceCounterDescriptionFlagBitsKHR
pattern PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR :: PerformanceCounterDescriptionFlagBitsKHR
-- | VkPhysicalDevicePerformanceQueryFeaturesKHR - Structure describing
-- performance query support for an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDevicePerformanceQueryFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePerformanceQueryFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query, Bool32, StructureType
data PhysicalDevicePerformanceQueryFeaturesKHR
PhysicalDevicePerformanceQueryFeaturesKHR :: Bool -> Bool -> PhysicalDevicePerformanceQueryFeaturesKHR
-- | performanceCounterQueryPools indicates whether the
-- implementation supports performance counter query pools.
[$sel:performanceCounterQueryPools:PhysicalDevicePerformanceQueryFeaturesKHR] :: PhysicalDevicePerformanceQueryFeaturesKHR -> Bool
-- | performanceCounterMultipleQueryPools indicates whether the
-- implementation supports using multiple performance query pools in a
-- primary command buffer and secondary command buffers executed within
-- it.
[$sel:performanceCounterMultipleQueryPools:PhysicalDevicePerformanceQueryFeaturesKHR] :: PhysicalDevicePerformanceQueryFeaturesKHR -> Bool
-- | VkPhysicalDevicePerformanceQueryPropertiesKHR - Structure describing
-- performance query properties for an implementation
--
-- Description
--
-- If the PhysicalDevicePerformanceQueryPropertiesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query, Bool32, StructureType
data PhysicalDevicePerformanceQueryPropertiesKHR
PhysicalDevicePerformanceQueryPropertiesKHR :: Bool -> PhysicalDevicePerformanceQueryPropertiesKHR
-- | allowCommandBufferQueryCopies is TRUE if the
-- performance query pools are allowed to be used with
-- cmdCopyQueryPoolResults.
[$sel:allowCommandBufferQueryCopies:PhysicalDevicePerformanceQueryPropertiesKHR] :: PhysicalDevicePerformanceQueryPropertiesKHR -> Bool
-- | VkPerformanceCounterKHR - Structure providing information about a
-- counter
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query, PerformanceCounterScopeKHR,
-- PerformanceCounterStorageKHR, PerformanceCounterUnitKHR,
-- StructureType,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
data PerformanceCounterKHR
PerformanceCounterKHR :: PerformanceCounterUnitKHR -> PerformanceCounterScopeKHR -> PerformanceCounterStorageKHR -> ByteString -> PerformanceCounterKHR
-- | unit is a PerformanceCounterUnitKHR specifying the
-- unit that the counter data will record.
[$sel:unit:PerformanceCounterKHR] :: PerformanceCounterKHR -> PerformanceCounterUnitKHR
-- | scope is a PerformanceCounterScopeKHR specifying the
-- scope that the counter belongs to.
[$sel:scope:PerformanceCounterKHR] :: PerformanceCounterKHR -> PerformanceCounterScopeKHR
-- | storage is a PerformanceCounterStorageKHR specifying
-- the storage type that the counter’s data uses.
[$sel:storage:PerformanceCounterKHR] :: PerformanceCounterKHR -> PerformanceCounterStorageKHR
-- | uuid is an array of size UUID_SIZE, containing 8-bit
-- values that represent a universally unique identifier for the counter
-- of the physical device.
[$sel:uuid:PerformanceCounterKHR] :: PerformanceCounterKHR -> ByteString
-- | VkPerformanceCounterDescriptionKHR - Structure providing more detailed
-- information about a counter
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query,
-- PerformanceCounterDescriptionFlagsKHR, StructureType,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
data PerformanceCounterDescriptionKHR
PerformanceCounterDescriptionKHR :: PerformanceCounterDescriptionFlagsKHR -> ByteString -> ByteString -> ByteString -> PerformanceCounterDescriptionKHR
-- | flags is a bitmask of
-- PerformanceCounterDescriptionFlagBitsKHR indicating the usage
-- behavior for the counter.
[$sel:flags:PerformanceCounterDescriptionKHR] :: PerformanceCounterDescriptionKHR -> PerformanceCounterDescriptionFlagsKHR
-- | name is an array of size MAX_DESCRIPTION_SIZE,
-- containing a null-terminated UTF-8 string specifying the name of the
-- counter.
[$sel:name:PerformanceCounterDescriptionKHR] :: PerformanceCounterDescriptionKHR -> ByteString
-- | category is an array of size MAX_DESCRIPTION_SIZE,
-- containing a null-terminated UTF-8 string specifying the category of
-- the counter.
[$sel:category:PerformanceCounterDescriptionKHR] :: PerformanceCounterDescriptionKHR -> ByteString
-- | description is an array of size MAX_DESCRIPTION_SIZE,
-- containing a null-terminated UTF-8 string specifying the description
-- of the counter.
[$sel:description:PerformanceCounterDescriptionKHR] :: PerformanceCounterDescriptionKHR -> ByteString
-- | VkQueryPoolPerformanceCreateInfoKHR - Structure specifying parameters
-- of a newly created performance query pool
--
-- Valid Usage
--
--
-- - queueFamilyIndex must be a valid queue family
-- index of the device
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCounterIndices must be a valid pointer to an
-- array of counterIndexCount uint32_t values
-- - counterIndexCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_KHR_performance_query, StructureType,
-- getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
data QueryPoolPerformanceCreateInfoKHR
QueryPoolPerformanceCreateInfoKHR :: Word32 -> Vector Word32 -> QueryPoolPerformanceCreateInfoKHR
-- | queueFamilyIndex is the queue family index to create this
-- performance query pool for.
[$sel:queueFamilyIndex:QueryPoolPerformanceCreateInfoKHR] :: QueryPoolPerformanceCreateInfoKHR -> Word32
-- | pCounterIndices is a pointer to an array of indices into the
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR::pCounters
-- to enable in this performance query pool.
[$sel:counterIndices:QueryPoolPerformanceCreateInfoKHR] :: QueryPoolPerformanceCreateInfoKHR -> Vector Word32
-- | VkAcquireProfilingLockInfoKHR - Structure specifying parameters to
-- acquire the profiling lock
--
-- Valid Usage (Implicit)
--
-- If timeout is 0, acquireProfilingLockKHR will not
-- block while attempting to acquire the profling lock. If
-- timeout is UINT64_MAX, the function will not return
-- until the profiling lock was acquired.
--
-- See Also
--
-- VK_KHR_performance_query, AcquireProfilingLockFlagsKHR,
-- StructureType, acquireProfilingLockKHR
data AcquireProfilingLockInfoKHR
AcquireProfilingLockInfoKHR :: AcquireProfilingLockFlagsKHR -> Word64 -> AcquireProfilingLockInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:AcquireProfilingLockInfoKHR] :: AcquireProfilingLockInfoKHR -> AcquireProfilingLockFlagsKHR
-- | timeout indicates how long the function waits, in
-- nanoseconds, if the profiling lock is not available.
[$sel:timeout:AcquireProfilingLockInfoKHR] :: AcquireProfilingLockInfoKHR -> Word64
-- | VkPerformanceQuerySubmitInfoKHR - Structure indicating which counter
-- pass index is active for performance queries
--
-- Description
--
-- If the SubmitInfo::pNext chain does not include this
-- structure, the batch defaults to use counter pass index 0.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_performance_query, StructureType
data PerformanceQuerySubmitInfoKHR
PerformanceQuerySubmitInfoKHR :: Word32 -> PerformanceQuerySubmitInfoKHR
-- | counterPassIndex specifies which counter pass index is
-- active.
--
-- counterPassIndex must be less than the number of
-- counter passes required by any queries within the batch. The required
-- number of counter passes for a performance query is obtained by
-- calling getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
[$sel:counterPassIndex:PerformanceQuerySubmitInfoKHR] :: PerformanceQuerySubmitInfoKHR -> Word32
data PerformanceCounterResultKHR
Int32Counter :: Int32 -> PerformanceCounterResultKHR
Int64Counter :: Int64 -> PerformanceCounterResultKHR
Uint32Counter :: Word32 -> PerformanceCounterResultKHR
Uint64Counter :: Word64 -> PerformanceCounterResultKHR
Float32Counter :: Float -> PerformanceCounterResultKHR
Float64Counter :: Double -> PerformanceCounterResultKHR
-- | VkPerformanceCounterScopeKHR - Supported counter scope types
--
-- See Also
--
-- VK_KHR_performance_query, PerformanceCounterKHR
newtype PerformanceCounterScopeKHR
PerformanceCounterScopeKHR :: Int32 -> PerformanceCounterScopeKHR
-- | PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR - the performance
-- counter scope is a single complete command buffer.
pattern PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR :: PerformanceCounterScopeKHR
-- | PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR - the performance
-- counter scope is zero or more complete render passes. The performance
-- query containing the performance counter must begin and end
-- outside a render pass instance.
pattern PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR :: PerformanceCounterScopeKHR
-- | PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR - the performance counter
-- scope is zero or more commands.
pattern PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR :: PerformanceCounterScopeKHR
-- | VkPerformanceCounterUnitKHR - Supported counter unit types
--
-- See Also
--
-- VK_KHR_performance_query, PerformanceCounterKHR
newtype PerformanceCounterUnitKHR
PerformanceCounterUnitKHR :: Int32 -> PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_GENERIC_KHR - the performance counter
-- unit is a generic data point.
pattern PERFORMANCE_COUNTER_UNIT_GENERIC_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR - the performance
-- counter unit is a percentage (%).
pattern PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR - the performance
-- counter unit is a value of nanoseconds (ns).
pattern PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_BYTES_KHR - the performance counter
-- unit is a value of bytes.
pattern PERFORMANCE_COUNTER_UNIT_BYTES_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR - the performance
-- counter unit is a value of bytes/s.
pattern PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_KELVIN_KHR - the performance counter
-- unit is a temperature reported in Kelvin.
pattern PERFORMANCE_COUNTER_UNIT_KELVIN_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_WATTS_KHR - the performance counter
-- unit is a value of watts (W).
pattern PERFORMANCE_COUNTER_UNIT_WATTS_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_VOLTS_KHR - the performance counter
-- unit is a value of volts (V).
pattern PERFORMANCE_COUNTER_UNIT_VOLTS_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_AMPS_KHR - the performance counter
-- unit is a value of amps (A).
pattern PERFORMANCE_COUNTER_UNIT_AMPS_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_HERTZ_KHR - the performance counter
-- unit is a value of hertz (Hz).
pattern PERFORMANCE_COUNTER_UNIT_HERTZ_KHR :: PerformanceCounterUnitKHR
-- | PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - the performance counter
-- unit is a value of cycles.
pattern PERFORMANCE_COUNTER_UNIT_CYCLES_KHR :: PerformanceCounterUnitKHR
-- | VkPerformanceCounterStorageKHR - Supported counter storage types
--
-- See Also
--
-- VK_KHR_performance_query, PerformanceCounterKHR
newtype PerformanceCounterStorageKHR
PerformanceCounterStorageKHR :: Int32 -> PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_INT32_KHR - the performance counter
-- storage is a 32-bit signed integer.
pattern PERFORMANCE_COUNTER_STORAGE_INT32_KHR :: PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_INT64_KHR - the performance counter
-- storage is a 64-bit signed integer.
pattern PERFORMANCE_COUNTER_STORAGE_INT64_KHR :: PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_UINT32_KHR - the performance
-- counter storage is a 32-bit unsigned integer.
pattern PERFORMANCE_COUNTER_STORAGE_UINT32_KHR :: PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_UINT64_KHR - the performance
-- counter storage is a 64-bit unsigned integer.
pattern PERFORMANCE_COUNTER_STORAGE_UINT64_KHR :: PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR - the performance
-- counter storage is a 32-bit floating-point.
pattern PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR :: PerformanceCounterStorageKHR
-- | PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - the performance
-- counter storage is a 64-bit floating-point.
pattern PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR :: PerformanceCounterStorageKHR
type PerformanceCounterDescriptionFlagsKHR = PerformanceCounterDescriptionFlagBitsKHR
-- | VkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage
-- behavior for a counter
--
-- See Also
--
-- VK_KHR_performance_query,
-- PerformanceCounterDescriptionFlagsKHR
newtype PerformanceCounterDescriptionFlagBitsKHR
PerformanceCounterDescriptionFlagBitsKHR :: Flags -> PerformanceCounterDescriptionFlagBitsKHR
-- | PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR
-- specifies that recording the counter may have a noticeable
-- performance impact.
pattern PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR :: PerformanceCounterDescriptionFlagBitsKHR
-- | PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
-- specifies that concurrently recording the counter while other
-- submitted command buffers are running may impact the accuracy
-- of the recording.
pattern PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR :: PerformanceCounterDescriptionFlagBitsKHR
type AcquireProfilingLockFlagsKHR = AcquireProfilingLockFlagBitsKHR
-- | VkAcquireProfilingLockFlagBitsKHR - Reserved for future use
--
-- See Also
--
-- VK_KHR_performance_query, AcquireProfilingLockFlagsKHR
newtype AcquireProfilingLockFlagBitsKHR
AcquireProfilingLockFlagBitsKHR :: Flags -> AcquireProfilingLockFlagBitsKHR
type KHR_PERFORMANCE_QUERY_SPEC_VERSION = 1
pattern KHR_PERFORMANCE_QUERY_SPEC_VERSION :: forall a. Integral a => a
type KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query"
pattern KHR_PERFORMANCE_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterStorageKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterUnitKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterScopeKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR
-- | Name
--
-- VK_KHR_external_semaphore_fd - device extension
--
-- VK_KHR_external_semaphore_fd
--
--
-- - Name String
-- VK_KHR_external_semaphore_fd
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 80
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_semaphore
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Carsten Rohde, NVIDIA
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using semaphores. This extension enables an application to
-- export semaphore payload to and import semaphore payload from POSIX
-- file descriptors.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does the application need to close the file descriptor returned by
-- getSemaphoreFdKHR?
--
-- RESOLVED: Yes, unless it is passed back in to a driver instance
-- to import the semaphore. A successful get call transfers ownership of
-- the file descriptor to the application, and a successful import
-- transfers it back to the driver. Destroying the original semaphore
-- object will not close the file descriptor or remove its reference to
-- the underlying semaphore resource associated with it.
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (Jesse Hall)
--
--
-- See Also
--
-- ImportSemaphoreFdInfoKHR, SemaphoreGetFdInfoKHR,
-- getSemaphoreFdKHR, importSemaphoreFdKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_semaphore_fd
-- | vkGetSemaphoreFdKHR - Get a POSIX file descriptor handle for a
-- semaphore
--
-- Description
--
-- Each call to getSemaphoreFdKHR must create a new file
-- descriptor and transfer ownership of it to the application. To avoid
-- leaking resources, the application must release ownership of
-- the file descriptor when it is no longer needed.
--
-- Note
--
-- Ownership can be released in many ways. For example, the application
-- can call close() on the file descriptor, or transfer
-- ownership back to Vulkan by using the file descriptor to import a
-- semaphore payload.
--
-- Where supported by the operating system, the implementation
-- must set the file descriptor to be closed automatically when an
-- execve system call is made.
--
-- Exporting a file descriptor from a semaphore may have side
-- effects depending on the transference of the specified handle type, as
-- described in Importing Semaphore State.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_fd, Device,
-- SemaphoreGetFdInfoKHR
getSemaphoreFdKHR :: forall io. MonadIO io => Device -> SemaphoreGetFdInfoKHR -> io ("fd" ::: Int32)
-- | vkImportSemaphoreFdKHR - Import a semaphore from a POSIX file
-- descriptor
--
-- Description
--
-- Importing a semaphore payload from a file descriptor transfers
-- ownership of the file descriptor from the application to the Vulkan
-- implementation. The application must not perform any operations
-- on the file descriptor after a successful import.
--
-- Applications can import the same semaphore payload into
-- multiple instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_fd, Device,
-- ImportSemaphoreFdInfoKHR
importSemaphoreFdKHR :: forall io. MonadIO io => Device -> ImportSemaphoreFdInfoKHR -> io ()
-- | VkImportSemaphoreFdInfoKHR - Structure specifying POSIX file
-- descriptor to import to a semaphore
--
-- Description
--
-- The handle types supported by handleType are:
--
-- TODO: table
--
-- Handle Types Supported by ImportSemaphoreFdInfoKHR
--
-- Valid Usage
--
--
--
--
--
-- If handleType is
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, the special value
-- -1 for fd is treated like a valid sync file
-- descriptor referring to an object that has already signaled. The
-- import operation will succeed and the Semaphore will have a
-- temporarily imported payload as if a valid file descriptor had been
-- provided.
--
-- Note
--
-- This special behavior for importing an invalid sync file descriptor
-- allows easier interoperability with other system APIs which use the
-- convention that an invalid sync file descriptor represents work that
-- has already completed and does not need to be waited for. It is
-- consistent with the option for implementations to return a -1
-- file descriptor when exporting a
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT from a
-- Semaphore which is signaled.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to semaphore must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_external_semaphore_fd,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- SemaphoreImportFlags, StructureType,
-- importSemaphoreFdKHR
data ImportSemaphoreFdInfoKHR
ImportSemaphoreFdInfoKHR :: Semaphore -> SemaphoreImportFlags -> ExternalSemaphoreHandleTypeFlagBits -> Int32 -> ImportSemaphoreFdInfoKHR
-- | semaphore is the semaphore into which the payload will be
-- imported.
[$sel:semaphore:ImportSemaphoreFdInfoKHR] :: ImportSemaphoreFdInfoKHR -> Semaphore
-- | flags is a bitmask of SemaphoreImportFlagBits
-- specifying additional parameters for the semaphore payload import
-- operation.
[$sel:flags:ImportSemaphoreFdInfoKHR] :: ImportSemaphoreFdInfoKHR -> SemaphoreImportFlags
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of fd.
[$sel:handleType:ImportSemaphoreFdInfoKHR] :: ImportSemaphoreFdInfoKHR -> ExternalSemaphoreHandleTypeFlagBits
-- | fd is the external handle to import.
[$sel:fd:ImportSemaphoreFdInfoKHR] :: ImportSemaphoreFdInfoKHR -> Int32
-- | VkSemaphoreGetFdInfoKHR - Structure describing a POSIX FD semaphore
-- export operation
--
-- Description
--
-- The properties of the file descriptor returned depend on the value of
-- handleType. See ExternalSemaphoreHandleTypeFlagBits
-- for a description of the properties of the defined external semaphore
-- handle types.
--
-- Valid Usage
--
--
-- - handleType must have been included in
-- ExportSemaphoreCreateInfo::handleTypes when
-- semaphore’s current payload was created
--
--
--
-- - semaphore must not currently have its payload
-- replaced by an imported payload as described below in Importing
-- Semaphore Payloads unless that imported payload’s handle type was
-- included in
-- ExternalSemaphoreProperties::exportFromImportedHandleTypes
-- for handleType
-- - If handleType refers to a handle type with copy payload
-- transference semantics, as defined below in Importing Semaphore
-- Payloads, there must be no queue waiting on
-- semaphore
-- - If handleType refers to a handle type with copy payload
-- transference semantics, semaphore must be signaled, or
-- have an associated semaphore signal operation pending
-- execution
-- - handleType must be defined as a POSIX file
-- descriptor handle
-- - If handleType refers to a handle type with copy payload
-- transference semantics, semaphore must have been
-- created with a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY
-- - If handleType refers to a handle type with copy payload
-- transference semantics, semaphore must have an
-- associated semaphore signal operation that has been submitted for
-- execution and any semaphore signal operations on which it depends (if
-- any) must have also been submitted for execution
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_fd,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- StructureType, getSemaphoreFdKHR
data SemaphoreGetFdInfoKHR
SemaphoreGetFdInfoKHR :: Semaphore -> ExternalSemaphoreHandleTypeFlagBits -> SemaphoreGetFdInfoKHR
-- | semaphore is the semaphore from which state will be exported.
[$sel:semaphore:SemaphoreGetFdInfoKHR] :: SemaphoreGetFdInfoKHR -> Semaphore
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of handle requested.
[$sel:handleType:SemaphoreGetFdInfoKHR] :: SemaphoreGetFdInfoKHR -> ExternalSemaphoreHandleTypeFlagBits
type KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1
pattern KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd"
pattern KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_fd.SemaphoreGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR
-- | Name
--
-- VK_KHR_external_memory_fd - device extension
--
-- VK_KHR_external_memory_fd
--
--
-- - Name String VK_KHR_external_memory_fd
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 75
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Jeff Juliano, NVIDIA
--
--
-- Description
--
-- An application may wish to reference device memory in multiple Vulkan
-- logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension enables an application to export POSIX
-- file descriptor handles from Vulkan memory objects and to import
-- Vulkan memory objects from POSIX file descriptor handles exported from
-- other Vulkan memory objects or from similar resources in other APIs.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does the application need to close the file descriptor returned by
-- getMemoryFdKHR?
--
-- RESOLVED: Yes, unless it is passed back in to a driver instance
-- to import the memory. A successful get call transfers ownership of the
-- file descriptor to the application, and a successful import transfers
-- it back to the driver. Destroying the original memory object will not
-- close the file descriptor or remove its reference to the underlying
-- memory resource associated with it.
--
-- 2) Do drivers ever need to expose multiple file descriptors per memory
-- object?
--
-- RESOLVED: No. This would indicate there are actually multiple
-- memory objects, rather than a single memory object.
--
-- 3) How should the valid size and memory type for POSIX file descriptor
-- memory handles created outside of Vulkan be specified?
--
-- RESOLVED: The valid memory types are queried directly from the
-- external handle. The size will be specified by future extensions that
-- introduce such external memory handle types.
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (James Jones)
--
--
-- See Also
--
-- ImportMemoryFdInfoKHR, MemoryFdPropertiesKHR,
-- MemoryGetFdInfoKHR, getMemoryFdKHR,
-- getMemoryFdPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_memory_fd
-- | vkGetMemoryFdKHR - Get a POSIX file descriptor for a memory object
--
-- Description
--
-- Each call to getMemoryFdKHR must create a new file
-- descriptor holding a reference to the memory object’s payload and
-- transfer ownership of the file descriptor to the application. To avoid
-- leaking resources, the application must release ownership of
-- the file descriptor using the close system call when it is no
-- longer needed, or by importing a Vulkan memory object from it. Where
-- supported by the operating system, the implementation must set
-- the file descriptor to be closed automatically when an execve
-- system call is made.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_fd, Device,
-- MemoryGetFdInfoKHR
getMemoryFdKHR :: forall io. MonadIO io => Device -> MemoryGetFdInfoKHR -> io ("fd" ::: Int32)
-- | vkGetMemoryFdPropertiesKHR - Get Properties of External Memory File
-- Descriptors
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_fd, Device,
-- ExternalMemoryHandleTypeFlagBits, MemoryFdPropertiesKHR
getMemoryFdPropertiesKHR :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: Int32) -> io MemoryFdPropertiesKHR
-- | VkImportMemoryFdInfoKHR - Import memory created on the same physical
-- device from a file descriptor
--
-- Description
--
-- Importing memory from a file descriptor transfers ownership of the
-- file descriptor from the application to the Vulkan implementation. The
-- application must not perform any operations on the file
-- descriptor after a successful import. The imported memory object holds
-- a reference to its payload.
--
-- Applications can import the same payload into multiple
-- instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance. In all
-- cases, each import operation must create a distinct
-- DeviceMemory object.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_fd,
-- ExternalMemoryHandleTypeFlagBits, StructureType
data ImportMemoryFdInfoKHR
ImportMemoryFdInfoKHR :: ExternalMemoryHandleTypeFlagBits -> Int32 -> ImportMemoryFdInfoKHR
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the handle type of fd.
[$sel:handleType:ImportMemoryFdInfoKHR] :: ImportMemoryFdInfoKHR -> ExternalMemoryHandleTypeFlagBits
-- | fd is the external handle to import.
[$sel:fd:ImportMemoryFdInfoKHR] :: ImportMemoryFdInfoKHR -> Int32
-- | VkMemoryFdPropertiesKHR - Properties of External Memory File
-- Descriptors
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_external_memory_fd, StructureType,
-- getMemoryFdPropertiesKHR
data MemoryFdPropertiesKHR
MemoryFdPropertiesKHR :: Word32 -> MemoryFdPropertiesKHR
-- | memoryTypeBits is a bitmask containing one bit set for every
-- memory type which the specified file descriptor can be imported
-- as.
[$sel:memoryTypeBits:MemoryFdPropertiesKHR] :: MemoryFdPropertiesKHR -> Word32
-- | VkMemoryGetFdInfoKHR - Structure describing a POSIX FD semaphore
-- export operation
--
-- Description
--
-- The properties of the file descriptor exported depend on the value of
-- handleType. See ExternalMemoryHandleTypeFlagBits for a
-- description of the properties of the defined external memory handle
-- types.
--
-- Note
--
-- The size of the exported file may be larger than the size
-- requested by MemoryAllocateInfo::allocationSize. If
-- handleType is
-- EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, then the
-- application can query the file’s actual size with lseek.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_external_memory_fd, DeviceMemory,
-- ExternalMemoryHandleTypeFlagBits, StructureType,
-- getMemoryFdKHR
data MemoryGetFdInfoKHR
MemoryGetFdInfoKHR :: DeviceMemory -> ExternalMemoryHandleTypeFlagBits -> MemoryGetFdInfoKHR
-- | memory is the memory object from which the handle will be
-- exported.
--
-- memory must be a valid DeviceMemory handle
[$sel:memory:MemoryGetFdInfoKHR] :: MemoryGetFdInfoKHR -> DeviceMemory
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the type of handle requested.
--
-- handleType must have been included in
-- ExportMemoryAllocateInfo::handleTypes when
-- memory was created
--
-- handleType must be
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT or
-- EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
--
-- handleType must be a valid
-- ExternalMemoryHandleTypeFlagBits value
[$sel:handleType:MemoryGetFdInfoKHR] :: MemoryGetFdInfoKHR -> ExternalMemoryHandleTypeFlagBits
type KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1
pattern KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd"
pattern KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR
-- | Name
--
-- VK_KHR_external_fence_fd - device extension
--
-- VK_KHR_external_fence_fd
--
--
-- - Name String VK_KHR_external_fence_fd
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 116
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_fence
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-08
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Cass Everitt, Oculus
- Contributors to
-- VK_KHR_external_semaphore_fd
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using fences. This extension enables an application to
-- export fence payload to and import fence payload from POSIX file
-- descriptors.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- This extension borrows concepts, semantics, and language from
-- VK_KHR_external_semaphore_fd. That extension’s issues apply
-- equally to this extension.
--
-- Version History
--
--
-- - Revision 1, 2017-05-08 (Jesse Hall)
--
--
-- See Also
--
-- FenceGetFdInfoKHR, ImportFenceFdInfoKHR,
-- getFenceFdKHR, importFenceFdKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_fence_fd
-- | vkGetFenceFdKHR - Get a POSIX file descriptor handle for a fence
--
-- Description
--
-- Each call to getFenceFdKHR must create a new file
-- descriptor and transfer ownership of it to the application. To avoid
-- leaking resources, the application must release ownership of
-- the file descriptor when it is no longer needed.
--
-- Note
--
-- Ownership can be released in many ways. For example, the application
-- can call close() on the file descriptor, or transfer
-- ownership back to Vulkan by using the file descriptor to import a
-- fence payload.
--
-- If pGetFdInfo->handleType is
-- EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT and the fence is
-- signaled at the time getFenceFdKHR is called, pFd
-- may return the value -1 instead of a valid file
-- descriptor.
--
-- Where supported by the operating system, the implementation
-- must set the file descriptor to be closed automatically when an
-- execve system call is made.
--
-- Exporting a file descriptor from a fence may have side effects
-- depending on the transference of the specified handle type, as
-- described in Importing Fence State.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_fd, Device,
-- FenceGetFdInfoKHR
getFenceFdKHR :: forall io. MonadIO io => Device -> FenceGetFdInfoKHR -> io ("fd" ::: Int32)
-- | vkImportFenceFdKHR - Import a fence from a POSIX file descriptor
--
-- Description
--
-- Importing a fence payload from a file descriptor transfers ownership
-- of the file descriptor from the application to the Vulkan
-- implementation. The application must not perform any operations
-- on the file descriptor after a successful import.
--
-- Applications can import the same fence payload into multiple
-- instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_fd, Device,
-- ImportFenceFdInfoKHR
importFenceFdKHR :: forall io. MonadIO io => Device -> ImportFenceFdInfoKHR -> io ()
-- | VkImportFenceFdInfoKHR - (None)
--
-- Description
--
-- The handle types supported by handleType are:
--
-- TODO: table
--
-- Handle Types Supported by ImportFenceFdInfoKHR
--
-- Valid Usage
--
--
--
--
--
-- If handleType is
-- EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, the special value
-- -1 for fd is treated like a valid sync file
-- descriptor referring to an object that has already signaled. The
-- import operation will succeed and the Fence will have a
-- temporarily imported payload as if a valid file descriptor had been
-- provided.
--
-- Note
--
-- This special behavior for importing an invalid sync file descriptor
-- allows easier interoperability with other system APIs which use the
-- convention that an invalid sync file descriptor represents work that
-- has already completed and does not need to be waited for. It is
-- consistent with the option for implementations to return a -1
-- file descriptor when exporting a
-- EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT from a Fence
-- which is signaled.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to fence must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_external_fence_fd,
-- ExternalFenceHandleTypeFlagBits, Fence,
-- FenceImportFlags, StructureType, importFenceFdKHR
data ImportFenceFdInfoKHR
ImportFenceFdInfoKHR :: Fence -> FenceImportFlags -> ExternalFenceHandleTypeFlagBits -> Int32 -> ImportFenceFdInfoKHR
-- | fence is the fence into which the payload will be imported.
[$sel:fence:ImportFenceFdInfoKHR] :: ImportFenceFdInfoKHR -> Fence
-- | flags is a bitmask of FenceImportFlagBits specifying
-- additional parameters for the fence payload import operation.
[$sel:flags:ImportFenceFdInfoKHR] :: ImportFenceFdInfoKHR -> FenceImportFlags
-- | handleType is a ExternalFenceHandleTypeFlagBits value
-- specifying the type of fd.
[$sel:handleType:ImportFenceFdInfoKHR] :: ImportFenceFdInfoKHR -> ExternalFenceHandleTypeFlagBits
-- | fd is the external handle to import.
[$sel:fd:ImportFenceFdInfoKHR] :: ImportFenceFdInfoKHR -> Int32
-- | VkFenceGetFdInfoKHR - Structure describing a POSIX FD fence export
-- operation
--
-- Description
--
-- The properties of the file descriptor returned depend on the value of
-- handleType. See ExternalFenceHandleTypeFlagBits for a
-- description of the properties of the defined external fence handle
-- types.
--
-- Valid Usage
--
--
-- - handleType must have been included in
-- ExportFenceCreateInfo::handleTypes when
-- fence’s current payload was created
--
--
--
-- - If handleType refers to a handle type with copy payload
-- transference semantics, fence must be signaled, or
-- have an associated fence signal operation pending
-- execution
-- - fence must not currently have its payload replaced
-- by an imported payload as described below in Importing Fence
-- Payloads unless that imported payload’s handle type was included
-- in
-- ExternalFenceProperties::exportFromImportedHandleTypes
-- for handleType
-- - handleType must be defined as a POSIX file
-- descriptor handle
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_fd,
-- ExternalFenceHandleTypeFlagBits, Fence,
-- StructureType, getFenceFdKHR
data FenceGetFdInfoKHR
FenceGetFdInfoKHR :: Fence -> ExternalFenceHandleTypeFlagBits -> FenceGetFdInfoKHR
-- | fence is the fence from which state will be exported.
[$sel:fence:FenceGetFdInfoKHR] :: FenceGetFdInfoKHR -> Fence
-- | handleType is a ExternalFenceHandleTypeFlagBits value
-- specifying the type of handle requested.
[$sel:handleType:FenceGetFdInfoKHR] :: FenceGetFdInfoKHR -> ExternalFenceHandleTypeFlagBits
type KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1
pattern KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd"
pattern KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR
-- | Name
--
-- VK_EXT_vertex_input_dynamic_state - device extension
--
-- VK_EXT_vertex_input_dynamic_state
--
--
-- - Name String
-- VK_EXT_vertex_input_dynamic_state
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 353
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-08-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Spencer Fricke, Samsung
- Stu Smith,
-- AMD
--
--
-- Description
--
-- One of the states that contributes to the combinatorial explosion of
-- pipeline state objects that need to be created, is the vertex input
-- binding and attribute descriptions. By allowing them to be dynamic
-- applications may reduce the number of pipeline objects they need to
-- create.
--
-- This extension adds dynamic state support for what is normally static
-- state in PipelineVertexInputStateCreateInfo.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2020-11-05 (Piers Daniell)
--
--
--
-- - Revision 1, 2020-08-21 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT, cmdSetVertexInputEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state
-- | vkCmdSetVertexInputEXT - Set the vertex input state dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the vertex input attribute and vertex input binding
-- descriptions state for subsequent drawing commands when the graphics
-- pipeline is created with DYNAMIC_STATE_VERTEX_INPUT_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- GraphicsPipelineCreateInfo::pVertexInputState values
-- used to create the currently active pipeline.
--
-- If the bound pipeline state object was also created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, then cmdBindVertexBuffers2EXT can be used instead of
-- cmdSetVertexInputEXT to dynamically set the stride.
--
-- Valid Usage
--
--
--
--
-- - vertexBindingDescriptionCount must be less than or
-- equal to
-- PhysicalDeviceLimits::maxVertexInputBindings
-- - vertexAttributeDescriptionCount must be less than
-- or equal to
-- PhysicalDeviceLimits::maxVertexInputAttributes
-- - For every binding specified by each element of
-- pVertexAttributeDescriptions, a
-- VertexInputBindingDescription2EXT must exist in
-- pVertexBindingDescriptions with the same value of
-- binding
-- - All elements of pVertexBindingDescriptions must
-- describe distinct binding numbers
-- - All elements of pVertexAttributeDescriptions must
-- describe distinct attribute locations
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If vertexBindingDescriptionCount is not 0,
-- pVertexBindingDescriptions must be a valid pointer to
-- an array of vertexBindingDescriptionCount valid
-- VertexInputBindingDescription2EXT structures
-- - If vertexAttributeDescriptionCount is not 0,
-- pVertexAttributeDescriptions must be a valid pointer
-- to an array of vertexAttributeDescriptionCount valid
-- VertexInputAttributeDescription2EXT structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_vertex_input_dynamic_state, CommandBuffer,
-- VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT
cmdSetVertexInputEXT :: forall io. MonadIO io => CommandBuffer -> ("vertexBindingDescriptions" ::: Vector VertexInputBindingDescription2EXT) -> ("vertexAttributeDescriptions" ::: Vector VertexInputAttributeDescription2EXT) -> io ()
-- | VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT - Structure
-- describing whether the dynamic vertex input state can be used
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceVertexInputDynamicStateFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_vertex_input_dynamic_state, Bool32,
-- StructureType
data PhysicalDeviceVertexInputDynamicStateFeaturesEXT
PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: Bool -> PhysicalDeviceVertexInputDynamicStateFeaturesEXT
-- | vertexInputDynamicState indicates that the implementation
-- supports the following dynamic states:
--
--
[$sel:vertexInputDynamicState:PhysicalDeviceVertexInputDynamicStateFeaturesEXT] :: PhysicalDeviceVertexInputDynamicStateFeaturesEXT -> Bool
-- | VkVertexInputBindingDescription2EXT - Structure specifying the
-- extended vertex input binding description
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_vertex_input_dynamic_state, StructureType,
-- VertexInputRate, cmdSetVertexInputEXT
data VertexInputBindingDescription2EXT
VertexInputBindingDescription2EXT :: Word32 -> Word32 -> VertexInputRate -> Word32 -> VertexInputBindingDescription2EXT
-- | binding is the binding number that this structure describes.
[$sel:binding:VertexInputBindingDescription2EXT] :: VertexInputBindingDescription2EXT -> Word32
-- | stride is the byte stride between consecutive elements within
-- the buffer.
[$sel:stride:VertexInputBindingDescription2EXT] :: VertexInputBindingDescription2EXT -> Word32
-- | inputRate is a VertexInputRate value specifying
-- whether vertex attribute addressing is a function of the vertex index
-- or of the instance index.
[$sel:inputRate:VertexInputBindingDescription2EXT] :: VertexInputBindingDescription2EXT -> VertexInputRate
-- | divisor is the number of successive instances that will use
-- the same value of the vertex attribute when instanced rendering is
-- enabled. This member can be set to a value other than
-- 1 if the vertexAttributeInstanceRateDivisor feature is
-- enabled. For example, if the divisor is N, the same vertex attribute
-- will be applied to N successive instances before moving on to the next
-- vertex attribute. The maximum value of divisor is
-- implementation-dependent and can be queried using
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT::maxVertexAttribDivisor.
-- A value of 0 can be used for the divisor if the
-- vertexAttributeInstanceRateZeroDivisor feature is enabled. In
-- this case, the same vertex attribute will be applied to all instances.
[$sel:divisor:VertexInputBindingDescription2EXT] :: VertexInputBindingDescription2EXT -> Word32
-- | VkVertexInputAttributeDescription2EXT - Structure specifying the
-- extended vertex input attribute description
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - format must be a valid Format value
--
--
-- See Also
--
-- VK_EXT_vertex_input_dynamic_state, Format,
-- StructureType, cmdSetVertexInputEXT
data VertexInputAttributeDescription2EXT
VertexInputAttributeDescription2EXT :: Word32 -> Word32 -> Format -> Word32 -> VertexInputAttributeDescription2EXT
-- | location is the shader input location number for this
-- attribute.
[$sel:location:VertexInputAttributeDescription2EXT] :: VertexInputAttributeDescription2EXT -> Word32
-- | binding is the binding number which this attribute takes its
-- data from.
[$sel:binding:VertexInputAttributeDescription2EXT] :: VertexInputAttributeDescription2EXT -> Word32
-- | format is the size and type of the vertex attribute data.
[$sel:format:VertexInputAttributeDescription2EXT] :: VertexInputAttributeDescription2EXT -> Format
-- | offset is a byte offset of this attribute relative to the
-- start of an element in the vertex input binding.
[$sel:offset:VertexInputAttributeDescription2EXT] :: VertexInputAttributeDescription2EXT -> Word32
type EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2
pattern EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION :: forall a. Integral a => a
type EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state"
pattern EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT
-- | Name
--
-- VK_EXT_transform_feedback - device extension
--
-- VK_EXT_transform_feedback
--
--
-- - Name String VK_EXT_transform_feedback
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 29
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Uses
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-10-09
--
--
--
-- - Contributors
- Baldur Karlsson,
-- Valve
- Boris Zanin, Mobica
- Daniel Rakos,
-- AMD
- Donald Scorgie, Imagination
- Henri Verbeet,
-- CodeWeavers
- Jan-Harald Fredriksen, Arm
- Jason Ekstrand,
-- Intel
- Jeff Bolz, NVIDIA
- Jesse Barker,
-- Unity
- Jesse Hall, Google
- Pierre-Loup Griffais,
-- Valve
- Philip Rebohle, DXVK
- Ruihao Zhang,
-- Qualcomm
- Samuel Pitoiset, Valve
- Slawomir Grajewski,
-- Intel
- Stu Smith, Imagination Technologies
--
--
-- Description
--
-- This extension adds transform feedback to the Vulkan API by exposing
-- the SPIR-V TransformFeedback and GeometryStreams
-- capabilities to capture vertex, tessellation or geometry shader
-- outputs to one or more buffers. It adds API functionality to bind
-- transform feedback buffers to capture the primitives emitted by the
-- graphics pipeline from SPIR-V outputs decorated for transform
-- feedback. The transform feedback capture can be paused and resumed by
-- way of storing and retrieving a byte counter. The captured data can be
-- drawn again where the vertex count is derived from the byte counter
-- without CPU intervention. If the implementation is capable, a vertex
-- stream other than zero can be rasterized.
--
-- All these features are designed to match the full capabilities of
-- OpenGL core transform feedback functionality and beyond. Many of the
-- features are optional to allow base OpenGL ES GPUs to also implement
-- this extension.
--
-- The primary purpose of the functionality exposed by this extension is
-- to support translation layers from other 3D APIs. This functionality
-- is not considered forward looking, and is not expected to be promoted
-- to a KHR extension or to core Vulkan. Unless this is needed for
-- translation, it is recommended that developers use alternative
-- techniques of using the GPU to process and capture vertex data.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should we include pause/resume functionality?
--
-- RESOLVED: Yes, this is needed to ease layering other APIs which
-- have this functionality. To pause use
-- cmdEndTransformFeedbackEXT and provide valid buffer handles in
-- the pCounterBuffers array and offsets in the
-- pCounterBufferOffsets array for the implementation to save
-- the resume points. Then to resume use
-- cmdBeginTransformFeedbackEXT with the previous
-- pCounterBuffers and pCounterBufferOffsets values.
-- Between the pause and resume there needs to be a memory barrier for
-- the counter buffers with a source access of
-- ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT at pipeline
-- stage PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT to a
-- destination access of
-- ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT at pipeline
-- stage PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT.
--
-- 2) How does this interact with multiview?
--
-- RESOLVED: Transform feedback cannot be made active in a render
-- pass with multiview enabled.
--
-- 3) How should queries be done?
--
-- RESOLVED: There is a new query type
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT. A query pool created
-- with this type will capture 2 integers - numPrimitivesWritten and
-- numPrimitivesNeeded - for the specified vertex stream output from the
-- last pre-rasterization shader stage. The vertex stream output
-- queried is zero by default, but can be specified with the new
-- cmdBeginQueryIndexedEXT and cmdEndQueryIndexedEXT
-- commands.
--
-- Version History
--
--
-- - Revision 1, 2018-10-09 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PipelineRasterizationStateStreamCreateFlagsEXT,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- cmdBeginQueryIndexedEXT, cmdBeginTransformFeedbackEXT,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdDrawIndirectByteCountEXT, cmdEndQueryIndexedEXT,
-- cmdEndTransformFeedbackEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_transform_feedback
-- | vkCmdBindTransformFeedbackBuffersEXT - Bind transform feedback buffers
-- to a command buffer
--
-- Description
--
-- The values taken from elements i of pBuffers,
-- pOffsets and pSizes replace the current state for
-- the transform feedback binding firstBinding + i, for i in [0,
-- bindingCount). The transform feedback binding is updated to
-- start at the offset indicated by pOffsets[i] from the start
-- of the buffer pBuffers[i].
--
-- Valid Usage
--
--
--
--
-- - firstBinding must be less than
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - The sum of firstBinding and bindingCount
-- must be less than or equal to
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - All elements of pOffsets must be less than the
-- size of the corresponding element in pBuffers
-- - All elements of pOffsets must be a multiple of
-- 4
-- - All elements of pBuffers must have been created
-- with the BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT
-- flag
-- - If the optional pSize array is specified, each element of
-- pSizes must either be WHOLE_SIZE, or be less
-- than or equal to
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBufferSize
-- - All elements of pSizes must be either
-- WHOLE_SIZE, or less than or equal to the size of the
-- corresponding buffer in pBuffers
-- - All elements of pOffsets plus pSizes, where the
-- pSizes, element is not WHOLE_SIZE, must be less
-- than or equal to the size of the corresponding buffer in
-- pBuffers
-- - Each element of pBuffers that is non-sparse must
-- be bound completely and contiguously to a single DeviceMemory
-- object
-- - Transform feedback must not be active when the
-- cmdBindTransformFeedbackBuffersEXT command is recorded
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pBuffers must be a valid pointer to an array of
-- bindingCount valid Buffer handles
-- - pOffsets must be a valid pointer to an array of
-- bindingCount DeviceSize values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - bindingCount must be greater than 0
-- - Both of commandBuffer, and the elements of
-- pBuffers must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, Buffer, CommandBuffer,
-- DeviceSize
cmdBindTransformFeedbackBuffersEXT :: forall io. MonadIO io => CommandBuffer -> ("firstBinding" ::: Word32) -> ("buffers" ::: Vector Buffer) -> ("offsets" ::: Vector DeviceSize) -> ("sizes" ::: Vector DeviceSize) -> io ()
-- | vkCmdBeginTransformFeedbackEXT - Make transform feedback active in the
-- command buffer
--
-- Description
--
-- The active transform feedback buffers will capture primitives emitted
-- from the corresponding XfbBuffer in the bound graphics
-- pipeline. Any XfbBuffer emitted that does not output to an
-- active transform feedback buffer will not be captured.
--
-- Valid Usage
--
--
--
--
-- - Transform feedback must not be active
-- - firstCounterBuffer must be less than
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - The sum of firstCounterBuffer and
-- counterBufferCount must be less than or equal to
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - If counterBufferCount is not 0, and
-- pCounterBuffers is not NULL,
-- pCounterBuffers must be a valid pointer to an array of
-- counterBufferCount Buffer handles that are either
-- valid or NULL_HANDLE
-- - For each buffer handle in the array, if it is not
-- NULL_HANDLE it must reference a buffer large enough to
-- hold 4 bytes at the corresponding offset from the
-- pCounterBufferOffsets array
-- - If pCounterBuffer is NULL, then
-- pCounterBufferOffsets must also be NULL
-- - For each buffer handle in the pCounterBuffers array that
-- is not NULL_HANDLE it must have been created with a
-- usage value containing
-- BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
-- - A valid graphics pipeline must be bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The last pre-rasterization shader stage of the bound
-- graphics pipeline must have been declared with the Xfb
-- execution mode
-- - Transform feedback must not be made active in a render pass
-- instance with multiview enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If counterBufferCount is not 0, and
-- pCounterBufferOffsets is not NULL,
-- pCounterBufferOffsets must be a valid pointer to an
-- array of counterBufferCount DeviceSize values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of commandBuffer, and the elements of
-- pCounterBuffers that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, Buffer, CommandBuffer,
-- DeviceSize
cmdBeginTransformFeedbackEXT :: forall io. MonadIO io => CommandBuffer -> ("firstCounterBuffer" ::: Word32) -> ("counterBuffers" ::: Vector Buffer) -> ("counterBufferOffsets" ::: Vector DeviceSize) -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginTransformFeedbackEXT and
-- cmdEndTransformFeedbackEXT
--
-- Note that cmdEndTransformFeedbackEXT is *not* called if an
-- exception is thrown by the inner action.
cmdUseTransformFeedbackEXT :: forall io r. MonadIO io => CommandBuffer -> Word32 -> Vector Buffer -> Vector DeviceSize -> io r -> io r
-- | vkCmdEndTransformFeedbackEXT - Make transform feedback inactive in the
-- command buffer
--
-- Valid Usage
--
--
--
--
-- - Transform feedback must be active
-- - firstCounterBuffer must be less than
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - The sum of firstCounterBuffer and
-- counterBufferCount must be less than or equal to
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBuffers
-- - If counterBufferCount is not 0, and
-- pCounterBuffers is not NULL,
-- pCounterBuffers must be a valid pointer to an array of
-- counterBufferCount Buffer handles that are either
-- valid or NULL_HANDLE
-- - For each buffer handle in the array, if it is not
-- NULL_HANDLE it must reference a buffer large enough to
-- hold 4 bytes at the corresponding offset from the
-- pCounterBufferOffsets array
-- - If pCounterBuffer is NULL, then
-- pCounterBufferOffsets must also be NULL
-- - For each buffer handle in the pCounterBuffers array that
-- is not NULL_HANDLE it must have been created with a
-- usage value containing
-- BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If counterBufferCount is not 0, and
-- pCounterBufferOffsets is not NULL,
-- pCounterBufferOffsets must be a valid pointer to an
-- array of counterBufferCount DeviceSize values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of commandBuffer, and the elements of
-- pCounterBuffers that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, Buffer, CommandBuffer,
-- DeviceSize
cmdEndTransformFeedbackEXT :: forall io. MonadIO io => CommandBuffer -> ("firstCounterBuffer" ::: Word32) -> ("counterBuffers" ::: Vector Buffer) -> ("counterBufferOffsets" ::: Vector DeviceSize) -> io ()
-- | vkCmdBeginQueryIndexedEXT - Begin an indexed query
--
-- Description
--
-- The cmdBeginQueryIndexedEXT command operates the same as the
-- cmdBeginQuery command, except that it also accepts a query type
-- specific index parameter.
--
-- Valid Usage
--
--
-- - All queries used by the command must be unavailable
--
--
--
-- - The queryType used to create queryPool
-- must not be QUERY_TYPE_TIMESTAMP
-- - The queryType used to create queryPool
-- must not be
-- QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR or
-- QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR
-- - The queryType used to create queryPool
-- must not be
-- QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
-- - If the precise occlusion queries feature is not enabled, or
-- the queryType used to create queryPool was not
-- QUERY_TYPE_OCCLUSION, flags must not contain
-- QUERY_CONTROL_PRECISE_BIT
-- - query must be less than the number of queries in
-- queryPool
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_OCCLUSION, the CommandPool that
-- commandBuffer was allocated from must support graphics
-- operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_PIPELINE_STATISTICS and any of the
-- pipelineStatistics indicate graphics operations, the
-- CommandPool that commandBuffer was allocated from
-- must support graphics operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_PIPELINE_STATISTICS and any of the
-- pipelineStatistics indicate compute operations, the
-- CommandPool that commandBuffer was allocated from
-- must support compute operations
-- - commandBuffer must not be a protected command
-- buffer
-- - If called within a render pass instance, the sum of query
-- and the number of bits set in the current subpass’s view mask
-- must be less than or equal to the number of queries in
-- queryPool
-- - If the queryPool was created with the same
-- queryType as that of another active query within
-- commandBuffer, then index must not match the
-- index used for the active query
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT the CommandPool
-- that commandBuffer was allocated from must support
-- graphics operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT the index
-- parameter must be less than
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackStreams
-- - If the queryType used to create queryPool was
-- not QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT the index
-- must be zero
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT then
-- PhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackQueries
-- must be supported
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, the profiling lock
-- must have been held before beginCommandBuffer was called
-- on commandBuffer
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
-- to create queryPool was
-- PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, the query begin
-- must be the first recorded command in
-- commandBuffer
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
-- to create queryPool was
-- PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, the begin command
-- must not be recorded within a render pass instance
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and another query pool with a
-- queryType QUERY_TYPE_PERFORMANCE_QUERY_KHR has been
-- used within commandBuffer, its parent primary command buffer
-- or secondary command buffer recorded within the same parent primary
-- command buffer as commandBuffer, the
-- performanceCounterMultipleQueryPools feature must be
-- enabled
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, this command must not
-- be recorded in a command buffer that, either directly or through
-- secondary command buffers, also contains a cmdResetQueryPool
-- command affecting the same query
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - flags must be a valid combination of
-- QueryControlFlagBits values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, CommandBuffer,
-- QueryControlFlags, QueryPool
cmdBeginQueryIndexedEXT :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> ("index" ::: Word32) -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginQueryIndexedEXT and cmdEndQueryIndexedEXT
--
-- Note that cmdEndQueryIndexedEXT is *not* called if an exception
-- is thrown by the inner action.
cmdUseQueryIndexedEXT :: forall io r. MonadIO io => CommandBuffer -> QueryPool -> Word32 -> QueryControlFlags -> Word32 -> io r -> io r
-- | vkCmdEndQueryIndexedEXT - Ends a query
--
-- Description
--
-- The cmdEndQueryIndexedEXT command operates the same as the
-- cmdEndQuery command, except that it also accepts a query type
-- specific index parameter.
--
-- Valid Usage
--
--
-- - All queries used by the command must be active
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, CommandBuffer,
-- QueryPool
cmdEndQueryIndexedEXT :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> io ()
-- | vkCmdDrawIndirectByteCountEXT - Draw primitives with indirect
-- parameters where the vertex count is derived from the counter byte
-- value in the counter buffer
--
-- Description
--
-- When the command is executed, primitives are assembled in the same way
-- as done with cmdDraw except the vertexCount is
-- calculated based on the byte count read from counterBuffer at
-- offset counterBufferOffset. The assembled primitives execute
-- the bound graphics pipeline.
--
-- The effective vertexCount is calculated as follows:
--
--
-- const uint32_t * counterBufferPtr = (const uint8_t *)counterBuffer.address + counterBufferOffset;
-- vertexCount = floor(max(0, (*counterBufferPtr - counterOffset)) / vertexStride);
--
--
-- The effective firstVertex is zero.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
--
-- - PhysicalDeviceTransformFeedbackFeaturesEXT::transformFeedback
-- must be enabled
-- - The implementation must support
-- PhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackDraw
-- - vertexStride must be greater than 0 and less than
-- or equal to
-- PhysicalDeviceLimits::maxTransformFeedbackBufferDataStride
-- - If counterBuffer is non-sparse then it must be
-- bound completely and contiguously to a single DeviceMemory
-- object
-- - counterBuffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - counterBufferOffset must be a multiple of
-- 4
-- - commandBuffer must not be a protected command
-- buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - counterBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of commandBuffer, and counterBuffer
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_transform_feedback, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawIndirectByteCountEXT :: forall io. MonadIO io => CommandBuffer -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("counterBuffer" ::: Buffer) -> ("counterBufferOffset" ::: DeviceSize) -> ("counterOffset" ::: Word32) -> ("vertexStride" ::: Word32) -> io ()
-- | VkPhysicalDeviceTransformFeedbackFeaturesEXT - Structure describing
-- transform feedback features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceTransformFeedbackFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceTransformFeedbackFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_transform_feedback, Bool32, StructureType
data PhysicalDeviceTransformFeedbackFeaturesEXT
PhysicalDeviceTransformFeedbackFeaturesEXT :: Bool -> Bool -> PhysicalDeviceTransformFeedbackFeaturesEXT
-- | transformFeedback indicates whether the implementation
-- supports transform feedback and shader modules can declare the
-- TransformFeedback capability.
[$sel:transformFeedback:PhysicalDeviceTransformFeedbackFeaturesEXT] :: PhysicalDeviceTransformFeedbackFeaturesEXT -> Bool
-- | geometryStreams indicates whether the implementation supports
-- the GeometryStreams SPIR-V capability.
[$sel:geometryStreams:PhysicalDeviceTransformFeedbackFeaturesEXT] :: PhysicalDeviceTransformFeedbackFeaturesEXT -> Bool
-- | VkPhysicalDeviceTransformFeedbackPropertiesEXT - Structure describing
-- transform feedback properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceTransformFeedbackPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_transform_feedback, Bool32, DeviceSize,
-- StructureType
data PhysicalDeviceTransformFeedbackPropertiesEXT
PhysicalDeviceTransformFeedbackPropertiesEXT :: Word32 -> Word32 -> DeviceSize -> Word32 -> Word32 -> Word32 -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceTransformFeedbackPropertiesEXT
-- | maxTransformFeedbackStreams is the maximum number of vertex
-- streams that can be output from geometry shaders declared with the
-- GeometryStreams capability. If the implementation does not
-- support
-- PhysicalDeviceTransformFeedbackFeaturesEXT::geometryStreams
-- then maxTransformFeedbackStreams must be set to
-- 1.
[$sel:maxTransformFeedbackStreams:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Word32
-- | maxTransformFeedbackBuffers is the maximum number of
-- transform feedback buffers that can be bound for capturing shader
-- outputs from the last pre-rasterization shader stage.
[$sel:maxTransformFeedbackBuffers:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Word32
-- | maxTransformFeedbackBufferSize is the maximum size that can
-- be specified when binding a buffer for transform feedback in
-- cmdBindTransformFeedbackBuffersEXT.
[$sel:maxTransformFeedbackBufferSize:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> DeviceSize
-- | maxTransformFeedbackStreamDataSize is the maximum amount of
-- data in bytes for each vertex that captured to one or more transform
-- feedback buffers associated with a specific vertex stream.
[$sel:maxTransformFeedbackStreamDataSize:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Word32
-- | maxTransformFeedbackBufferDataSize is the maximum amount of
-- data in bytes for each vertex that can be captured to a specific
-- transform feedback buffer.
[$sel:maxTransformFeedbackBufferDataSize:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Word32
-- | maxTransformFeedbackBufferDataStride is the maximum stride
-- between each capture of vertex data to the buffer.
[$sel:maxTransformFeedbackBufferDataStride:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Word32
-- | transformFeedbackQueries is TRUE if the implementation
-- supports the QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT query
-- type. transformFeedbackQueries is FALSE if queries of
-- this type cannot be created.
[$sel:transformFeedbackQueries:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Bool
-- | transformFeedbackStreamsLinesTriangles is TRUE if the
-- implementation supports the geometry shader OpExecutionMode
-- of OutputLineStrip and OutputTriangleStrip in
-- addition to OutputPoints when more than one vertex stream is
-- output. If transformFeedbackStreamsLinesTriangles is
-- FALSE the implementation only supports an
-- OpExecutionMode of OutputPoints when more than one
-- vertex stream is output from the geometry shader.
[$sel:transformFeedbackStreamsLinesTriangles:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Bool
-- | transformFeedbackRasterizationStreamSelect is TRUE if
-- the implementation supports the GeometryStreams SPIR-V
-- capability and the application can use
-- PipelineRasterizationStateStreamCreateInfoEXT to modify which
-- vertex stream output is used for rasterization. Otherwise vertex
-- stream 0 must always be used for rasterization.
[$sel:transformFeedbackRasterizationStreamSelect:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Bool
-- | transformFeedbackDraw is TRUE if the implementation
-- supports the cmdDrawIndirectByteCountEXT function otherwise the
-- function must not be called.
[$sel:transformFeedbackDraw:PhysicalDeviceTransformFeedbackPropertiesEXT] :: PhysicalDeviceTransformFeedbackPropertiesEXT -> Bool
-- | VkPipelineRasterizationStateStreamCreateInfoEXT - Structure defining
-- the geometry stream used for rasterization
--
-- Description
--
-- If this structure is not present, rasterizationStream is
-- assumed to be zero.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_transform_feedback,
-- PipelineRasterizationStateStreamCreateFlagsEXT,
-- StructureType
data PipelineRasterizationStateStreamCreateInfoEXT
PipelineRasterizationStateStreamCreateInfoEXT :: PipelineRasterizationStateStreamCreateFlagsEXT -> Word32 -> PipelineRasterizationStateStreamCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:PipelineRasterizationStateStreamCreateInfoEXT] :: PipelineRasterizationStateStreamCreateInfoEXT -> PipelineRasterizationStateStreamCreateFlagsEXT
-- | rasterizationStream is the vertex stream selected for
-- rasterization.
--
-- rasterizationStream must be less than
-- PhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackStreams
--
-- rasterizationStream must be zero if
-- PhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackRasterizationStreamSelect
-- is FALSE
[$sel:rasterizationStream:PipelineRasterizationStateStreamCreateInfoEXT] :: PipelineRasterizationStateStreamCreateInfoEXT -> Word32
-- | VkPipelineRasterizationStateStreamCreateFlagsEXT - Reserved for future
-- use
--
-- Description
--
-- PipelineRasterizationStateStreamCreateFlagsEXT is a bitmask
-- type for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_transform_feedback,
-- PipelineRasterizationStateStreamCreateInfoEXT
newtype PipelineRasterizationStateStreamCreateFlagsEXT
PipelineRasterizationStateStreamCreateFlagsEXT :: Flags -> PipelineRasterizationStateStreamCreateFlagsEXT
type EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1
pattern EXT_TRANSFORM_FEEDBACK_SPEC_VERSION :: forall a. Integral a => a
type EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback"
pattern EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT
-- | Name
--
-- VK_EXT_tooling_info - device extension
--
-- VK_EXT_tooling_info
--
--
-- - Name String VK_EXT_tooling_info
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 246
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-11-05
--
--
--
-- - Contributors
- Rolando
-- Caloca
- Matthaeus Chajdas
- Baldur
-- Karlsson
- Daniel Rakos
--
--
-- Description
--
-- When an error occurs during application development, a common question
-- is "What tools are actually running right now?" This extension adds
-- the ability to query that information directly from the Vulkan
-- implementation.
--
-- Outdated versions of one tool might not play nicely with another, or
-- perhaps a tool is not actually running when it should have been.
-- Trying to figure that out can cause headaches as it is necessary to
-- consult each known tool to figure out what is going on — in some cases
-- the tool might not even be known.
--
-- Typically, the expectation is that developers will simply print out
-- this information for visual inspection when an issue occurs, however a
-- small amount of semantic information about what the tool is doing is
-- provided to help identify it programmatically. For example, if the
-- advertised limits or features of an implementation are unexpected, is
-- there a tool active which modifies these limits? Or if an application
-- is providing debug markers, but the implementation is not actually
-- doing anything with that information, this can quickly point that out.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_EXT_debug_marker is supported:
--
--
--
-- If VK_EXT_debug_report is supported:
--
--
--
-- If VK_EXT_debug_utils is supported:
--
--
--
-- Examples
--
-- Printing Tool Information
--
--
-- uint32_t num_tools;
-- VkPhysicalDeviceToolPropertiesEXT *pToolProperties;
-- vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, &num_tools, NULL);
--
-- pToolProperties = (VkPhysicalDeviceToolPropertiesEXT*)malloc(sizeof(VkPhysicalDeviceToolPropertiesEXT) * num_tools);
--
-- vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, &num_tools, pToolProperties);
--
-- for (int i = 0; i < num_tools; ++i) {
-- printf("%s:\n", pToolProperties[i].name);
-- printf("Version:\n");
-- printf("%s:\n", pToolProperties[i].version);
-- printf("Description:\n");
-- printf("\t%s\n", pToolProperties[i].description);
-- printf("Purposes:\n");
-- printf("\t%s\n", VkToolPurposeFlagBitsEXT_to_string(pToolProperties[i].purposes));
-- if (strnlen_s(pToolProperties[i].layer,VK_MAX_EXTENSION_NAME_SIZE) > 0) {
-- printf("Corresponding Layer:\n");
-- printf("\t%s\n", pToolProperties[i].layer);
-- }
-- }
--
--
-- Issues
--
-- 1) Why is this information separate from the layer mechanism?
--
-- Some tooling may be built into a driver, or be part of the Vulkan
-- loader etc. Tying this information directly to layers would have been
-- awkward at best.
--
-- Version History
--
--
-- - Revision 1, 2018-11-05 (Tobias Hector)
--
--
-- See Also
--
-- PhysicalDeviceToolPropertiesEXT, ToolPurposeFlagBitsEXT,
-- ToolPurposeFlagsEXT, getPhysicalDeviceToolPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_tooling_info
-- | vkGetPhysicalDeviceToolPropertiesEXT - Reports properties of tools
-- active on the specified physical device
--
-- Description
--
-- If pToolProperties is NULL, then the number of tools
-- currently active on physicalDevice is returned in
-- pToolCount. Otherwise, pToolCount must point
-- to a variable set by the user to the number of elements in the
-- pToolProperties array, and on return the variable is
-- overwritten with the number of structures actually written to
-- pToolProperties. If pToolCount is less than the
-- number of currently active tools, at most pToolCount
-- structures will be written.
--
-- The count and properties of active tools may change in response
-- to events outside the scope of the specification. An application
-- should assume these properties might change at any given time.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pToolCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pToolCount is not 0,
-- and pToolProperties is not NULL,
-- pToolProperties must be a valid pointer to an array of
-- pToolCount PhysicalDeviceToolPropertiesEXT
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_tooling_info, PhysicalDevice,
-- PhysicalDeviceToolPropertiesEXT
getPhysicalDeviceToolPropertiesEXT :: forall io. MonadIO io => PhysicalDevice -> io (Result, "toolProperties" ::: Vector PhysicalDeviceToolPropertiesEXT)
-- | VkPhysicalDeviceToolPropertiesEXT - Structure providing information
-- about an active tool
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_tooling_info, StructureType,
-- ToolPurposeFlagsEXT, getPhysicalDeviceToolPropertiesEXT
data PhysicalDeviceToolPropertiesEXT
PhysicalDeviceToolPropertiesEXT :: ByteString -> ByteString -> ToolPurposeFlagsEXT -> ByteString -> ByteString -> PhysicalDeviceToolPropertiesEXT
-- | name is a null-terminated UTF-8 string containing the name of
-- the tool.
[$sel:name:PhysicalDeviceToolPropertiesEXT] :: PhysicalDeviceToolPropertiesEXT -> ByteString
-- | version is a null-terminated UTF-8 string containing the
-- version of the tool.
[$sel:version:PhysicalDeviceToolPropertiesEXT] :: PhysicalDeviceToolPropertiesEXT -> ByteString
-- | purposes is a bitmask of ToolPurposeFlagBitsEXT which
-- is populated with purposes supported by the tool.
[$sel:purposes:PhysicalDeviceToolPropertiesEXT] :: PhysicalDeviceToolPropertiesEXT -> ToolPurposeFlagsEXT
-- | description is a null-terminated UTF-8 string containing a
-- description of the tool.
[$sel:description:PhysicalDeviceToolPropertiesEXT] :: PhysicalDeviceToolPropertiesEXT -> ByteString
-- | layer is a null-terminated UTF-8 string containing the name
-- of the layer implementing the tool, if the tool is implemented in a
-- layer - otherwise it may be an empty string.
[$sel:layer:PhysicalDeviceToolPropertiesEXT] :: PhysicalDeviceToolPropertiesEXT -> ByteString
type ToolPurposeFlagsEXT = ToolPurposeFlagBitsEXT
-- | VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an
-- active tool
--
-- See Also
--
-- VK_EXT_tooling_info, ToolPurposeFlagsEXT
newtype ToolPurposeFlagBitsEXT
ToolPurposeFlagBitsEXT :: Flags -> ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool
-- provides validation of API usage.
pattern TOOL_PURPOSE_VALIDATION_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides
-- profiling of API usage.
pattern TOOL_PURPOSE_PROFILING_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is
-- capturing data about the application’s API usage, including anything
-- from simple logging to capturing data for later replay.
pattern TOOL_PURPOSE_TRACING_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the
-- tool provides additional API features/extensions on top of the
-- underlying implementation.
pattern TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool
-- modifies the API features/limits/extensions presented to the
-- application.
pattern TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool
-- consumes debug markers or object debug annotation,
-- queue labels, or command buffer labels
pattern TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT :: ToolPurposeFlagBitsEXT
-- | TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool
-- reports additional information to the application via callbacks
-- specified by createDebugReportCallbackEXT or
-- createDebugUtilsMessengerEXT
pattern TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT :: ToolPurposeFlagBitsEXT
type EXT_TOOLING_INFO_SPEC_VERSION = 1
pattern EXT_TOOLING_INFO_SPEC_VERSION :: forall a. Integral a => a
type EXT_TOOLING_INFO_EXTENSION_NAME = "VK_EXT_tooling_info"
pattern EXT_TOOLING_INFO_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_tooling_info.PhysicalDeviceToolPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_tooling_info.PhysicalDeviceToolPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_tooling_info.PhysicalDeviceToolPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_tooling_info.PhysicalDeviceToolPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_tooling_info.PhysicalDeviceToolPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_tooling_info.ToolPurposeFlagBitsEXT
-- | Name
--
-- VK_EXT_sample_locations - device extension
--
-- VK_EXT_sample_locations
--
--
-- - Name String VK_EXT_sample_locations
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 144
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-02
--
--
--
-- - Contributors
- Mais Alnasser,
-- AMD
- Matthaeus G. Chajdas, AMD
- Maciej Jesionowski,
-- AMD
- Daniel Rakos, AMD
- Slawomir Grajewski,
-- Intel
- Jeff Bolz, NVIDIA
- Bill Licea-Kane,
-- Qualcomm
--
--
-- Description
--
-- This extension allows an application to modify the locations of
-- samples within a pixel used in rasterization. Additionally, it allows
-- applications to specify different sample locations for each pixel in a
-- group of adjacent pixels, which can increase antialiasing
-- quality (particularly if a custom resolve shader is used that takes
-- advantage of these different locations).
--
-- It is common for implementations to optimize the storage of depth
-- values by storing values that can be used to reconstruct depth
-- at each sample location, rather than storing separate depth values for
-- each sample. For example, the depth values from a single triangle
-- may be represented using plane equations. When the depth value
-- for a sample is needed, it is automatically evaluated at the sample
-- location. Modifying the sample locations causes the reconstruction to
-- no longer evaluate the same depth values as when the samples were
-- originally generated, thus the depth aspect of a depth/stencil
-- attachment must be cleared before rendering to it using
-- different sample locations.
--
-- Some implementations may need to evaluate depth image values
-- while performing image layout transitions. To accommodate this,
-- instances of the SampleLocationsInfoEXT structure can be
-- specified for each situation where an explicit or automatic layout
-- transition has to take place. SampleLocationsInfoEXT can
-- be chained from ImageMemoryBarrier structures to provide sample
-- locations for layout transitions performed by cmdWaitEvents and
-- cmdPipelineBarrier calls, and
-- RenderPassSampleLocationsBeginInfoEXT can be chained
-- from RenderPassBeginInfo to provide sample locations for layout
-- transitions performed implicitly by a render pass instance.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-02 (Daniel Rakos)
--
--
-- See Also
--
-- AttachmentSampleLocationsEXT, MultisamplePropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- RenderPassSampleLocationsBeginInfoEXT,
-- SampleLocationEXT, SampleLocationsInfoEXT,
-- SubpassSampleLocationsEXT, cmdSetSampleLocationsEXT,
-- getPhysicalDeviceMultisamplePropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_sample_locations
-- | vkCmdSetSampleLocationsEXT - Set sample locations dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the custom sample locations for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates, and
-- when the
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- property of the bound graphics pipeline is TRUE. Otherwise,
-- this state is specified by the
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsInfo
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - The sampleLocationsPerPixel member of
-- pSampleLocationsInfo must equal the
-- rasterizationSamples member of the
-- PipelineMultisampleStateCreateInfo structure the bound graphics
-- pipeline has been created with
--
--
--
-- - If
-- PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations
-- is FALSE then the current render pass must have been
-- begun by specifying a RenderPassSampleLocationsBeginInfoEXT
-- structure whose pPostSubpassSampleLocations member contains
-- an element with a subpassIndex matching the current subpass
-- index and the sampleLocationsInfo member of that element
-- must match the sample locations state pointed to by
-- pSampleLocationsInfo
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_sample_locations, CommandBuffer,
-- SampleLocationsInfoEXT
cmdSetSampleLocationsEXT :: forall io. MonadIO io => CommandBuffer -> SampleLocationsInfoEXT -> io ()
-- | vkGetPhysicalDeviceMultisamplePropertiesEXT - Report sample count
-- specific multisampling capabilities of a physical device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations, MultisamplePropertiesEXT,
-- PhysicalDevice, SampleCountFlagBits
getPhysicalDeviceMultisamplePropertiesEXT :: forall io. MonadIO io => PhysicalDevice -> ("samples" ::: SampleCountFlagBits) -> io MultisamplePropertiesEXT
-- | VkSampleLocationEXT - Structure specifying the coordinates of a sample
-- location
--
-- Description
--
-- The domain space of the sample location coordinates has an upper-left
-- origin within the pixel in framebuffer space.
--
-- The values specified in a SampleLocationEXT structure are
-- always clamped to the implementation-dependent sample location
-- coordinate range
-- [sampleLocationCoordinateRange[0],sampleLocationCoordinateRange[1]]
-- that can be queried using
-- PhysicalDeviceSampleLocationsPropertiesEXT.
--
-- See Also
--
-- VK_EXT_sample_locations, SampleLocationsInfoEXT
data SampleLocationEXT
SampleLocationEXT :: Float -> Float -> SampleLocationEXT
-- | x is the horizontal coordinate of the sample’s location.
[$sel:x:SampleLocationEXT] :: SampleLocationEXT -> Float
-- | y is the vertical coordinate of the sample’s location.
[$sel:y:SampleLocationEXT] :: SampleLocationEXT -> Float
-- | VkSampleLocationsInfoEXT - Structure specifying a set of sample
-- locations
--
-- Description
--
-- This structure can be used either to specify the sample
-- locations to be used for rendering or to specify the set of sample
-- locations an image subresource has been last rendered with for the
-- purposes of layout transitions of depth/stencil images created with
-- IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT.
--
-- The sample locations in pSampleLocations specify
-- sampleLocationsPerPixel number of sample locations for each
-- pixel in the grid of the size specified in
-- sampleLocationGridSize. The sample location for sample i at
-- the pixel grid location (x,y) is taken from
-- pSampleLocations[(x + y ×
-- sampleLocationGridSize.width) ×
-- sampleLocationsPerPixel + i].
--
-- If the render pass has a fragment density map, the implementation will
-- choose the sample locations for the fragment and the contents of
-- pSampleLocations may be ignored.
--
-- Valid Usage
--
--
--
--
-- - sampleLocationsCount must equal
-- sampleLocationsPerPixel ×
-- sampleLocationGridSize.width ×
-- sampleLocationGridSize.height
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If sampleLocationsCount is not 0,
-- pSampleLocations must be a valid pointer to an array
-- of sampleLocationsCount SampleLocationEXT
-- structures
--
--
-- See Also
--
-- VK_EXT_sample_locations, AttachmentSampleLocationsEXT,
-- Extent2D, PipelineSampleLocationsStateCreateInfoEXT,
-- SampleCountFlagBits, SampleLocationEXT,
-- StructureType, SubpassSampleLocationsEXT,
-- cmdSetSampleLocationsEXT
data SampleLocationsInfoEXT
SampleLocationsInfoEXT :: SampleCountFlagBits -> Extent2D -> Vector SampleLocationEXT -> SampleLocationsInfoEXT
-- | sampleLocationsPerPixel is a SampleCountFlagBits value
-- specifying the number of sample locations per pixel.
[$sel:sampleLocationsPerPixel:SampleLocationsInfoEXT] :: SampleLocationsInfoEXT -> SampleCountFlagBits
-- | sampleLocationGridSize is the size of the sample location
-- grid to select custom sample locations for.
[$sel:sampleLocationGridSize:SampleLocationsInfoEXT] :: SampleLocationsInfoEXT -> Extent2D
-- | pSampleLocations is a pointer to an array of
-- sampleLocationsCount SampleLocationEXT structures.
[$sel:sampleLocations:SampleLocationsInfoEXT] :: SampleLocationsInfoEXT -> Vector SampleLocationEXT
-- | VkAttachmentSampleLocationsEXT - Structure specifying the sample
-- locations state to use in the initial layout transition of attachments
--
-- Description
--
-- If the image referenced by the framebuffer attachment at index
-- attachmentIndex was not created with
-- IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT then the
-- values specified in sampleLocationsInfo are ignored.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations,
-- RenderPassSampleLocationsBeginInfoEXT,
-- SampleLocationsInfoEXT
data AttachmentSampleLocationsEXT
AttachmentSampleLocationsEXT :: Word32 -> SampleLocationsInfoEXT -> AttachmentSampleLocationsEXT
-- | attachmentIndex is the index of the attachment for which the
-- sample locations state is provided.
--
-- attachmentIndex must be less than the
-- attachmentCount specified in RenderPassCreateInfo the
-- render pass specified by
-- RenderPassBeginInfo::renderPass was created with
[$sel:attachmentIndex:AttachmentSampleLocationsEXT] :: AttachmentSampleLocationsEXT -> Word32
-- | sampleLocationsInfo is the sample locations state to use for
-- the layout transition of the given attachment from the initial layout
-- of the attachment to the image layout specified for the attachment in
-- the first subpass using it.
--
-- sampleLocationsInfo must be a valid
-- SampleLocationsInfoEXT structure
[$sel:sampleLocationsInfo:AttachmentSampleLocationsEXT] :: AttachmentSampleLocationsEXT -> SampleLocationsInfoEXT
-- | VkSubpassSampleLocationsEXT - Structure specifying the sample
-- locations state to use for layout transitions of attachments performed
-- after a given subpass
--
-- Description
--
-- If the image referenced by the depth/stencil attachment used in the
-- subpass identified by subpassIndex was not created with
-- IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT or if
-- the subpass does not use a depth/stencil attachment, and
-- PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations
-- is TRUE then the values specified in
-- sampleLocationsInfo are ignored.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations,
-- RenderPassSampleLocationsBeginInfoEXT,
-- SampleLocationsInfoEXT
data SubpassSampleLocationsEXT
SubpassSampleLocationsEXT :: Word32 -> SampleLocationsInfoEXT -> SubpassSampleLocationsEXT
-- | subpassIndex is the index of the subpass for which the sample
-- locations state is provided.
--
-- subpassIndex must be less than the
-- subpassCount specified in RenderPassCreateInfo the
-- render pass specified by
-- RenderPassBeginInfo::renderPass was created with
[$sel:subpassIndex:SubpassSampleLocationsEXT] :: SubpassSampleLocationsEXT -> Word32
-- | sampleLocationsInfo is the sample locations state to use for
-- the layout transition of the depth/stencil attachment away from the
-- image layout the attachment is used with in the subpass specified in
-- subpassIndex.
--
-- sampleLocationsInfo must be a valid
-- SampleLocationsInfoEXT structure
[$sel:sampleLocationsInfo:SubpassSampleLocationsEXT] :: SubpassSampleLocationsEXT -> SampleLocationsInfoEXT
-- | VkRenderPassSampleLocationsBeginInfoEXT - Structure specifying sample
-- locations to use for the layout transition of custom sample locations
-- compatible depth/stencil attachments
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If attachmentInitialSampleLocationsCount is not
-- 0, pAttachmentInitialSampleLocations must be
-- a valid pointer to an array of
-- attachmentInitialSampleLocationsCount valid
-- AttachmentSampleLocationsEXT structures
-- - If postSubpassSampleLocationsCount is not 0,
-- pPostSubpassSampleLocations must be a valid pointer to
-- an array of postSubpassSampleLocationsCount valid
-- SubpassSampleLocationsEXT structures
--
--
-- See Also
--
-- VK_EXT_sample_locations, AttachmentSampleLocationsEXT,
-- StructureType, SubpassSampleLocationsEXT
data RenderPassSampleLocationsBeginInfoEXT
RenderPassSampleLocationsBeginInfoEXT :: Vector AttachmentSampleLocationsEXT -> Vector SubpassSampleLocationsEXT -> RenderPassSampleLocationsBeginInfoEXT
-- | pAttachmentInitialSampleLocations is a pointer to an array of
-- attachmentInitialSampleLocationsCount
-- AttachmentSampleLocationsEXT structures specifying the
-- attachment indices and their corresponding sample location state. Each
-- element of pAttachmentInitialSampleLocations can
-- specify the sample location state to use in the automatic layout
-- transition performed to transition a depth/stencil attachment from the
-- initial layout of the attachment to the image layout specified for the
-- attachment in the first subpass using it.
[$sel:attachmentInitialSampleLocations:RenderPassSampleLocationsBeginInfoEXT] :: RenderPassSampleLocationsBeginInfoEXT -> Vector AttachmentSampleLocationsEXT
-- | pPostSubpassSampleLocations is a pointer to an array of
-- postSubpassSampleLocationsCount
-- SubpassSampleLocationsEXT structures specifying the subpass
-- indices and their corresponding sample location state. Each element of
-- pPostSubpassSampleLocations can specify the sample
-- location state to use in the automatic layout transition performed to
-- transition the depth/stencil attachment used by the specified subpass
-- to the image layout specified in a dependent subpass or to the final
-- layout of the attachment in case the specified subpass is the last
-- subpass using that attachment. In addition, if
-- PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations
-- is FALSE, each element of pPostSubpassSampleLocations
-- must specify the sample location state that matches the sample
-- locations used by all pipelines that will be bound to a command buffer
-- during the specified subpass. If variableSampleLocations is
-- TRUE, the sample locations used for rasterization do not depend
-- on pPostSubpassSampleLocations.
[$sel:postSubpassSampleLocations:RenderPassSampleLocationsBeginInfoEXT] :: RenderPassSampleLocationsBeginInfoEXT -> Vector SubpassSampleLocationsEXT
-- | VkPipelineSampleLocationsStateCreateInfoEXT - Structure specifying
-- sample locations for a pipeline
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations, Bool32,
-- SampleLocationsInfoEXT, StructureType
data PipelineSampleLocationsStateCreateInfoEXT
PipelineSampleLocationsStateCreateInfoEXT :: Bool -> SampleLocationsInfoEXT -> PipelineSampleLocationsStateCreateInfoEXT
-- | sampleLocationsEnable controls whether custom sample
-- locations are used. If sampleLocationsEnable is FALSE,
-- the default sample locations are used and the values specified in
-- sampleLocationsInfo are ignored.
[$sel:sampleLocationsEnable:PipelineSampleLocationsStateCreateInfoEXT] :: PipelineSampleLocationsStateCreateInfoEXT -> Bool
-- | sampleLocationsInfo is the sample locations to use during
-- rasterization if sampleLocationsEnable is TRUE and the
-- graphics pipeline is not created with
-- DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT.
--
-- sampleLocationsInfo must be a valid
-- SampleLocationsInfoEXT structure
[$sel:sampleLocationsInfo:PipelineSampleLocationsStateCreateInfoEXT] :: PipelineSampleLocationsStateCreateInfoEXT -> SampleLocationsInfoEXT
-- | VkPhysicalDeviceSampleLocationsPropertiesEXT - Structure describing
-- sample location limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceSampleLocationsPropertiesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations, Bool32, Extent2D,
-- SampleCountFlags, StructureType
data PhysicalDeviceSampleLocationsPropertiesEXT
PhysicalDeviceSampleLocationsPropertiesEXT :: SampleCountFlags -> Extent2D -> (Float, Float) -> Word32 -> Bool -> PhysicalDeviceSampleLocationsPropertiesEXT
-- | sampleLocationSampleCounts is a bitmask of
-- SampleCountFlagBits indicating the sample counts supporting
-- custom sample locations.
[$sel:sampleLocationSampleCounts:PhysicalDeviceSampleLocationsPropertiesEXT] :: PhysicalDeviceSampleLocationsPropertiesEXT -> SampleCountFlags
-- | maxSampleLocationGridSize is the maximum size of the pixel
-- grid in which sample locations can vary that is supported for
-- all sample counts in sampleLocationSampleCounts.
[$sel:maxSampleLocationGridSize:PhysicalDeviceSampleLocationsPropertiesEXT] :: PhysicalDeviceSampleLocationsPropertiesEXT -> Extent2D
-- | sampleLocationCoordinateRange[2] is the range of supported
-- sample location coordinates.
[$sel:sampleLocationCoordinateRange:PhysicalDeviceSampleLocationsPropertiesEXT] :: PhysicalDeviceSampleLocationsPropertiesEXT -> (Float, Float)
-- | sampleLocationSubPixelBits is the number of bits of subpixel
-- precision for sample locations.
[$sel:sampleLocationSubPixelBits:PhysicalDeviceSampleLocationsPropertiesEXT] :: PhysicalDeviceSampleLocationsPropertiesEXT -> Word32
-- | variableSampleLocations specifies whether the sample
-- locations used by all pipelines that will be bound to a command buffer
-- during a subpass must match. If set to TRUE, the
-- implementation supports variable sample locations in a subpass. If set
-- to FALSE, then the sample locations must stay constant
-- in each subpass.
[$sel:variableSampleLocations:PhysicalDeviceSampleLocationsPropertiesEXT] :: PhysicalDeviceSampleLocationsPropertiesEXT -> Bool
-- | VkMultisamplePropertiesEXT - Structure returning information about
-- sample count specific additional multisampling capabilities
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_sample_locations, Extent2D, StructureType,
-- getPhysicalDeviceMultisamplePropertiesEXT
data MultisamplePropertiesEXT
MultisamplePropertiesEXT :: Extent2D -> MultisamplePropertiesEXT
-- | maxSampleLocationGridSize is the maximum size of the pixel
-- grid in which sample locations can vary.
[$sel:maxSampleLocationGridSize:MultisamplePropertiesEXT] :: MultisamplePropertiesEXT -> Extent2D
type EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1
pattern EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: forall a. Integral a => a
type EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations"
pattern EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.AttachmentSampleLocationsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.SubpassSampleLocationsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.RenderPassSampleLocationsBeginInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.RenderPassSampleLocationsBeginInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.RenderPassSampleLocationsBeginInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.RenderPassSampleLocationsBeginInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.SubpassSampleLocationsEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.SubpassSampleLocationsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.SubpassSampleLocationsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.AttachmentSampleLocationsEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.AttachmentSampleLocationsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.AttachmentSampleLocationsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationEXT
-- | Name
--
-- VK_EXT_pageable_device_local_memory - device extension
--
-- VK_EXT_pageable_device_local_memory
--
--
-- - Name String
-- VK_EXT_pageable_device_local_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 413
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_memory_priority
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-08-24
--
--
--
-- - Contributors
- Hans-Kristian Arntzen,
-- Valve
- Axel Gneiting, id Software
- Billy Khan, id
-- Software
- Daniel Koch, NVIDIA
- Chris Lentini,
-- NVIDIA
- Joshua Schnarr, NVIDIA
- Stu Smith,
-- AMD
--
--
-- Description
--
-- Vulkan is frequently implemented on multi-user and multi-process
-- operating systems where the device-local memory can be shared by more
-- than one process. On such systems the size of the device-local memory
-- available to the application may not be the full size of the memory
-- heap at all times. In order for these operating systems to support
-- multiple applications the device-local memory is virtualized and
-- paging is used to move memory between device-local and host-local
-- memory heaps, transparent to the application.
--
-- The current Vulkan specification does not expose this behavior well
-- and may cause applications to make suboptimal memory choices when
-- allocating memory. For example, in a system with multiple applications
-- running, the application may think that device-local memory is full
-- and revert to making performance-sensitive allocations from host-local
-- memory. In reality the memory heap might not have been full, it just
-- appeared to be at the time memory consumption was queried, and a
-- device-local allocation would have succeeded. A well designed
-- operating system that implements pageable device-local memory will try
-- to have all memory allocations for the foreground application paged
-- into device-local memory, and paged out for other applications as
-- needed when not in use.
--
-- When this extension is exposed by the Vulkan implementation it
-- indicates to the application that the operating system implements
-- pageable device-local memory and the application should adjust its
-- memory allocation strategy accordingly. The extension also exposes a
-- new setDeviceMemoryPriorityEXT function to allow the
-- application to dynamically adjust the priority of existing memory
-- allocations based on its current needs. This will help the operating
-- system page out lower priority memory allocations before higher
-- priority allocations when needed. It will also help the operating
-- system decide which memory allocations to page back into device-local
-- memory first.
--
-- To take best advantage of pageable device-local memory the application
-- must create the Vulkan device with the
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT::pageableDeviceLocalMemory
-- feature enabled. When enabled the Vulkan implementation will allow
-- device-local memory allocations to be paged in and out by the
-- operating system, and may not return
-- VK_ERROR_OUT_OF_DEVICE_MEMORY even if device-local memory appears to
-- be full, but will instead page this, or other allocations, out to make
-- room. The Vulkan implementation will also ensure that host-local
-- memory allocations will never be promoted to device-local memory by
-- the operating system, or consume device-local memory.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-08-24 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- setDeviceMemoryPriorityEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_pageable_device_local_memory
-- | vkSetDeviceMemoryPriorityEXT - Change a memory allocation priority
--
-- Description
--
-- Memory allocations with higher priority may be more likely to
-- stay in device-local memory when the system is under memory pressure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_pageable_device_local_memory, Device,
-- DeviceMemory
setDeviceMemoryPriorityEXT :: forall io. MonadIO io => Device -> DeviceMemory -> ("priority" ::: Float) -> io ()
-- | VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT - Structure
-- describing whether the implementation supports pageable device-local
-- memory
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_pageable_device_local_memory, Bool32,
-- StructureType
data PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: Bool -> PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
-- | pageableDeviceLocalMemory indicates that the implementation
-- supports pageable device-local memory and may transparently
-- move device-local memory allocations to host-local memory to better
-- share device-local memory with other applications.
[$sel:pageableDeviceLocalMemory:PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT] :: PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT -> Bool
type EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1
pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory"
pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
-- | Name
--
-- VK_EXT_multi_draw - device extension
--
-- VK_EXT_multi_draw
--
--
-- - Name String VK_EXT_multi_draw
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 393
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-05-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Mike Blumenkrantz,
-- VALVE
- Piers Daniell, NVIDIA
- Jason Ekstrand,
-- INTEL
- Spencer Fricke, SAMSUNG
- Ricardo Garcia,
-- IGALIA
- Jon Leech, KHRONOS
- Stu Smith,
-- AMD
--
--
-- Description
--
-- Processing multiple draw commands in sequence incurs measurable
-- overhead within drivers due to repeated state checks and updates
-- during dispatch. This extension enables passing the entire sequence of
-- draws directly to the driver in order to avoid any such overhead,
-- using an array of MultiDrawInfoEXT or
-- MultiDrawIndexedInfoEXT structs with cmdDrawMultiEXT or
-- cmdDrawMultiIndexedEXT, respectively. These functions could be
-- used any time multiple draw commands are being recorded without any
-- state changes between them in order to maximize performance.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
-- - (modified)DrawIndex
--
--
-- Version History
--
--
-- - Revision 1, 2021-01-20 (Mike Blumenkrantz)
--
--
-- See Also
--
-- MultiDrawIndexedInfoEXT, MultiDrawInfoEXT,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT, cmdDrawMultiEXT,
-- cmdDrawMultiIndexedEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_multi_draw
-- | vkCmdDrawMultiEXT - Draw primitives
--
-- Description
--
-- drawCount draws are executed with parameters taken from
-- pVertexInfo. The number of draw commands recorded is
-- drawCount, with each command reading, sequentially, a
-- firstVertex and a vertexCount from
-- pVertexInfo.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - The multiDraw feature must be enabled
-- - drawCount must be less than
-- PhysicalDeviceMultiDrawPropertiesEXT::maxMultiDrawCount
-- - If drawCount is greater than zero, pVertexInfo
-- must be a valid pointer to memory containing one or more valid
-- instances of MultiDrawInfoEXT structures
-- - stride must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_multi_draw, CommandBuffer,
-- MultiDrawInfoEXT
cmdDrawMultiEXT :: forall io. MonadIO io => CommandBuffer -> ("vertexInfo" ::: Vector MultiDrawInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | vkCmdDrawMultiIndexedEXT - Draw primitives
--
-- Description
--
-- drawCount indexed draws are executed with parameters taken
-- from pIndexInfo. The number of draw commands recorded is
-- drawCount, with each command reading, sequentially, a
-- firstIndex and an indexCount from
-- pIndexInfo. If pVertexOffset is NULL, a
-- vertexOffset is also read from pIndexInfo, otherwise
-- the value from dereferencing pVertexOffset is used.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - The multiDraw feature must be enabled
-- - (indexSize × (firstIndex + indexCount)
-- + offset) must be less than or equal to the size of
-- the bound index buffer, with indexSize being based on the
-- type specified by indexType, where the index buffer,
-- indexType, and offset are specified via
-- cmdBindIndexBuffer
-- - drawCount must be less than
-- PhysicalDeviceMultiDrawPropertiesEXT::maxMultiDrawCount
-- - If drawCount is greater than zero, pIndexInfo
-- must be a valid pointer to memory containing one or more valid
-- instances of MultiDrawIndexedInfoEXT structures
-- - stride must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pVertexOffset is not NULL,
-- pVertexOffset must be a valid pointer to a valid
-- int32_t value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_multi_draw, CommandBuffer,
-- MultiDrawIndexedInfoEXT
cmdDrawMultiIndexedEXT :: forall io. MonadIO io => CommandBuffer -> ("indexInfo" ::: Vector MultiDrawIndexedInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> ("vertexOffset" ::: Maybe Int32) -> io ()
-- | VkMultiDrawInfoEXT - Structure specifying a multi-draw command
--
-- Description
--
-- The members of MultiDrawInfoEXT have the same meaning as the
-- firstVertex and vertexCount parameters in
-- cmdDraw.
--
-- See Also
--
-- VK_EXT_multi_draw, cmdDrawMultiEXT
data MultiDrawInfoEXT
MultiDrawInfoEXT :: Word32 -> Word32 -> MultiDrawInfoEXT
-- | firstVertex is the first vertex to draw.
[$sel:firstVertex:MultiDrawInfoEXT] :: MultiDrawInfoEXT -> Word32
-- | vertexCount is the number of vertices to draw.
[$sel:vertexCount:MultiDrawInfoEXT] :: MultiDrawInfoEXT -> Word32
-- | VkMultiDrawIndexedInfoEXT - Structure specifying a multi-draw command
--
-- Description
--
-- The firstIndex, indexCount, and
-- vertexOffset members of MultiDrawIndexedInfoEXT have
-- the same meaning as the firstIndex, indexCount, and
-- vertexOffset parameters, respectively, of
-- cmdDrawIndexed.
--
-- See Also
--
-- VK_EXT_multi_draw, cmdDrawMultiIndexedEXT
data MultiDrawIndexedInfoEXT
MultiDrawIndexedInfoEXT :: Word32 -> Word32 -> Int32 -> MultiDrawIndexedInfoEXT
-- | firstIndex is the first index to draw.
[$sel:firstIndex:MultiDrawIndexedInfoEXT] :: MultiDrawIndexedInfoEXT -> Word32
-- | indexCount is the number of vertices to draw.
[$sel:indexCount:MultiDrawIndexedInfoEXT] :: MultiDrawIndexedInfoEXT -> Word32
-- | vertexOffset is the value added to the vertex index before
-- indexing into the vertex buffer for indexed multidraws.
[$sel:vertexOffset:MultiDrawIndexedInfoEXT] :: MultiDrawIndexedInfoEXT -> Int32
-- | VkPhysicalDeviceMultiDrawPropertiesEXT - Structure describing
-- multidraw limits of an implementation
--
-- Members
--
-- The members of the PhysicalDeviceMultiDrawPropertiesEXT
-- structure describe the following features:
--
-- Description
--
-- If the VkPhysicalDeviceMultiDrawPropertiesPropertiesEXT
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_multi_draw, StructureType
data PhysicalDeviceMultiDrawPropertiesEXT
PhysicalDeviceMultiDrawPropertiesEXT :: Word32 -> PhysicalDeviceMultiDrawPropertiesEXT
-- | maxMultiDrawCount indicates the maximum number of draw calls
-- which can be batched into a single multidraw.
[$sel:maxMultiDrawCount:PhysicalDeviceMultiDrawPropertiesEXT] :: PhysicalDeviceMultiDrawPropertiesEXT -> Word32
-- | VkPhysicalDeviceMultiDrawFeaturesEXT - Structure describing whether
-- the implementation supports multi draw functionality
--
-- Members
--
-- The members of the PhysicalDeviceMultiDrawFeaturesEXT structure
-- describe the following features:
--
-- Description
--
-- If the PhysicalDeviceMultiDrawFeaturesEXT structure is included
-- in the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceMultiDrawFeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_multi_draw, Bool32, StructureType
data PhysicalDeviceMultiDrawFeaturesEXT
PhysicalDeviceMultiDrawFeaturesEXT :: Bool -> PhysicalDeviceMultiDrawFeaturesEXT
-- | multiDraw indicates that the implementation supports
-- cmdDrawMultiEXT and cmdDrawMultiIndexedEXT.
[$sel:multiDraw:PhysicalDeviceMultiDrawFeaturesEXT] :: PhysicalDeviceMultiDrawFeaturesEXT -> Bool
type EXT_MULTI_DRAW_SPEC_VERSION = 1
pattern EXT_MULTI_DRAW_SPEC_VERSION :: forall a. Integral a => a
type EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw"
pattern EXT_MULTI_DRAW_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawIndexedInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_multi_draw.MultiDrawInfoEXT
-- | Name
--
-- VK_EXT_line_rasterization - device extension
--
-- VK_EXT_line_rasterization
--
--
-- - Name String VK_EXT_line_rasterization
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 260
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jeff Bolz, NVIDIA
- Allen
-- Jensen, NVIDIA
- Jason Ekstrand, Intel
--
--
-- Description
--
-- This extension adds some line rasterization features that are commonly
-- used in CAD applications and supported in other APIs like OpenGL.
-- Bresenham-style line rasterization is supported, smooth rectangular
-- lines (coverage to alpha) are supported, and stippled lines are
-- supported for all three line rasterization modes.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- (1) Do we need to support Bresenham-style and smooth lines with more than
-- one rasterization sample? i.e. the equivalent of glDisable(GL_MULTISAMPLE)
-- in OpenGL when the framebuffer has more than one sample?
--
--
--
-- RESOLVED: Yes.
-- For simplicity, Bresenham line rasterization carries forward a few
-- restrictions from OpenGL, such as not supporting per-sample shading, alpha
-- to coverage, or alpha to one.
--
--
-- Version History
--
--
-- - Revision 1, 2019-05-09 (Jeff Bolz)
--
--
-- See Also
--
-- LineRasterizationModeEXT,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- cmdSetLineStippleEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_line_rasterization
-- | vkCmdSetLineStippleEXT - Set line stipple dynamically for a command
-- buffer
--
-- Description
--
-- This command sets the line stipple state for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_LINE_STIPPLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationLineStateCreateInfoEXT::lineStippleFactor
-- and
-- PipelineRasterizationLineStateCreateInfoEXT::lineStipplePattern
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - lineStippleFactor must be in the range
-- [1,256]
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_line_rasterization, CommandBuffer
cmdSetLineStippleEXT :: forall io. MonadIO io => CommandBuffer -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> io ()
-- | VkPhysicalDeviceLineRasterizationFeaturesEXT - Structure describing
-- the line rasterization features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceLineRasterizationFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceLineRasterizationFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_line_rasterization, Bool32, StructureType
data PhysicalDeviceLineRasterizationFeaturesEXT
PhysicalDeviceLineRasterizationFeaturesEXT :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceLineRasterizationFeaturesEXT
-- | rectangularLines indicates whether the implementation
-- supports rectangular line rasterization.
[$sel:rectangularLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | bresenhamLines indicates whether the implementation supports
-- Bresenham-style line rasterization.
[$sel:bresenhamLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | smoothLines indicates whether the implementation supports
-- smooth line rasterization.
[$sel:smoothLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | stippledRectangularLines indicates whether the implementation
-- supports stippled line rasterization with
-- LINE_RASTERIZATION_MODE_RECTANGULAR_EXT lines, or with
-- LINE_RASTERIZATION_MODE_DEFAULT_EXT lines if
-- PhysicalDeviceLimits::strictLines is TRUE.
[$sel:stippledRectangularLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | stippledBresenhamLines indicates whether the implementation
-- supports stippled line rasterization with
-- LINE_RASTERIZATION_MODE_BRESENHAM_EXT lines.
[$sel:stippledBresenhamLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | stippledSmoothLines indicates whether the implementation
-- supports stippled line rasterization with
-- LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT lines.
[$sel:stippledSmoothLines:PhysicalDeviceLineRasterizationFeaturesEXT] :: PhysicalDeviceLineRasterizationFeaturesEXT -> Bool
-- | VkPhysicalDeviceLineRasterizationPropertiesEXT - Structure describing
-- line rasterization properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceLineRasterizationPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_line_rasterization, StructureType
data PhysicalDeviceLineRasterizationPropertiesEXT
PhysicalDeviceLineRasterizationPropertiesEXT :: Word32 -> PhysicalDeviceLineRasterizationPropertiesEXT
-- | lineSubPixelPrecisionBits is the number of bits of subpixel
-- precision in framebuffer coordinates xf and yf when rasterizing
-- line segments.
[$sel:lineSubPixelPrecisionBits:PhysicalDeviceLineRasterizationPropertiesEXT] :: PhysicalDeviceLineRasterizationPropertiesEXT -> Word32
-- | VkPipelineRasterizationLineStateCreateInfoEXT - Structure specifying
-- parameters of a newly created pipeline line rasterization state
--
-- Description
--
-- If stippledLineEnable is FALSE, the values of
-- lineStippleFactor and lineStipplePattern are
-- ignored.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_line_rasterization, Bool32,
-- LineRasterizationModeEXT, StructureType
data PipelineRasterizationLineStateCreateInfoEXT
PipelineRasterizationLineStateCreateInfoEXT :: LineRasterizationModeEXT -> Bool -> Word32 -> Word16 -> PipelineRasterizationLineStateCreateInfoEXT
-- | lineRasterizationMode is a LineRasterizationModeEXT
-- value selecting the style of line rasterization.
[$sel:lineRasterizationMode:PipelineRasterizationLineStateCreateInfoEXT] :: PipelineRasterizationLineStateCreateInfoEXT -> LineRasterizationModeEXT
-- | stippledLineEnable enables stippled line
-- rasterization.
[$sel:stippledLineEnable:PipelineRasterizationLineStateCreateInfoEXT] :: PipelineRasterizationLineStateCreateInfoEXT -> Bool
-- | lineStippleFactor is the repeat factor used in stippled line
-- rasterization.
[$sel:lineStippleFactor:PipelineRasterizationLineStateCreateInfoEXT] :: PipelineRasterizationLineStateCreateInfoEXT -> Word32
-- | lineStipplePattern is the bit pattern used in stippled line
-- rasterization.
[$sel:lineStipplePattern:PipelineRasterizationLineStateCreateInfoEXT] :: PipelineRasterizationLineStateCreateInfoEXT -> Word16
-- | VkLineRasterizationModeEXT - Line rasterization modes
--
-- See Also
--
-- VK_EXT_line_rasterization,
-- PipelineRasterizationLineStateCreateInfoEXT
newtype LineRasterizationModeEXT
LineRasterizationModeEXT :: Int32 -> LineRasterizationModeEXT
-- | LINE_RASTERIZATION_MODE_DEFAULT_EXT is equivalent to
-- LINE_RASTERIZATION_MODE_RECTANGULAR_EXT if
-- PhysicalDeviceLimits::strictLines is TRUE,
-- otherwise lines are drawn as non-strictLines parallelograms.
-- Both of these modes are defined in Basic Line Segment
-- Rasterization.
pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT :: LineRasterizationModeEXT
-- | LINE_RASTERIZATION_MODE_RECTANGULAR_EXT specifies lines drawn
-- as if they were rectangles extruded from the line
pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT :: LineRasterizationModeEXT
-- | LINE_RASTERIZATION_MODE_BRESENHAM_EXT specifies lines drawn by
-- determining which pixel diamonds the line intersects and exits, as
-- defined in Bresenham Line Segment Rasterization.
pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT :: LineRasterizationModeEXT
-- | LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT specifies lines
-- drawn if they were rectangles extruded from the line, with alpha
-- falloff, as defined in Smooth Lines.
pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT :: LineRasterizationModeEXT
type EXT_LINE_RASTERIZATION_SPEC_VERSION = 1
pattern EXT_LINE_RASTERIZATION_SPEC_VERSION :: forall a. Integral a => a
type EXT_LINE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_line_rasterization"
pattern EXT_LINE_RASTERIZATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT
-- | Name
--
-- VK_EXT_external_memory_host - device extension
--
-- VK_EXT_external_memory_host
--
--
-- - Name String
-- VK_EXT_external_memory_host
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 179
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-11-10
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jaakko Konttinen,
-- AMD
- David Mao, AMD
- Daniel Rakos, AMD
- Tobias
-- Hector, Imagination Technologies
- Jason Ekstrand,
-- Intel
- James Jones, NVIDIA
--
--
-- Description
--
-- This extension enables an application to import host allocations and
-- host mapped foreign device memory to Vulkan memory objects.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What memory type has to be used to import host pointers?
--
-- RESOLVED: Depends on the implementation. Applications have to
-- use the new getMemoryHostPointerPropertiesEXT command to query
-- the supported memory types for a particular host pointer. The reported
-- memory types may include memory types that come from a memory heap
-- that is otherwise not usable for regular memory object allocation and
-- thus such a heap’s size may be zero.
--
-- 2) Can the application still access the contents of the host
-- allocation after importing?
--
-- RESOLVED: Yes. However, usual synchronization requirements
-- apply.
--
-- 3) Can the application free the host allocation?
--
-- RESOLVED: No, it violates valid usage conditions. Using the
-- memory object imported from a host allocation that is already freed
-- thus results in undefined behavior.
--
-- 4) Is mapMemory expected to return the same host address which
-- was specified when importing it to the memory object?
--
-- RESOLVED: No. Implementations are allowed to return the same
-- address but it is not required. Some implementations might return a
-- different virtual mapping of the allocation, although the same
-- physical pages will be used.
--
-- 5) Is there any limitation on the alignment of the host pointer and/or
-- size?
--
-- RESOLVED: Yes. Both the address and the size have to be an
-- integer multiple of minImportedHostPointerAlignment. In
-- addition, some platforms and foreign devices may have additional
-- restrictions.
--
-- 6) Can the same host allocation be imported multiple times into a
-- given physical device?
--
-- RESOLVED: No, at least not guaranteed by this extension. Some
-- platforms do not allow locking the same physical pages for device
-- access multiple times, so attempting to do it may result in undefined
-- behavior.
--
-- 7) Does this extension support exporting the new handle type?
--
-- RESOLVED: No.
--
-- 8) Should we include the possibility to import host mapped foreign
-- device memory using this API?
--
-- RESOLVED: Yes, through a separate handle type. Implementations
-- are still allowed to support only one of the handle types introduced
-- by this extension by not returning import support for a particular
-- handle type as returned in ExternalMemoryPropertiesKHR.
--
-- Version History
--
--
-- - Revision 1, 2017-11-10 (Daniel Rakos)
--
--
-- See Also
--
-- ImportMemoryHostPointerInfoEXT,
-- MemoryHostPointerPropertiesEXT,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- getMemoryHostPointerPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_external_memory_host
-- | vkGetMemoryHostPointerPropertiesEXT - Get properties of external
-- memory host pointer
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_external_memory_host, Device,
-- ExternalMemoryHandleTypeFlagBits,
-- MemoryHostPointerPropertiesEXT
getMemoryHostPointerPropertiesEXT :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("hostPointer" ::: Ptr ()) -> io MemoryHostPointerPropertiesEXT
-- | VkImportMemoryHostPointerInfoEXT - Import memory from a host pointer
--
-- Description
--
-- Importing memory from a host pointer shares ownership of the memory
-- between the host and the Vulkan implementation. The application
-- can continue to access the memory through the host pointer but
-- it is the application’s responsibility to synchronize device and
-- non-device access to the payload as defined in Host Access to
-- Device Memory Objects.
--
-- Applications can import the same payload into multiple
-- instances of Vulkan and multiple times into a given Vulkan instance.
-- However, implementations may fail to import the same payload
-- multiple times into a given physical device due to platform
-- constraints.
--
-- Importing memory from a particular host pointer may not be
-- possible due to additional platform-specific restrictions beyond the
-- scope of this specification in which case the implementation
-- must fail the memory import operation with the error code
-- ERROR_INVALID_EXTERNAL_HANDLE_KHR.
--
-- Whether device memory objects imported from a host pointer hold a
-- reference to their payload is undefined. As such, the application
-- must ensure that the imported memory range remains valid and
-- accessible for the lifetime of the imported memory object.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_external_memory_host,
-- ExternalMemoryHandleTypeFlagBits, StructureType
data ImportMemoryHostPointerInfoEXT
ImportMemoryHostPointerInfoEXT :: ExternalMemoryHandleTypeFlagBits -> Ptr () -> ImportMemoryHostPointerInfoEXT
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the handle type.
[$sel:handleType:ImportMemoryHostPointerInfoEXT] :: ImportMemoryHostPointerInfoEXT -> ExternalMemoryHandleTypeFlagBits
-- | pHostPointer is the host pointer to import from.
[$sel:hostPointer:ImportMemoryHostPointerInfoEXT] :: ImportMemoryHostPointerInfoEXT -> Ptr ()
-- | VkMemoryHostPointerPropertiesEXT - Properties of external memory host
-- pointer
--
-- Description
--
-- The value returned by memoryTypeBits must only include
-- bits that identify memory types which are host visible.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_external_memory_host, StructureType,
-- getMemoryHostPointerPropertiesEXT
data MemoryHostPointerPropertiesEXT
MemoryHostPointerPropertiesEXT :: Word32 -> MemoryHostPointerPropertiesEXT
-- | memoryTypeBits is a bitmask containing one bit set for every
-- memory type which the specified host pointer can be imported
-- as.
[$sel:memoryTypeBits:MemoryHostPointerPropertiesEXT] :: MemoryHostPointerPropertiesEXT -> Word32
-- | VkPhysicalDeviceExternalMemoryHostPropertiesEXT - Structure describing
-- external memory host pointer limits that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceExternalMemoryHostPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_external_memory_host, DeviceSize,
-- StructureType
data PhysicalDeviceExternalMemoryHostPropertiesEXT
PhysicalDeviceExternalMemoryHostPropertiesEXT :: DeviceSize -> PhysicalDeviceExternalMemoryHostPropertiesEXT
-- | minImportedHostPointerAlignment is the minimum
-- required alignment, in bytes, for the base address and size of
-- host pointers that can be imported to a Vulkan memory object.
-- The value must be a power of two.
[$sel:minImportedHostPointerAlignment:PhysicalDeviceExternalMemoryHostPropertiesEXT] :: PhysicalDeviceExternalMemoryHostPropertiesEXT -> DeviceSize
type EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1
pattern EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: forall a. Integral a => a
type EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host"
pattern EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT
-- | Name
--
-- VK_EXT_extended_dynamic_state2 - device extension
--
-- VK_EXT_extended_dynamic_state2
--
--
-- - Name String
-- VK_EXT_extended_dynamic_state2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 378
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-04-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Vikram Kushwaha,
-- NVIDIA
- Piers Daniell, NVIDIA
- Jeff Bolz,
-- NVIDIA
--
--
-- Description
--
-- This extension adds some more dynamic state to support applications
-- that need to reduce the number of pipeline state objects they compile
-- and bind.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-04-12 (Vikram Kushwaha)
--
--
-- See Also
--
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- cmdSetDepthBiasEnableEXT, cmdSetLogicOpEXT,
-- cmdSetPatchControlPointsEXT,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetRasterizerDiscardEnableEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_extended_dynamic_state2
-- | vkCmdSetPatchControlPointsEXT - Specify the number of control points
-- per patch dynamically for a command buffer
--
-- Description
--
-- This command sets the number of control points per patch for
-- subsequent drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineTessellationStateCreateInfo::patchControlPoints
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
-- - patchControlPoints must be greater than zero and
-- less than or equal to
-- PhysicalDeviceLimits::maxTessellationPatchSize
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, CommandBuffer
cmdSetPatchControlPointsEXT :: forall io. MonadIO io => CommandBuffer -> ("patchControlPoints" ::: Word32) -> io ()
-- | vkCmdSetRasterizerDiscardEnableEXT - Control whether primitives are
-- discarded before the rasterization stage dynamically for a command
-- buffer
--
-- Description
--
-- This command sets the discard enable for subsequent drawing commands
-- when the graphics pipeline is created with
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationStateCreateInfo::rasterizerDiscardEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, Bool32,
-- CommandBuffer
cmdSetRasterizerDiscardEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io ()
-- | vkCmdSetDepthBiasEnableEXT - Control whether to bias fragment depth
-- values dynamically for a command buffer
--
-- Description
--
-- This command sets the depth bias enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationStateCreateInfo::depthBiasEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, Bool32,
-- CommandBuffer
cmdSetDepthBiasEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthBiasEnable" ::: Bool) -> io ()
-- | vkCmdSetLogicOpEXT - Select which logical operation to apply for blend
-- state dynamically for a command buffer
--
-- Description
--
-- This command sets the logical operation for blend state for subsequent
-- drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_LOGIC_OP_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineColorBlendStateCreateInfo::logicOp value used
-- to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - logicOp must be a valid LogicOp value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, CommandBuffer,
-- LogicOp
cmdSetLogicOpEXT :: forall io. MonadIO io => CommandBuffer -> LogicOp -> io ()
-- | vkCmdSetPrimitiveRestartEnableEXT - Set primitive assembly restart
-- state dynamically for a command buffer
--
-- Description
--
-- This command sets the primitive restart enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineInputAssemblyStateCreateInfo::primitiveRestartEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, Bool32,
-- CommandBuffer
cmdSetPrimitiveRestartEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("primitiveRestartEnable" ::: Bool) -> io ()
-- | VkPhysicalDeviceExtendedDynamicState2FeaturesEXT - Structure
-- describing what extended dynamic state can be used
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceExtendedDynamicState2FeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_extended_dynamic_state2, Bool32,
-- StructureType
data PhysicalDeviceExtendedDynamicState2FeaturesEXT
PhysicalDeviceExtendedDynamicState2FeaturesEXT :: Bool -> Bool -> Bool -> PhysicalDeviceExtendedDynamicState2FeaturesEXT
-- | extendedDynamicState2 indicates that the implementation
-- supports the following dynamic states:
--
--
[$sel:extendedDynamicState2:PhysicalDeviceExtendedDynamicState2FeaturesEXT] :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
-- | extendedDynamicState2LogicOp indicates that the
-- implementation supports the following dynamic state:
--
--
[$sel:extendedDynamicState2LogicOp:PhysicalDeviceExtendedDynamicState2FeaturesEXT] :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
-- | extendedDynamicState2PatchControlPoints indicates that the
-- implementation supports the following dynamic state:
--
--
[$sel:extendedDynamicState2PatchControlPoints:PhysicalDeviceExtendedDynamicState2FeaturesEXT] :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
type EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1
pattern EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall a. Integral a => a
type EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2"
pattern EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT
-- | Name
--
-- VK_EXT_discard_rectangles - device extension
--
-- VK_EXT_discard_rectangles
--
--
-- - Name String VK_EXT_discard_rectangles
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 100
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-22
--
--
--
-- - Interactions and External Dependencies
--
- Interacts with VK_KHR_device_group
- Interacts
-- with Vulkan 1.1
-- - Contributors
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- This extension provides additional orthogonally aligned “discard
-- rectangles” specified in framebuffer-space coordinates that restrict
-- rasterization of all points, lines and triangles.
--
-- From zero to an implementation-dependent limit (specified by
-- maxDiscardRectangles) number of discard rectangles can be
-- operational at once. When one or more discard rectangles are active,
-- rasterized fragments can either survive if the fragment is within any
-- of the operational discard rectangles
-- (DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT mode) or be rejected if
-- the fragment is within any of the operational discard rectangles
-- (DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT mode).
--
-- These discard rectangles operate orthogonally to the existing scissor
-- test functionality. The discard rectangles can be different for each
-- physical device in a device group by specifying the device mask and
-- setting discard rectangle dynamic state.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-12-22 (Piers Daniell)
--
--
-- See Also
--
-- DiscardRectangleModeEXT,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PipelineDiscardRectangleStateCreateFlagsEXT,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- cmdSetDiscardRectangleEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_discard_rectangles
-- | vkCmdSetDiscardRectangleEXT - Set discard rectangles dynamically for a
-- command buffer
--
-- Description
--
-- The discard rectangle taken from element i of
-- pDiscardRectangles replace the current state for the discard
-- rectangle at index firstDiscardRectangle + i, for i in [0,
-- discardRectangleCount).
--
-- This command sets the discard rectangles for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DISCARD_RECTANGLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDiscardRectangleStateCreateInfoEXT::pDiscardRectangles
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
-- - The x and y member of offset in each
-- Rect2D element of pDiscardRectangles must be
-- greater than or equal to 0
-- - Evaluation of (offset.x + extent.width) in each
-- Rect2D element of pDiscardRectangles must not
-- cause a signed integer addition overflow
-- - Evaluation of (offset.y + extent.height) in each
-- Rect2D element of pDiscardRectangles must not
-- cause a signed integer addition overflow
-- - If this command is recorded in a secondary command buffer with
-- CommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D
-- enabled, then this function must not be called
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pDiscardRectangles must be a valid pointer to an
-- array of discardRectangleCount Rect2D structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - discardRectangleCount must be greater than
-- 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_discard_rectangles, CommandBuffer, Rect2D
cmdSetDiscardRectangleEXT :: forall io. MonadIO io => CommandBuffer -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangles" ::: Vector Rect2D) -> io ()
-- | VkPhysicalDeviceDiscardRectanglePropertiesEXT - Structure describing
-- discard rectangle limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceDiscardRectanglePropertiesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_discard_rectangles, StructureType
data PhysicalDeviceDiscardRectanglePropertiesEXT
PhysicalDeviceDiscardRectanglePropertiesEXT :: Word32 -> PhysicalDeviceDiscardRectanglePropertiesEXT
-- | maxDiscardRectangles is the maximum number of active discard
-- rectangles that can be specified.
[$sel:maxDiscardRectangles:PhysicalDeviceDiscardRectanglePropertiesEXT] :: PhysicalDeviceDiscardRectanglePropertiesEXT -> Word32
-- | VkPipelineDiscardRectangleStateCreateInfoEXT - Structure specifying
-- discard rectangle
--
-- Description
--
-- If the DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state is
-- enabled for a pipeline, the pDiscardRectangles member is
-- ignored.
--
-- When this structure is included in the pNext chain of
-- GraphicsPipelineCreateInfo, it defines parameters of the
-- discard rectangle test. If this structure is not included in the
-- pNext chain, it is equivalent to specifying this structure
-- with a discardRectangleCount of 0.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_discard_rectangles, DiscardRectangleModeEXT,
-- PipelineDiscardRectangleStateCreateFlagsEXT, Rect2D,
-- StructureType
data PipelineDiscardRectangleStateCreateInfoEXT
PipelineDiscardRectangleStateCreateInfoEXT :: PipelineDiscardRectangleStateCreateFlagsEXT -> DiscardRectangleModeEXT -> Vector Rect2D -> PipelineDiscardRectangleStateCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:PipelineDiscardRectangleStateCreateInfoEXT] :: PipelineDiscardRectangleStateCreateInfoEXT -> PipelineDiscardRectangleStateCreateFlagsEXT
-- | discardRectangleMode is a DiscardRectangleModeEXT
-- value determining whether the discard rectangle test is inclusive or
-- exclusive.
--
-- discardRectangleMode must be a valid
-- DiscardRectangleModeEXT value
[$sel:discardRectangleMode:PipelineDiscardRectangleStateCreateInfoEXT] :: PipelineDiscardRectangleStateCreateInfoEXT -> DiscardRectangleModeEXT
-- | pDiscardRectangles is a pointer to an array of Rect2D
-- structures defining discard rectangles.
[$sel:discardRectangles:PipelineDiscardRectangleStateCreateInfoEXT] :: PipelineDiscardRectangleStateCreateInfoEXT -> Vector Rect2D
-- | VkPipelineDiscardRectangleStateCreateFlagsEXT - Reserved for future
-- use
--
-- Description
--
-- PipelineDiscardRectangleStateCreateFlagsEXT is a bitmask type
-- for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_discard_rectangles,
-- PipelineDiscardRectangleStateCreateInfoEXT
newtype PipelineDiscardRectangleStateCreateFlagsEXT
PipelineDiscardRectangleStateCreateFlagsEXT :: Flags -> PipelineDiscardRectangleStateCreateFlagsEXT
-- | VkDiscardRectangleModeEXT - Specify the discard rectangle mode
--
-- See Also
--
-- VK_EXT_discard_rectangles,
-- PipelineDiscardRectangleStateCreateInfoEXT
newtype DiscardRectangleModeEXT
DiscardRectangleModeEXT :: Int32 -> DiscardRectangleModeEXT
-- | DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT specifies that the discard
-- rectangle test is inclusive.
pattern DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT :: DiscardRectangleModeEXT
-- | DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT specifies that the discard
-- rectangle test is exclusive.
pattern DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT :: DiscardRectangleModeEXT
type EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1
pattern EXT_DISCARD_RECTANGLES_SPEC_VERSION :: forall a. Integral a => a
type EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles"
pattern EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_discard_rectangles.DiscardRectangleModeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT
-- | Name
--
-- VK_EXT_conditional_rendering - device extension
--
-- VK_EXT_conditional_rendering
--
--
-- - Name String
-- VK_EXT_conditional_rendering
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 82
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-05-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Vikram Kushwaha,
-- NVIDIA
- Daniel Rakos, AMD
- Jesse Hall,
-- Google
- Jeff Bolz, NVIDIA
- Piers Daniell,
-- NVIDIA
- Stuart Smith, Imagination Technologies
--
--
-- Description
--
-- This extension allows the execution of one or more rendering commands
-- to be conditional on a value in buffer memory. This may help an
-- application reduce the latency by conditionally discarding rendering
-- commands without application intervention. The conditional rendering
-- commands are limited to draws, compute dispatches and clearing
-- attachments within a conditional rendering block.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should conditional rendering affect copy and blit commands?
--
-- RESOLVED: Conditional rendering should not affect copies and
-- blits.
--
-- 2) Should secondary command buffers be allowed to execute while
-- conditional rendering is active in the primary command buffer?
--
-- RESOLVED: The rendering commands in secondary command buffer
-- will be affected by an active conditional rendering in primary command
-- buffer if the conditionalRenderingEnable is set to
-- TRUE. Conditional rendering must not be active in the
-- primary command buffer if conditionalRenderingEnable is
-- FALSE.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2018-04-19 (Vikram Kushwaha)
--
--
--
-- - Revision 2, 2018-05-21 (Vikram Kushwaha)
- Add new pipeline
-- stage, access flags and limit conditional rendering to a subpass or
-- entire render pass.
--
--
-- See Also
--
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- ConditionalRenderingBeginInfoEXT,
-- ConditionalRenderingFlagBitsEXT,
-- ConditionalRenderingFlagsEXT,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- cmdBeginConditionalRenderingEXT,
-- cmdEndConditionalRenderingEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_conditional_rendering
-- | vkCmdBeginConditionalRenderingEXT - Define the beginning of a
-- conditional rendering block
--
-- Valid Usage
--
--
-- - Conditional rendering must not already be
-- active
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_conditional_rendering, CommandBuffer,
-- ConditionalRenderingBeginInfoEXT
cmdBeginConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> ConditionalRenderingBeginInfoEXT -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginConditionalRenderingEXT and
-- cmdEndConditionalRenderingEXT
--
-- Note that cmdEndConditionalRenderingEXT is *not* called if an
-- exception is thrown by the inner action.
cmdUseConditionalRenderingEXT :: forall io r. MonadIO io => CommandBuffer -> ConditionalRenderingBeginInfoEXT -> io r -> io r
-- | vkCmdEndConditionalRenderingEXT - Define the end of a conditional
-- rendering block
--
-- Description
--
-- Once ended, conditional rendering becomes inactive.
--
-- Valid Usage
--
--
-- - Conditional rendering must be active
--
--
--
-- - If conditional rendering was made active outside of a
-- render pass instance, it must not be ended inside a render pass
-- instance
-- - If conditional rendering was made active within a subpass
-- it must be ended in the same subpass
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_conditional_rendering, CommandBuffer
cmdEndConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> io ()
-- | VkConditionalRenderingBeginInfoEXT - Structure specifying conditional
-- rendering begin information
--
-- Description
--
-- If the 32-bit value at offset in buffer memory is
-- zero, then the rendering commands are discarded, otherwise they are
-- executed as normal. If the value of the predicate in buffer memory
-- changes while conditional rendering is active, the rendering commands
-- may be discarded in an implementation-dependent way. Some
-- implementations may latch the value of the predicate upon beginning
-- conditional rendering while others may read it before every rendering
-- command.
--
-- Valid Usage
--
--
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_conditional_rendering, Buffer,
-- ConditionalRenderingFlagsEXT, DeviceSize,
-- StructureType, cmdBeginConditionalRenderingEXT
data ConditionalRenderingBeginInfoEXT
ConditionalRenderingBeginInfoEXT :: Buffer -> DeviceSize -> ConditionalRenderingFlagsEXT -> ConditionalRenderingBeginInfoEXT
-- | buffer is a buffer containing the predicate for conditional
-- rendering.
[$sel:buffer:ConditionalRenderingBeginInfoEXT] :: ConditionalRenderingBeginInfoEXT -> Buffer
-- | offset is the byte offset into buffer where the
-- predicate is located.
[$sel:offset:ConditionalRenderingBeginInfoEXT] :: ConditionalRenderingBeginInfoEXT -> DeviceSize
-- | flags is a bitmask of ConditionalRenderingFlagsEXT
-- specifying the behavior of conditional rendering.
[$sel:flags:ConditionalRenderingBeginInfoEXT] :: ConditionalRenderingBeginInfoEXT -> ConditionalRenderingFlagsEXT
-- | VkCommandBufferInheritanceConditionalRenderingInfoEXT - Structure
-- specifying command buffer inheritance information
--
-- Description
--
-- If this structure is not present, the behavior is as if
-- conditionalRenderingEnable is FALSE.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_EXT_conditional_rendering, Bool32,
-- StructureType
data CommandBufferInheritanceConditionalRenderingInfoEXT
CommandBufferInheritanceConditionalRenderingInfoEXT :: Bool -> CommandBufferInheritanceConditionalRenderingInfoEXT
-- | conditionalRenderingEnable specifies whether the command
-- buffer can be executed while conditional rendering is active in
-- the primary command buffer. If this is TRUE, then this command
-- buffer can be executed whether the primary command buffer has
-- active conditional rendering or not. If this is FALSE, then the
-- primary command buffer must not have conditional rendering
-- active.
[$sel:conditionalRenderingEnable:CommandBufferInheritanceConditionalRenderingInfoEXT] :: CommandBufferInheritanceConditionalRenderingInfoEXT -> Bool
-- | VkPhysicalDeviceConditionalRenderingFeaturesEXT - Structure describing
-- if a secondary command buffer can be executed if conditional rendering
-- is active in the primary command buffer
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceConditionalRenderingFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceConditionalRenderingFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_conditional_rendering, Bool32,
-- StructureType
data PhysicalDeviceConditionalRenderingFeaturesEXT
PhysicalDeviceConditionalRenderingFeaturesEXT :: Bool -> Bool -> PhysicalDeviceConditionalRenderingFeaturesEXT
-- | conditionalRendering specifies whether conditional rendering
-- is supported.
[$sel:conditionalRendering:PhysicalDeviceConditionalRenderingFeaturesEXT] :: PhysicalDeviceConditionalRenderingFeaturesEXT -> Bool
-- | inheritedConditionalRendering specifies whether a secondary
-- command buffer can be executed while conditional rendering is
-- active in the primary command buffer.
[$sel:inheritedConditionalRendering:PhysicalDeviceConditionalRenderingFeaturesEXT] :: PhysicalDeviceConditionalRenderingFeaturesEXT -> Bool
type ConditionalRenderingFlagsEXT = ConditionalRenderingFlagBitsEXT
-- | VkConditionalRenderingFlagBitsEXT - Specify the behavior of
-- conditional rendering
--
-- See Also
--
-- VK_EXT_conditional_rendering,
-- ConditionalRenderingFlagsEXT
newtype ConditionalRenderingFlagBitsEXT
ConditionalRenderingFlagBitsEXT :: Flags -> ConditionalRenderingFlagBitsEXT
-- | CONDITIONAL_RENDERING_INVERTED_BIT_EXT specifies the condition
-- used to determine whether to discard rendering commands or not. That
-- is, if the 32-bit predicate read from buffer memory at
-- offset is zero, the rendering commands are not discarded, and
-- if non zero, then they are discarded.
pattern CONDITIONAL_RENDERING_INVERTED_BIT_EXT :: ConditionalRenderingFlagBitsEXT
type EXT_CONDITIONAL_RENDERING_SPEC_VERSION = 2
pattern EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: forall a. Integral a => a
type EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering"
pattern EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingFlagBitsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT
-- | Name
--
-- VK_EXT_color_write_enable - device extension
--
-- VK_EXT_color_write_enable
--
--
-- - Name String VK_EXT_color_write_enable
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 382
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-02-25
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Sharif Elcott,
-- Google
- Tobias Hector, AMD
- Piers Daniell,
-- NVIDIA
--
--
-- Description
--
-- This extension allows for selectively enabling and disabling writes to
-- output color attachments via a pipeline dynamic state.
--
-- The intended use cases for this new state are mostly identical to
-- those of colorWriteMask, such as selectively disabling writes to avoid
-- feedback loops between subpasses or bandwidth savings for unused
-- outputs. By making the state dynamic, one additional benefit is the
-- ability to reduce pipeline counts and pipeline switching via shaders
-- that write a superset of the desired data of which subsets are
-- selected dynamically. The reason for a new state, colorWriteEnable,
-- rather than making colorWriteMask dynamic is that, on many
-- implementations, the more flexible per-component semantics of the
-- colorWriteMask state cannot be made dynamic in a performant manner.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-01-25 (Sharif Elcott)
--
--
-- See Also
--
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PipelineColorWriteCreateInfoEXT,
-- cmdSetColorWriteEnableEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_color_write_enable
-- | vkCmdSetColorWriteEnableEXT - Enable or disable writes to a color
-- attachment dynamically for a command buffer
--
-- Description
--
-- This command sets the color write enables for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineColorWriteCreateInfoEXT::pColorWriteEnables
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pColorWriteEnables must be a valid pointer to an
-- array of attachmentCount Bool32 values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - attachmentCount must be greater than
-- 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_color_write_enable, Bool32, CommandBuffer
cmdSetColorWriteEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("colorWriteEnables" ::: Vector Bool) -> io ()
-- | VkPhysicalDeviceColorWriteEnableFeaturesEXT - Structure describing
-- whether writes to color attachments can be enabled and disabled
-- dynamically
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceColorWriteEnableFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceColorWriteEnableFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_color_write_enable, Bool32, StructureType
data PhysicalDeviceColorWriteEnableFeaturesEXT
PhysicalDeviceColorWriteEnableFeaturesEXT :: Bool -> PhysicalDeviceColorWriteEnableFeaturesEXT
-- | colorWriteEnable indicates that the implementation supports
-- the dynamic state DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT.
[$sel:colorWriteEnable:PhysicalDeviceColorWriteEnableFeaturesEXT] :: PhysicalDeviceColorWriteEnableFeaturesEXT -> Bool
-- | VkPipelineColorWriteCreateInfoEXT - Structure specifying color write
-- state of a newly created pipeline
--
-- Description
--
-- When this structure is included in the pNext chain of
-- PipelineColorBlendStateCreateInfo, it defines per-attachment
-- color write state. If this structure is not included in the
-- pNext chain, it is equivalent to specifying this structure
-- with attachmentCount equal to the attachmentCount
-- member of PipelineColorBlendStateCreateInfo, and
-- pColorWriteEnables pointing to an array of as many
-- TRUE values.
--
-- If the colorWriteEnable feature is not enabled on the device,
-- all Bool32 elements in the pColorWriteEnables array
-- must be TRUE.
--
-- Color Write Enable interacts with the Color Write Mask as
-- follows:
--
--
-- - If colorWriteEnable is TRUE, writes to the
-- attachment are determined by the colorWriteMask.
-- - If colorWriteEnable is FALSE, the
-- colorWriteMask is ignored and writes to all components of the
-- attachment are disabled. This is equivalent to specifying a
-- colorWriteMask of 0.
--
--
-- Valid Usage
--
--
-- - If the colorWriteEnable feature is not enabled, all
-- elements of pColorWriteEnables must be
-- TRUE
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If attachmentCount is not 0,
-- pColorWriteEnables must be a valid pointer to an array
-- of attachmentCount Bool32 values
--
--
-- See Also
--
-- VK_EXT_color_write_enable, Bool32, StructureType
data PipelineColorWriteCreateInfoEXT
PipelineColorWriteCreateInfoEXT :: Vector Bool -> PipelineColorWriteCreateInfoEXT
-- | pColorWriteEnables is a pointer to an array of per target
-- attachment boolean values specifying whether color writes are enabled
-- for the given attachment.
[$sel:colorWriteEnables:PipelineColorWriteCreateInfoEXT] :: PipelineColorWriteCreateInfoEXT -> Vector Bool
type EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1
pattern EXT_COLOR_WRITE_ENABLE_SPEC_VERSION :: forall a. Integral a => a
type EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable"
pattern EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT
-- | Name
--
-- VK_EXT_calibrated_timestamps - device extension
--
-- VK_EXT_calibrated_timestamps
--
--
-- - Name String
-- VK_EXT_calibrated_timestamps
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 185
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-10-04
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Alan Harrison, AMD
- Derrick Owens,
-- AMD
- Daniel Rakos, AMD
- Jason Ekstrand,
-- Intel
- Keith Packard, Valve
--
--
-- Description
--
-- This extension provides an interface to query calibrated timestamps
-- obtained quasi simultaneously from two time domains.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Is the device timestamp value returned in the same time domain as
-- the timestamp values written by cmdWriteTimestamp?
--
-- RESOLVED: Yes.
--
-- 2) What time domain is the host timestamp returned in?
--
-- RESOLVED: A query is provided to determine the calibrateable
-- time domains. The expected host time domain used on Windows is that of
-- QueryPerformanceCounter, and on Linux that of CLOCK_MONOTONIC.
--
-- 3) Should we support other time domain combinations than just one host
-- and the device time domain?
--
-- RESOLVED: Supporting that would need the application to query
-- the set of supported time domains, while supporting only one host and
-- the device time domain would only need a query for the host time
-- domain type. The proposed API chooses the general approach for the
-- sake of extensibility.
--
-- 4) Should we use CLOCK_MONOTONIC_RAW instead of CLOCK_MONOTONIC?
--
-- RESOLVED: CLOCK_MONOTONIC is usable in a wider set of
-- situations, however, it is subject to NTP adjustments so some use
-- cases may prefer CLOCK_MONOTONIC_RAW. Thus this extension allows both
-- to be exposed.
--
-- 5) How can the application extrapolate future device timestamp values
-- from the calibrated timestamp value?
--
-- RESOLVED: PhysicalDeviceLimits::timestampPeriod
-- makes it possible to calculate future device timestamps as follows:
--
-- 6) In what queue are timestamp values in time domain
-- TIME_DOMAIN_DEVICE_EXT captured by
-- getCalibratedTimestampsEXT?
--
-- RESOLVED: An implementation supporting this extension will have
-- all its VkQueue share the same time domain.
--
--
-- futureTimestamp = calibratedTimestamp + deltaNanoseconds / timestampPeriod
--
--
-- 6) Can the host and device timestamp values drift apart over longer
-- periods of time?
--
-- RESOLVED: Yes, especially as some time domains by definition
-- allow for that to happen (e.g. CLOCK_MONOTONIC is subject to NTP
-- adjustments). Thus it is recommended that applications re-calibrate
-- from time to time.
--
-- 7) Should we add a query for reporting the maximum deviation of the
-- timestamp values returned by calibrated timestamp queries?
--
-- RESOLVED: A global query seems inappropriate and difficult to
-- enforce. However, it is possible to return the maximum deviation any
-- single calibrated timestamp query can have by sampling one of the time
-- domains twice as follows:
--
--
-- timestampX = timestampX_before = SampleTimeDomain(X)
-- for each time domain Y != X
-- timestampY = SampleTimeDomain(Y)
-- timestampX_after = SampleTimeDomain(X)
-- maxDeviation = timestampX_after - timestampX_before
--
--
-- 8) Can the maximum deviation reported ever be zero?
--
-- RESOLVED: Unless the tick of each clock corresponding to the
-- set of time domains coincides and all clocks can literally be sampled
-- simutaneously, there is not really a possibility for the maximum
-- deviation to be zero, so by convention the maximum deviation is always
-- at least the maximum of the length of the ticks of the set of time
-- domains calibrated and thus can never be zero.
--
-- Version History
--
--
-- - Revision 2, 2021-03-16 (Lionel Landwerlin)
- Specify
-- requirement on device timestamps
--
--
--
-- - Revision 1, 2018-10-04 (Daniel Rakos)
--
--
-- See Also
--
-- CalibratedTimestampInfoEXT, TimeDomainEXT,
-- getCalibratedTimestampsEXT,
-- getPhysicalDeviceCalibrateableTimeDomainsEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_calibrated_timestamps
-- | vkGetPhysicalDeviceCalibrateableTimeDomainsEXT - Query calibrateable
-- time domains
--
-- Description
--
-- If pTimeDomains is NULL, then the number of
-- calibrateable time domains supported for the given
-- physicalDevice is returned in pTimeDomainCount.
-- Otherwise, pTimeDomainCount must point to a variable
-- set by the user to the number of elements in the pTimeDomains
-- array, and on return the variable is overwritten with the number of
-- values actually written to pTimeDomains. If the value of
-- pTimeDomainCount is less than the number of calibrateable
-- time domains supported, at most pTimeDomainCount values will
-- be written to pTimeDomains, and INCOMPLETE will be
-- returned instead of SUCCESS, to indicate that not all the
-- available time domains were returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pTimeDomainCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pTimeDomainCount is not
-- 0, and pTimeDomains is not NULL,
-- pTimeDomains must be a valid pointer to an array of
-- pTimeDomainCount TimeDomainEXT values
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_calibrated_timestamps, PhysicalDevice,
-- TimeDomainEXT
getPhysicalDeviceCalibrateableTimeDomainsEXT :: forall io. MonadIO io => PhysicalDevice -> io (Result, "timeDomains" ::: Vector TimeDomainEXT)
-- | vkGetCalibratedTimestampsEXT - Query calibrated timestamps
--
-- Description
--
-- Note
--
-- The maximum deviation may vary between calls to
-- getCalibratedTimestampsEXT even for the same set of time
-- domains due to implementation and platform specific reasons. It is the
-- application’s responsibility to assess whether the returned maximum
-- deviation makes the timestamp values suitable for any particular
-- purpose and can choose to re-issue the timestamp calibration
-- call pursuing a lower devation value.
--
-- Calibrated timestamp values can be extrapolated to estimate
-- future coinciding timestamp values, however, depending on the nature
-- of the time domains and other properties of the platform extrapolating
-- values over a sufficiently long period of time may no longer be
-- accurate enough to fit any particular purpose, so applications are
-- expected to re-calibrate the timestamps on a regular basis.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_calibrated_timestamps,
-- CalibratedTimestampInfoEXT, Device
getCalibratedTimestampsEXT :: forall io. MonadIO io => Device -> ("timestampInfos" ::: Vector CalibratedTimestampInfoEXT) -> io ("timestamps" ::: Vector Word64, "maxDeviation" ::: Word64)
-- | VkCalibratedTimestampInfoEXT - Structure specifying the input
-- parameters of a calibrated timestamp query
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_calibrated_timestamps, StructureType,
-- TimeDomainEXT, getCalibratedTimestampsEXT
data CalibratedTimestampInfoEXT
CalibratedTimestampInfoEXT :: TimeDomainEXT -> CalibratedTimestampInfoEXT
-- | timeDomain is a TimeDomainEXT value specifying the
-- time domain from which the calibrated timestamp value should be
-- returned.
--
-- timeDomain must be one of the TimeDomainEXT
-- values returned by getPhysicalDeviceCalibrateableTimeDomainsEXT
--
-- timeDomain must be a valid TimeDomainEXT value
[$sel:timeDomain:CalibratedTimestampInfoEXT] :: CalibratedTimestampInfoEXT -> TimeDomainEXT
-- | VkTimeDomainEXT - Supported time domains
--
-- Description
--
-- Note
--
-- An implementation supporting VK_EXT_calibrated_timestamps
-- will use the same time domain for all its Queue so that
-- timestamp values reported for TIME_DOMAIN_DEVICE_EXT can be
-- matched to any timestamp captured through cmdWriteTimestamp or
-- cmdWriteTimestamp2KHR .
--
--
-- struct timespec tv;
-- clock_gettime(CLOCK_MONOTONIC, &tv);
-- return tv.tv_nsec + tv.tv_sec*1000000000ull;
--
--
--
-- struct timespec tv;
-- clock_gettime(CLOCK_MONOTONIC_RAW, &tv);
-- return tv.tv_nsec + tv.tv_sec*1000000000ull;
--
--
--
-- LARGE_INTEGER counter;
-- QueryPerformanceCounter(&counter);
-- return counter.QuadPart;
--
--
-- See Also
--
-- VK_EXT_calibrated_timestamps,
-- CalibratedTimestampInfoEXT,
-- getPhysicalDeviceCalibrateableTimeDomainsEXT
newtype TimeDomainEXT
TimeDomainEXT :: Int32 -> TimeDomainEXT
-- | TIME_DOMAIN_DEVICE_EXT specifies the device time domain.
-- Timestamp values in this time domain use the same units and are
-- comparable with device timestamp values captured using
-- cmdWriteTimestamp or cmdWriteTimestamp2KHR and are
-- defined to be incrementing according to the timestampPeriod of
-- the device.
pattern TIME_DOMAIN_DEVICE_EXT :: TimeDomainEXT
-- | TIME_DOMAIN_CLOCK_MONOTONIC_EXT specifies the CLOCK_MONOTONIC
-- time domain available on POSIX platforms. Timestamp values in this
-- time domain are in units of nanoseconds and are comparable with
-- platform timestamp values captured using the POSIX clock_gettime API
-- as computed by this example:
pattern TIME_DOMAIN_CLOCK_MONOTONIC_EXT :: TimeDomainEXT
-- | TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT specifies the
-- CLOCK_MONOTONIC_RAW time domain available on POSIX platforms.
-- Timestamp values in this time domain are in units of nanoseconds and
-- are comparable with platform timestamp values captured using the POSIX
-- clock_gettime API as computed by this example:
pattern TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT :: TimeDomainEXT
-- | TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT specifies the
-- performance counter (QPC) time domain available on Windows. Timestamp
-- values in this time domain are in the same units as those provided by
-- the Windows QueryPerformanceCounter API and are comparable with
-- platform timestamp values captured using that API as computed by this
-- example:
pattern TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT :: TimeDomainEXT
type EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION = 2
pattern EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION :: forall a. Integral a => a
type EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME = "VK_EXT_calibrated_timestamps"
pattern EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_calibrated_timestamps.TimeDomainEXT
-- | Name
--
-- VK_AMD_shader_info - device extension
--
-- VK_AMD_shader_info
--
--
-- - Name String VK_AMD_shader_info
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 43
-- - Revision 1
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension adds a way to query certain information about a
-- compiled shader which is part of a pipeline. This information may
-- include shader disassembly, shader binary and various statistics about
-- a shader’s resource usage.
--
-- While this extension provides a mechanism for extracting this
-- information, the details regarding the contents or format of this
-- information are not specified by this extension and may be provided by
-- the vendor externally.
--
-- Furthermore, all information types are optionally supported, and users
-- should not assume every implementation supports querying every type of
-- information.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- This example extracts the register usage of a fragment shader within a
-- particular graphics pipeline:
--
--
-- extern VkDevice device;
-- extern VkPipeline gfxPipeline;
--
-- PFN_vkGetShaderInfoAMD pfnGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)vkGetDeviceProcAddr(
-- device, "vkGetShaderInfoAMD");
--
-- VkShaderStatisticsInfoAMD statistics = {};
--
-- size_t dataSize = sizeof(statistics);
--
-- if (pfnGetShaderInfoAMD(device,
-- gfxPipeline,
-- VK_SHADER_STAGE_FRAGMENT_BIT,
-- VK_SHADER_INFO_TYPE_STATISTICS_AMD,
-- &dataSize,
-- &statistics) == VK_SUCCESS)
-- {
-- printf("VGPR usage: %d\n", statistics.resourceUsage.numUsedVgprs);
-- printf("SGPR usage: %d\n", statistics.resourceUsage.numUsedSgprs);
-- }
--
--
-- The following example continues the previous example by subsequently
-- attempting to query and print shader disassembly about the fragment
-- shader:
--
--
-- // Query disassembly size (if available)
-- if (pfnGetShaderInfoAMD(device,
-- gfxPipeline,
-- VK_SHADER_STAGE_FRAGMENT_BIT,
-- VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
-- &dataSize,
-- nullptr) == VK_SUCCESS)
-- {
-- printf("Fragment shader disassembly:\n");
--
-- void* disassembly = malloc(dataSize);
--
-- // Query disassembly and print
-- if (pfnGetShaderInfoAMD(device,
-- gfxPipeline,
-- VK_SHADER_STAGE_FRAGMENT_BIT,
-- VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
-- &dataSize,
-- disassembly) == VK_SUCCESS)
-- {
-- printf((char*)disassembly);
-- }
--
-- free(disassembly);
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-10-09 (Jaakko Konttinen)
--
--
-- See Also
--
-- ShaderInfoTypeAMD, ShaderResourceUsageAMD,
-- ShaderStatisticsInfoAMD, getShaderInfoAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_shader_info
-- | vkGetShaderInfoAMD - Get information about a shader in a pipeline
--
-- Description
--
-- If pInfo is NULL, then the maximum size of the
-- information that can be retrieved about the shader, in bytes,
-- is returned in pInfoSize. Otherwise, pInfoSize
-- must point to a variable set by the user to the size of the
-- buffer, in bytes, pointed to by pInfo, and on return the
-- variable is overwritten with the amount of data actually written to
-- pInfo. If pInfoSize is less than the maximum size
-- that can be retrieved by the pipeline cache, then at most
-- pInfoSize bytes will be written to pInfo, and
-- INCOMPLETE will be returned, instead of SUCCESS, to
-- indicate that not all required of the pipeline cache was returned.
--
-- Not all information is available for every shader and implementations
-- may not support all kinds of information for any shader. When a
-- certain type of information is unavailable, the function returns
-- ERROR_FEATURE_NOT_PRESENT.
--
-- If information is successfully and fully queried, the function will
-- return SUCCESS.
--
-- For infoType SHADER_INFO_TYPE_STATISTICS_AMD, a
-- ShaderStatisticsInfoAMD structure will be written to the buffer
-- pointed to by pInfo. This structure will be populated with
-- statistics regarding the physical device resources used by that shader
-- along with other miscellaneous information and is described in further
-- detail below.
--
-- For infoType SHADER_INFO_TYPE_DISASSEMBLY_AMD,
-- pInfo is a pointer to a UTF-8 null-terminated string
-- containing human-readable disassembly. The exact formatting and
-- contents of the disassembly string are vendor-specific.
--
-- The formatting and contents of all other types of information,
-- including infoType SHADER_INFO_TYPE_BINARY_AMD, are
-- left to the vendor and are not further specified by this extension.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipeline must be a valid Pipeline
-- handle
-- - shaderStage must be a valid
-- ShaderStageFlagBits value
-- - infoType must be a valid ShaderInfoTypeAMD
-- value
-- - pInfoSize must be a valid pointer to a
-- size_t value
-- - If the value referenced by pInfoSize is not 0,
-- and pInfo is not NULL, pInfo must be
-- a valid pointer to an array of pInfoSize bytes
-- - pipeline must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_AMD_shader_info, Device, Pipeline,
-- ShaderInfoTypeAMD, ShaderStageFlagBits
getShaderInfoAMD :: forall io. MonadIO io => Device -> Pipeline -> ShaderStageFlagBits -> ShaderInfoTypeAMD -> io (Result, "info" ::: ByteString)
-- | VkShaderResourceUsageAMD - Resource usage information about a
-- particular shader within a pipeline
--
-- See Also
--
-- VK_AMD_shader_info, ShaderStatisticsInfoAMD
data ShaderResourceUsageAMD
ShaderResourceUsageAMD :: Word32 -> Word32 -> Word32 -> Word64 -> Word64 -> ShaderResourceUsageAMD
-- | numUsedVgprs is the number of vector instruction
-- general-purpose registers used by this shader.
[$sel:numUsedVgprs:ShaderResourceUsageAMD] :: ShaderResourceUsageAMD -> Word32
-- | numUsedSgprs is the number of scalar instruction
-- general-purpose registers used by this shader.
[$sel:numUsedSgprs:ShaderResourceUsageAMD] :: ShaderResourceUsageAMD -> Word32
-- | ldsSizePerLocalWorkGroup is the maximum local data store size
-- per work group in bytes.
[$sel:ldsSizePerLocalWorkGroup:ShaderResourceUsageAMD] :: ShaderResourceUsageAMD -> Word32
-- | ldsUsageSizeInBytes is the LDS usage size in bytes per work
-- group by this shader.
[$sel:ldsUsageSizeInBytes:ShaderResourceUsageAMD] :: ShaderResourceUsageAMD -> Word64
-- | scratchMemUsageInBytes is the scratch memory usage in bytes
-- by this shader.
[$sel:scratchMemUsageInBytes:ShaderResourceUsageAMD] :: ShaderResourceUsageAMD -> Word64
-- | VkShaderStatisticsInfoAMD - Statistical information about a particular
-- shader within a pipeline
--
-- Description
--
-- Some implementations may merge multiple logical shader stages together
-- in a single shader. In such cases, shaderStageMask will
-- contain a bitmask of all of the stages that are active within that
-- shader. Consequently, if specifying those stages as input to
-- getShaderInfoAMD, the same output information may be
-- returned for all such shader stage queries.
--
-- The number of available VGPRs and SGPRs (numAvailableVgprs
-- and numAvailableSgprs respectively) are the
-- shader-addressable subset of physical registers that is given as a
-- limit to the compiler for register assignment. These values may
-- further be limited by implementations due to performance optimizations
-- where register pressure is a bottleneck.
--
-- See Also
--
-- VK_AMD_shader_info, ShaderResourceUsageAMD,
-- ShaderStageFlags
data ShaderStatisticsInfoAMD
ShaderStatisticsInfoAMD :: ShaderStageFlags -> ShaderResourceUsageAMD -> Word32 -> Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32) -> ShaderStatisticsInfoAMD
-- | shaderStageMask are the combination of logical shader stages
-- contained within this shader.
[$sel:shaderStageMask:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> ShaderStageFlags
-- | resourceUsage is a ShaderResourceUsageAMD structure
-- describing internal physical device resources used by this shader.
[$sel:resourceUsage:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> ShaderResourceUsageAMD
-- | numPhysicalVgprs is the maximum number of vector instruction
-- general-purpose registers (VGPRs) available to the physical device.
[$sel:numPhysicalVgprs:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> Word32
-- | numPhysicalSgprs is the maximum number of scalar instruction
-- general-purpose registers (SGPRs) available to the physical device.
[$sel:numPhysicalSgprs:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> Word32
-- | numAvailableVgprs is the maximum limit of VGPRs made
-- available to the shader compiler.
[$sel:numAvailableVgprs:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> Word32
-- | numAvailableSgprs is the maximum limit of SGPRs made
-- available to the shader compiler.
[$sel:numAvailableSgprs:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> Word32
-- | computeWorkGroupSize is the local workgroup size of this
-- shader in { X, Y, Z } dimensions.
[$sel:computeWorkGroupSize:ShaderStatisticsInfoAMD] :: ShaderStatisticsInfoAMD -> (Word32, Word32, Word32)
-- | VkShaderInfoTypeAMD - Enum specifying which type of shader information
-- to query
--
-- See Also
--
-- VK_AMD_shader_info, getShaderInfoAMD
newtype ShaderInfoTypeAMD
ShaderInfoTypeAMD :: Int32 -> ShaderInfoTypeAMD
-- | SHADER_INFO_TYPE_STATISTICS_AMD specifies that device resources
-- used by a shader will be queried.
pattern SHADER_INFO_TYPE_STATISTICS_AMD :: ShaderInfoTypeAMD
-- | SHADER_INFO_TYPE_BINARY_AMD specifies that
-- implementation-specific information will be queried.
pattern SHADER_INFO_TYPE_BINARY_AMD :: ShaderInfoTypeAMD
-- | SHADER_INFO_TYPE_DISASSEMBLY_AMD specifies that human-readable
-- dissassembly of a shader.
pattern SHADER_INFO_TYPE_DISASSEMBLY_AMD :: ShaderInfoTypeAMD
type AMD_SHADER_INFO_SPEC_VERSION = 1
pattern AMD_SHADER_INFO_SPEC_VERSION :: forall a. Integral a => a
type AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info"
pattern AMD_SHADER_INFO_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance GHC.Classes.Ord Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_info.ShaderStatisticsInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance GHC.Read.Read Vulkan.Extensions.VK_AMD_shader_info.ShaderInfoTypeAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_shader_info.ShaderStatisticsInfoAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_shader_info.ShaderStatisticsInfoAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_info.ShaderStatisticsInfoAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_info.ShaderStatisticsInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD
-- | Name
--
-- VK_AMD_buffer_marker - device extension
--
-- VK_AMD_buffer_marker
--
--
-- - Name String VK_AMD_buffer_marker
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 180
-- - Revision 1
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-01-26
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Jaakko Konttinen, AMD
- Daniel Rakos,
-- AMD
--
--
-- Description
--
-- This extension adds a new operation to execute pipelined writes of
-- small marker values into a Buffer object.
--
-- The primary purpose of these markers is to facilitate the development
-- of debugging tools for tracking which pipelined command contributed to
-- device loss.
--
-- New Commands
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2018-01-26 (Jaakko Konttinen)
--
--
-- See Also
--
-- cmdWriteBufferMarkerAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_buffer_marker
-- | vkCmdWriteBufferMarkerAMD - Execute a pipelined write of a marker
-- value into a buffer
--
-- Description
--
-- The command will write the 32-bit marker value into the buffer only
-- after all preceding commands have finished executing up to at least
-- the specified pipeline stage. This includes the completion of other
-- preceding cmdWriteBufferMarkerAMD commands so long as their
-- specified pipeline stages occur either at the same time or earlier
-- than this command’s specified pipelineStage.
--
-- While consecutive buffer marker writes with the same
-- pipelineStage parameter are implicitly complete in submission
-- order, memory and execution dependencies between buffer marker writes
-- and other operations must still be explicitly ordered using
-- synchronization commands. The access scope for buffer marker writes
-- falls under the ACCESS_TRANSFER_WRITE_BIT, and the pipeline
-- stages for identifying the synchronization scope must include
-- both pipelineStage and PIPELINE_STAGE_TRANSFER_BIT.
--
-- Note
--
-- Similar to cmdWriteTimestamp, if an implementation is unable to
-- write a marker at any specific pipeline stage, it may instead
-- do so at any logically later stage.
--
-- Note
--
-- Implementations may only support a limited number of pipelined
-- marker write operations in flight at a given time, thus excessive
-- number of marker write operations may degrade command execution
-- performance.
--
-- Valid Usage
--
--
-- - pipelineStage must be a valid stage for the
-- queue family that was used to create the command pool that
-- commandBuffer was allocated from
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pipelineStage is not 0,
-- pipelineStage must be a valid
-- PipelineStageFlagBits value
-- - dstBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - Both of commandBuffer, and dstBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_AMD_buffer_marker, Buffer, CommandBuffer,
-- DeviceSize, PipelineStageFlagBits
cmdWriteBufferMarkerAMD :: forall io. MonadIO io => CommandBuffer -> PipelineStageFlagBits -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> io ()
type AMD_BUFFER_MARKER_SPEC_VERSION = 1
pattern AMD_BUFFER_MARKER_SPEC_VERSION :: forall a. Integral a => a
type AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker"
pattern AMD_BUFFER_MARKER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore
-- | vkGetSemaphoreCounterValue - Query the current state of a timeline
-- semaphore
--
-- Description
--
-- Note
--
-- If a queue submission command is pending execution, then the
-- value returned by this command may immediately be out of date.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Device, Semaphore
getSemaphoreCounterValue :: forall io. MonadIO io => Device -> Semaphore -> io ("value" ::: Word64)
-- | vkWaitSemaphores - Wait for timeline semaphores on the host
--
-- Description
--
-- If the condition is satisfied when waitSemaphores is called,
-- then waitSemaphores returns immediately. If the condition is
-- not satisfied at the time waitSemaphores is called, then
-- waitSemaphores will block and wait until the condition is
-- satisfied or the timeout has expired, whichever is sooner.
--
-- If timeout is zero, then waitSemaphores does not wait,
-- but simply returns information about the current state of the
-- semaphores. TIMEOUT will be returned in this case if the
-- condition is not satisfied, even though no actual wait was performed.
--
-- If the condition is satisfied before the timeout has expired,
-- waitSemaphores returns SUCCESS. Otherwise,
-- waitSemaphores returns TIMEOUT after the
-- timeout has expired.
--
-- If device loss occurs (see Lost Device) before the timeout has
-- expired, waitSemaphores must return in finite time with
-- either SUCCESS or ERROR_DEVICE_LOST.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Device, SemaphoreWaitInfo
waitSemaphores :: forall io. MonadIO io => Device -> SemaphoreWaitInfo -> ("timeout" ::: Word64) -> io Result
-- | A variant of waitSemaphores which makes a *safe* FFI call
waitSemaphoresSafe :: forall io. MonadIO io => Device -> SemaphoreWaitInfo -> ("timeout" ::: Word64) -> io Result
-- | vkSignalSemaphore - Signal a timeline semaphore on the host
--
-- Description
--
-- When signalSemaphore is executed on the host, it defines and
-- immediately executes a semaphore signal operation which sets
-- the timeline semaphore to the given value.
--
-- The first synchronization scope is defined by the host execution
-- model, but includes execution of signalSemaphore on the host
-- and anything that happened-before it.
--
-- The second synchronization scope is empty.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Device, SemaphoreSignalInfo
signalSemaphore :: forall io. MonadIO io => Device -> SemaphoreSignalInfo -> io ()
-- | VkPhysicalDeviceTimelineSemaphoreFeatures - Structure describing
-- timeline semaphore features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceTimelineSemaphoreFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceTimelineSemaphoreFeatures can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceTimelineSemaphoreFeatures
PhysicalDeviceTimelineSemaphoreFeatures :: Bool -> PhysicalDeviceTimelineSemaphoreFeatures
-- | timelineSemaphore indicates whether semaphores created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE are supported.
[$sel:timelineSemaphore:PhysicalDeviceTimelineSemaphoreFeatures] :: PhysicalDeviceTimelineSemaphoreFeatures -> Bool
-- | VkPhysicalDeviceTimelineSemaphoreProperties - Structure describing
-- timeline semaphore properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceTimelineSemaphoreProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- StructureType
data PhysicalDeviceTimelineSemaphoreProperties
PhysicalDeviceTimelineSemaphoreProperties :: Word64 -> PhysicalDeviceTimelineSemaphoreProperties
-- | maxTimelineSemaphoreValueDifference indicates the maximum
-- difference allowed by the implementation between the current value of
-- a timeline semaphore and any pending signal or wait operations.
[$sel:maxTimelineSemaphoreValueDifference:PhysicalDeviceTimelineSemaphoreProperties] :: PhysicalDeviceTimelineSemaphoreProperties -> Word64
-- | VkSemaphoreTypeCreateInfo - Structure specifying the type of a newly
-- created semaphore
--
-- Description
--
-- To create a semaphore of a specific type, add a
-- SemaphoreTypeCreateInfo structure to the
-- SemaphoreCreateInfo::pNext chain.
--
-- If no SemaphoreTypeCreateInfo structure is included in the
-- pNext chain of SemaphoreCreateInfo, then the created
-- semaphore will have a default SemaphoreType of
-- SEMAPHORE_TYPE_BINARY.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- SemaphoreType, StructureType
data SemaphoreTypeCreateInfo
SemaphoreTypeCreateInfo :: SemaphoreType -> Word64 -> SemaphoreTypeCreateInfo
-- | semaphoreType is a SemaphoreType value specifying the
-- type of the semaphore.
[$sel:semaphoreType:SemaphoreTypeCreateInfo] :: SemaphoreTypeCreateInfo -> SemaphoreType
-- | initialValue is the initial payload value if
-- semaphoreType is SEMAPHORE_TYPE_TIMELINE.
[$sel:initialValue:SemaphoreTypeCreateInfo] :: SemaphoreTypeCreateInfo -> Word64
-- | VkTimelineSemaphoreSubmitInfo - Structure specifying signal and wait
-- values for timeline semaphores
--
-- Description
--
-- If the semaphore in SubmitInfo::pWaitSemaphores or
-- SubmitInfo::pSignalSemaphores corresponding to an
-- entry in pWaitSemaphoreValues or
-- pSignalSemaphoreValues respectively was not created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE, the
-- implementation must ignore the value in the
-- pWaitSemaphoreValues or pSignalSemaphoreValues
-- entry.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If waitSemaphoreValueCount is not 0, and
-- pWaitSemaphoreValues is not NULL,
-- pWaitSemaphoreValues must be a valid pointer to an
-- array of waitSemaphoreValueCount uint64_t
-- values
-- - If signalSemaphoreValueCount is not 0, and
-- pSignalSemaphoreValues is not NULL,
-- pSignalSemaphoreValues must be a valid pointer to an
-- array of signalSemaphoreValueCount uint64_t
-- values
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- StructureType
data TimelineSemaphoreSubmitInfo
TimelineSemaphoreSubmitInfo :: Word32 -> Vector Word64 -> Word32 -> Vector Word64 -> TimelineSemaphoreSubmitInfo
-- | waitSemaphoreValueCount is the number of semaphore wait
-- values specified in pWaitSemaphoreValues.
[$sel:waitSemaphoreValueCount:TimelineSemaphoreSubmitInfo] :: TimelineSemaphoreSubmitInfo -> Word32
-- | pWaitSemaphoreValues is a pointer to an array of
-- waitSemaphoreValueCount values for the corresponding
-- semaphores in SubmitInfo::pWaitSemaphores to wait for.
[$sel:waitSemaphoreValues:TimelineSemaphoreSubmitInfo] :: TimelineSemaphoreSubmitInfo -> Vector Word64
-- | signalSemaphoreValueCount is the number of semaphore signal
-- values specified in pSignalSemaphoreValues.
[$sel:signalSemaphoreValueCount:TimelineSemaphoreSubmitInfo] :: TimelineSemaphoreSubmitInfo -> Word32
-- | pSignalSemaphoreValues is a pointer to an array
-- signalSemaphoreValueCount values for the corresponding
-- semaphores in SubmitInfo::pSignalSemaphores to set
-- when signaled.
[$sel:signalSemaphoreValues:TimelineSemaphoreSubmitInfo] :: TimelineSemaphoreSubmitInfo -> Vector Word64
-- | VkSemaphoreWaitInfo - Structure containing information about the
-- semaphore wait condition
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be a valid combination of
-- SemaphoreWaitFlagBits values
-- - pSemaphores must be a valid pointer to an array of
-- semaphoreCount valid Semaphore handles
-- - pValues must be a valid pointer to an array of
-- semaphoreCount uint64_t values
-- - semaphoreCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Semaphore, SemaphoreWaitFlags, StructureType,
-- waitSemaphores, waitSemaphoresKHR
data SemaphoreWaitInfo
SemaphoreWaitInfo :: SemaphoreWaitFlags -> Vector Semaphore -> Vector Word64 -> SemaphoreWaitInfo
-- | flags is a bitmask of SemaphoreWaitFlagBits specifying
-- additional parameters for the semaphore wait operation.
[$sel:flags:SemaphoreWaitInfo] :: SemaphoreWaitInfo -> SemaphoreWaitFlags
-- | pSemaphores is a pointer to an array of
-- semaphoreCount semaphore handles to wait on.
[$sel:semaphores:SemaphoreWaitInfo] :: SemaphoreWaitInfo -> Vector Semaphore
-- | pValues is a pointer to an array of semaphoreCount
-- timeline semaphore values.
[$sel:values:SemaphoreWaitInfo] :: SemaphoreWaitInfo -> Vector Word64
-- | VkSemaphoreSignalInfo - Structure containing information about a
-- semaphore signal operation
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- Semaphore, StructureType, signalSemaphore,
-- signalSemaphoreKHR
data SemaphoreSignalInfo
SemaphoreSignalInfo :: Semaphore -> Word64 -> SemaphoreSignalInfo
-- | semaphore is the handle of the semaphore to signal.
--
-- semaphore must have been created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE
--
-- semaphore must be a valid Semaphore handle
[$sel:semaphore:SemaphoreSignalInfo] :: SemaphoreSignalInfo -> Semaphore
-- | value is the value to signal.
--
-- value must have a value greater than the current value
-- of the semaphore
--
-- value must be less than the value of any pending
-- semaphore signal operations
--
-- value must have a value which does not differ from the
-- current value of the semaphore or the value of any outstanding
-- semaphore wait or signal operation on semaphore by more than
-- maxTimelineSemaphoreValueDifference
[$sel:value:SemaphoreSignalInfo] :: SemaphoreSignalInfo -> Word64
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkSemaphoreType - Sepcifies the type of a semaphore object
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- SemaphoreTypeCreateInfo
newtype SemaphoreType
SemaphoreType :: Int32 -> SemaphoreType
-- | SEMAPHORE_TYPE_BINARY specifies a binary semaphore type
-- that has a boolean payload indicating whether the semaphore is
-- currently signaled or unsignaled. When created, the semaphore is in
-- the unsignaled state.
pattern SEMAPHORE_TYPE_BINARY :: SemaphoreType
-- | SEMAPHORE_TYPE_TIMELINE specifies a timeline semaphore
-- type that has a strictly increasing 64-bit unsigned integer payload
-- indicating whether the semaphore is signaled with respect to a
-- particular reference value. When created, the semaphore payload has
-- the value given by the initialValue field of
-- SemaphoreTypeCreateInfo.
pattern SEMAPHORE_TYPE_TIMELINE :: SemaphoreType
-- | VkSemaphoreWaitFlagBits - Bitmask specifying additional parameters of
-- a semaphore wait operation
--
-- See Also
--
-- VK_KHR_timeline_semaphore, VK_VERSION_1_2,
-- SemaphoreWaitFlags
newtype SemaphoreWaitFlagBits
SemaphoreWaitFlagBits :: Flags -> SemaphoreWaitFlagBits
-- | SEMAPHORE_WAIT_ANY_BIT specifies that the semaphore wait
-- condition is that at least one of the semaphores in
-- SemaphoreWaitInfo::pSemaphores has reached the value
-- specified by the corresponding element of
-- SemaphoreWaitInfo::pValues. If
-- SEMAPHORE_WAIT_ANY_BIT is not set, the semaphore wait condition
-- is that all of the semaphores in
-- SemaphoreWaitInfo::pSemaphores have reached the value
-- specified by the corresponding element of
-- SemaphoreWaitInfo::pValues.
pattern SEMAPHORE_WAIT_ANY_BIT :: SemaphoreWaitFlagBits
type SemaphoreWaitFlags = SemaphoreWaitFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.TimelineSemaphoreSubmitInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreSignalInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.TimelineSemaphoreSubmitInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.TimelineSemaphoreSubmitInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.TimelineSemaphoreSubmitInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures
-- | Name
--
-- VK_KHR_timeline_semaphore - device extension
--
-- VK_KHR_timeline_semaphore
--
--
-- - Name String VK_KHR_timeline_semaphore
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 208
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-12
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
- This
-- extension interacts with
-- VK_KHR_external_semaphore_capabilities
- This extension
-- interacts with VK_KHR_external_semaphore
- This
-- extension interacts with
-- VK_KHR_external_semaphore_win32
- Promoted to Vulkan
-- 1.2 Core
-- - Contributors
- Jeff Bolz, NVIDIA
- Yuriy
-- O’Donnell, Epic Games
- Jason Ekstrand, Intel
- Jesse
-- Hall, Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Daniel Rakos, AMD
- Ray Smith, Arm
--
--
-- Description
--
-- This extension introduces a new type of semaphore that has an integer
-- payload identifying a point in a timeline. Such timeline semaphores
-- support the following operations:
--
--
-- - Host query - A host operation that allows querying the payload of
-- the timeline semaphore.
-- - Host wait - A host operation that allows a blocking wait for a
-- timeline semaphore to reach a specified value.
-- - Host signal - A host operation that allows advancing the timeline
-- semaphore to a specified value.
-- - Device wait - A device operation that allows waiting for a
-- timeline semaphore to reach a specified value.
-- - Device signal - A device operation that allows advancing the
-- timeline semaphore to a specified value.
--
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Do we need a new object type for this?
--
-- RESOLVED: No, we just introduce a new type of semaphore object,
-- as VK_KHR_external_semaphore_win32 already uses semaphores as
-- the destination for importing D3D12 fence objects, which are
-- semantically close/identical to the proposed synchronization
-- primitive.
--
-- 2) What type of payload the new synchronization primitive has?
--
-- RESOLVED: A 64-bit unsigned integer that can only be set to
-- strictly increasing values by signal operations and is not changed by
-- wait operations.
--
-- 3) Does the new synchronization primitive have the same
-- signal-before-wait requirement as the existing semaphores do?
--
-- RESOLVED: No. Timeline semaphores support signaling and waiting
-- entirely asynchronously. It is the responsibility of the client to
-- avoid deadlock.
--
-- 4) Does the new synchronization primitive allow resetting its payload?
--
-- RESOLVED: No, allowing the payload value to “go backwards” is
-- problematic. Applications looking for reset behavior should create a
-- new instance of the sychronization primitive instead.
--
-- 5) How do we enable host waits on the synchronization primitive?
--
-- RESOLVED: Both a non-blocking query of the current payload
-- value of the synchronization primitive, and a blocking wait operation
-- are provided.
--
-- 6) How do we enable device waits and signals on the synchronization
-- primitive?
--
-- RESOLVED: Similar to VK_KHR_external_semaphore_win32,
-- this extension introduces a new structure that can be chained to
-- SubmitInfo to specify the values signaled semaphores should be
-- set to, and the values waited semaphores need to reach.
--
-- 7) Can the new synchronization primitive be used to synchronize
-- presentation and swapchain image acquisition operations?
--
-- RESOLVED: Some implementations may have problems with
-- supporting that directly, thus it is not allowed in this extension.
--
-- 8) Do we want to support external sharing of the new synchronization
-- primitive type?
--
-- RESOLVED: Yes. Timeline semaphore specific external sharing
-- capabilities can be queried using
-- getPhysicalDeviceExternalSemaphoreProperties by chaining the
-- new SemaphoreTypeCreateInfoKHR structure to its
-- pExternalSemaphoreInfo structure. This allows having a
-- different set of external semaphore handle types supported for
-- timeline semaphores vs binary semaphores.
--
-- 9) Do we need to add a host signal operation for the new
-- synchronization primitive type?
--
-- RESOLVED: Yes. This helps in situations where one host thread
-- submits a workload but another host thread has the information on when
-- the workload is ready to be executed.
--
-- 10) How should the new synchronization primitive interact with the
-- ordering requirements of the original Semaphore?
--
-- RESOLVED: Prior to calling any command which may cause a
-- wait operation on a binary semaphore, the client must ensure
-- that the semaphore signal operation that has been submitted for
-- execution and any semaphore signal operations on which it depends (if
-- any) must have also been submitted for execution.
--
-- 11) Should we have separate feature bits for different sub-features of
-- timeline semaphores?
--
-- RESOLVED: No. The only feature which cannot be supported
-- universally is timeline semaphore import/export. For import/export,
-- the client is already required to query available external handle
-- types via getPhysicalDeviceExternalSemaphoreProperties and
-- provide the semaphore type by adding a
-- SemaphoreTypeCreateInfoKHR structure to the pNext
-- chain of PhysicalDeviceExternalSemaphoreInfo so no new feature
-- bit is required.
--
-- Version History
--
--
-- - Revision 1, 2018-05-10 (Jason Ekstrand)
--
--
--
-- - Revision 2, 2019-06-12 (Jason Ekstrand)
- Added an
-- initialValue parameter to timeline semaphore creation
--
--
-- See Also
--
-- PhysicalDeviceTimelineSemaphoreFeaturesKHR,
-- PhysicalDeviceTimelineSemaphorePropertiesKHR,
-- SemaphoreSignalInfoKHR, SemaphoreTypeCreateInfoKHR,
-- SemaphoreTypeKHR, SemaphoreWaitFlagBitsKHR,
-- SemaphoreWaitFlagsKHR, SemaphoreWaitInfoKHR,
-- TimelineSemaphoreSubmitInfoKHR,
-- getSemaphoreCounterValueKHR, signalSemaphoreKHR,
-- waitSemaphoresKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_timeline_semaphore
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR :: StructureType
pattern SEMAPHORE_TYPE_BINARY_KHR :: SemaphoreType
pattern SEMAPHORE_TYPE_TIMELINE_KHR :: SemaphoreType
pattern SEMAPHORE_WAIT_ANY_BIT_KHR :: SemaphoreWaitFlagBits
getSemaphoreCounterValueKHR :: MonadIO io => Device -> Semaphore -> io ("value" ::: Word64)
waitSemaphoresKHR :: MonadIO io => Device -> SemaphoreWaitInfo -> ("timeout" ::: Word64) -> io Result
signalSemaphoreKHR :: MonadIO io => Device -> SemaphoreSignalInfo -> io ()
type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags
type SemaphoreTypeKHR = SemaphoreType
type SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits
type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures
type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties
type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo
type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo
type SemaphoreWaitInfoKHR = SemaphoreWaitInfo
type SemaphoreSignalInfoKHR = SemaphoreSignalInfo
type KHR_TIMELINE_SEMAPHORE_SPEC_VERSION = 2
pattern KHR_TIMELINE_SEMAPHORE_SPEC_VERSION :: forall a. Integral a => a
type KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME = "VK_KHR_timeline_semaphore"
pattern KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer
-- | VkPhysicalDeviceImagelessFramebufferFeatures - Structure indicating
-- support for imageless framebuffers
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceImagelessFramebufferFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceImagelessFramebufferFeatures can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_imageless_framebuffer, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceImagelessFramebufferFeatures
PhysicalDeviceImagelessFramebufferFeatures :: Bool -> PhysicalDeviceImagelessFramebufferFeatures
-- | imagelessFramebuffer indicates that the implementation
-- supports specifying the image view for attachments at render pass
-- begin time via RenderPassAttachmentBeginInfo.
[$sel:imagelessFramebuffer:PhysicalDeviceImagelessFramebufferFeatures] :: PhysicalDeviceImagelessFramebufferFeatures -> Bool
-- | VkFramebufferAttachmentsCreateInfo - Structure specifying parameters
-- of images that will be used with a framebuffer
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If attachmentImageInfoCount is not 0,
-- pAttachmentImageInfos must be a valid pointer to an
-- array of attachmentImageInfoCount valid
-- FramebufferAttachmentImageInfo structures
--
--
-- See Also
--
-- VK_VERSION_1_2, FramebufferAttachmentImageInfo,
-- StructureType
data FramebufferAttachmentsCreateInfo
FramebufferAttachmentsCreateInfo :: Vector FramebufferAttachmentImageInfo -> FramebufferAttachmentsCreateInfo
-- | pAttachmentImageInfos is a pointer to an array of
-- FramebufferAttachmentImageInfo structures, each structure
-- describing a number of parameters of the corresponding attachment in a
-- render pass instance.
[$sel:attachmentImageInfos:FramebufferAttachmentsCreateInfo] :: FramebufferAttachmentsCreateInfo -> Vector FramebufferAttachmentImageInfo
-- | VkFramebufferAttachmentImageInfo - Structure specifying parameters of
-- an image that will be used with a framebuffer
--
-- Description
--
-- Images that can be used with the framebuffer when beginning a
-- render pass, as specified by RenderPassAttachmentBeginInfo,
-- must be created with parameters that are identical to those
-- specified here.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be a valid combination of
-- ImageCreateFlagBits values
-- - usage must be a valid combination of
-- ImageUsageFlagBits values
-- - usage must not be 0
-- - If viewFormatCount is not 0,
-- pViewFormats must be a valid pointer to an array of
-- viewFormatCount valid Format values
--
--
-- See Also
--
-- VK_KHR_imageless_framebuffer, VK_VERSION_1_2,
-- Format, FramebufferAttachmentsCreateInfo,
-- ImageCreateFlags, ImageUsageFlags, StructureType
data FramebufferAttachmentImageInfo
FramebufferAttachmentImageInfo :: ImageCreateFlags -> ImageUsageFlags -> Word32 -> Word32 -> Word32 -> Vector Format -> FramebufferAttachmentImageInfo
-- | flags is a bitmask of ImageCreateFlagBits, matching
-- the value of ImageCreateInfo::flags used to create an
-- image that will be used with this framebuffer.
[$sel:flags:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> ImageCreateFlags
-- | usage is a bitmask of ImageUsageFlagBits, matching the
-- value of ImageCreateInfo::usage used to create an
-- image used with this framebuffer.
[$sel:usage:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> ImageUsageFlags
-- | width is the width of the image view used for rendering.
[$sel:width:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> Word32
-- | height is the height of the image view used for rendering.
[$sel:height:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> Word32
-- | layerCount is the number of array layers of the image view
-- used for rendering.
[$sel:layerCount:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> Word32
-- | pViewFormats is a pointer to an array of Format values
-- specifying all of the formats which can be used when creating
-- views of the image, matching the value of
-- ImageFormatListCreateInfo::pViewFormats used to create
-- an image used with this framebuffer.
[$sel:viewFormats:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> Vector Format
-- | VkRenderPassAttachmentBeginInfo - Structure specifying images to be
-- used as framebuffer attachments
--
-- Valid Usage
--
--
-- - Each element of pAttachments must only specify a
-- single mip level
--
--
--
-- - Each element of pAttachments must have been
-- created with the identity swizzle
-- - Each element of pAttachments must have been
-- created with ImageViewCreateInfo::viewType not equal
-- to IMAGE_VIEW_TYPE_3D
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If attachmentCount is not 0,
-- pAttachments must be a valid pointer to an array of
-- attachmentCount valid ImageView handles
--
--
-- See Also
--
-- VK_KHR_imageless_framebuffer, VK_VERSION_1_2,
-- ImageView, StructureType
data RenderPassAttachmentBeginInfo
RenderPassAttachmentBeginInfo :: Vector ImageView -> RenderPassAttachmentBeginInfo
-- | pAttachments is a pointer to an array of ImageView
-- handles, each of which will be used as the corresponding attachment in
-- the render pass instance.
[$sel:attachments:RenderPassAttachmentBeginInfo] :: RenderPassAttachmentBeginInfo -> Vector ImageView
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkFramebufferCreateFlagBits - Bitmask specifying framebuffer
-- properties
--
-- See Also
--
-- VK_VERSION_1_0, FramebufferCreateFlags
newtype FramebufferCreateFlagBits
FramebufferCreateFlagBits :: Flags -> FramebufferCreateFlagBits
-- | FRAMEBUFFER_CREATE_IMAGELESS_BIT specifies that image views are
-- not specified, and only attachment compatibility information will be
-- provided via a FramebufferAttachmentImageInfo structure.
pattern FRAMEBUFFER_CREATE_IMAGELESS_BIT :: FramebufferCreateFlagBits
type FramebufferCreateFlags = FramebufferCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentsCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.RenderPassAttachmentBeginInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.RenderPassAttachmentBeginInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.RenderPassAttachmentBeginInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.RenderPassAttachmentBeginInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentsCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentsCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentsCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures
-- | Name
--
-- VK_KHR_imageless_framebuffer - device extension
--
-- VK_KHR_imageless_framebuffer
--
--
-- - Name String
-- VK_KHR_imageless_framebuffer
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 109
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_maintenance2
- Requires
-- VK_KHR_image_format_list
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-14
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Tobias Hector
- Graham
-- Wihlidal
--
--
-- Description
--
-- This extension allows framebuffers to be created without the need for
-- creating images first, allowing more flexibility in how they are used,
-- and avoiding the need for many of the confusing compatibility rules.
--
-- Framebuffers are now created with a small amount of additional
-- metadata about the image views that will be used in
-- FramebufferAttachmentsCreateInfoKHR, and the actual image views
-- are provided at render pass begin time via
-- RenderPassAttachmentBeginInfoKHR.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-12-14 (Tobias Hector)
--
--
-- See Also
--
-- FramebufferAttachmentImageInfoKHR,
-- FramebufferAttachmentsCreateInfoKHR,
-- PhysicalDeviceImagelessFramebufferFeaturesKHR,
-- RenderPassAttachmentBeginInfoKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_imageless_framebuffer
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR :: StructureType
pattern FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR :: FramebufferCreateFlagBits
type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures
type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo
type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo
type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo
type KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION = 1
pattern KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION :: forall a. Integral a => a
type KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME = "VK_KHR_imageless_framebuffer"
pattern KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count
-- | vkCmdDrawIndirectCount - Draw primitives with indirect parameters and
-- draw count
--
-- Description
--
-- cmdDrawIndirectCount behaves similarly to
-- cmdDrawIndirect except that the draw count is read by the
-- device from a buffer during execution. The command will read an
-- unsigned 32-bit integer from countBuffer located at
-- countBufferOffset and use this as the draw count.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If countBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - countBuffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - countBufferOffset must be a multiple of
-- 4
-- - The count stored in countBuffer must be less than
-- or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - (countBufferOffset + sizeof(uint32_t))
-- must be less than or equal to the size of
-- countBuffer
-- - If drawIndirectCount is not enabled this function
-- must not be used
-- - stride must be a multiple of 4 and
-- must be greater than or equal to
-- sizeof(DrawIndirectCommand)
-- - If maxDrawCount is greater than or equal to 1,
-- (stride × (maxDrawCount - 1) + offset +
-- sizeof(DrawIndirectCommand)) must be less than or equal
-- to the size of buffer
-- - If the count stored in countBuffer is equal to
-- 1, (offset + sizeof(DrawIndirectCommand))
-- must be less than or equal to the size of buffer
-- - If the count stored in countBuffer is greater than
-- 1, (stride × (drawCount - 1) +
-- offset + sizeof(DrawIndirectCommand)) must be
-- less than or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - countBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Each of buffer, commandBuffer, and
-- countBuffer must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_AMD_draw_indirect_count, VK_KHR_draw_indirect_count,
-- VK_VERSION_1_2, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawIndirectCount :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | vkCmdDrawIndexedIndirectCount - Draw parameters with indirect
-- parameters, indexed vertices, and draw count
--
-- Description
--
-- cmdDrawIndexedIndirectCount behaves similarly to
-- cmdDrawIndexedIndirect except that the draw count is read by
-- the device from a buffer during execution. The command will read an
-- unsigned 32-bit integer from countBuffer located at
-- countBufferOffset and use this as the draw count.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If countBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - countBuffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - countBufferOffset must be a multiple of
-- 4
-- - The count stored in countBuffer must be less than
-- or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - (countBufferOffset + sizeof(uint32_t))
-- must be less than or equal to the size of
-- countBuffer
-- - If drawIndirectCount is not enabled this function
-- must not be used
-- - stride must be a multiple of 4 and
-- must be greater than or equal to
-- sizeof(DrawIndexedIndirectCommand)
-- - If maxDrawCount is greater than or equal to 1,
-- (stride × (maxDrawCount - 1) + offset +
-- sizeof(DrawIndexedIndirectCommand)) must be less than or
-- equal to the size of buffer
-- - If count stored in countBuffer is equal to 1,
-- (offset + sizeof(DrawIndexedIndirectCommand))
-- must be less than or equal to the size of buffer
-- - If count stored in countBuffer is greater than
-- 1, (stride × (drawCount - 1) +
-- offset + sizeof(DrawIndexedIndirectCommand))
-- must be less than or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - countBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Each of buffer, commandBuffer, and
-- countBuffer must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_AMD_draw_indirect_count, VK_KHR_draw_indirect_count,
-- VK_VERSION_1_2, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawIndexedIndirectCount :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | Name
--
-- VK_KHR_draw_indirect_count - device extension
--
-- VK_KHR_draw_indirect_count
--
--
-- - Name String VK_KHR_draw_indirect_count
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 170
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-25
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Derrick Owens, AMD
- Graham Sellers,
-- AMD
- Daniel Rakos, AMD
- Dominik Witczak,
-- AMD
- Piers Daniell, NVIDIA
--
--
-- Description
--
-- This extension is based off the VK_AMD_draw_indirect_count
-- extension. This extension allows an application to source the number
-- of draws for indirect drawing calls from a buffer.
--
-- Applications might want to do culling on the GPU via a compute shader
-- prior to drawing. This enables the application to generate an
-- arbitrary number of drawing commands and execute them without host
-- intervention.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. However, if Vulkan 1.2 is supported and
-- this extension is not, the entry points cmdDrawIndirectCount
-- and cmdDrawIndexedIndirectCount are optional. The original
-- type, enum and command names are still available as aliases of the
-- core functionality.
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-25 (Piers Daniell)
- Initial draft based
-- off VK_AMD_draw_indirect_count
--
--
-- See Also
--
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirectCountKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_draw_indirect_count
cmdDrawIndirectCountKHR :: MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
cmdDrawIndexedIndirectCountKHR :: MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
type KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1
pattern KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: forall a. Integral a => a
type KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_KHR_draw_indirect_count"
pattern KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_AMD_draw_indirect_count - device extension
--
-- VK_AMD_draw_indirect_count
--
--
-- - Name String VK_AMD_draw_indirect_count
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 34
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
- Promoted to
-- VK_KHR_draw_indirect_count extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-23
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to VK_KHR_draw_indirect_count
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Derrick Owens, AMD
- Graham Sellers,
-- AMD
- Daniel Rakos, AMD
- Dominik Witczak,
-- AMD
--
--
-- Description
--
-- This extension allows an application to source the number of draws for
-- indirect drawing commands from a buffer. This enables applications to
-- generate an arbitrary number of drawing commands and execute them
-- without host intervention.
--
-- Promotion to VK_KHR_draw_indirect_count
--
-- All functionality in this extension is included in
-- VK_KHR_draw_indirect_count, with the suffix changed to KHR.
-- The original type, enum and command names are still available as
-- aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 2, 2016-08-23 (Dominik Witczak)
--
--
--
-- - Revision 1, 2016-07-21 (Matthaeus Chajdas)
--
--
-- See Also
--
-- cmdDrawIndexedIndirectCountAMD, cmdDrawIndirectCountAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_draw_indirect_count
cmdDrawIndirectCountAMD :: MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
cmdDrawIndexedIndirectCountAMD :: MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
type AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 2
pattern AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: forall a. Integral a => a
type AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count"
pattern AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address
-- | vkGetBufferOpaqueCaptureAddress - Query an opaque capture address of a
-- buffer
--
-- Description
--
-- The 64-bit return value is an opaque capture address of the start of
-- pInfo->buffer.
--
-- If the buffer was created with a non-zero value of
-- BufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress
-- the return value must be the same address.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- BufferDeviceAddressInfo, Device
getBufferOpaqueCaptureAddress :: forall io. MonadIO io => Device -> BufferDeviceAddressInfo -> io Word64
-- | vkGetBufferDeviceAddress - Query an address of a buffer
--
-- Description
--
-- The 64-bit return value is an address of the start of
-- pInfo->buffer. The address range starting at this value
-- and whose size is the size of the buffer can be used in a
-- shader to access the memory bound to that buffer, using the
-- SPV_KHR_physical_storage_buffer extension or the equivalent
-- SPV_EXT_physical_storage_buffer extension and the
-- PhysicalStorageBuffer storage class. For example, this value
-- can be stored in a uniform buffer, and the shader can
-- read the value from the uniform buffer and use it to do a dependent
-- read/write to this buffer. A value of zero is reserved as a “null”
-- pointer and must not be returned as a valid buffer device
-- address. All loads, stores, and atomics in a shader through
-- PhysicalStorageBuffer pointers must access addresses
-- in the address range of some buffer.
--
-- If the buffer was created with a non-zero value of
-- BufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress
-- or BufferDeviceAddressCreateInfoEXT::deviceAddress the
-- return value will be the same address that was returned at capture
-- time.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- BufferDeviceAddressInfo, Device
getBufferDeviceAddress :: forall io. MonadIO io => Device -> BufferDeviceAddressInfo -> io DeviceAddress
-- | vkGetDeviceMemoryOpaqueCaptureAddress - Query an opaque capture
-- address of a memory object
--
-- Description
--
-- The 64-bit return value is an opaque address representing the start of
-- pInfo->memory.
--
-- If the memory object was allocated with a non-zero value of
-- MemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress,
-- the return value must be the same address.
--
-- Note
--
-- The expected usage for these opaque addresses is only for trace
-- capture/replay tools to store these addresses in a trace and
-- subsequently specify them during replay.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- Device, DeviceMemoryOpaqueCaptureAddressInfo
getDeviceMemoryOpaqueCaptureAddress :: forall io. MonadIO io => Device -> DeviceMemoryOpaqueCaptureAddressInfo -> io Word64
-- | VkPhysicalDeviceBufferDeviceAddressFeatures - Structure describing
-- buffer address features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- Note
--
-- bufferDeviceAddressMultiDevice exists to allow certain legacy
-- platforms to be able to support bufferDeviceAddress without
-- needing to support shared GPU virtual addresses for multi-device
-- configurations.
--
-- See getBufferDeviceAddress for more information.
--
-- If the PhysicalDeviceBufferDeviceAddressFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceBufferDeviceAddressFeatures can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- Bool32, StructureType
data PhysicalDeviceBufferDeviceAddressFeatures
PhysicalDeviceBufferDeviceAddressFeatures :: Bool -> Bool -> Bool -> PhysicalDeviceBufferDeviceAddressFeatures
-- | bufferDeviceAddress indicates that the implementation
-- supports accessing buffer memory in shaders as storage buffers via an
-- address queried from getBufferDeviceAddress.
[$sel:bufferDeviceAddress:PhysicalDeviceBufferDeviceAddressFeatures] :: PhysicalDeviceBufferDeviceAddressFeatures -> Bool
-- | bufferDeviceAddressCaptureReplay indicates that the
-- implementation supports saving and reusing buffer and device
-- addresses, e.g. for trace capture and replay.
[$sel:bufferDeviceAddressCaptureReplay:PhysicalDeviceBufferDeviceAddressFeatures] :: PhysicalDeviceBufferDeviceAddressFeatures -> Bool
-- | bufferDeviceAddressMultiDevice indicates that the
-- implementation supports the bufferDeviceAddress ,
-- rayTracingPipeline and rayQuery features for logical
-- devices created with multiple physical devices. If this feature is not
-- supported, buffer and acceleration structure addresses must not
-- be queried on a logical device created with more than one physical
-- device.
[$sel:bufferDeviceAddressMultiDevice:PhysicalDeviceBufferDeviceAddressFeatures] :: PhysicalDeviceBufferDeviceAddressFeatures -> Bool
-- | VkBufferDeviceAddressInfo - Structure specifying the buffer to query
-- an address for
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - buffer must be a valid Buffer handle
--
--
-- See Also
--
-- VK_VERSION_1_2, Buffer, StructureType,
-- getBufferDeviceAddress, getBufferDeviceAddressEXT,
-- getBufferDeviceAddressKHR,
-- getBufferOpaqueCaptureAddress,
-- getBufferOpaqueCaptureAddressKHR
data BufferDeviceAddressInfo
BufferDeviceAddressInfo :: Buffer -> BufferDeviceAddressInfo
-- | buffer specifies the buffer whose address is being queried.
[$sel:buffer:BufferDeviceAddressInfo] :: BufferDeviceAddressInfo -> Buffer
-- | VkBufferOpaqueCaptureAddressCreateInfo - Request a specific address
-- for a buffer
--
-- Description
--
-- If opaqueCaptureAddress is zero, no specific address is
-- requested.
--
-- If opaqueCaptureAddress is not zero, then it should be
-- an address retrieved from getBufferOpaqueCaptureAddress for an
-- identically created buffer on the same implementation.
--
-- If this structure is not present, it is as if
-- opaqueCaptureAddress is zero.
--
-- Apps should avoid creating buffers with app-provided addresses
-- and implementation-provided addresses in the same process, to reduce
-- the likelihood of ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS errors.
--
-- Note
--
-- The expected usage for this is that a trace capture/replay tool will
-- add the BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT flag to
-- all buffers that use BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
-- and during capture will save the queried opaque device addresses in
-- the trace. During replay, the buffers will be created specifying the
-- original address so any address values stored in the trace data will
-- remain valid.
--
-- Implementations are expected to separate such buffers in the GPU
-- address space so normal allocations will avoid using these addresses.
-- Apps/tools should avoid mixing app-provided and
-- implementation-provided addresses for buffers created with
-- BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, to avoid
-- address space allocation conflicts.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- StructureType
data BufferOpaqueCaptureAddressCreateInfo
BufferOpaqueCaptureAddressCreateInfo :: Word64 -> BufferOpaqueCaptureAddressCreateInfo
-- | opaqueCaptureAddress is the opaque capture address requested
-- for the buffer.
[$sel:opaqueCaptureAddress:BufferOpaqueCaptureAddressCreateInfo] :: BufferOpaqueCaptureAddressCreateInfo -> Word64
-- | VkMemoryOpaqueCaptureAddressAllocateInfo - Request a specific address
-- for a memory allocation
--
-- Description
--
-- If opaqueCaptureAddress is zero, no specific address is
-- requested.
--
-- If opaqueCaptureAddress is not zero, it should be an
-- address retrieved from getDeviceMemoryOpaqueCaptureAddress on
-- an identically created memory allocation on the same implementation.
--
-- Note
--
-- In most cases, it is expected that a non-zero opaqueAddress
-- is an address retrieved from
-- getDeviceMemoryOpaqueCaptureAddress on an identically created
-- memory allocation. If this is not the case, it is likely that
-- ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS errors will occur.
--
-- This is, however, not a strict requirement because trace
-- capture/replay tools may need to adjust memory allocation parameters
-- for imported memory.
--
-- If this structure is not present, it is as if
-- opaqueCaptureAddress is zero.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- StructureType
data MemoryOpaqueCaptureAddressAllocateInfo
MemoryOpaqueCaptureAddressAllocateInfo :: Word64 -> MemoryOpaqueCaptureAddressAllocateInfo
-- | opaqueCaptureAddress is the opaque capture address requested
-- for the memory allocation.
[$sel:opaqueCaptureAddress:MemoryOpaqueCaptureAddressAllocateInfo] :: MemoryOpaqueCaptureAddressAllocateInfo -> Word64
-- | VkDeviceMemoryOpaqueCaptureAddressInfo - Structure specifying the
-- memory object to query an address for
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_buffer_device_address, VK_VERSION_1_2,
-- DeviceMemory, StructureType,
-- getDeviceMemoryOpaqueCaptureAddress,
-- getDeviceMemoryOpaqueCaptureAddressKHR
data DeviceMemoryOpaqueCaptureAddressInfo
DeviceMemoryOpaqueCaptureAddressInfo :: DeviceMemory -> DeviceMemoryOpaqueCaptureAddressInfo
-- | memory specifies the memory whose address is being queried.
--
-- memory must have been allocated with
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT
--
-- memory must be a valid DeviceMemory handle
[$sel:memory:DeviceMemoryOpaqueCaptureAddressInfo] :: DeviceMemoryOpaqueCaptureAddressInfo -> DeviceMemory
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
-- | VkBufferUsageFlagBits - Bitmask specifying allowed usage of a buffer
--
-- See Also
--
-- VK_VERSION_1_0, BufferUsageFlags
newtype BufferUsageFlagBits
BufferUsageFlagBits :: Flags -> BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_SRC_BIT specifies that the buffer
-- can be used as the source of a transfer command (see the
-- definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
pattern BUFFER_USAGE_TRANSFER_SRC_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_DST_BIT specifies that the buffer
-- can be used as the destination of a transfer command.
pattern BUFFER_USAGE_TRANSFER_DST_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.
pattern BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.
pattern BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_UNIFORM_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_STORAGE_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdBindIndexBuffer.
pattern BUFFER_USAGE_INDEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_VERTEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as an element of the pBuffers array to
-- cmdBindVertexBuffers.
pattern BUFFER_USAGE_VERTEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDIRECT_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdDrawIndirect, cmdDrawIndexedIndirect,
-- cmdDrawMeshTasksIndirectNV,
-- cmdDrawMeshTasksIndirectCountNV, or cmdDispatchIndirect.
-- It is also suitable for passing as the buffer member of
-- IndirectCommandsStreamNV, or sequencesCountBuffer or
-- sequencesIndexBuffer or preprocessedBuffer member of
-- GeneratedCommandsInfoNV
pattern BUFFER_USAGE_INDIRECT_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR specifies that the
-- buffer is suitable for use as a Shader Binding Table.
pattern BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR specifies
-- that the buffer is suitable for storage space for a
-- AccelerationStructureKHR.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR :: BufferUsageFlagBits
-- |
-- BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-- specifies that the buffer is suitable for use as a read-only input to
-- an acceleration structure build.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT specifies that the
-- buffer is suitable for passing as the buffer parameter to
-- cmdBeginConditionalRenderingEXT.
pattern BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
-- specifies that the buffer is suitable for using as a counter buffer
-- with cmdBeginTransformFeedbackEXT and
-- cmdEndTransformFeedbackEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT specifies that
-- the buffer is suitable for using for binding as a transform feedback
-- buffer with cmdBindTransformFeedbackBuffersEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT specifies that the
-- buffer can be used to retrieve a buffer device address via
-- getBufferDeviceAddress and use that address to access the
-- buffer’s memory from a shader.
pattern BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT :: BufferUsageFlagBits
type BufferUsageFlags = BufferUsageFlagBits
-- | VkBufferCreateFlagBits - Bitmask specifying additional parameters of a
-- buffer
--
-- Description
--
-- See Sparse Resource Features and Physical Device
-- Features for details of the sparse memory features supported on a
-- device.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateFlags
newtype BufferCreateFlagBits
BufferCreateFlagBits :: Flags -> BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_BINDING_BIT specifies that the buffer will
-- be backed using sparse memory binding.
pattern BUFFER_CREATE_SPARSE_BINDING_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_RESIDENCY_BIT specifies that the buffer
-- can be partially backed using sparse memory binding. Buffers
-- created with this flag must also be created with the
-- BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_ALIASED_BIT specifies that the buffer will
-- be backed using sparse memory binding with memory ranges that might
-- also simultaneously be backing another buffer (or another portion of
-- the same buffer). Buffers created with this flag must also be
-- created with the BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_ALIASED_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies that
-- the buffer’s address can be saved and reused on a subsequent
-- run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_PROTECTED_BIT specifies that the buffer is a
-- protected buffer.
pattern BUFFER_CREATE_PROTECTED_BIT :: BufferCreateFlagBits
type BufferCreateFlags = BufferCreateFlagBits
-- | VkMemoryAllocateFlagBits - Bitmask specifying flags for a device
-- memory allocation
--
-- See Also
--
-- VK_VERSION_1_1, MemoryAllocateFlags
newtype MemoryAllocateFlagBits
MemoryAllocateFlagBits :: Flags -> MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_MASK_BIT specifies that memory will be
-- allocated for the devices in
-- MemoryAllocateFlagsInfo::deviceMask.
pattern MEMORY_ALLOCATE_DEVICE_MASK_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies
-- that the memory’s address can be saved and reused on a
-- subsequent run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT specifies that the memory
-- can be attached to a buffer object created with the
-- BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT bit set in
-- usage, and that the memory handle can be used to
-- retrieve an opaque address via
-- getDeviceMemoryOpaqueCaptureAddress.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT :: MemoryAllocateFlagBits
type MemoryAllocateFlags = MemoryAllocateFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.MemoryOpaqueCaptureAddressAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures
-- | Name
--
-- VK_KHR_buffer_device_address - device extension
--
-- VK_KHR_buffer_device_address
--
--
-- - Name String
-- VK_KHR_buffer_device_address
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 258
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-06-24
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Bolz, NVIDIA
- Neil
-- Henning, AMD
- Tobias Hector, AMD
- Jason Ekstrand,
-- Intel
- Baldur Karlsson, Valve
- Jan-Harald Fredriksen,
-- Arm
--
--
-- Description
--
-- This extension allows the application to query a 64-bit buffer device
-- address value for a buffer, which can be used to access the buffer
-- memory via the PhysicalStorageBuffer storage class in the
-- GL_EXT_buffer_reference GLSL extension and
-- SPV_KHR_physical_storage_buffer SPIR-V extension.
--
-- Another way to describe this extension is that it adds “pointers to
-- buffer memory in shaders”. By calling getBufferDeviceAddress
-- with a Buffer, it will return a DeviceAddress value
-- which represents the address of the start of the buffer.
--
-- getBufferOpaqueCaptureAddress and
-- getDeviceMemoryOpaqueCaptureAddress allow opaque addresses for
-- buffers and memory objects to be queried for the current process. A
-- trace capture and replay tool can then supply these addresses to be
-- used at replay time to match the addresses used when the trace was
-- captured. To enable tools to insert these queries, new memory
-- allocation flags must be specified for memory objects that will be
-- bound to buffers accessed via the PhysicalStorageBuffer
-- storage class. Note that this mechanism is intended only to support
-- capture/replay tools, and is not recommended for use in other
-- applications.
--
-- There are various use cases this extension is designed for. It is
-- required for ray tracing, useful for DX12 portability, and by allowing
-- buffer addresses to be stored in memory it enables more complex data
-- structures to be created.
--
-- This extension can also be used to hardcode a dedicated debug channel
-- into all shaders by querying a pointer at startup and pushing that
-- into shaders as a run-time constant (e.g. specialization constant)
-- that avoids impacting other descriptor limits.
--
-- There are examples of usage in the GL_EXT_buffer_reference spec
-- for how to use this in a high-level shading language such as GLSL. The
-- GL_EXT_buffer_reference2 and
-- GL_EXT_buffer_reference_uvec2 extensions were also added to
-- help cover a few additional edge cases.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. However, if Vulkan 1.2 is supported and
-- this extension is not, the bufferDeviceAddress capability is
-- optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-06-24 (Jan-Harald Fredriksen)
- Internal
-- revisions based on VK_EXT_buffer_device_address
--
--
-- See Also
--
-- BufferDeviceAddressInfoKHR,
-- BufferOpaqueCaptureAddressCreateInfoKHR,
-- DeviceMemoryOpaqueCaptureAddressInfoKHR,
-- MemoryOpaqueCaptureAddressAllocateInfoKHR,
-- PhysicalDeviceBufferDeviceAddressFeaturesKHR,
-- getBufferDeviceAddressKHR,
-- getBufferOpaqueCaptureAddressKHR,
-- getDeviceMemoryOpaqueCaptureAddressKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_buffer_device_address
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR :: StructureType
pattern BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR :: BufferUsageFlagBits
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: BufferCreateFlagBits
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR :: MemoryAllocateFlagBits
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: MemoryAllocateFlagBits
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR :: Result
getBufferOpaqueCaptureAddressKHR :: MonadIO io => Device -> BufferDeviceAddressInfo -> io Word64
getBufferDeviceAddressKHR :: MonadIO io => Device -> BufferDeviceAddressInfo -> io DeviceAddress
getDeviceMemoryOpaqueCaptureAddressKHR :: MonadIO io => Device -> DeviceMemoryOpaqueCaptureAddressInfo -> io Word64
type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures
type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo
type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo
type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo
type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo
type KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 1
pattern KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: forall a. Integral a => a
type KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_KHR_buffer_device_address"
pattern KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | Name
--
-- VK_EXT_buffer_device_address - device extension
--
-- VK_EXT_buffer_device_address
--
--
-- - Name String
-- VK_EXT_buffer_device_address
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 245
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
- Deprecated by
-- VK_KHR_buffer_device_address extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-06
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
-- - Contributors
- Jeff Bolz, NVIDIA
- Neil
-- Henning, AMD
- Tobias Hector, AMD
- Jason Ekstrand,
-- Intel
- Baldur Karlsson, Valve
--
--
-- Description
--
-- This extension allows the application to query a 64-bit buffer device
-- address value for a buffer, which can be used to access the buffer
-- memory via the PhysicalStorageBufferEXT storage class in the
-- GL_EXT_buffer_reference GLSL extension and
-- SPV_EXT_physical_storage_buffer SPIR-V extension.
--
-- It also allows buffer device addresses to be provided by a trace
-- replay tool, so that it matches the address used when the trace was
-- captured.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
-- 1) Where is
-- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT and
-- VkPhysicalDeviceBufferAddressFeaturesEXT?
--
-- RESOLVED: They were renamed as
-- STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
-- and PhysicalDeviceBufferDeviceAddressFeaturesEXT accordingly
-- for consistency. Even though, the old names can still be found in the
-- generated header files for compatibility.
--
-- Version History
--
--
-- - Revision 1, 2018-11-01 (Jeff Bolz)
--
--
--
-- - Revision 2, 2019-01-06 (Jon Leech)
- Minor updates to
-- appendix for publication
--
--
-- See Also
--
-- BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfoEXT,
-- PhysicalDeviceBufferAddressFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- getBufferDeviceAddressEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_buffer_device_address
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT :: StructureType
pattern BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT :: BufferUsageFlagBits
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT :: BufferCreateFlagBits
pattern ERROR_INVALID_DEVICE_ADDRESS_EXT :: Result
getBufferDeviceAddressEXT :: MonadIO io => Device -> BufferDeviceAddressInfo -> io DeviceAddress
-- | VkPhysicalDeviceBufferDeviceAddressFeaturesEXT - Structure describing
-- buffer address features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceBufferDeviceAddressFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Note
--
-- The PhysicalDeviceBufferDeviceAddressFeaturesEXT structure has
-- the same members as the
-- PhysicalDeviceBufferDeviceAddressFeatures structure, but the
-- functionality indicated by the members is expressed differently. The
-- features indicated by the
-- PhysicalDeviceBufferDeviceAddressFeatures structure requires
-- additional flags to be passed at memory allocation time, and the
-- capture and replay mechanism is built around opaque capture addresses
-- for buffer and memory objects.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_buffer_device_address, Bool32,
-- StructureType
data PhysicalDeviceBufferDeviceAddressFeaturesEXT
PhysicalDeviceBufferDeviceAddressFeaturesEXT :: Bool -> Bool -> Bool -> PhysicalDeviceBufferDeviceAddressFeaturesEXT
-- | bufferDeviceAddress indicates that the implementation
-- supports accessing buffer memory in shaders as storage buffers via an
-- address queried from getBufferDeviceAddressEXT.
[$sel:bufferDeviceAddress:PhysicalDeviceBufferDeviceAddressFeaturesEXT] :: PhysicalDeviceBufferDeviceAddressFeaturesEXT -> Bool
-- | bufferDeviceAddressCaptureReplay indicates that the
-- implementation supports saving and reusing buffer addresses, e.g. for
-- trace capture and replay.
[$sel:bufferDeviceAddressCaptureReplay:PhysicalDeviceBufferDeviceAddressFeaturesEXT] :: PhysicalDeviceBufferDeviceAddressFeaturesEXT -> Bool
-- | bufferDeviceAddressMultiDevice indicates that the
-- implementation supports the bufferDeviceAddress feature for
-- logical devices created with multiple physical devices. If this
-- feature is not supported, buffer addresses must not be queried
-- on a logical device created with more than one physical device.
[$sel:bufferDeviceAddressMultiDevice:PhysicalDeviceBufferDeviceAddressFeaturesEXT] :: PhysicalDeviceBufferDeviceAddressFeaturesEXT -> Bool
-- | VkBufferDeviceAddressCreateInfoEXT - Request a specific address for a
-- buffer
--
-- Description
--
-- If deviceAddress is zero, no specific address is requested.
--
-- If deviceAddress is not zero, then it must be an
-- address retrieved from an identically created buffer on the same
-- implementation. The buffer must also be bound to an identically
-- created DeviceMemory object.
--
-- If this structure is not present, it is as if deviceAddress
-- is zero.
--
-- Apps should avoid creating buffers with app-provided addresses
-- and implementation-provided addresses in the same process, to reduce
-- the likelihood of ERROR_INVALID_DEVICE_ADDRESS_EXT errors.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_buffer_device_address, DeviceAddress,
-- StructureType
data BufferDeviceAddressCreateInfoEXT
BufferDeviceAddressCreateInfoEXT :: DeviceAddress -> BufferDeviceAddressCreateInfoEXT
-- | deviceAddress is the device address requested for the buffer.
[$sel:deviceAddress:BufferDeviceAddressCreateInfoEXT] :: BufferDeviceAddressCreateInfoEXT -> DeviceAddress
type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT
type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo
type EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 2
pattern EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: forall a. Integral a => a
type EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_EXT_buffer_device_address"
pattern EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT
module Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset
-- | vkResetQueryPool - Reset queries in a query pool
--
-- Description
--
-- This command sets the status of query indices [firstQuery,
-- firstQuery + queryCount - 1] to unavailable.
--
-- If queryPool is QUERY_TYPE_PERFORMANCE_QUERY_KHR this
-- command sets the status of query indices [firstQuery,
-- firstQuery + queryCount - 1] to unavailable for each
-- pass.
--
-- Valid Usage
--
--
--
--
-- - firstQuery must be less than the number of queries
-- in queryPool
-- - The sum of firstQuery and queryCount must
-- be less than or equal to the number of queries in
-- queryPool
-- - Submitted commands that refer to the range specified by
-- firstQuery and queryCount in queryPool
-- must have completed execution
-- - The range of queries specified by firstQuery and
-- queryCount in queryPool must not be in use by
-- calls to getQueryPoolResults or resetQueryPool in other
-- threads
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - queryPool must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_EXT_host_query_reset, VK_VERSION_1_2, Device,
-- QueryPool
resetQueryPool :: forall io. MonadIO io => Device -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> io ()
-- | VkPhysicalDeviceHostQueryResetFeatures - Structure describing whether
-- queries can be reset from the host
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceHostQueryResetFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceHostQueryResetFeatures can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_host_query_reset, VK_VERSION_1_2, Bool32,
-- StructureType
data PhysicalDeviceHostQueryResetFeatures
PhysicalDeviceHostQueryResetFeatures :: Bool -> PhysicalDeviceHostQueryResetFeatures
-- | hostQueryReset indicates that the implementation supports
-- resetting queries from the host with resetQueryPool.
[$sel:hostQueryReset:PhysicalDeviceHostQueryResetFeatures] :: PhysicalDeviceHostQueryResetFeatures -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures
-- | Name
--
-- VK_EXT_host_query_reset - device extension
--
-- VK_EXT_host_query_reset
--
--
-- - Name String VK_EXT_host_query_reset
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 262
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-03-06
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Bas Nieuwenhuizen,
-- Google
- Jason Ekstrand, Intel
- Jeff Bolz,
-- NVIDIA
- Piers Daniell, NVIDIA
--
--
-- Description
--
-- This extension adds a new function to reset queries from the host.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the EXT suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-03-12 (Bas Nieuwenhuizen)
--
--
-- See Also
--
-- PhysicalDeviceHostQueryResetFeaturesEXT,
-- resetQueryPoolEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_host_query_reset
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT :: StructureType
resetQueryPoolEXT :: MonadIO io => Device -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> io ()
type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures
type EXT_HOST_QUERY_RESET_SPEC_VERSION = 1
pattern EXT_HOST_QUERY_RESET_SPEC_VERSION :: forall a. Integral a => a
type EXT_HOST_QUERY_RESET_EXTENSION_NAME = "VK_EXT_host_query_reset"
pattern EXT_HOST_QUERY_RESET_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_maintenance1
-- | vkTrimCommandPool - Trim a command pool
--
-- Description
--
-- Trimming a command pool recycles unused memory from the command pool
-- back to the system. Command buffers allocated from the pool are not
-- affected by the command.
--
-- Note
--
-- This command provides applications with some control over the internal
-- memory allocations used by command pools.
--
-- Unused memory normally arises from command buffers that have been
-- recorded and later reset, such that they are no longer using the
-- memory. On reset, a command buffer can return memory to its command
-- pool, but the only way to release memory from a command pool to the
-- system requires calling resetCommandPool, which cannot be
-- executed while any command buffers from that pool are still in use.
-- Subsequent recording operations into command buffers will re-use this
-- memory but since total memory requirements fluctuate over time, unused
-- memory can accumulate.
--
-- In this situation, trimming a command pool may be useful to
-- return unused memory back to the system, returning the total
-- outstanding memory allocated by the pool back to a more “average”
-- value.
--
-- Implementations utilize many internal allocation strategies that make
-- it impossible to guarantee that all unused memory is released back to
-- the system. For instance, an implementation of a command pool
-- may involve allocating memory in bulk from the system and
-- sub-allocating from that memory. In such an implementation any live
-- command buffer that holds a reference to a bulk allocation would
-- prevent that allocation from being freed, even if only a small
-- proportion of the bulk allocation is in use.
--
-- In most cases trimming will result in a reduction in allocated but
-- unused memory, but it does not guarantee the “ideal” behavior.
--
-- Trimming may be an expensive operation, and should not
-- be called frequently. Trimming should be treated as a way to
-- relieve memory pressure after application-known points when there
-- exists enough unused memory that the cost of trimming is “worth” it.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - commandPool must be a valid CommandPool
-- handle
-- - flags must be 0
-- - commandPool must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to commandPool must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_1, CommandPool,
-- CommandPoolTrimFlags, Device
trimCommandPool :: forall io. MonadIO io => Device -> CommandPool -> CommandPoolTrimFlags -> io ()
-- | VkCommandPoolTrimFlags - Reserved for future use
--
-- Description
--
-- CommandPoolTrimFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_1, trimCommandPool,
-- trimCommandPoolKHR
newtype CommandPoolTrimFlags
CommandPoolTrimFlags :: Flags -> CommandPoolTrimFlags
-- | VkResult - Vulkan command return codes
--
-- Description
--
-- If a command returns a runtime error, unless otherwise specified any
-- output parameters will have undefined contents, except that if the
-- output parameter is a structure with sType and pNext
-- fields, those fields will be unmodified. Any structures chained from
-- pNext will also have undefined contents, except that
-- sType and pNext will be unmodified.
--
-- VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently
-- existing Vulkan objects. Objects that have already been successfully
-- created can still be used by the application.
--
-- Note
--
-- As a general rule, Free, Release, and Reset
-- commands do not return ERROR_OUT_OF_HOST_MEMORY, while any
-- other command with a return code may return it. Any exceptions
-- from this rule are described for those commands.
--
-- ERROR_UNKNOWN will be returned by an implementation when an
-- unexpected error occurs that cannot be attributed to valid behavior of
-- the application and implementation. Under these conditions, it
-- may be returned from any command returning a Result.
--
-- Note
--
-- ERROR_UNKNOWN is not expected to ever be returned if the
-- application behavior is valid, and if the implementation is bug-free.
-- If ERROR_UNKNOWN is received, the application should be checked
-- against the latest validation layers to verify correct behavior as
-- much as possible. If no issues are identified it could be an
-- implementation issue, and the implementor should be contacted for
-- support.
--
-- Performance-critical commands generally do not have return codes. If a
-- runtime error occurs in such commands, the implementation will defer
-- reporting the error until a specified point. For commands that record
-- into command buffers (vkCmd*) runtime errors are reported by
-- endCommandBuffer.
--
-- See Also
--
-- VK_VERSION_1_0, PresentInfoKHR
newtype Result
Result :: Int32 -> Result
-- | SUCCESS Command successfully completed
pattern SUCCESS :: Result
-- | NOT_READY A fence or query has not yet completed
pattern NOT_READY :: Result
-- | TIMEOUT A wait operation has not completed in the specified
-- time
pattern TIMEOUT :: Result
-- | EVENT_SET An event is signaled
pattern EVENT_SET :: Result
-- | EVENT_RESET An event is unsignaled
pattern EVENT_RESET :: Result
-- | INCOMPLETE A return array was too small for the result
pattern INCOMPLETE :: Result
-- | ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.
pattern ERROR_OUT_OF_HOST_MEMORY :: Result
-- | ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has
-- failed.
pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result
-- | ERROR_INITIALIZATION_FAILED Initialization of an object could
-- not be completed for implementation-specific reasons.
pattern ERROR_INITIALIZATION_FAILED :: Result
-- | ERROR_DEVICE_LOST The logical or physical device has been lost.
-- See Lost Device
pattern ERROR_DEVICE_LOST :: Result
-- | ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.
pattern ERROR_MEMORY_MAP_FAILED :: Result
-- | ERROR_LAYER_NOT_PRESENT A requested layer is not present or
-- could not be loaded.
pattern ERROR_LAYER_NOT_PRESENT :: Result
-- | ERROR_EXTENSION_NOT_PRESENT A requested extension is not
-- supported.
pattern ERROR_EXTENSION_NOT_PRESENT :: Result
-- | ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.
pattern ERROR_FEATURE_NOT_PRESENT :: Result
-- | ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is
-- not supported by the driver or is otherwise incompatible for
-- implementation-specific reasons.
pattern ERROR_INCOMPATIBLE_DRIVER :: Result
-- | ERROR_TOO_MANY_OBJECTS Too many objects of the type have
-- already been created.
pattern ERROR_TOO_MANY_OBJECTS :: Result
-- | ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported
-- on this device.
pattern ERROR_FORMAT_NOT_SUPPORTED :: Result
-- | ERROR_FRAGMENTED_POOL A pool allocation has failed due to
-- fragmentation of the pool’s memory. This must only be returned
-- if no attempt to allocate host or device memory was made to
-- accommodate the new allocation. This should be returned in
-- preference to ERROR_OUT_OF_POOL_MEMORY, but only if the
-- implementation is certain that the pool allocation failure was due to
-- fragmentation.
pattern ERROR_FRAGMENTED_POOL :: Result
-- | ERROR_UNKNOWN An unknown error has occurred; either the
-- application has provided invalid input, or an implementation failure
-- has occurred.
pattern ERROR_UNKNOWN :: Result
-- | PIPELINE_COMPILE_REQUIRED_EXT A requested pipeline creation
-- would have required compilation, but the application requested
-- compilation to not be performed.
pattern PIPELINE_COMPILE_REQUIRED_EXT :: Result
-- | OPERATION_NOT_DEFERRED_KHR A deferred operation was requested
-- and no operations were deferred.
pattern OPERATION_NOT_DEFERRED_KHR :: Result
-- | OPERATION_DEFERRED_KHR A deferred operation was requested and
-- at least some of the work was deferred.
pattern OPERATION_DEFERRED_KHR :: Result
-- | THREAD_DONE_KHR A deferred operation is not complete but there
-- is no work remaining to assign to additional threads.
pattern THREAD_DONE_KHR :: Result
-- | THREAD_IDLE_KHR A deferred operation is not complete but there
-- is currently no work for this thread to do at the time of this call.
pattern THREAD_IDLE_KHR :: Result
-- | ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
-- swapchain created with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
-- did not have exlusive full-screen access. This may occur due to
-- implementation-dependent reasons, outside of the application’s
-- control.
pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result
pattern ERROR_NOT_PERMITTED_EXT :: Result
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result
-- | ERROR_INVALID_SHADER_NV One or more shaders failed to compile
-- or link. More details are reported back to the application via
-- VK_EXT_debug_report if enabled.
pattern ERROR_INVALID_SHADER_NV :: Result
pattern ERROR_VALIDATION_FAILED_EXT :: Result
-- | ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain
-- does not use the same presentable image layout, or is incompatible in
-- a way that prevents sharing an image.
pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result
-- | ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that
-- it is no longer compatible with the swapchain, and further
-- presentation requests using the swapchain will fail. Applications
-- must query the new surface properties and recreate their
-- swapchain if they wish to continue presenting to the surface.
pattern ERROR_OUT_OF_DATE_KHR :: Result
-- | SUBOPTIMAL_KHR A swapchain no longer matches the surface
-- properties exactly, but can still be used to present to the
-- surface successfully.
pattern SUBOPTIMAL_KHR :: Result
-- | ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already
-- in use by Vulkan or another API in a manner which prevents it from
-- being used again.
pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result
-- | ERROR_SURFACE_LOST_KHR A surface is no longer available.
pattern ERROR_SURFACE_LOST_KHR :: Result
-- | ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or
-- memory allocation failed because the requested address is not
-- available. A shader group handle assignment failed because the
-- requested shader group handle information is no longer valid.
pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result
-- | ERROR_FRAGMENTATION A descriptor pool creation has failed due
-- to fragmentation.
pattern ERROR_FRAGMENTATION :: Result
-- | ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid
-- handle of the specified type.
pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result
-- | ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed.
-- This must only be returned if no attempt to allocate host or
-- device memory was made to accommodate the new allocation. If the
-- failure was definitely due to fragmentation of the pool,
-- ERROR_FRAGMENTED_POOL should be returned instead.
pattern ERROR_OUT_OF_POOL_MEMORY :: Result
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a
-- buffer
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for FormatFeatureFlags2KHR and 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:
--
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image
-- view can be sampled from.
-- - FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image
-- view can be used as a storage image.
-- - FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
-- - FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image
-- view can be used as a framebuffer color attachment and as an
-- input attachment.
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_BLIT_DST_BIT specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - 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. Where depth
-- comparison is supported it may be linear filtered whether this
-- bit is present or not, but where this bit is not present the filtered
-- value may be computed 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.
-- - FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
-- - FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
-- - 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.
-- - FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried
-- is a depth/stencil format, this only specifies that the depth aspect
-- is cubic filterable.
-- - 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.
-- - 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.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - 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.
--
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that
-- an image view can be used as a fragment density map
-- attachment.
-- - 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties::format:
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FormatFeatureFlags
newtype FormatFeatureFlagBits
FormatFeatureFlagBits :: Flags -> FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view
-- can be sampled from.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view
-- can be used as a storage image.
pattern FORMAT_FEATURE_STORAGE_IMAGE_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_STORAGE_IMAGE_ATOMIC_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_UNIFORM_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_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_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format
-- can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_VERTEX_BUFFER_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_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_COLOR_ATTACHMENT_BLEND_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_DEPTH_STENCIL_ATTACHMENT_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_SRC_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_BLIT_DST_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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: 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_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: 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_SAMPLED_IMAGE_FILTER_MINMAX_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_COSITED_CHROMA_SAMPLES_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_DISJOINT_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_FORCEABLE_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_CHROMA_RECONSTRUCTION_EXPLICIT_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_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_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_MIDPOINT_CHROMA_SAMPLES_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_DST_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits
type FormatFeatureFlags = FormatFeatureFlagBits
-- | Name
--
-- VK_KHR_maintenance1 - device extension
--
-- VK_KHR_maintenance1
--
--
-- - Name String VK_KHR_maintenance1
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 70
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-03-13
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Dan Ginsburg,
-- Valve
- Daniel Koch, NVIDIA
- Daniel Rakos,
-- AMD
- Jan-Harald Fredriksen, ARM
- Jason Ekstrand,
-- Intel
- Jeff Bolz, NVIDIA
- Jesse Hall,
-- Google
- John Kessenich, Google
- Michael Worcester,
-- Imagination Technologies
- Neil Henning, Codeplay Software
-- Ltd.
- Piers Daniell, NVIDIA
- Slawomir Grajewski,
-- Intel
- Tobias Hector, Imagination Technologies
- Tom
-- Olson, ARM
--
--
-- Description
--
-- VK_KHR_maintenance1 adds a collection of minor features that
-- were intentionally left out or overlooked from the original Vulkan 1.0
-- release.
--
-- The new features are as follows:
--
--
-- - Allow 2D and 2D array image views to be created from 3D images,
-- which can then be used as color framebuffer attachments. This allows
-- applications to render to slices of a 3D image.
-- - Support cmdCopyImage between 2D array layers and 3D slices.
-- This extension allows copying from layers of a 2D array image to
-- slices of a 3D image and vice versa.
-- - Allow negative height to be specified in the
-- Viewport::height field to perform y-inversion of the
-- clip-space to framebuffer-space transform. This allows apps to avoid
-- having to use gl_Position.y = -gl_Position.y in shaders also
-- targeting other APIs.
-- - Allow implementations to express support for doing just transfers
-- and clears of image formats that they otherwise support no other
-- format features for. This is done by adding new format feature flags
-- FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR and
-- FORMAT_FEATURE_TRANSFER_DST_BIT_KHR.
-- - Support cmdFillBuffer on transfer-only queues. Previously
-- cmdFillBuffer was defined to only work on command buffers
-- allocated from command pools which support graphics or compute queues.
-- It is now allowed on queues that just support transfer
-- operations.
-- - Fix the inconsistency of how error conditions are returned between
-- the createGraphicsPipelines and createComputePipelines
-- functions and the allocateDescriptorSets and
-- allocateCommandBuffers functions.
-- - Add new ERROR_OUT_OF_POOL_MEMORY_KHR error so
-- implementations can give a more precise reason for
-- allocateDescriptorSets failures.
-- - Add a new command trimCommandPoolKHR which gives the
-- implementation an opportunity to release any unused command pool
-- memory back to the system.
--
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Are viewports with zero height allowed?RESOLVED: Yes,
-- although they have low utility.
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-26 (Piers Daniell)
--
--
--
-- - Revision 2, 2018-03-13 (Jon Leech)
- Add issue for
-- zero-height viewports
--
--
-- See Also
--
-- CommandPoolTrimFlagsKHR, trimCommandPoolKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_maintenance1
pattern KHR_MAINTENANCE1_SPEC_VERSION :: Integral a => a
pattern KHR_MAINTENANCE1_EXTENSION_NAME :: (Eq a, IsString a) => a
pattern ERROR_OUT_OF_POOL_MEMORY_KHR :: Result
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits
pattern IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR :: ImageCreateFlagBits
trimCommandPoolKHR :: MonadIO io => Device -> CommandPool -> CommandPoolTrimFlags -> io ()
type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags
type KHR_MAINTENANCE_1_SPEC_VERSION = 2
pattern KHR_MAINTENANCE_1_SPEC_VERSION :: forall a. Integral a => a
type KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1"
pattern KHR_MAINTENANCE_1_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities
-- | vkGetPhysicalDeviceExternalBufferProperties - Query external handle
-- types supported by buffers
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalBufferProperties,
-- PhysicalDevice, PhysicalDeviceExternalBufferInfo
getPhysicalDeviceExternalBufferProperties :: forall io. MonadIO io => PhysicalDevice -> PhysicalDeviceExternalBufferInfo -> io ExternalBufferProperties
-- | VkExternalMemoryProperties - Structure specifying external memory
-- handle type capabilities
--
-- Description
--
-- compatibleHandleTypes must include at least
-- handleType. Inclusion of a handle type in
-- compatibleHandleTypes does not imply the values returned in
-- ImageFormatProperties2 will be the same when
-- PhysicalDeviceExternalImageFormatInfo::handleType is
-- set to that type. The application is responsible for querying the
-- capabilities of all handle types intended for concurrent use in a
-- single image and intersecting them to obtain the compatible set of
-- capabilities.
--
-- See Also
--
-- VK_VERSION_1_1, ExternalBufferProperties,
-- ExternalImageFormatProperties,
-- ExternalMemoryFeatureFlags,
-- ExternalMemoryHandleTypeFlags
data ExternalMemoryProperties
ExternalMemoryProperties :: ExternalMemoryFeatureFlags -> ExternalMemoryHandleTypeFlags -> ExternalMemoryHandleTypeFlags -> ExternalMemoryProperties
-- | externalMemoryFeatures is a bitmask of
-- ExternalMemoryFeatureFlagBits specifying the features of
-- handleType.
[$sel:externalMemoryFeatures:ExternalMemoryProperties] :: ExternalMemoryProperties -> ExternalMemoryFeatureFlags
-- | exportFromImportedHandleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBits specifying which types of
-- imported handle handleType can be exported from.
[$sel:exportFromImportedHandleTypes:ExternalMemoryProperties] :: ExternalMemoryProperties -> ExternalMemoryHandleTypeFlags
-- | compatibleHandleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBits specifying handle types which
-- can be specified at the same time as handleType when
-- creating an image compatible with external memory.
[$sel:compatibleHandleTypes:ExternalMemoryProperties] :: ExternalMemoryProperties -> ExternalMemoryHandleTypeFlags
-- | VkPhysicalDeviceExternalImageFormatInfo - Structure specifying
-- external image creation parameters
--
-- Description
--
-- If handleType is 0,
-- getPhysicalDeviceImageFormatProperties2 will behave as if
-- PhysicalDeviceExternalImageFormatInfo was not present, and
-- ExternalImageFormatProperties will be ignored.
--
-- If handleType is not compatible with the format,
-- type, tiling, usage, and flags
-- specified in PhysicalDeviceImageFormatInfo2, then
-- getPhysicalDeviceImageFormatProperties2 returns
-- ERROR_FORMAT_NOT_SUPPORTED.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlagBits,
-- StructureType
data PhysicalDeviceExternalImageFormatInfo
PhysicalDeviceExternalImageFormatInfo :: ExternalMemoryHandleTypeFlagBits -> PhysicalDeviceExternalImageFormatInfo
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the memory handle type that will be used with the memory
-- associated with the image.
[$sel:handleType:PhysicalDeviceExternalImageFormatInfo] :: PhysicalDeviceExternalImageFormatInfo -> ExternalMemoryHandleTypeFlagBits
-- | VkExternalImageFormatProperties - Structure specifying supported
-- external handle properties
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryProperties,
-- StructureType
data ExternalImageFormatProperties
ExternalImageFormatProperties :: ExternalMemoryProperties -> ExternalImageFormatProperties
-- | externalMemoryProperties is a ExternalMemoryProperties
-- structure specifying various capabilities of the external handle type
-- when used with the specified image creation parameters.
[$sel:externalMemoryProperties:ExternalImageFormatProperties] :: ExternalImageFormatProperties -> ExternalMemoryProperties
-- | VkPhysicalDeviceExternalBufferInfo - Structure specifying buffer
-- creation parameters
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, BufferCreateFlags,
-- BufferUsageFlags, ExternalMemoryHandleTypeFlagBits,
-- StructureType,
-- getPhysicalDeviceExternalBufferProperties,
-- getPhysicalDeviceExternalBufferPropertiesKHR
data PhysicalDeviceExternalBufferInfo
PhysicalDeviceExternalBufferInfo :: BufferCreateFlags -> BufferUsageFlags -> ExternalMemoryHandleTypeFlagBits -> PhysicalDeviceExternalBufferInfo
-- | flags is a bitmask of BufferCreateFlagBits describing
-- additional parameters of the buffer, corresponding to
-- BufferCreateInfo::flags.
--
-- flags must be a valid combination of
-- BufferCreateFlagBits values
[$sel:flags:PhysicalDeviceExternalBufferInfo] :: PhysicalDeviceExternalBufferInfo -> BufferCreateFlags
-- | usage is a bitmask of BufferUsageFlagBits describing
-- the intended usage of the buffer, corresponding to
-- BufferCreateInfo::usage.
--
-- usage must be a valid combination of
-- BufferUsageFlagBits values
--
-- usage must not be 0
[$sel:usage:PhysicalDeviceExternalBufferInfo] :: PhysicalDeviceExternalBufferInfo -> BufferUsageFlags
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the memory handle type that will be used with the memory
-- associated with the buffer.
--
-- handleType must be a valid
-- ExternalMemoryHandleTypeFlagBits value
[$sel:handleType:PhysicalDeviceExternalBufferInfo] :: PhysicalDeviceExternalBufferInfo -> ExternalMemoryHandleTypeFlagBits
-- | VkExternalBufferProperties - Structure specifying supported external
-- handle capabilities
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryProperties,
-- StructureType,
-- getPhysicalDeviceExternalBufferProperties,
-- getPhysicalDeviceExternalBufferPropertiesKHR
data ExternalBufferProperties
ExternalBufferProperties :: ExternalMemoryProperties -> ExternalBufferProperties
-- | externalMemoryProperties is a ExternalMemoryProperties
-- structure specifying various capabilities of the external handle type
-- when used with the specified buffer creation parameters.
[$sel:externalMemoryProperties:ExternalBufferProperties] :: ExternalBufferProperties -> ExternalMemoryProperties
-- | VkPhysicalDeviceIDProperties - Structure specifying IDs related to the
-- physical device
--
-- Description
--
--
-- - deviceUUID is an array of UUID_SIZE
-- uint8_t values representing a universally unique identifier
-- for the device.
--
--
--
-- - driverUUID is an array of UUID_SIZE
-- uint8_t values representing a universally unique identifier
-- for the driver build in use by the device.
-- - deviceLUID is an array of LUID_SIZE
-- uint8_t values representing a locally unique identifier for
-- the device.
-- - deviceNodeMask is a uint32_t bitfield
-- identifying the node within a linked device adapter corresponding to
-- the device.
-- - deviceLUIDValid is a boolean value that will be
-- TRUE if deviceLUID contains a valid LUID and
-- deviceNodeMask contains a valid node mask, and FALSE
-- if they do not.
--
--
-- If the PhysicalDeviceIDProperties structure is included in the
-- pNext chain of the PhysicalDeviceProperties2 structure
-- passed to getPhysicalDeviceProperties2, it is filled in with
-- each corresponding implementation-dependent property.
--
-- deviceUUID must be immutable for a given device across
-- instances, processes, driver APIs, driver versions, and system
-- reboots.
--
-- Applications can compare the driverUUID value across
-- instance and process boundaries, and can make similar queries
-- in external APIs to determine whether they are capable of sharing
-- memory objects and resources using them with the device.
--
-- deviceUUID and/or driverUUID must be used to
-- determine whether a particular external object can be shared between
-- driver components, where such a restriction exists as defined in the
-- compatibility table for the particular object type:
--
--
--
-- If deviceLUIDValid is FALSE, the values of
-- deviceLUID and deviceNodeMask are undefined. If
-- deviceLUIDValid is TRUE and Vulkan is running on the
-- Windows operating system, the contents of deviceLUID
-- can be cast to an LUID object and must be equal
-- to the locally unique identifier of a IDXGIAdapter1 object
-- that corresponds to physicalDevice. If
-- deviceLUIDValid is TRUE, deviceNodeMask
-- must contain exactly one bit. If Vulkan is running on an
-- operating system that supports the Direct3D 12 API and
-- physicalDevice corresponds to an individual device in a
-- linked device adapter, deviceNodeMask identifies the Direct3D
-- 12 node corresponding to physicalDevice. Otherwise,
-- deviceNodeMask must be 1.
--
-- Note
--
-- Although they have identical descriptions,
-- PhysicalDeviceIDProperties::deviceUUID may differ from
-- PhysicalDeviceProperties2::pipelineCacheUUID. The
-- former is intended to identify and correlate devices across API and
-- driver boundaries, while the latter is used to identify a compatible
-- device and driver combination to use when serializing and
-- de-serializing pipeline state.
--
-- Implementations should return deviceUUID values which
-- are likely to be unique even in the presence of multiple Vulkan
-- implementations (such as a GPU driver and a software renderer; two
-- drivers for different GPUs; or the same Vulkan driver running on two
-- logically different devices).
--
-- Khronos' conformance testing can not guarantee that
-- deviceUUID values are actually unique, so implementors should
-- make their own best efforts to ensure this. In particular, hard-coded
-- deviceUUID values, especially all-0 bits,
-- should never be used.
--
-- A combination of values unique to the vendor, the driver, and the
-- hardware environment can be used to provide a deviceUUID
-- which is unique to a high degree of certainty. Some possible inputs to
-- such a computation are:
--
--
-- - Information reported by getPhysicalDeviceProperties
-- - PCI device ID (if defined)
-- - PCI bus ID, or similar system configuration information.
-- - Driver binary checksums.
--
--
-- Note
--
-- While PhysicalDeviceIDProperties::deviceUUID is
-- specified to remain consistent across driver versions and system
-- reboots, it is not intended to be usable as a serializable persistent
-- identifier for a device. It may change when a device is physically
-- added to, removed from, or moved to a different connector in a system
-- while that system is powered down. Further, there is no reasonable way
-- to verify with conformance testing that a given device retains the
-- same UUID in a given system across all driver versions supported in
-- that system. While implementations should make every effort to report
-- consistent device UUIDs across driver versions, applications should
-- avoid relying on the persistence of this value for uses other than
-- identifying compatible devices for external object sharing purposes.
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDeviceIDProperties
PhysicalDeviceIDProperties :: ByteString -> ByteString -> ByteString -> Word32 -> Bool -> PhysicalDeviceIDProperties
[$sel:deviceUUID:PhysicalDeviceIDProperties] :: PhysicalDeviceIDProperties -> ByteString
[$sel:driverUUID:PhysicalDeviceIDProperties] :: PhysicalDeviceIDProperties -> ByteString
[$sel:deviceLUID:PhysicalDeviceIDProperties] :: PhysicalDeviceIDProperties -> ByteString
[$sel:deviceNodeMask:PhysicalDeviceIDProperties] :: PhysicalDeviceIDProperties -> Word32
[$sel:deviceLUIDValid:PhysicalDeviceIDProperties] :: PhysicalDeviceIDProperties -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkExternalMemoryHandleTypeFlagBits - Bit specifying external memory
-- handle types
--
-- Description
--
-- Some external memory handle types can only be shared within the same
-- underlying physical device and/or the same driver version, as defined
-- in the following table:
--
-- TODO: table
--
-- External memory handle types compatibility
--
-- Note
--
-- The above table does not restrict the drivers and devices with which
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT and
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
-- may be shared, as these handle types inherently mean memory
-- that does not come from the same device, as they import memory from
-- the host or a foreign device, respectively.
--
-- Note
--
-- Even though the above table does not restrict the drivers and devices
-- with which EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
-- may be shared, query mechanisms exist in the Vulkan API that
-- prevent the import of incompatible dma-bufs (such as
-- getMemoryFdPropertiesKHR) and that prevent incompatible usage
-- of dma-bufs (such as PhysicalDeviceExternalBufferInfo and
-- PhysicalDeviceExternalImageFormatInfo).
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryHandleTypeFlags,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryZirconHandleInfoFUCHSIA, MemoryGetFdInfoKHR,
-- MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandlePropertiesFUCHSIA
newtype ExternalMemoryHandleTypeFlagBits
ExternalMemoryHandleTypeFlagBits :: Flags -> ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX
-- file descriptor handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It must be compatible with
-- the POSIX system calls dup, dup2, close,
-- and the non-standard system call dup3. Additionally, it
-- must be transportable over a socket using an
-- SCM_RIGHTS control message. It owns a reference to the
-- underlying memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying memory resource
-- represented by its Vulkan memory object, and will therefore become
-- invalid when all Vulkan memory objects associated with it are
-- destroyed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT specifies an NT
-- handle returned by
-- IDXGIResource1::CreateSharedHandle referring to a
-- Direct3D 10 or 11 texture resource. It owns a reference to the memory
-- used by the Direct3D resource.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT specifies a
-- global share handle returned by
-- IDXGIResource::GetSharedHandle referring to a
-- Direct3D 10 or 11 texture resource. It does not own a reference to the
-- underlying Direct3D resource, and will therefore become invalid when
-- all Vulkan memory objects and Direct3D resources associated with it
-- are destroyed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 heap resource. It owns a reference to the
-- resources used by the Direct3D heap.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 committed resource. It owns a reference to
-- the memory used by the Direct3D resource.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV is a handle to
-- an allocation accessible by remote devices. It owns a reference to the
-- underlying memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA is a Zircon
-- handle to a virtual memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
-- specifies a host pointer to host mapped foreign memory. It does
-- not own a reference to the underlying memory resource, and will
-- therefore become invalid if the foreign memory is unmapped or
-- otherwise becomes no longer available.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT specifies a
-- host pointer returned by a host memory allocation command. It does not
-- own a reference to the underlying memory resource, and will therefore
-- become invalid if the host memory is freed.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- specifies an AHardwareBuffer object defined by the Android NDK.
-- See Android Hardware Buffers for more details of this handle
-- type.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID :: ExternalMemoryHandleTypeFlagBits
-- | EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT is a file
-- descriptor for a Linux dma_buf. It owns a reference to the underlying
-- memory resource represented by its Vulkan memory object.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT :: ExternalMemoryHandleTypeFlagBits
type ExternalMemoryHandleTypeFlags = ExternalMemoryHandleTypeFlagBits
-- | VkExternalMemoryFeatureFlagBits - Bitmask specifying features of an
-- external memory handle type
--
-- Description
--
-- Because their semantics in external APIs roughly align with that of an
-- image or buffer with a dedicated allocation in Vulkan, implementations
-- are required to report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for the following
-- external handle types:
--
-- Implementations must not report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for buffers with
-- external handle type
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID.
-- Implementations must not report
-- EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT for images or
-- buffers with external handle type
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT.
--
-- See Also
--
-- VK_VERSION_1_1, ExternalMemoryFeatureFlags
newtype ExternalMemoryFeatureFlagBits
ExternalMemoryFeatureFlagBits :: Flags -> ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT specifies that
-- images or buffers created with the specified parameters and handle
-- type must use the mechanisms defined by
-- MemoryDedicatedRequirements and
-- MemoryDedicatedAllocateInfo to create (or import) a dedicated
-- allocation for the image or buffer.
pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT specifies that handles
-- of this type can be exported from Vulkan memory objects.
pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
-- | EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT specifies that handles
-- of this type can be imported as Vulkan memory objects.
pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: ExternalMemoryFeatureFlagBits
type ExternalMemoryFeatureFlags = ExternalMemoryFeatureFlagBits
type LUID_SIZE = 8
-- | VK_LUID_SIZE - Length of a locally unique device identifier
--
-- See Also
--
-- VK_KHR_external_fence_capabilities,
-- VK_KHR_external_memory_capabilities,
-- VK_KHR_external_semaphore_capabilities, VK_VERSION_1_1
pattern LUID_SIZE :: forall a. Integral a => a
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalMemoryProperties
-- | Name
--
-- VK_KHR_external_memory_capabilities - instance extension
--
-- VK_KHR_external_memory_capabilities
--
--
-- - Name String
-- VK_KHR_external_memory_capabilities
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 72
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-17
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with
-- VK_KHR_dedicated_allocation.
- Interacts with
-- VK_NV_dedicated_allocation.
- Promoted to Vulkan 1.1
-- Core
-- - Contributors
- Ian Elliot,
-- Google
- Jesse Hall, Google
- James Jones,
-- NVIDIA
--
--
-- Description
--
-- An application may wish to reference device memory in multiple Vulkan
-- logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension provides a set of capability queries and
-- handle definitions that allow an application to determine what types
-- of “external” memory handles an implementation supports for a given
-- set of use cases.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Why do so many external memory capabilities need to be queried on a
-- per-memory-handle-type basis?
--
-- PROPOSED RESOLUTION: This is because some handle types are
-- based on OS-native objects that have far more limited capabilities
-- than the very generic Vulkan memory objects. Not all memory handle
-- types can name memory objects that support 3D images, for example.
-- Some handle types cannot even support the deferred image and memory
-- binding behavior of Vulkan and require specifying the image when
-- allocating or importing the memory object.
--
-- 2) Do the ExternalImageFormatPropertiesKHR and
-- ExternalBufferPropertiesKHR structs need to include a list of
-- memory type bits that support the given handle type?
--
-- PROPOSED RESOLUTION: No. The memory types that do not support
-- the handle types will simply be filtered out of the results returned
-- by getImageMemoryRequirements and
-- getBufferMemoryRequirements when a set of handle types was
-- specified at image or buffer creation time.
--
-- 3) Should the non-opaque handle types be moved to their own extension?
--
-- PROPOSED RESOLUTION: Perhaps. However, defining the handle type
-- bits does very little and does not require any platform-specific types
-- on its own, and it is easier to maintain the bitfield values in a
-- single extension for now. Presumably more handle types could be added
-- by separate extensions though, and it would be midly weird to have
-- some platform-specific ones defined in the core spec and some in
-- extensions
--
-- 4) Do we need a D3D11_TILEPOOL type?
--
-- PROPOSED RESOLUTION: No. This is technically possible, but the
-- synchronization is awkward. D3D11 surfaces must be synchronized using
-- shared mutexes, and these synchronization primitives are shared by the
-- entire memory object, so D3D11 shared allocations divided among
-- multiple buffer and image bindings may be difficult to synchronize.
--
-- 5) Should the Windows 7-compatible handle types be named “KMT” handles
-- or “GLOBAL_SHARE” handles?
--
-- PROPOSED RESOLUTION: KMT, simply because it is more concise.
--
-- 6) How do applications identify compatible devices and drivers across
-- instance, process, and API boundaries when sharing memory?
--
-- PROPOSED RESOLUTION: New device properties are exposed that
-- allow applications to correctly correlate devices and drivers. A
-- device and driver UUID that must both match to ensure sharing
-- compatibility between two Vulkan instances, or a Vulkan instance and
-- an extensible external API are added. To allow correlating with
-- Direct3D devices, a device LUID is added that corresponds to a DXGI
-- adapter LUID. A driver ID is not needed for Direct3D because
-- mismatched driver component versions are not currently supported on
-- the Windows OS. Should support for such configurations be introduced
-- at the OS level, further Vulkan extensions would be needed to
-- correlate userspace component builds.
--
-- Version History
--
--
-- - Revision 1, 2016-10-17 (James Jones)
--
--
-- See Also
--
-- LUID_SIZE_KHR, ExternalBufferPropertiesKHR,
-- ExternalImageFormatPropertiesKHR,
-- ExternalMemoryFeatureFlagBitsKHR,
-- ExternalMemoryFeatureFlagsKHR,
-- ExternalMemoryHandleTypeFlagBitsKHR,
-- ExternalMemoryHandleTypeFlagsKHR,
-- ExternalMemoryPropertiesKHR,
-- PhysicalDeviceExternalBufferInfoKHR,
-- PhysicalDeviceExternalImageFormatInfoKHR,
-- PhysicalDeviceIDPropertiesKHR,
-- getPhysicalDeviceExternalBufferPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_memory_capabilities
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: StructureType
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR :: ExternalMemoryFeatureFlagBits
pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR :: ExternalMemoryFeatureFlagBits
pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR :: ExternalMemoryFeatureFlagBits
pattern LUID_SIZE_KHR :: Integral a => a
getPhysicalDeviceExternalBufferPropertiesKHR :: MonadIO io => PhysicalDevice -> PhysicalDeviceExternalBufferInfo -> io ExternalBufferProperties
type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags
type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags
type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits
type ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits
type ExternalMemoryPropertiesKHR = ExternalMemoryProperties
type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo
type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties
type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo
type ExternalBufferPropertiesKHR = ExternalBufferProperties
type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties
type KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities"
pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities
-- | vkGetPhysicalDeviceExternalFenceProperties - Function for querying
-- external fence handle capabilities.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceProperties,
-- PhysicalDevice, PhysicalDeviceExternalFenceInfo
getPhysicalDeviceExternalFenceProperties :: forall io. MonadIO io => PhysicalDevice -> PhysicalDeviceExternalFenceInfo -> io ExternalFenceProperties
-- | VkPhysicalDeviceExternalFenceInfo - Structure specifying fence
-- creation parameters.
--
-- Description
--
-- Note
--
-- Handles of type EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
-- generated by the implementation may represent either Linux Sync Files
-- or Android Fences at the implementation’s discretion. Applications
-- should only use operations defined for both types of file
-- descriptors, unless they know via means external to Vulkan the type of
-- the file descriptor, or are prepared to deal with the system-defined
-- operation failures resulting from using the wrong type.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceHandleTypeFlagBits,
-- StructureType, getPhysicalDeviceExternalFenceProperties,
-- getPhysicalDeviceExternalFencePropertiesKHR
data PhysicalDeviceExternalFenceInfo
PhysicalDeviceExternalFenceInfo :: ExternalFenceHandleTypeFlagBits -> PhysicalDeviceExternalFenceInfo
-- | handleType is a ExternalFenceHandleTypeFlagBits value
-- specifying an external fence handle type for which capabilities will
-- be returned.
--
-- handleType must be a valid
-- ExternalFenceHandleTypeFlagBits value
[$sel:handleType:PhysicalDeviceExternalFenceInfo] :: PhysicalDeviceExternalFenceInfo -> ExternalFenceHandleTypeFlagBits
-- | VkExternalFenceProperties - Structure describing supported external
-- fence handle features
--
-- Description
--
-- If handleType is not supported by the implementation, then
-- ExternalFenceProperties::externalFenceFeatures will be
-- set to zero.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceFeatureFlags,
-- ExternalFenceHandleTypeFlags, StructureType,
-- getPhysicalDeviceExternalFenceProperties,
-- getPhysicalDeviceExternalFencePropertiesKHR
data ExternalFenceProperties
ExternalFenceProperties :: ExternalFenceHandleTypeFlags -> ExternalFenceHandleTypeFlags -> ExternalFenceFeatureFlags -> ExternalFenceProperties
-- | exportFromImportedHandleTypes is a bitmask of
-- ExternalFenceHandleTypeFlagBits indicating which types of
-- imported handle handleType can be exported from.
[$sel:exportFromImportedHandleTypes:ExternalFenceProperties] :: ExternalFenceProperties -> ExternalFenceHandleTypeFlags
-- | compatibleHandleTypes is a bitmask of
-- ExternalFenceHandleTypeFlagBits specifying handle types which
-- can be specified at the same time as handleType when
-- creating a fence.
[$sel:compatibleHandleTypes:ExternalFenceProperties] :: ExternalFenceProperties -> ExternalFenceHandleTypeFlags
-- | externalFenceFeatures is a bitmask of
-- ExternalFenceFeatureFlagBits indicating the features of
-- handleType.
[$sel:externalFenceFeatures:ExternalFenceProperties] :: ExternalFenceProperties -> ExternalFenceFeatureFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkExternalFenceHandleTypeFlagBits - Bitmask of valid external fence
-- handle types
--
-- Description
--
-- Some external fence handle types can only be shared within the same
-- underlying physical device and/or the same driver version, as defined
-- in the following table:
--
-- TODO: table
--
-- External fence handle types compatibility
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceHandleTypeFlags,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- PhysicalDeviceExternalFenceInfo
newtype ExternalFenceHandleTypeFlagBits
ExternalFenceHandleTypeFlagBits :: Flags -> ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX file
-- descriptor handle that has only limited valid usage outside of Vulkan
-- and other compatible APIs. It must be compatible with the POSIX
-- system calls dup, dup2, close, and the
-- non-standard system call dup3. Additionally, it must
-- be transportable over a socket using an SCM_RIGHTS control
-- message. It owns a reference to the underlying synchronization
-- primitive represented by its Vulkan fence object.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- synchronization primitive represented by its Vulkan fence object.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying synchronization
-- primitive represented by its Vulkan fence object, and will therefore
-- become invalid when all Vulkan fence objects associated with it are
-- destroyed.
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalFenceHandleTypeFlagBits
-- | EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT specifies a POSIX file
-- descriptor handle to a Linux Sync File or Android Fence. It can be
-- used with any native API accepting a valid sync file or fence as
-- input. It owns a reference to the underlying synchronization primitive
-- associated with the file descriptor. Implementations which support
-- importing this handle type must accept any type of sync or
-- fence FD supported by the native system they are running on.
pattern EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: ExternalFenceHandleTypeFlagBits
type ExternalFenceHandleTypeFlags = ExternalFenceHandleTypeFlagBits
-- | VkExternalFenceFeatureFlagBits - Bitfield describing features of an
-- external fence handle type
--
-- See Also
--
-- VK_VERSION_1_1, ExternalFenceFeatureFlags
newtype ExternalFenceFeatureFlagBits
ExternalFenceFeatureFlagBits :: Flags -> ExternalFenceFeatureFlagBits
-- | EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT specifies handles of this
-- type can be exported from Vulkan fence objects.
pattern EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: ExternalFenceFeatureFlagBits
-- | EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT specifies handles of this
-- type can be imported to Vulkan fence objects.
pattern EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: ExternalFenceFeatureFlagBits
type ExternalFenceFeatureFlags = ExternalFenceFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.ExternalFenceProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo
-- | Name
--
-- VK_KHR_external_fence_capabilities - instance extension
--
-- VK_KHR_external_fence_capabilities
--
--
-- - Name String
-- VK_KHR_external_fence_capabilities
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 113
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-08
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Cass Everitt, Oculus
- Contributors to
-- VK_KHR_external_semaphore_capabilities
--
--
-- Description
--
-- An application may wish to reference device fences in multiple Vulkan
-- logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension provides a set of capability queries and
-- handle definitions that allow an application to determine what types
-- of “external” fence handles an implementation supports for a given set
-- of use cases.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-05-08 (Jesse Hall)
--
--
-- See Also
--
-- LUID_SIZE_KHR, ExternalFenceFeatureFlagBitsKHR,
-- ExternalFenceFeatureFlagsKHR,
-- ExternalFenceHandleTypeFlagBitsKHR,
-- ExternalFenceHandleTypeFlagsKHR,
-- ExternalFencePropertiesKHR,
-- PhysicalDeviceExternalFenceInfoKHR,
-- PhysicalDeviceIDPropertiesKHR,
-- getPhysicalDeviceExternalFencePropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_fence_capabilities
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR :: StructureType
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: ExternalFenceHandleTypeFlagBits
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: ExternalFenceHandleTypeFlagBits
pattern EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: ExternalFenceHandleTypeFlagBits
pattern EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR :: ExternalFenceHandleTypeFlagBits
pattern EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR :: ExternalFenceFeatureFlagBits
pattern EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR :: ExternalFenceFeatureFlagBits
getPhysicalDeviceExternalFencePropertiesKHR :: MonadIO io => PhysicalDevice -> PhysicalDeviceExternalFenceInfo -> io ExternalFenceProperties
type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags
type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags
type ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits
type ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits
type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo
type ExternalFencePropertiesKHR = ExternalFenceProperties
type KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1
pattern KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities"
pattern KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: StructureType
pattern LUID_SIZE_KHR :: Integral a => a
module Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation
-- | vkEnumeratePhysicalDeviceGroups - Enumerates groups of physical
-- devices that can be used to create a single logical device
--
-- Description
--
-- If pPhysicalDeviceGroupProperties is NULL, then the
-- number of device groups available is returned in
-- pPhysicalDeviceGroupCount. Otherwise,
-- pPhysicalDeviceGroupCount must point to a variable set
-- by the user to the number of elements in the
-- pPhysicalDeviceGroupProperties array, and on return the
-- variable is overwritten with the number of structures actually written
-- to pPhysicalDeviceGroupProperties. If
-- pPhysicalDeviceGroupCount is less than the number of device
-- groups available, at most pPhysicalDeviceGroupCount
-- structures will be written, and INCOMPLETE will be returned
-- instead of SUCCESS, to indicate that not all the available
-- device groups were returned.
--
-- Every physical device must be in exactly one device group.
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - pPhysicalDeviceGroupCount must be a valid pointer
-- to a uint32_t value
-- - If the value referenced by pPhysicalDeviceGroupCount is
-- not 0, and pPhysicalDeviceGroupProperties is not
-- NULL, pPhysicalDeviceGroupProperties must be
-- a valid pointer to an array of pPhysicalDeviceGroupCount
-- PhysicalDeviceGroupProperties structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Instance,
-- PhysicalDeviceGroupProperties
enumeratePhysicalDeviceGroups :: forall io. MonadIO io => Instance -> io (Result, "physicalDeviceGroupProperties" ::: Vector PhysicalDeviceGroupProperties)
-- | VkPhysicalDeviceGroupProperties - Structure specifying physical device
-- group properties
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, PhysicalDevice,
-- StructureType, enumeratePhysicalDeviceGroups,
-- enumeratePhysicalDeviceGroupsKHR
data PhysicalDeviceGroupProperties
PhysicalDeviceGroupProperties :: Word32 -> Vector (Ptr PhysicalDevice_T) -> Bool -> PhysicalDeviceGroupProperties
-- | physicalDeviceCount is the number of physical devices in the
-- group.
[$sel:physicalDeviceCount:PhysicalDeviceGroupProperties] :: PhysicalDeviceGroupProperties -> Word32
-- | physicalDevices is an array of MAX_DEVICE_GROUP_SIZE
-- PhysicalDevice handles representing all physical devices in the
-- group. The first physicalDeviceCount elements of the array
-- will be valid.
[$sel:physicalDevices:PhysicalDeviceGroupProperties] :: PhysicalDeviceGroupProperties -> Vector (Ptr PhysicalDevice_T)
-- | subsetAllocation specifies whether logical devices created
-- from the group support allocating device memory on a subset of
-- devices, via the deviceMask member of the
-- MemoryAllocateFlagsInfo. If this is FALSE, then all
-- device memory allocations are made across all physical devices in the
-- group. If physicalDeviceCount is 1, then
-- subsetAllocation must be FALSE.
[$sel:subsetAllocation:PhysicalDeviceGroupProperties] :: PhysicalDeviceGroupProperties -> Bool
-- | VkDeviceGroupDeviceCreateInfo - Create a logical device from multiple
-- physical devices
--
-- Description
--
-- The elements of the pPhysicalDevices array are an ordered
-- list of the physical devices that the logical device represents. These
-- must be a subset of a single device group, and need not be in
-- the same order as they were enumerated. The order of the physical
-- devices in the pPhysicalDevices array determines the
-- device index of each physical device, with element i being
-- assigned a device index of i. Certain commands and structures refer to
-- one or more physical devices by using device indices or device
-- masks formed using device indices.
--
-- A logical device created without using
-- DeviceGroupDeviceCreateInfo, or with
-- physicalDeviceCount equal to zero, is equivalent to a
-- physicalDeviceCount of one and pPhysicalDevices
-- pointing to the physicalDevice parameter to
-- createDevice. In particular, the device index of that physical
-- device is zero.
--
-- Valid Usage
--
--
-- - Each element of pPhysicalDevices must be
-- unique
--
--
--
-- - All elements of pPhysicalDevices must be in the
-- same device group as enumerated by
-- enumeratePhysicalDeviceGroups
-- - If physicalDeviceCount is not 0, the
-- physicalDevice parameter of createDevice must
-- be an element of pPhysicalDevices
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If physicalDeviceCount is not 0,
-- pPhysicalDevices must be a valid pointer to an array
-- of physicalDeviceCount valid PhysicalDevice
-- handles
--
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice, StructureType
data DeviceGroupDeviceCreateInfo
DeviceGroupDeviceCreateInfo :: Vector (Ptr PhysicalDevice_T) -> DeviceGroupDeviceCreateInfo
-- | pPhysicalDevices is a pointer to an array of physical device
-- handles belonging to the same device group.
[$sel:physicalDevices:DeviceGroupDeviceCreateInfo] :: DeviceGroupDeviceCreateInfo -> Vector (Ptr PhysicalDevice_T)
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap
--
-- See Also
--
-- VK_VERSION_1_0, MemoryHeapFlags
newtype MemoryHeapFlagBits
MemoryHeapFlagBits :: Flags -> 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_DEVICE_LOCAL_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.
pattern MEMORY_HEAP_MULTI_INSTANCE_BIT :: MemoryHeapFlagBits
type MemoryHeapFlags = MemoryHeapFlagBits
type MAX_DEVICE_GROUP_SIZE = 32
-- | VK_MAX_DEVICE_GROUP_SIZE - Length of a physical device handle array
--
-- See Also
--
-- VK_KHR_device_group_creation, VK_VERSION_1_1
pattern MAX_DEVICE_GROUP_SIZE :: forall a. Integral a => a
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties
-- | Name
--
-- VK_KHR_device_group_creation - instance extension
--
-- VK_KHR_device_group_creation
--
--
-- - Name String
-- VK_KHR_device_group_creation
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 71
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-19
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
--
--
-- Description
--
-- This extension provides instance-level commands to enumerate groups of
-- physical devices, and to create a logical device from a subset of one
-- of those groups. Such a logical device can then be used with new
-- features in the VK_KHR_device_group extension.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- VkDeviceCreateInfo devCreateInfo = { VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO };
-- // (not shown) fill out devCreateInfo as usual.
-- uint32_t deviceGroupCount = 0;
-- VkPhysicalDeviceGroupPropertiesKHR *props = NULL;
--
-- // Query the number of device groups
-- vkEnumeratePhysicalDeviceGroupsKHR(g_vkInstance, &deviceGroupCount, NULL);
--
-- // Allocate and initialize structures to query the device groups
-- props = (VkPhysicalDeviceGroupPropertiesKHR *)malloc(deviceGroupCount*sizeof(VkPhysicalDeviceGroupPropertiesKHR));
-- for (i = 0; i < deviceGroupCount; ++i) {
-- props[i].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR;
-- props[i].pNext = NULL;
-- }
-- vkEnumeratePhysicalDeviceGroupsKHR(g_vkInstance, &deviceGroupCount, props);
--
-- // If the first device group has more than one physical device. create
-- // a logical device using all of the physical devices.
-- VkDeviceGroupDeviceCreateInfoKHR deviceGroupInfo = { VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR };
-- if (props[0].physicalDeviceCount > 1) {
-- deviceGroupInfo.physicalDeviceCount = props[0].physicalDeviceCount;
-- deviceGroupInfo.pPhysicalDevices = props[0].physicalDevices;
-- devCreateInfo.pNext = &deviceGroupInfo;
-- }
--
-- vkCreateDevice(props[0].physicalDevices[0], &devCreateInfo, NULL, &g_vkDevice);
-- free(props);
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-19 (Jeff Bolz)
--
--
-- See Also
--
-- MAX_DEVICE_GROUP_SIZE_KHR,
-- DeviceGroupDeviceCreateInfoKHR,
-- PhysicalDeviceGroupPropertiesKHR,
-- enumeratePhysicalDeviceGroupsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_device_group_creation
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR :: StructureType
pattern MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR :: MemoryHeapFlagBits
pattern MAX_DEVICE_GROUP_SIZE_KHR :: Integral a => a
enumeratePhysicalDeviceGroupsKHR :: MonadIO io => Instance -> io (Result, "physicalDeviceGroupProperties" ::: Vector PhysicalDeviceGroupProperties)
type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties
type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo
type KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1
pattern KHR_DEVICE_GROUP_CREATION_SPEC_VERSION :: forall a. Integral a => a
type KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHR_device_group_creation"
pattern KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Promoted_From_VK_KHR_device_group
-- | vkGetDeviceGroupPeerMemoryFeatures - Query supported peer memory
-- features of a device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Device, PeerMemoryFeatureFlags
getDeviceGroupPeerMemoryFeatures :: forall io. MonadIO io => Device -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> io ("peerMemoryFeatures" ::: PeerMemoryFeatureFlags)
-- | vkCmdSetDeviceMask - Modify device mask of a command buffer
--
-- Description
--
-- deviceMask is used to filter out subsequent commands from
-- executing on all physical devices whose bit indices are not set in the
-- mask, except commands beginning a render pass instance, commands
-- transitioning to the next subpass in the render pass instance, and
-- commands ending a render pass instance, which always execute on the
-- set of physical devices whose bit indices are included in the
-- deviceMask member of the
-- DeviceGroupRenderPassBeginInfo structure passed to the command
-- beginning the corresponding render pass instance.
--
-- Valid Usage
--
--
-- - deviceMask must be a valid device mask value
--
--
--
-- - deviceMask must not be zero
-- - deviceMask must not include any set bits that were
-- not in the
-- DeviceGroupCommandBufferBeginInfo::deviceMask value
-- when the command buffer began recording
-- - If cmdSetDeviceMask is called inside a render pass
-- instance, deviceMask must not include any set bits
-- that were not in the
-- DeviceGroupRenderPassBeginInfo::deviceMask value when
-- the render pass instance began recording
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, compute, or transfer
-- operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_1, CommandBuffer
cmdSetDeviceMask :: forall io. MonadIO io => CommandBuffer -> ("deviceMask" ::: Word32) -> io ()
-- | vkCmdDispatchBase - Dispatch compute work items with non-zero base
-- values for the workgroup IDs
--
-- Description
--
-- When the command is executed, a global workgroup consisting of
-- groupCountX × groupCountY × groupCountZ
-- local workgroups is assembled, with WorkgroupId values
-- ranging from [baseGroup*, baseGroup* +
-- groupCount*) in each component. cmdDispatch is
-- equivalent to
-- vkCmdDispatchBase(0,0,0,groupCountX,groupCountY,groupCountZ).
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - baseGroupX must be less than
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0]
-- - baseGroupY must be less than
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
-- - baseGroupZ must be less than
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
-- - groupCountX must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0]
-- minus baseGroupX
-- - groupCountY must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
-- minus baseGroupY
-- - groupCountZ must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
-- minus baseGroupZ
-- - If any of baseGroupX, baseGroupY, or
-- baseGroupZ are not zero, then the bound compute pipeline
-- must have been created with the
-- PIPELINE_CREATE_DISPATCH_BASE flag
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_1, CommandBuffer
cmdDispatchBase :: forall io. MonadIO io => CommandBuffer -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> io ()
pattern PIPELINE_CREATE_DISPATCH_BASE :: PipelineCreateFlagBits
-- | VkMemoryAllocateFlagsInfo - Structure controlling how many instances
-- of memory will be allocated
--
-- Description
--
-- If MEMORY_ALLOCATE_DEVICE_MASK_BIT is not set, the number of
-- instances allocated depends on whether
-- MEMORY_HEAP_MULTI_INSTANCE_BIT is set in the memory heap. If
-- MEMORY_HEAP_MULTI_INSTANCE_BIT is set, then memory is allocated
-- for every physical device in the logical device (as if
-- deviceMask has bits set for all device indices). If
-- MEMORY_HEAP_MULTI_INSTANCE_BIT is not set, then a single
-- instance of memory is allocated (as if deviceMask is set to
-- one).
--
-- On some implementations, allocations from a multi-instance heap
-- may consume memory on all physical devices even if the
-- deviceMask excludes some devices. If
-- PhysicalDeviceGroupProperties::subsetAllocation is
-- TRUE, then memory is only consumed for the devices in the
-- device mask.
--
-- Note
--
-- In practice, most allocations on a multi-instance heap will be
-- allocated across all physical devices. Unicast allocation support is
-- an optional optimization for a minority of allocations.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, MemoryAllocateFlags,
-- StructureType
data MemoryAllocateFlagsInfo
MemoryAllocateFlagsInfo :: MemoryAllocateFlags -> Word32 -> MemoryAllocateFlagsInfo
-- | flags is a bitmask of MemoryAllocateFlagBits
-- controlling the allocation.
[$sel:flags:MemoryAllocateFlagsInfo] :: MemoryAllocateFlagsInfo -> MemoryAllocateFlags
-- | deviceMask is a mask of physical devices in the logical
-- device, indicating that memory must be allocated on each device
-- in the mask, if MEMORY_ALLOCATE_DEVICE_MASK_BIT is set in
-- flags.
[$sel:deviceMask:MemoryAllocateFlagsInfo] :: MemoryAllocateFlagsInfo -> Word32
-- | VkDeviceGroupRenderPassBeginInfo - Set the initial device mask and
-- render areas for a render pass instance
--
-- Description
--
-- The deviceMask serves several purposes. It is an upper bound
-- on the set of physical devices that can be used during the
-- render pass instance, and the initial device mask when the render pass
-- instance begins. In addition, commands transitioning to the next
-- subpass in a render pass instance and commands ending the render pass
-- instance, and, accordingly render pass attachment load, store, and
-- resolve operations and subpass dependencies corresponding to the
-- render pass instance, are executed on the physical devices included in
-- the device mask provided here.
--
-- If deviceRenderAreaCount is not zero, then the elements of
-- pDeviceRenderAreas override the value of
-- RenderPassBeginInfo::renderArea, and provide a render
-- area specific to each physical device. These render areas serve the
-- same purpose as RenderPassBeginInfo::renderArea,
-- including controlling the region of attachments that are cleared by
-- ATTACHMENT_LOAD_OP_CLEAR and that are resolved into resolve
-- attachments.
--
-- If this structure is not present, the render pass instance’s device
-- mask is the value of
-- DeviceGroupCommandBufferBeginInfo::deviceMask. If this
-- structure is not present or if deviceRenderAreaCount is zero,
-- RenderPassBeginInfo::renderArea is used for all
-- physical devices.
--
-- Valid Usage
--
--
-- - deviceMask must be a valid device mask value
--
--
--
-- - deviceMask must not be zero
-- - deviceMask must be a subset of the command
-- buffer’s initial device mask
-- - deviceRenderAreaCount must either be zero or equal
-- to the number of physical devices in the logical device
-- - The offset.x member of any element of
-- pDeviceRenderAreas must be greater than or equal to
-- 0
-- - The offset.y member of any element of
-- pDeviceRenderAreas must be greater than or equal to
-- 0
-- - The sum of the offset.x and extent.width members
-- of any element of pDeviceRenderAreas must be less than
-- or equal to maxFramebufferWidth
-- - The sum of the offset.y and extent.height
-- members of any element of pDeviceRenderAreas must be
-- less than or equal to maxFramebufferHeight
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If deviceRenderAreaCount is not 0,
-- pDeviceRenderAreas must be a valid pointer to an array
-- of deviceRenderAreaCount Rect2D structures
--
--
-- See Also
--
-- VK_VERSION_1_1, Rect2D, StructureType
data DeviceGroupRenderPassBeginInfo
DeviceGroupRenderPassBeginInfo :: Word32 -> Vector Rect2D -> DeviceGroupRenderPassBeginInfo
-- | deviceMask is the device mask for the render pass instance.
[$sel:deviceMask:DeviceGroupRenderPassBeginInfo] :: DeviceGroupRenderPassBeginInfo -> Word32
-- | pDeviceRenderAreas is a pointer to an array of Rect2D
-- structures defining the render area for each physical device.
[$sel:deviceRenderAreas:DeviceGroupRenderPassBeginInfo] :: DeviceGroupRenderPassBeginInfo -> Vector Rect2D
-- | VkDeviceGroupCommandBufferBeginInfo - Set the initial device mask for
-- a command buffer
--
-- Description
--
-- The initial device mask also acts as an upper bound on the set of
-- devices that can ever be in the device mask in the command
-- buffer.
--
-- If this structure is not present, the initial value of a command
-- buffer’s device mask is set to include all physical devices in the
-- logical device when the command buffer begins recording.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data DeviceGroupCommandBufferBeginInfo
DeviceGroupCommandBufferBeginInfo :: Word32 -> DeviceGroupCommandBufferBeginInfo
-- | deviceMask is the initial value of the command buffer’s
-- device mask.
--
-- deviceMask must be a valid device mask value
--
-- deviceMask must not be zero
[$sel:deviceMask:DeviceGroupCommandBufferBeginInfo] :: DeviceGroupCommandBufferBeginInfo -> Word32
-- | VkDeviceGroupSubmitInfo - Structure indicating which physical devices
-- execute semaphore operations and command buffers
--
-- Description
--
-- If this structure is not present, semaphore operations and command
-- buffers execute on device index zero.
--
-- Valid Usage
--
--
-- - waitSemaphoreCount must equal
-- SubmitInfo::waitSemaphoreCount
--
--
--
-- - commandBufferCount must equal
-- SubmitInfo::commandBufferCount
-- - signalSemaphoreCount must equal
-- SubmitInfo::signalSemaphoreCount
-- - All elements of pWaitSemaphoreDeviceIndices and
-- pSignalSemaphoreDeviceIndices must be valid device
-- indices
-- - All elements of pCommandBufferDeviceMasks must be
-- valid device masks
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If waitSemaphoreCount is not 0,
-- pWaitSemaphoreDeviceIndices must be a valid pointer to
-- an array of waitSemaphoreCount uint32_t values
-- - If commandBufferCount is not 0,
-- pCommandBufferDeviceMasks must be a valid pointer to
-- an array of commandBufferCount uint32_t values
-- - If signalSemaphoreCount is not 0,
-- pSignalSemaphoreDeviceIndices must be a valid pointer
-- to an array of signalSemaphoreCount uint32_t
-- values
--
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data DeviceGroupSubmitInfo
DeviceGroupSubmitInfo :: Vector Word32 -> Vector Word32 -> Vector Word32 -> DeviceGroupSubmitInfo
-- | pWaitSemaphoreDeviceIndices is a pointer to an array of
-- waitSemaphoreCount device indices indicating which physical
-- device executes the semaphore wait operation in the corresponding
-- element of SubmitInfo::pWaitSemaphores.
[$sel:waitSemaphoreDeviceIndices:DeviceGroupSubmitInfo] :: DeviceGroupSubmitInfo -> Vector Word32
-- | pCommandBufferDeviceMasks is a pointer to an array of
-- commandBufferCount device masks indicating which physical
-- devices execute the command buffer in the corresponding element of
-- SubmitInfo::pCommandBuffers. A physical device
-- executes the command buffer if the corresponding bit is set in the
-- mask.
[$sel:commandBufferDeviceMasks:DeviceGroupSubmitInfo] :: DeviceGroupSubmitInfo -> Vector Word32
-- | pSignalSemaphoreDeviceIndices is a pointer to an array of
-- signalSemaphoreCount device indices indicating which physical
-- device executes the semaphore signal operation in the corresponding
-- element of SubmitInfo::pSignalSemaphores.
[$sel:signalSemaphoreDeviceIndices:DeviceGroupSubmitInfo] :: DeviceGroupSubmitInfo -> Vector Word32
-- | VkDeviceGroupBindSparseInfo - Structure indicating which instances are
-- bound
--
-- Description
--
-- These device indices apply to all buffer and image memory binds
-- included in the batch pointing to this structure. The semaphore waits
-- and signals for the batch are executed only by the physical device
-- specified by the resourceDeviceIndex.
--
-- If this structure is not present, resourceDeviceIndex and
-- memoryDeviceIndex are assumed to be zero.
--
-- Valid Usage
--
--
-- - resourceDeviceIndex and memoryDeviceIndex
-- must both be valid device indices
--
--
--
-- - Each memory allocation bound in this batch must have
-- allocated an instance for memoryDeviceIndex
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data DeviceGroupBindSparseInfo
DeviceGroupBindSparseInfo :: Word32 -> Word32 -> DeviceGroupBindSparseInfo
-- | resourceDeviceIndex is a device index indicating which
-- instance of the resource is bound.
[$sel:resourceDeviceIndex:DeviceGroupBindSparseInfo] :: DeviceGroupBindSparseInfo -> Word32
-- | memoryDeviceIndex is a device index indicating which instance
-- of the memory the resource instance is bound to.
[$sel:memoryDeviceIndex:DeviceGroupBindSparseInfo] :: DeviceGroupBindSparseInfo -> Word32
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is
-- created
--
-- Description
--
--
--
--
--
-- It is valid to set both PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
-- and PIPELINE_CREATE_DERIVATIVE_BIT. This allows a pipeline to
-- be both a parent and possibly a child in a pipeline hierarchy. See
-- Pipeline Derivatives for more information.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCreateFlags
newtype PipelineCreateFlagBits
PipelineCreateFlagBits :: Flags -> PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DERIVATIVE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_LIBRARY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISPATCH_BASE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: PipelineCreateFlagBits
type PipelineCreateFlags = PipelineCreateFlagBits
-- | VkDependencyFlagBits - Bitmask specifying how execution and memory
-- dependencies are formed
--
-- See Also
--
-- VK_VERSION_1_0, DependencyFlags
newtype DependencyFlagBits
DependencyFlagBits :: Flags -> DependencyFlagBits
-- | DEPENDENCY_BY_REGION_BIT specifies that dependencies will be
-- framebuffer-local.
pattern DEPENDENCY_BY_REGION_BIT :: DependencyFlagBits
-- | DEPENDENCY_VIEW_LOCAL_BIT specifies that a subpass has more
-- than one view.
pattern DEPENDENCY_VIEW_LOCAL_BIT :: DependencyFlagBits
-- | DEPENDENCY_DEVICE_GROUP_BIT specifies that dependencies are
-- non-device-local.
pattern DEPENDENCY_DEVICE_GROUP_BIT :: DependencyFlagBits
type DependencyFlags = DependencyFlagBits
-- | VkPeerMemoryFeatureFlagBits - Bitmask specifying supported peer memory
-- features
--
-- Description
--
-- Note
--
-- The peer memory features of a memory heap also apply to any accesses
-- that may be performed during image layout transitions.
--
-- PEER_MEMORY_FEATURE_COPY_DST_BIT must be supported for
-- all host local heaps and for at least one device-local memory heap.
--
-- If a device does not support a peer memory feature, it is still valid
-- to use a resource that includes both local and peer memory bindings
-- with the corresponding access type as long as only the local bindings
-- are actually accessed. For example, an application doing split-frame
-- rendering would use framebuffer attachments that include both local
-- and peer memory bindings, but would scissor the rendering to only
-- update local memory.
--
-- See Also
--
-- VK_VERSION_1_1, PeerMemoryFeatureFlags
newtype PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits :: Flags -> PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_COPY_SRC_BIT specifies that the memory
-- can be accessed as the source of any vkCmdCopy*
-- command.
pattern PEER_MEMORY_FEATURE_COPY_SRC_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_COPY_DST_BIT specifies that the memory
-- can be accessed as the destination of any vkCmdCopy*
-- command.
pattern PEER_MEMORY_FEATURE_COPY_DST_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_GENERIC_SRC_BIT specifies that the memory
-- can be read as any memory access type.
pattern PEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: PeerMemoryFeatureFlagBits
-- | PEER_MEMORY_FEATURE_GENERIC_DST_BIT specifies that the memory
-- can be written as any memory access type. Shader atomics are
-- considered to be writes.
pattern PEER_MEMORY_FEATURE_GENERIC_DST_BIT :: PeerMemoryFeatureFlagBits
type PeerMemoryFeatureFlags = PeerMemoryFeatureFlagBits
-- | VkMemoryAllocateFlagBits - Bitmask specifying flags for a device
-- memory allocation
--
-- See Also
--
-- VK_VERSION_1_1, MemoryAllocateFlags
newtype MemoryAllocateFlagBits
MemoryAllocateFlagBits :: Flags -> MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_MASK_BIT specifies that memory will be
-- allocated for the devices in
-- MemoryAllocateFlagsInfo::deviceMask.
pattern MEMORY_ALLOCATE_DEVICE_MASK_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies
-- that the memory’s address can be saved and reused on a
-- subsequent run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: MemoryAllocateFlagBits
-- | MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT specifies that the memory
-- can be attached to a buffer object created with the
-- BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT bit set in
-- usage, and that the memory handle can be used to
-- retrieve an opaque address via
-- getDeviceMemoryOpaqueCaptureAddress.
pattern MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT :: MemoryAllocateFlagBits
type MemoryAllocateFlags = MemoryAllocateFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupSubmitInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupSubmitInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupSubmitInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupSubmitInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupCommandBufferBeginInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo
module Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation
-- | VkMemoryDedicatedRequirements - Structure describing dedicated
-- allocation requirements of buffer and image resources
--
-- Description
--
-- To determine the dedicated allocation requirements of a buffer or
-- image resource, add a MemoryDedicatedRequirements structure to
-- the pNext chain of the MemoryRequirements2 structure
-- passed as the pMemoryRequirements parameter of
-- getBufferMemoryRequirements2 or
-- getImageMemoryRequirements2, respectively.
--
-- Constraints on the values returned for buffer resources are:
--
--
--
-- Constraints on the values returned for image resources are:
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data MemoryDedicatedRequirements
MemoryDedicatedRequirements :: Bool -> Bool -> MemoryDedicatedRequirements
-- | prefersDedicatedAllocation specifies that the implementation
-- would prefer a dedicated allocation for this resource. The application
-- is still free to suballocate the resource but it may get better
-- performance if a dedicated allocation is used.
[$sel:prefersDedicatedAllocation:MemoryDedicatedRequirements] :: MemoryDedicatedRequirements -> Bool
-- | requiresDedicatedAllocation specifies that a dedicated
-- allocation is required for this resource.
[$sel:requiresDedicatedAllocation:MemoryDedicatedRequirements] :: MemoryDedicatedRequirements -> Bool
-- | VkMemoryDedicatedAllocateInfo - Specify a dedicated memory allocation
-- resource
--
-- Valid Usage
--
--
-- - At least one of image and buffer must be
-- NULL_HANDLE
--
--
--
-- - If image is not NULL_HANDLE and the memory is not
-- an imported Android Hardware Buffer,
-- MemoryAllocateInfo::allocationSize must equal
-- the MemoryRequirements::size of the image
-- - If image is not NULL_HANDLE, image
-- must have been created without
-- IMAGE_CREATE_SPARSE_BINDING_BIT set in
-- ImageCreateInfo::flags
-- - If buffer is not NULL_HANDLE and the memory is not
-- an imported Android Hardware Buffer,
-- MemoryAllocateInfo::allocationSize must equal
-- the MemoryRequirements::size of the buffer
-- - If buffer is not NULL_HANDLE, buffer
-- must have been created without
-- BUFFER_CREATE_SPARSE_BINDING_BIT set in
-- BufferCreateInfo::flags
-- - If image is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the
-- external handle was created by the Vulkan API, then the memory being
-- imported must also be a dedicated image allocation and
-- image must be identical to the image associated with the
-- imported memory
-- - If buffer is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the
-- external handle was created by the Vulkan API, then the memory being
-- imported must also be a dedicated buffer allocation and
-- buffer must be identical to the buffer associated with
-- the imported memory
-- - If image is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the
-- memory being imported must also be a dedicated image allocation
-- and image must be identical to the image associated
-- with the imported memory
-- - If buffer is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the
-- memory being imported must also be a dedicated buffer
-- allocation and buffer must be identical to the buffer
-- associated with the imported memory
-- - If image is not NULL_HANDLE, image
-- must not have been created with
-- IMAGE_CREATE_DISJOINT_BIT set in
-- ImageCreateInfo::flags
-- - If image is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
-- the memory being imported must also be a dedicated image
-- allocation and image must be identical to the image
-- associated with the imported memory
-- - If buffer is not NULL_HANDLE and
-- MemoryAllocateInfo defines a memory import operation with
-- handle type EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
-- the memory being imported must also be a dedicated buffer
-- allocation and buffer must be identical to the buffer
-- associated with the imported memory
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If image is not NULL_HANDLE, image
-- must be a valid Image handle
-- - If buffer is not NULL_HANDLE, buffer
-- must be a valid Buffer handle
-- - Both of buffer, and image that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_1, Buffer, Image,
-- StructureType
data MemoryDedicatedAllocateInfo
MemoryDedicatedAllocateInfo :: Image -> Buffer -> MemoryDedicatedAllocateInfo
-- | image is NULL_HANDLE or a handle of an image which
-- this memory will be bound to.
[$sel:image:MemoryDedicatedAllocateInfo] :: MemoryDedicatedAllocateInfo -> Image
-- | buffer is NULL_HANDLE or a handle of a buffer which
-- this memory will be bound to.
[$sel:buffer:MemoryDedicatedAllocateInfo] :: MemoryDedicatedAllocateInfo -> Buffer
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements
-- | Name
--
-- VK_KHR_dedicated_allocation - device extension
--
-- VK_KHR_dedicated_allocation
--
--
-- - Name String
-- VK_KHR_dedicated_allocation
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 128
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_memory_requirements2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jeff Bolz, NVIDIA
- Jason
-- Ekstrand, Intel
--
--
-- Description
--
-- This extension enables resources to be bound to a dedicated
-- allocation, rather than suballocated. For any particular resource,
-- applications can query whether a dedicated allocation is
-- recommended, in which case using a dedicated allocation may
-- improve the performance of access to that resource. Normal device
-- memory allocations must support multiple resources per allocation,
-- memory aliasing and sparse binding, which could interfere with some
-- optimizations. Applications should query the implementation for when a
-- dedicated allocation may be beneficial by adding a
-- MemoryDedicatedRequirementsKHR structure to the pNext
-- chain of the MemoryRequirements2 structure passed as the
-- pMemoryRequirements parameter of a call to
-- getBufferMemoryRequirements2 or
-- getImageMemoryRequirements2. Certain external handle types and
-- external images or buffers may also depend on dedicated
-- allocations on implementations that associate image or buffer metadata
-- with OS-level memory objects.
--
-- This extension adds a two small structures to memory requirements
-- querying and memory allocation: a new structure that flags whether an
-- image/buffer should have a dedicated allocation, and a structure
-- indicating the image or buffer that an allocation will be bound to.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- // Create an image with a dedicated allocation based on the
-- // implementation's preference
--
-- VkImageCreateInfo imageCreateInfo =
-- {
-- // Image creation parameters
-- };
--
-- VkImage image;
-- VkResult result = vkCreateImage(
-- device,
-- &imageCreateInfo,
-- NULL, // pAllocator
-- &image);
--
-- VkMemoryDedicatedRequirementsKHR dedicatedRequirements =
-- {
-- VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
-- NULL, // pNext
-- };
--
-- VkMemoryRequirements2 memoryRequirements =
-- {
-- VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
-- &dedicatedRequirements, // pNext
-- };
--
-- const VkImageMemoryRequirementsInfo2 imageRequirementsInfo =
-- {
-- VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
-- NULL, // pNext
-- image
-- };
--
-- vkGetImageMemoryRequirements2(
-- device,
-- &imageRequirementsInfo,
-- &memoryRequirements);
--
-- if (dedicatedRequirements.prefersDedicatedAllocation) {
-- // Allocate memory with VkMemoryDedicatedAllocateInfoKHR::image
-- // pointing to the image we are allocating the memory for
--
-- VkMemoryDedicatedAllocateInfoKHR dedicatedInfo =
-- {
-- VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR, // sType
-- NULL, // pNext
-- image, // image
-- VK_NULL_HANDLE, // buffer
-- };
--
-- VkMemoryAllocateInfo memoryAllocateInfo =
-- {
-- VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, // sType
-- &dedicatedInfo, // pNext
-- memoryRequirements.size, // allocationSize
-- FindMemoryTypeIndex(memoryRequirements.memoryTypeBits), // memoryTypeIndex
-- };
--
-- VkDeviceMemory memory;
-- vkAllocateMemory(
-- device,
-- &memoryAllocateInfo,
-- NULL, // pAllocator
-- &memory);
--
-- // Bind the image to the memory
--
-- vkBindImageMemory(
-- device,
-- image,
-- memory,
-- 0);
-- } else {
-- // Take the normal memory sub-allocation path
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-27 (James Jones)
- Copy content from
-- VK_NV_dedicated_allocation
- Add some references to external
-- object interactions to the overview.
--
--
--
-- - Revision 2, 2017-03-27 (Jason Ekstrand)
- Rework the
-- extension to be query-based
-- - Revision 3, 2017-07-31 (Jason Ekstrand)
- Clarify that memory
-- objects allocated with VkMemoryDedicatedAllocateInfoKHR can only have
-- the specified resource bound and no others.
--
--
-- See Also
--
-- MemoryDedicatedAllocateInfoKHR,
-- MemoryDedicatedRequirementsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_dedicated_allocation
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR :: StructureType
type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements
type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo
type KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3
pattern KHR_DEDICATED_ALLOCATION_SPEC_VERSION :: forall a. Integral a => a
type KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation"
pattern KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory
-- | vkGetDeviceQueue2 - Get a queue handle from a device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Device, DeviceQueueInfo2,
-- Queue
getDeviceQueue2 :: forall io. MonadIO io => Device -> DeviceQueueInfo2 -> io Queue
-- | VkProtectedSubmitInfo - Structure indicating whether the submission is
-- protected
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data ProtectedSubmitInfo
ProtectedSubmitInfo :: Bool -> ProtectedSubmitInfo
-- | protectedSubmit specifies whether the batch is protected. If
-- protectedSubmit is TRUE, the batch is protected. If
-- protectedSubmit is FALSE, the batch is unprotected. If
-- the SubmitInfo::pNext chain does not include this
-- structure, the batch is unprotected.
[$sel:protectedSubmit:ProtectedSubmitInfo] :: ProtectedSubmitInfo -> Bool
-- | VkPhysicalDeviceProtectedMemoryFeatures - Structure describing
-- protected memory features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceProtectedMemoryFeatures structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceProtectedMemoryFeatures can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDeviceProtectedMemoryFeatures
PhysicalDeviceProtectedMemoryFeatures :: Bool -> PhysicalDeviceProtectedMemoryFeatures
-- | protectedMemory specifies whether protected memory is
-- supported.
[$sel:protectedMemory:PhysicalDeviceProtectedMemoryFeatures] :: PhysicalDeviceProtectedMemoryFeatures -> Bool
-- | VkPhysicalDeviceProtectedMemoryProperties - Structure describing
-- protected memory properties that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceProtectedMemoryProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType
data PhysicalDeviceProtectedMemoryProperties
PhysicalDeviceProtectedMemoryProperties :: Bool -> PhysicalDeviceProtectedMemoryProperties
-- | protectedNoFault specifies how an implementation behaves when
-- an application attempts to write to unprotected memory in a protected
-- queue operation, read from protected memory in an unprotected queue
-- operation, or perform a query in a protected queue operation. If this
-- limit is TRUE, such writes will be discarded or have undefined
-- values written, reads and queries will return undefined values. If
-- this limit is FALSE, applications must not perform these
-- operations. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-protected-access-rules
-- for more information.
[$sel:protectedNoFault:PhysicalDeviceProtectedMemoryProperties] :: PhysicalDeviceProtectedMemoryProperties -> Bool
-- | VkDeviceQueueInfo2 - Structure specifying the parameters used for
-- device queue creation
--
-- Description
--
-- The queue returned by getDeviceQueue2 must have the same
-- flags value from this structure as that used at device
-- creation time in a DeviceQueueCreateInfo structure. If no
-- matching flags were specified at device creation time, then
-- the handle returned in pQueue must be NULL.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, DeviceQueueCreateFlags,
-- StructureType, getDeviceQueue2
data DeviceQueueInfo2
DeviceQueueInfo2 :: DeviceQueueCreateFlags -> Word32 -> Word32 -> DeviceQueueInfo2
-- | flags is a DeviceQueueCreateFlags value indicating the
-- flags used to create the device queue.
--
-- flags must be equal to
-- DeviceQueueCreateInfo::flags for a
-- DeviceQueueCreateInfo structure for the queue family indicated
-- by queueFamilyIndex when device was created
--
-- flags must be a valid combination of
-- DeviceQueueCreateFlagBits values
[$sel:flags:DeviceQueueInfo2] :: DeviceQueueInfo2 -> DeviceQueueCreateFlags
-- | queueFamilyIndex is the index of the queue family to which
-- the queue belongs.
--
-- queueFamilyIndex must be one of the queue family
-- indices specified when device was created, via the
-- DeviceQueueCreateInfo structure
[$sel:queueFamilyIndex:DeviceQueueInfo2] :: DeviceQueueInfo2 -> Word32
-- | queueIndex is the index within this queue family of the queue
-- to retrieve.
--
-- queueIndex must be less than
-- DeviceQueueCreateInfo::queueCount for the
-- corresponding queue family and flags indicated by
-- queueFamilyIndex and flags when device was
-- created
[$sel:queueIndex:DeviceQueueInfo2] :: DeviceQueueInfo2 -> Word32
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkQueueFlagBits - Bitmask specifying capabilities of queues in a queue
-- family
--
-- Description
--
-- 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
--
-- VK_VERSION_1_0, QueueFlags
newtype QueueFlagBits
QueueFlagBits :: Flags -> QueueFlagBits
-- | QUEUE_GRAPHICS_BIT specifies that queues in this queue family
-- support graphics operations.
pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits
-- | QUEUE_COMPUTE_BIT specifies that queues in this queue family
-- support compute operations.
pattern QUEUE_COMPUTE_BIT :: QueueFlagBits
-- | QUEUE_TRANSFER_BIT specifies that queues in this queue family
-- support transfer operations.
pattern QUEUE_TRANSFER_BIT :: QueueFlagBits
-- | QUEUE_SPARSE_BINDING_BIT specifies that queues in this queue
-- family support sparse memory management operations (see Sparse
-- Resources). If any of the sparse resource features are enabled,
-- then at least one queue family must support this bit.
pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits
-- | QUEUE_PROTECTED_BIT specifies that queues in this queue family
-- support the DEVICE_QUEUE_CREATE_PROTECTED_BIT bit. (see
-- Protected Memory). If the physical device supports the
-- protectedMemory feature, at least one of its queue families
-- must support this bit.
pattern QUEUE_PROTECTED_BIT :: QueueFlagBits
type QueueFlags = QueueFlagBits
-- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue
--
-- See Also
--
-- VK_VERSION_1_1, DeviceQueueCreateFlags
newtype DeviceQueueCreateFlagBits
DeviceQueueCreateFlagBits :: Flags -> DeviceQueueCreateFlagBits
-- | DEVICE_QUEUE_CREATE_PROTECTED_BIT specifies that the device
-- queue is a protected-capable queue.
pattern DEVICE_QUEUE_CREATE_PROTECTED_BIT :: DeviceQueueCreateFlagBits
type DeviceQueueCreateFlags = DeviceQueueCreateFlagBits
-- | 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
--
-- VK_VERSION_1_0, MemoryPropertyFlags
newtype MemoryPropertyFlagBits
MemoryPropertyFlagBits :: Flags -> 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_DEVICE_LOCAL_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_VISIBLE_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_COHERENT_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_HOST_CACHED_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_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits
-- | MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV bit specifies that external
-- devices can access this memory directly.
pattern MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV :: 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_UNCACHED_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_DEVICE_COHERENT_BIT_AMD :: 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.
pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits
type MemoryPropertyFlags = MemoryPropertyFlagBits
-- | VkBufferCreateFlagBits - Bitmask specifying additional parameters of a
-- buffer
--
-- Description
--
-- See Sparse Resource Features and Physical Device
-- Features for details of the sparse memory features supported on a
-- device.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateFlags
newtype BufferCreateFlagBits
BufferCreateFlagBits :: Flags -> BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_BINDING_BIT specifies that the buffer will
-- be backed using sparse memory binding.
pattern BUFFER_CREATE_SPARSE_BINDING_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_RESIDENCY_BIT specifies that the buffer
-- can be partially backed using sparse memory binding. Buffers
-- created with this flag must also be created with the
-- BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_ALIASED_BIT specifies that the buffer will
-- be backed using sparse memory binding with memory ranges that might
-- also simultaneously be backing another buffer (or another portion of
-- the same buffer). Buffers created with this flag must also be
-- created with the BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_ALIASED_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies that
-- the buffer’s address can be saved and reused on a subsequent
-- run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_PROTECTED_BIT specifies that the buffer is a
-- protected buffer.
pattern BUFFER_CREATE_PROTECTED_BIT :: BufferCreateFlagBits
type BufferCreateFlags = BufferCreateFlagBits
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a
-- command pool
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolCreateFlags
newtype CommandPoolCreateFlagBits
CommandPoolCreateFlagBits :: Flags -> CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_TRANSIENT_BIT specifies that command
-- buffers allocated from the pool will be short-lived, meaning that they
-- will be reset or freed in a relatively short timeframe. This flag
-- may be used by the implementation to control memory allocation
-- behavior within the pool.
pattern COMMAND_POOL_CREATE_TRANSIENT_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT allows any command
-- buffer allocated from a pool to be individually reset to the
-- initial state; either by calling resetCommandBuffer, or
-- via the implicit reset when calling beginCommandBuffer. If this
-- flag is not set on a pool, then resetCommandBuffer must
-- not be called for any command buffer allocated from that pool.
pattern COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_PROTECTED_BIT specifies that command
-- buffers allocated from the pool are protected command buffers.
pattern COMMAND_POOL_CREATE_PROTECTED_BIT :: CommandPoolCreateFlagBits
type CommandPoolCreateFlags = CommandPoolCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance GHC.Show.Show Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
instance GHC.Show.Show Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance GHC.Show.Show Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance GHC.Show.Show Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance Foreign.Storable.Storable Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance Vulkan.Zero.Zero Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance Foreign.Storable.Storable Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
instance Foreign.Storable.Storable Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo
module Vulkan.Core11.Handles
-- | VkDescriptorUpdateTemplate - Opaque handle to a descriptor update
-- template
--
-- See Also
--
-- VK_VERSION_1_1, cmdPushDescriptorSetWithTemplateKHR,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorUpdateTemplate
DescriptorUpdateTemplate :: Word64 -> DescriptorUpdateTemplate
-- | VkSamplerYcbcrConversion - Opaque handle to a device-specific sampler
-- Y′CBCR conversion description
--
-- See Also
--
-- VK_VERSION_1_1, SamplerYcbcrConversionInfo,
-- createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR
newtype SamplerYcbcrConversion
SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion
-- | VkInstance - Opaque handle to an instance object
--
-- See Also
--
-- VK_VERSION_1_0, createAndroidSurfaceKHR,
-- createDebugReportCallbackEXT,
-- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT,
-- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT,
-- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA,
-- createInstance, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- debugReportMessageEXT, destroyDebugReportCallbackEXT,
-- destroyDebugUtilsMessengerEXT, destroyInstance,
-- destroySurfaceKHR, enumeratePhysicalDeviceGroups,
-- enumeratePhysicalDeviceGroupsKHR,
-- enumeratePhysicalDevices, getInstanceProcAddr,
-- submitDebugUtilsMessageEXT
data Instance
Instance :: Ptr Instance_T -> InstanceCmds -> Instance
[$sel:instanceHandle:Instance] :: Instance -> Ptr Instance_T
[$sel:instanceCmds:Instance] :: Instance -> InstanceCmds
-- | VkPhysicalDevice - Opaque handle to a physical device object
--
-- See Also
--
-- VK_VERSION_1_0, DeviceGroupDeviceCreateInfo,
-- PhysicalDeviceGroupProperties, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDevice, createDisplayModeKHR,
-- enumerateDeviceExtensionProperties,
-- enumerateDeviceLayerProperties,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
-- enumeratePhysicalDevices, getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneCapabilities2KHR,
-- getDisplayPlaneCapabilitiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- 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,
-- getPhysicalDeviceScreenPresentationSupportQNX,
-- getPhysicalDeviceSparseImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR,
-- getPhysicalDeviceToolPropertiesEXT,
-- vkGetPhysicalDeviceVideoCapabilitiesKHR,
-- vkGetPhysicalDeviceVideoFormatPropertiesKHR,
-- getPhysicalDeviceWaylandPresentationSupportKHR,
-- getPhysicalDeviceWin32PresentationSupportKHR,
-- getPhysicalDeviceXcbPresentationSupportKHR,
-- getPhysicalDeviceXlibPresentationSupportKHR,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- releaseDisplayEXT
data PhysicalDevice
PhysicalDevice :: Ptr PhysicalDevice_T -> InstanceCmds -> PhysicalDevice
[$sel:physicalDeviceHandle:PhysicalDevice] :: PhysicalDevice -> Ptr PhysicalDevice_T
[$sel:instanceCmds:PhysicalDevice] :: PhysicalDevice -> InstanceCmds
-- | VkDevice - Opaque handle to a device object
--
-- See Also
--
-- VK_VERSION_1_0, acquireFullScreenExclusiveModeEXT,
-- acquireNextImage2KHR, acquireNextImageKHR,
-- acquirePerformanceConfigurationINTEL,
-- acquireProfilingLockKHR, allocateCommandBuffers,
-- allocateDescriptorSets, allocateMemory,
-- bindAccelerationStructureMemoryNV, bindBufferMemory,
-- bindBufferMemory2, bindBufferMemory2KHR,
-- bindImageMemory, bindImageMemory2,
-- bindImageMemory2KHR, vkBindVideoSessionMemoryKHR,
-- buildAccelerationStructuresKHR, compileDeferredNV,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createAccelerationStructureKHR,
-- createAccelerationStructureNV, createBuffer,
-- createBufferCollectionFUCHSIA, createBufferView,
-- createCommandPool, createComputePipelines,
-- createCuFunctionNVX, createCuModuleNVX,
-- createDeferredOperationKHR, createDescriptorPool,
-- createDescriptorSetLayout,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR, createDevice,
-- createEvent, createFence, createFramebuffer,
-- createGraphicsPipelines, createImage,
-- createImageView, createIndirectCommandsLayoutNV,
-- createPipelineCache, createPipelineLayout,
-- createPrivateDataSlotEXT, createQueryPool,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, createRenderPass,
-- createRenderPass2, createRenderPass2KHR,
-- createSampler, createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR, createSemaphore,
-- createShaderModule, createSharedSwapchainsKHR,
-- createSwapchainKHR, createValidationCacheEXT,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT,
-- deferredOperationJoinKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, destroyDeferredOperationKHR,
-- destroyDescriptorPool, destroyDescriptorSetLayout,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR, destroyDevice,
-- destroyEvent, destroyFence, destroyFramebuffer,
-- destroyImage, destroyImageView,
-- destroyIndirectCommandsLayoutNV, destroyPipeline,
-- destroyPipelineCache, destroyPipelineLayout,
-- destroyPrivateDataSlotEXT, destroyQueryPool,
-- destroyRenderPass, destroySampler,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR, destroySemaphore,
-- destroyShaderModule, destroySwapchainKHR,
-- destroyValidationCacheEXT, vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, deviceWaitIdle,
-- displayPowerControlEXT, flushMappedMemoryRanges,
-- freeCommandBuffers, freeDescriptorSets,
-- freeMemory, getAccelerationStructureBuildSizesKHR,
-- getAccelerationStructureDeviceAddressKHR,
-- getAccelerationStructureHandleNV,
-- getAccelerationStructureMemoryRequirementsNV,
-- getAndroidHardwareBufferPropertiesANDROID,
-- getBufferCollectionPropertiesFUCHSIA,
-- getBufferDeviceAddress, getBufferDeviceAddressEXT,
-- getBufferDeviceAddressKHR, getBufferMemoryRequirements,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR,
-- getBufferOpaqueCaptureAddress,
-- getBufferOpaqueCaptureAddressKHR,
-- getCalibratedTimestampsEXT,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR,
-- getDeviceAccelerationStructureCompatibilityKHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceGroupPeerMemoryFeatures,
-- getDeviceGroupPeerMemoryFeaturesKHR,
-- getDeviceGroupPresentCapabilitiesKHR,
-- getDeviceGroupSurfacePresentModes2EXT,
-- getDeviceGroupSurfacePresentModesKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR,
-- getDeviceMemoryCommitment,
-- getDeviceMemoryOpaqueCaptureAddress,
-- getDeviceMemoryOpaqueCaptureAddressKHR,
-- getDeviceProcAddr, getDeviceQueue,
-- getDeviceQueue2,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getEventStatus, getFenceFdKHR, getFenceStatus,
-- getFenceWin32HandleKHR,
-- getGeneratedCommandsMemoryRequirementsNV,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements, getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR,
-- getImageSparseMemoryRequirements,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR,
-- getImageSubresourceLayout, getImageViewAddressNVX,
-- getImageViewHandleNVX,
-- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryRemoteAddressNV, getMemoryWin32HandleKHR,
-- getMemoryWin32HandleNV,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandleFUCHSIA,
-- getMemoryZirconHandlePropertiesFUCHSIA,
-- getPastPresentationTimingGOOGLE,
-- getPerformanceParameterINTEL, getPipelineCacheData,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutablePropertiesKHR,
-- getPipelineExecutableStatisticsKHR, getPrivateDataEXT,
-- getQueryPoolResults,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR,
-- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity,
-- getSemaphoreCounterValue, getSemaphoreCounterValueKHR,
-- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR,
-- getSemaphoreZirconHandleFUCHSIA, getShaderInfoAMD,
-- getSwapchainCounterEXT, getSwapchainImagesKHR,
-- getSwapchainStatusKHR, getValidationCacheDataEXT,
-- vkGetVideoSessionMemoryRequirementsKHR,
-- importFenceFdKHR, importFenceWin32HandleKHR,
-- importSemaphoreFdKHR, importSemaphoreWin32HandleKHR,
-- importSemaphoreZirconHandleFUCHSIA,
-- initializePerformanceApiINTEL,
-- invalidateMappedMemoryRanges, mapMemory,
-- mergePipelineCaches, mergeValidationCachesEXT,
-- registerDeviceEventEXT, registerDisplayEventEXT,
-- releaseFullScreenExclusiveModeEXT,
-- releasePerformanceConfigurationINTEL,
-- releaseProfilingLockKHR, resetCommandPool,
-- resetDescriptorPool, resetEvent, resetFences,
-- resetQueryPool, resetQueryPoolEXT,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA,
-- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT,
-- setDeviceMemoryPriorityEXT, setEvent,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- setPrivateDataEXT, signalSemaphore,
-- signalSemaphoreKHR, trimCommandPool,
-- trimCommandPoolKHR, uninitializePerformanceApiINTEL,
-- unmapMemory, updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR,
-- updateDescriptorSets, vkUpdateVideoSessionParametersKHR,
-- waitForFences, waitForPresentKHR, waitSemaphores,
-- waitSemaphoresKHR,
-- writeAccelerationStructuresPropertiesKHR
data Device
Device :: Ptr Device_T -> DeviceCmds -> Device
[$sel:deviceHandle:Device] :: Device -> Ptr Device_T
[$sel:deviceCmds:Device] :: Device -> DeviceCmds
-- | VkQueue - Opaque handle to a queue object
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceQueue, getDeviceQueue2,
-- getQueueCheckpointData2NV, getQueueCheckpointDataNV,
-- queueBeginDebugUtilsLabelEXT, queueBindSparse,
-- queueEndDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT, queuePresentKHR,
-- queueSetPerformanceConfigurationINTEL, queueSubmit,
-- queueSubmit2KHR, queueWaitIdle
data Queue
Queue :: Ptr Queue_T -> DeviceCmds -> Queue
[$sel:queueHandle:Queue] :: Queue -> Ptr Queue_T
[$sel:deviceCmds:Queue] :: Queue -> DeviceCmds
-- | VkCommandBuffer - Opaque handle to a command buffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferSubmitInfoKHR,
-- SubmitInfo, allocateCommandBuffers,
-- beginCommandBuffer, cmdBeginConditionalRenderingEXT,
-- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdBeginRenderPass,
-- cmdBeginRenderPass2, cmdBeginRenderPass2KHR,
-- cmdBeginRenderingKHR, cmdBeginTransformFeedbackEXT,
-- vkCmdBeginVideoCodingKHR, cmdBindDescriptorSets,
-- cmdBindIndexBuffer, cmdBindInvocationMaskHUAWEI,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdBindShadingRateImageNV,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBlitImage, cmdBlitImage2KHR,
-- cmdBuildAccelerationStructureNV,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR, cmdClearAttachments,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- vkCmdControlVideoCodingKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureNV,
-- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer,
-- cmdCopyBuffer2KHR, cmdCopyBufferToImage,
-- cmdCopyBufferToImage2KHR, cmdCopyImage,
-- cmdCopyImage2KHR, cmdCopyImageToBuffer,
-- cmdCopyImageToBuffer2KHR,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- cmdCopyQueryPoolResults, cmdCuLaunchKernelNVX,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerEndEXT,
-- cmdDebugMarkerInsertEXT, vkCmdDecodeVideoKHR,
-- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR,
-- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV,
-- cmdDrawMultiEXT, cmdDrawMultiIndexedEXT,
-- vkCmdEncodeVideoKHR, cmdEndConditionalRenderingEXT,
-- cmdEndDebugUtilsLabelEXT, cmdEndQuery,
-- cmdEndQueryIndexedEXT, cmdEndRenderPass,
-- cmdEndRenderPass2, cmdEndRenderPass2KHR,
-- cmdEndRenderingKHR, cmdEndTransformFeedbackEXT,
-- vkCmdEndVideoCodingKHR, cmdExecuteCommands,
-- cmdExecuteGeneratedCommandsNV, cmdFillBuffer,
-- cmdInsertDebugUtilsLabelEXT, cmdNextSubpass,
-- cmdNextSubpass2, cmdNextSubpass2KHR,
-- cmdPipelineBarrier, cmdPipelineBarrier2KHR,
-- cmdPreprocessGeneratedCommandsNV, cmdPushConstants,
-- cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent,
-- cmdResetEvent2KHR, cmdResetQueryPool,
-- cmdResolveImage, cmdResolveImage2KHR,
-- cmdSetBlendConstants, cmdSetCheckpointNV,
-- cmdSetCoarseSampleOrderNV, cmdSetColorWriteEnableEXT,
-- cmdSetCullModeEXT, cmdSetDepthBias,
-- cmdSetDepthBiasEnableEXT, cmdSetDepthBounds,
-- cmdSetDepthBoundsTestEnableEXT, cmdSetDepthCompareOpEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetDeviceMask, cmdSetDeviceMaskKHR,
-- cmdSetDiscardRectangleEXT, cmdSetEvent,
-- cmdSetEvent2KHR, cmdSetExclusiveScissorNV,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT,
-- cmdSetLineStippleEXT, cmdSetLineWidth,
-- cmdSetLogicOpEXT, cmdSetPatchControlPointsEXT,
-- cmdSetPerformanceMarkerINTEL,
-- cmdSetPerformanceOverrideINTEL,
-- cmdSetPerformanceStreamMarkerINTEL,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetPrimitiveTopologyEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetRayTracingPipelineStackSizeKHR,
-- cmdSetSampleLocationsEXT, cmdSetScissor,
-- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask,
-- cmdSetStencilOpEXT, cmdSetStencilReference,
-- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask,
-- cmdSetVertexInputEXT, cmdSetViewport,
-- cmdSetViewportShadingRatePaletteNV,
-- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT,
-- cmdSubpassShadingHUAWEI, cmdTraceRaysIndirectKHR,
-- cmdTraceRaysKHR, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWaitEvents, cmdWaitEvents2KHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- endCommandBuffer, freeCommandBuffers,
-- resetCommandBuffer
data CommandBuffer
CommandBuffer :: Ptr CommandBuffer_T -> DeviceCmds -> CommandBuffer
[$sel:commandBufferHandle:CommandBuffer] :: CommandBuffer -> Ptr CommandBuffer_T
[$sel:deviceCmds:CommandBuffer] :: CommandBuffer -> DeviceCmds
-- | VkDeviceMemory - Opaque handle to a device memory object
--
-- See Also
--
-- VK_VERSION_1_0, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryInfo, BindImageMemoryInfo,
-- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA, SparseImageMemoryBind,
-- SparseMemoryBind, VkVideoBindMemoryKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory,
-- bindBufferMemory, bindImageMemory, freeMemory,
-- getDeviceMemoryCommitment, getMemoryWin32HandleNV,
-- mapMemory, setDeviceMemoryPriorityEXT,
-- unmapMemory
newtype DeviceMemory
DeviceMemory :: Word64 -> DeviceMemory
-- | VkCommandPool - Opaque handle to a command pool object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo,
-- createCommandPool, destroyCommandPool,
-- freeCommandBuffers, resetCommandPool,
-- trimCommandPool, trimCommandPoolKHR
newtype CommandPool
CommandPool :: Word64 -> CommandPool
-- | VkBuffer - Opaque handle to a buffer object
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureCreateInfoKHR,
-- BindBufferMemoryInfo, BufferDeviceAddressInfo,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2, BufferViewCreateInfo,
-- ConditionalRenderingBeginInfoEXT, CopyBufferInfo2KHR,
-- CopyBufferToImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DescriptorBufferInfo, GeneratedCommandsInfoNV,
-- GeometryAABBNV, GeometryTrianglesNV,
-- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo,
-- SparseBufferMemoryBindInfo, VkVideoDecodeInfoKHR,
-- VkVideoEncodeInfoKHR, bindBufferMemory,
-- cmdBeginTransformFeedbackEXT, cmdBindIndexBuffer,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBuildAccelerationStructureNV, cmdCopyBuffer,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer,
-- cmdCopyQueryPoolResults, cmdDispatchIndirect,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdEndTransformFeedbackEXT,
-- cmdFillBuffer, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- createBuffer, destroyBuffer,
-- getBufferMemoryRequirements
newtype Buffer
Buffer :: Word64 -> Buffer
-- | VkImage - Opaque handle to an image object
--
-- See Also
--
-- VK_VERSION_1_0, BindImageMemoryInfo,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImageSparseMemoryRequirementsInfo2, ImageViewCreateInfo,
-- MemoryDedicatedAllocateInfo, ResolveImageInfo2KHR,
-- SparseImageMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, bindImageMemory,
-- cmdBlitImage, cmdClearColorImage,
-- cmdClearDepthStencilImage, cmdCopyBufferToImage,
-- cmdCopyImage, cmdCopyImageToBuffer,
-- cmdResolveImage, createImage, destroyImage,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements,
-- getImageSparseMemoryRequirements,
-- getImageSubresourceLayout, getSwapchainImagesKHR
newtype Image
Image :: Word64 -> Image
-- | VkPipelineLayout - Opaque handle to a pipeline layout object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- GraphicsPipelineCreateInfo,
-- IndirectCommandsLayoutTokenNV,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindDescriptorSets,
-- cmdPushConstants, cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR,
-- createPipelineLayout, destroyPipelineLayout
newtype PipelineLayout
PipelineLayout :: Word64 -> PipelineLayout
-- | VkSampler - Opaque handle to a sampler object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- DescriptorSetLayoutBinding, ImageViewHandleInfoNVX,
-- createSampler, destroySampler
newtype Sampler
Sampler :: Word64 -> Sampler
-- | VkDescriptorSet - Opaque handle to a descriptor set object
--
-- See Also
--
-- VK_VERSION_1_0, CopyDescriptorSet,
-- WriteDescriptorSet, allocateDescriptorSets,
-- cmdBindDescriptorSets, freeDescriptorSets,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorSet
DescriptorSet :: Word64 -> DescriptorSet
-- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout
-- object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- PipelineLayoutCreateInfo, createDescriptorSetLayout,
-- destroyDescriptorSetLayout
newtype DescriptorSetLayout
DescriptorSetLayout :: Word64 -> DescriptorSetLayout
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance Vulkan.Zero.Zero Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance Foreign.Storable.Storable Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance GHC.Classes.Ord Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance GHC.Classes.Eq Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Core11.Handles.SamplerYcbcrConversion
instance Vulkan.Zero.Zero Vulkan.Core11.Handles.SamplerYcbcrConversion
instance Foreign.Storable.Storable Vulkan.Core11.Handles.SamplerYcbcrConversion
instance GHC.Classes.Ord Vulkan.Core11.Handles.SamplerYcbcrConversion
instance GHC.Classes.Eq Vulkan.Core11.Handles.SamplerYcbcrConversion
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core11.Handles.SamplerYcbcrConversion
instance GHC.Show.Show Vulkan.Core11.Handles.SamplerYcbcrConversion
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Core11.Handles.DescriptorUpdateTemplate
instance GHC.Show.Show Vulkan.Core11.Handles.DescriptorUpdateTemplate
module Vulkan.Extensions.Handles
-- | VkIndirectCommandsLayoutNV - Opaque handle to an indirect commands
-- layout object
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- createIndirectCommandsLayoutNV,
-- destroyIndirectCommandsLayoutNV
newtype IndirectCommandsLayoutNV
IndirectCommandsLayoutNV :: Word64 -> IndirectCommandsLayoutNV
-- | VkValidationCacheEXT - Opaque handle to a validation cache object
--
-- See Also
--
-- VK_EXT_validation_cache,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- createValidationCacheEXT, destroyValidationCacheEXT,
-- getValidationCacheDataEXT, mergeValidationCachesEXT
newtype ValidationCacheEXT
ValidationCacheEXT :: Word64 -> ValidationCacheEXT
-- | VkAccelerationStructureKHR - Opaque handle to an acceleration
-- structure object
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureDeviceAddressInfoKHR,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- WriteDescriptorSetAccelerationStructureKHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- createAccelerationStructureKHR,
-- destroyAccelerationStructureKHR,
-- writeAccelerationStructuresPropertiesKHR
newtype AccelerationStructureKHR
AccelerationStructureKHR :: Word64 -> AccelerationStructureKHR
-- | VkAccelerationStructureNV - Opaque handle to an acceleration structure
-- object
--
-- See Also
--
-- VK_NV_ray_tracing,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- BindAccelerationStructureMemoryInfoNV,
-- WriteDescriptorSetAccelerationStructureNV,
-- cmdBuildAccelerationStructureNV,
-- cmdCopyAccelerationStructureNV,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- createAccelerationStructureNV,
-- destroyAccelerationStructureNV,
-- getAccelerationStructureHandleNV
newtype AccelerationStructureNV
AccelerationStructureNV :: Word64 -> AccelerationStructureNV
-- | VkPerformanceConfigurationINTEL - Device configuration for performance
-- queries
--
-- See Also
--
-- VK_INTEL_performance_query,
-- acquirePerformanceConfigurationINTEL,
-- queueSetPerformanceConfigurationINTEL,
-- releasePerformanceConfigurationINTEL
newtype PerformanceConfigurationINTEL
PerformanceConfigurationINTEL :: Word64 -> PerformanceConfigurationINTEL
-- | VkBufferCollectionFUCHSIA - Opaque handle to a buffer collection
-- object
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- ImportMemoryBufferCollectionFUCHSIA,
-- createBufferCollectionFUCHSIA,
-- destroyBufferCollectionFUCHSIA,
-- getBufferCollectionPropertiesFUCHSIA,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA
newtype BufferCollectionFUCHSIA
BufferCollectionFUCHSIA :: Word64 -> BufferCollectionFUCHSIA
-- | VkDeferredOperationKHR - A deferred operation
--
-- Description
--
-- This handle refers to a tracking structure which manages the execution
-- state for a deferred command.
--
-- See Also
--
-- VK_KHR_deferred_host_operations,
-- buildAccelerationStructuresKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createDeferredOperationKHR,
-- createRayTracingPipelinesKHR, deferredOperationJoinKHR,
-- destroyDeferredOperationKHR,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR
newtype DeferredOperationKHR
DeferredOperationKHR :: Word64 -> DeferredOperationKHR
-- | VkPrivateDataSlotEXT - Opaque handle to a private data slot object
--
-- See Also
--
-- VK_EXT_private_data, createPrivateDataSlotEXT,
-- destroyPrivateDataSlotEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype PrivateDataSlotEXT
PrivateDataSlotEXT :: Word64 -> PrivateDataSlotEXT
-- | VkCuModuleNVX - Stub description of VkCuModuleNVX
--
-- See Also
--
-- VK_NVX_binary_import, CuFunctionCreateInfoNVX,
-- createCuModuleNVX, destroyCuModuleNVX
newtype CuModuleNVX
CuModuleNVX :: Word64 -> CuModuleNVX
-- | VkCuFunctionNVX - Stub description of VkCuFunctionNVX
--
-- See Also
--
-- VK_NVX_binary_import, CuLaunchInfoNVX,
-- createCuFunctionNVX, destroyCuFunctionNVX
newtype CuFunctionNVX
CuFunctionNVX :: Word64 -> CuFunctionNVX
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | VkDisplayModeKHR - Opaque handle to a display mode object
--
-- See Also
--
-- VK_KHR_display, DisplayModePropertiesKHR,
-- DisplayPlaneInfo2KHR, DisplaySurfaceCreateInfoKHR,
-- createDisplayModeKHR, getDisplayPlaneCapabilitiesKHR
newtype DisplayModeKHR
DisplayModeKHR :: Word64 -> DisplayModeKHR
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkDebugReportCallbackEXT - Opaque handle to a debug report callback
-- object
--
-- See Also
--
-- VK_EXT_debug_report, createDebugReportCallbackEXT,
-- destroyDebugReportCallbackEXT
newtype DebugReportCallbackEXT
DebugReportCallbackEXT :: Word64 -> DebugReportCallbackEXT
-- | VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object
--
-- Description
--
-- The debug messenger will provide detailed feedback on the
-- application’s use of Vulkan when events of interest occur. When an
-- event of interest does occur, the debug messenger will submit a debug
-- message to the debug callback that was provided during its creation.
-- Additionally, the debug messenger is responsible with filtering out
-- debug messages that the callback is not interested in and will only
-- provide desired debug messages.
--
-- See Also
--
-- VK_EXT_debug_utils, createDebugUtilsMessengerEXT,
-- destroyDebugUtilsMessengerEXT
newtype DebugUtilsMessengerEXT
DebugUtilsMessengerEXT :: Word64 -> DebugUtilsMessengerEXT
-- | VkInstance - Opaque handle to an instance object
--
-- See Also
--
-- VK_VERSION_1_0, createAndroidSurfaceKHR,
-- createDebugReportCallbackEXT,
-- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT,
-- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT,
-- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA,
-- createInstance, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- debugReportMessageEXT, destroyDebugReportCallbackEXT,
-- destroyDebugUtilsMessengerEXT, destroyInstance,
-- destroySurfaceKHR, enumeratePhysicalDeviceGroups,
-- enumeratePhysicalDeviceGroupsKHR,
-- enumeratePhysicalDevices, getInstanceProcAddr,
-- submitDebugUtilsMessageEXT
data Instance
Instance :: Ptr Instance_T -> InstanceCmds -> Instance
[$sel:instanceHandle:Instance] :: Instance -> Ptr Instance_T
[$sel:instanceCmds:Instance] :: Instance -> InstanceCmds
-- | VkPhysicalDevice - Opaque handle to a physical device object
--
-- See Also
--
-- VK_VERSION_1_0, DeviceGroupDeviceCreateInfo,
-- PhysicalDeviceGroupProperties, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDevice, createDisplayModeKHR,
-- enumerateDeviceExtensionProperties,
-- enumerateDeviceLayerProperties,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
-- enumeratePhysicalDevices, getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneCapabilities2KHR,
-- getDisplayPlaneCapabilitiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- 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,
-- getPhysicalDeviceScreenPresentationSupportQNX,
-- getPhysicalDeviceSparseImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR,
-- getPhysicalDeviceToolPropertiesEXT,
-- vkGetPhysicalDeviceVideoCapabilitiesKHR,
-- vkGetPhysicalDeviceVideoFormatPropertiesKHR,
-- getPhysicalDeviceWaylandPresentationSupportKHR,
-- getPhysicalDeviceWin32PresentationSupportKHR,
-- getPhysicalDeviceXcbPresentationSupportKHR,
-- getPhysicalDeviceXlibPresentationSupportKHR,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- releaseDisplayEXT
data PhysicalDevice
PhysicalDevice :: Ptr PhysicalDevice_T -> InstanceCmds -> PhysicalDevice
[$sel:physicalDeviceHandle:PhysicalDevice] :: PhysicalDevice -> Ptr PhysicalDevice_T
[$sel:instanceCmds:PhysicalDevice] :: PhysicalDevice -> InstanceCmds
-- | VkDevice - Opaque handle to a device object
--
-- See Also
--
-- VK_VERSION_1_0, acquireFullScreenExclusiveModeEXT,
-- acquireNextImage2KHR, acquireNextImageKHR,
-- acquirePerformanceConfigurationINTEL,
-- acquireProfilingLockKHR, allocateCommandBuffers,
-- allocateDescriptorSets, allocateMemory,
-- bindAccelerationStructureMemoryNV, bindBufferMemory,
-- bindBufferMemory2, bindBufferMemory2KHR,
-- bindImageMemory, bindImageMemory2,
-- bindImageMemory2KHR, vkBindVideoSessionMemoryKHR,
-- buildAccelerationStructuresKHR, compileDeferredNV,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createAccelerationStructureKHR,
-- createAccelerationStructureNV, createBuffer,
-- createBufferCollectionFUCHSIA, createBufferView,
-- createCommandPool, createComputePipelines,
-- createCuFunctionNVX, createCuModuleNVX,
-- createDeferredOperationKHR, createDescriptorPool,
-- createDescriptorSetLayout,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR, createDevice,
-- createEvent, createFence, createFramebuffer,
-- createGraphicsPipelines, createImage,
-- createImageView, createIndirectCommandsLayoutNV,
-- createPipelineCache, createPipelineLayout,
-- createPrivateDataSlotEXT, createQueryPool,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, createRenderPass,
-- createRenderPass2, createRenderPass2KHR,
-- createSampler, createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR, createSemaphore,
-- createShaderModule, createSharedSwapchainsKHR,
-- createSwapchainKHR, createValidationCacheEXT,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT,
-- deferredOperationJoinKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, destroyDeferredOperationKHR,
-- destroyDescriptorPool, destroyDescriptorSetLayout,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR, destroyDevice,
-- destroyEvent, destroyFence, destroyFramebuffer,
-- destroyImage, destroyImageView,
-- destroyIndirectCommandsLayoutNV, destroyPipeline,
-- destroyPipelineCache, destroyPipelineLayout,
-- destroyPrivateDataSlotEXT, destroyQueryPool,
-- destroyRenderPass, destroySampler,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR, destroySemaphore,
-- destroyShaderModule, destroySwapchainKHR,
-- destroyValidationCacheEXT, vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, deviceWaitIdle,
-- displayPowerControlEXT, flushMappedMemoryRanges,
-- freeCommandBuffers, freeDescriptorSets,
-- freeMemory, getAccelerationStructureBuildSizesKHR,
-- getAccelerationStructureDeviceAddressKHR,
-- getAccelerationStructureHandleNV,
-- getAccelerationStructureMemoryRequirementsNV,
-- getAndroidHardwareBufferPropertiesANDROID,
-- getBufferCollectionPropertiesFUCHSIA,
-- getBufferDeviceAddress, getBufferDeviceAddressEXT,
-- getBufferDeviceAddressKHR, getBufferMemoryRequirements,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR,
-- getBufferOpaqueCaptureAddress,
-- getBufferOpaqueCaptureAddressKHR,
-- getCalibratedTimestampsEXT,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR,
-- getDeviceAccelerationStructureCompatibilityKHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceGroupPeerMemoryFeatures,
-- getDeviceGroupPeerMemoryFeaturesKHR,
-- getDeviceGroupPresentCapabilitiesKHR,
-- getDeviceGroupSurfacePresentModes2EXT,
-- getDeviceGroupSurfacePresentModesKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR,
-- getDeviceMemoryCommitment,
-- getDeviceMemoryOpaqueCaptureAddress,
-- getDeviceMemoryOpaqueCaptureAddressKHR,
-- getDeviceProcAddr, getDeviceQueue,
-- getDeviceQueue2,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getEventStatus, getFenceFdKHR, getFenceStatus,
-- getFenceWin32HandleKHR,
-- getGeneratedCommandsMemoryRequirementsNV,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements, getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR,
-- getImageSparseMemoryRequirements,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR,
-- getImageSubresourceLayout, getImageViewAddressNVX,
-- getImageViewHandleNVX,
-- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryRemoteAddressNV, getMemoryWin32HandleKHR,
-- getMemoryWin32HandleNV,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandleFUCHSIA,
-- getMemoryZirconHandlePropertiesFUCHSIA,
-- getPastPresentationTimingGOOGLE,
-- getPerformanceParameterINTEL, getPipelineCacheData,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutablePropertiesKHR,
-- getPipelineExecutableStatisticsKHR, getPrivateDataEXT,
-- getQueryPoolResults,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR,
-- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity,
-- getSemaphoreCounterValue, getSemaphoreCounterValueKHR,
-- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR,
-- getSemaphoreZirconHandleFUCHSIA, getShaderInfoAMD,
-- getSwapchainCounterEXT, getSwapchainImagesKHR,
-- getSwapchainStatusKHR, getValidationCacheDataEXT,
-- vkGetVideoSessionMemoryRequirementsKHR,
-- importFenceFdKHR, importFenceWin32HandleKHR,
-- importSemaphoreFdKHR, importSemaphoreWin32HandleKHR,
-- importSemaphoreZirconHandleFUCHSIA,
-- initializePerformanceApiINTEL,
-- invalidateMappedMemoryRanges, mapMemory,
-- mergePipelineCaches, mergeValidationCachesEXT,
-- registerDeviceEventEXT, registerDisplayEventEXT,
-- releaseFullScreenExclusiveModeEXT,
-- releasePerformanceConfigurationINTEL,
-- releaseProfilingLockKHR, resetCommandPool,
-- resetDescriptorPool, resetEvent, resetFences,
-- resetQueryPool, resetQueryPoolEXT,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA,
-- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT,
-- setDeviceMemoryPriorityEXT, setEvent,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- setPrivateDataEXT, signalSemaphore,
-- signalSemaphoreKHR, trimCommandPool,
-- trimCommandPoolKHR, uninitializePerformanceApiINTEL,
-- unmapMemory, updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR,
-- updateDescriptorSets, vkUpdateVideoSessionParametersKHR,
-- waitForFences, waitForPresentKHR, waitSemaphores,
-- waitSemaphoresKHR,
-- writeAccelerationStructuresPropertiesKHR
data Device
Device :: Ptr Device_T -> DeviceCmds -> Device
[$sel:deviceHandle:Device] :: Device -> Ptr Device_T
[$sel:deviceCmds:Device] :: Device -> DeviceCmds
-- | VkQueue - Opaque handle to a queue object
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceQueue, getDeviceQueue2,
-- getQueueCheckpointData2NV, getQueueCheckpointDataNV,
-- queueBeginDebugUtilsLabelEXT, queueBindSparse,
-- queueEndDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT, queuePresentKHR,
-- queueSetPerformanceConfigurationINTEL, queueSubmit,
-- queueSubmit2KHR, queueWaitIdle
data Queue
Queue :: Ptr Queue_T -> DeviceCmds -> Queue
[$sel:queueHandle:Queue] :: Queue -> Ptr Queue_T
[$sel:deviceCmds:Queue] :: Queue -> DeviceCmds
-- | VkCommandBuffer - Opaque handle to a command buffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferSubmitInfoKHR,
-- SubmitInfo, allocateCommandBuffers,
-- beginCommandBuffer, cmdBeginConditionalRenderingEXT,
-- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdBeginRenderPass,
-- cmdBeginRenderPass2, cmdBeginRenderPass2KHR,
-- cmdBeginRenderingKHR, cmdBeginTransformFeedbackEXT,
-- vkCmdBeginVideoCodingKHR, cmdBindDescriptorSets,
-- cmdBindIndexBuffer, cmdBindInvocationMaskHUAWEI,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdBindShadingRateImageNV,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBlitImage, cmdBlitImage2KHR,
-- cmdBuildAccelerationStructureNV,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR, cmdClearAttachments,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- vkCmdControlVideoCodingKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureNV,
-- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer,
-- cmdCopyBuffer2KHR, cmdCopyBufferToImage,
-- cmdCopyBufferToImage2KHR, cmdCopyImage,
-- cmdCopyImage2KHR, cmdCopyImageToBuffer,
-- cmdCopyImageToBuffer2KHR,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- cmdCopyQueryPoolResults, cmdCuLaunchKernelNVX,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerEndEXT,
-- cmdDebugMarkerInsertEXT, vkCmdDecodeVideoKHR,
-- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR,
-- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV,
-- cmdDrawMultiEXT, cmdDrawMultiIndexedEXT,
-- vkCmdEncodeVideoKHR, cmdEndConditionalRenderingEXT,
-- cmdEndDebugUtilsLabelEXT, cmdEndQuery,
-- cmdEndQueryIndexedEXT, cmdEndRenderPass,
-- cmdEndRenderPass2, cmdEndRenderPass2KHR,
-- cmdEndRenderingKHR, cmdEndTransformFeedbackEXT,
-- vkCmdEndVideoCodingKHR, cmdExecuteCommands,
-- cmdExecuteGeneratedCommandsNV, cmdFillBuffer,
-- cmdInsertDebugUtilsLabelEXT, cmdNextSubpass,
-- cmdNextSubpass2, cmdNextSubpass2KHR,
-- cmdPipelineBarrier, cmdPipelineBarrier2KHR,
-- cmdPreprocessGeneratedCommandsNV, cmdPushConstants,
-- cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent,
-- cmdResetEvent2KHR, cmdResetQueryPool,
-- cmdResolveImage, cmdResolveImage2KHR,
-- cmdSetBlendConstants, cmdSetCheckpointNV,
-- cmdSetCoarseSampleOrderNV, cmdSetColorWriteEnableEXT,
-- cmdSetCullModeEXT, cmdSetDepthBias,
-- cmdSetDepthBiasEnableEXT, cmdSetDepthBounds,
-- cmdSetDepthBoundsTestEnableEXT, cmdSetDepthCompareOpEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetDeviceMask, cmdSetDeviceMaskKHR,
-- cmdSetDiscardRectangleEXT, cmdSetEvent,
-- cmdSetEvent2KHR, cmdSetExclusiveScissorNV,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT,
-- cmdSetLineStippleEXT, cmdSetLineWidth,
-- cmdSetLogicOpEXT, cmdSetPatchControlPointsEXT,
-- cmdSetPerformanceMarkerINTEL,
-- cmdSetPerformanceOverrideINTEL,
-- cmdSetPerformanceStreamMarkerINTEL,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetPrimitiveTopologyEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetRayTracingPipelineStackSizeKHR,
-- cmdSetSampleLocationsEXT, cmdSetScissor,
-- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask,
-- cmdSetStencilOpEXT, cmdSetStencilReference,
-- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask,
-- cmdSetVertexInputEXT, cmdSetViewport,
-- cmdSetViewportShadingRatePaletteNV,
-- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT,
-- cmdSubpassShadingHUAWEI, cmdTraceRaysIndirectKHR,
-- cmdTraceRaysKHR, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWaitEvents, cmdWaitEvents2KHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- endCommandBuffer, freeCommandBuffers,
-- resetCommandBuffer
data CommandBuffer
CommandBuffer :: Ptr CommandBuffer_T -> DeviceCmds -> CommandBuffer
[$sel:commandBufferHandle:CommandBuffer] :: CommandBuffer -> Ptr CommandBuffer_T
[$sel:deviceCmds:CommandBuffer] :: CommandBuffer -> DeviceCmds
-- | VkDeviceMemory - Opaque handle to a device memory object
--
-- See Also
--
-- VK_VERSION_1_0, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryInfo, BindImageMemoryInfo,
-- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA, SparseImageMemoryBind,
-- SparseMemoryBind, VkVideoBindMemoryKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory,
-- bindBufferMemory, bindImageMemory, freeMemory,
-- getDeviceMemoryCommitment, getMemoryWin32HandleNV,
-- mapMemory, setDeviceMemoryPriorityEXT,
-- unmapMemory
newtype DeviceMemory
DeviceMemory :: Word64 -> DeviceMemory
-- | VkCommandPool - Opaque handle to a command pool object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo,
-- createCommandPool, destroyCommandPool,
-- freeCommandBuffers, resetCommandPool,
-- trimCommandPool, trimCommandPoolKHR
newtype CommandPool
CommandPool :: Word64 -> CommandPool
-- | VkBuffer - Opaque handle to a buffer object
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureCreateInfoKHR,
-- BindBufferMemoryInfo, BufferDeviceAddressInfo,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2, BufferViewCreateInfo,
-- ConditionalRenderingBeginInfoEXT, CopyBufferInfo2KHR,
-- CopyBufferToImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DescriptorBufferInfo, GeneratedCommandsInfoNV,
-- GeometryAABBNV, GeometryTrianglesNV,
-- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo,
-- SparseBufferMemoryBindInfo, VkVideoDecodeInfoKHR,
-- VkVideoEncodeInfoKHR, bindBufferMemory,
-- cmdBeginTransformFeedbackEXT, cmdBindIndexBuffer,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBuildAccelerationStructureNV, cmdCopyBuffer,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer,
-- cmdCopyQueryPoolResults, cmdDispatchIndirect,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdEndTransformFeedbackEXT,
-- cmdFillBuffer, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- createBuffer, destroyBuffer,
-- getBufferMemoryRequirements
newtype Buffer
Buffer :: Word64 -> Buffer
-- | VkBufferView - Opaque handle to a buffer view object
--
-- See Also
--
-- VK_VERSION_1_0, WriteDescriptorSet,
-- createBufferView, destroyBufferView
newtype BufferView
BufferView :: Word64 -> BufferView
-- | VkImage - Opaque handle to an image object
--
-- See Also
--
-- VK_VERSION_1_0, BindImageMemoryInfo,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImageSparseMemoryRequirementsInfo2, ImageViewCreateInfo,
-- MemoryDedicatedAllocateInfo, ResolveImageInfo2KHR,
-- SparseImageMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, bindImageMemory,
-- cmdBlitImage, cmdClearColorImage,
-- cmdClearDepthStencilImage, cmdCopyBufferToImage,
-- cmdCopyImage, cmdCopyImageToBuffer,
-- cmdResolveImage, createImage, destroyImage,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements,
-- getImageSparseMemoryRequirements,
-- getImageSubresourceLayout, getSwapchainImagesKHR
newtype Image
Image :: Word64 -> Image
-- | VkImageView - Opaque handle to an image view object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- FramebufferCreateInfo, ImageViewHandleInfoNVX,
-- RenderPassAttachmentBeginInfo,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- VkVideoPictureResourceKHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, createImageView,
-- destroyImageView, getImageViewAddressNVX
newtype ImageView
ImageView :: Word64 -> ImageView
-- | VkShaderModule - Opaque handle to a shader module object
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- createShaderModule, destroyShaderModule
newtype ShaderModule
ShaderModule :: Word64 -> ShaderModule
-- | VkPipeline - Opaque handle to a pipeline object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- PipelineExecutableInfoKHR, PipelineInfoKHR,
-- PipelineLibraryCreateInfoKHR,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindPipeline,
-- cmdBindPipelineShaderGroupNV, compileDeferredNV,
-- createComputePipelines, createGraphicsPipelines,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipeline,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR, getShaderInfoAMD
newtype Pipeline
Pipeline :: Word64 -> Pipeline
-- | VkPipelineLayout - Opaque handle to a pipeline layout object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- GraphicsPipelineCreateInfo,
-- IndirectCommandsLayoutTokenNV,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindDescriptorSets,
-- cmdPushConstants, cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR,
-- createPipelineLayout, destroyPipelineLayout
newtype PipelineLayout
PipelineLayout :: Word64 -> PipelineLayout
-- | VkSampler - Opaque handle to a sampler object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- DescriptorSetLayoutBinding, ImageViewHandleInfoNVX,
-- createSampler, destroySampler
newtype Sampler
Sampler :: Word64 -> Sampler
-- | VkDescriptorSet - Opaque handle to a descriptor set object
--
-- See Also
--
-- VK_VERSION_1_0, CopyDescriptorSet,
-- WriteDescriptorSet, allocateDescriptorSets,
-- cmdBindDescriptorSets, freeDescriptorSets,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorSet
DescriptorSet :: Word64 -> DescriptorSet
-- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout
-- object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- PipelineLayoutCreateInfo, createDescriptorSetLayout,
-- destroyDescriptorSetLayout
newtype DescriptorSetLayout
DescriptorSetLayout :: Word64 -> DescriptorSetLayout
-- | VkFence - Opaque handle to a fence object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- acquireNextImageKHR, createFence, destroyFence,
-- getFenceStatus, queueBindSparse, queueSubmit,
-- queueSubmit2KHR, registerDeviceEventEXT,
-- registerDisplayEventEXT, resetFences,
-- waitForFences
newtype Fence
Fence :: Word64 -> Fence
-- | VkSemaphore - Opaque handle to a semaphore object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- BindSparseInfo, ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA, PresentInfoKHR,
-- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreWaitInfo, SubmitInfo,
-- acquireNextImageKHR, createSemaphore,
-- destroySemaphore, getSemaphoreCounterValue,
-- getSemaphoreCounterValueKHR
newtype Semaphore
Semaphore :: Word64 -> Semaphore
-- | VkEvent - Opaque handle to an event object
--
-- See Also
--
-- VK_VERSION_1_0, cmdResetEvent, cmdResetEvent2KHR,
-- cmdSetEvent, cmdSetEvent2KHR, cmdWaitEvents,
-- cmdWaitEvents2KHR, createEvent, destroyEvent,
-- getEventStatus, resetEvent, setEvent
newtype Event
Event :: Word64 -> Event
-- | VkQueryPool - Opaque handle to a query pool object
--
-- See Also
--
-- VK_VERSION_1_0, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdCopyQueryPoolResults,
-- cmdEndQuery, cmdEndQueryIndexedEXT,
-- cmdResetQueryPool,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- createQueryPool, destroyQueryPool,
-- getQueryPoolResults, resetQueryPool,
-- resetQueryPoolEXT
newtype QueryPool
QueryPool :: Word64 -> QueryPool
-- | VkFramebuffer - Opaque handle to a framebuffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- RenderPassBeginInfo, createFramebuffer,
-- destroyFramebuffer
newtype Framebuffer
Framebuffer :: Word64 -> Framebuffer
-- | VkRenderPass - Opaque handle to a render pass object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- FramebufferCreateInfo, GraphicsPipelineCreateInfo,
-- RenderPassBeginInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- createRenderPass, createRenderPass2,
-- createRenderPass2KHR, destroyRenderPass,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getRenderAreaGranularity
newtype RenderPass
RenderPass :: Word64 -> RenderPass
-- | VkPipelineCache - Opaque handle to a pipeline cache object
--
-- See Also
--
-- VK_VERSION_1_0, createComputePipelines,
-- createGraphicsPipelines, createPipelineCache,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipelineCache,
-- getPipelineCacheData, mergePipelineCaches
newtype PipelineCache
PipelineCache :: Word64 -> PipelineCache
-- | VkDescriptorUpdateTemplate - Opaque handle to a descriptor update
-- template
--
-- See Also
--
-- VK_VERSION_1_1, cmdPushDescriptorSetWithTemplateKHR,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorUpdateTemplate
DescriptorUpdateTemplate :: Word64 -> DescriptorUpdateTemplate
-- | VkSamplerYcbcrConversion - Opaque handle to a device-specific sampler
-- Y′CBCR conversion description
--
-- See Also
--
-- VK_VERSION_1_1, SamplerYcbcrConversionInfo,
-- createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR
newtype SamplerYcbcrConversion
SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance GHC.Classes.Ord Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance GHC.Classes.Eq Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.ValidationCacheEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.ValidationCacheEXT
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.ValidationCacheEXT
instance GHC.Classes.Ord Vulkan.Extensions.Handles.ValidationCacheEXT
instance GHC.Classes.Eq Vulkan.Extensions.Handles.ValidationCacheEXT
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.AccelerationStructureKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.AccelerationStructureKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.AccelerationStructureKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.AccelerationStructureKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.AccelerationStructureKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.AccelerationStructureNV
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.AccelerationStructureNV
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.AccelerationStructureNV
instance GHC.Classes.Ord Vulkan.Extensions.Handles.AccelerationStructureNV
instance GHC.Classes.Eq Vulkan.Extensions.Handles.AccelerationStructureNV
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance GHC.Classes.Ord Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance GHC.Classes.Eq Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance GHC.Classes.Ord Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.DeferredOperationKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.DeferredOperationKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.DeferredOperationKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.DeferredOperationKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.DeferredOperationKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance GHC.Classes.Ord Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance GHC.Classes.Eq Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.CuModuleNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.CuModuleNVX
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.CuModuleNVX
instance GHC.Classes.Ord Vulkan.Extensions.Handles.CuModuleNVX
instance GHC.Classes.Eq Vulkan.Extensions.Handles.CuModuleNVX
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.CuFunctionNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.CuFunctionNVX
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.CuFunctionNVX
instance GHC.Classes.Ord Vulkan.Extensions.Handles.CuFunctionNVX
instance GHC.Classes.Eq Vulkan.Extensions.Handles.CuFunctionNVX
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.DisplayKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.DisplayKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.DisplayKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.DisplayKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.DisplayKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.DisplayModeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.DisplayModeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.DisplayModeKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.DisplayModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.DisplayModeKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.SurfaceKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.SurfaceKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.SurfaceKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.SurfaceKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.SurfaceKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.SwapchainKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.SwapchainKHR
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.SwapchainKHR
instance GHC.Classes.Ord Vulkan.Extensions.Handles.SwapchainKHR
instance GHC.Classes.Eq Vulkan.Extensions.Handles.SwapchainKHR
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance GHC.Classes.Ord Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance GHC.Classes.Eq Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance Vulkan.Core10.APIConstants.IsHandle Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance Foreign.Storable.Storable Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance GHC.Classes.Ord Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance GHC.Classes.Eq Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance GHC.Show.Show Vulkan.Extensions.Handles.DebugUtilsMessengerEXT
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance GHC.Show.Show Vulkan.Extensions.Handles.DebugReportCallbackEXT
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.SwapchainKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.SwapchainKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.SurfaceKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.SurfaceKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.DisplayModeKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.DisplayModeKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.DisplayKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.DisplayKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.CuFunctionNVX
instance GHC.Show.Show Vulkan.Extensions.Handles.CuFunctionNVX
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.CuModuleNVX
instance GHC.Show.Show Vulkan.Extensions.Handles.CuModuleNVX
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance GHC.Show.Show Vulkan.Extensions.Handles.PrivateDataSlotEXT
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.DeferredOperationKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.DeferredOperationKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.Handles.BufferCollectionFUCHSIA
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance GHC.Show.Show Vulkan.Extensions.Handles.PerformanceConfigurationINTEL
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.AccelerationStructureNV
instance GHC.Show.Show Vulkan.Extensions.Handles.AccelerationStructureNV
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.AccelerationStructureKHR
instance GHC.Show.Show Vulkan.Extensions.Handles.AccelerationStructureKHR
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.ValidationCacheEXT
instance GHC.Show.Show Vulkan.Extensions.Handles.ValidationCacheEXT
instance Vulkan.Core10.APIConstants.HasObjectType Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
instance GHC.Show.Show Vulkan.Extensions.Handles.IndirectCommandsLayoutNV
-- | Name
--
-- VK_QNX_screen_surface - instance extension
--
-- VK_QNX_screen_surface
--
--
-- - Name String VK_QNX_screen_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 379
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-01-11
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Mike Gorchak, BlackBerry
-- Limited
--
--
-- Description
--
-- The VK_QNX_screen_surface extension is an instance extension.
-- It provides a mechanism to create a SurfaceKHR object (defined
-- by the VK_KHR_surface extension) that refers to a QNX Screen
-- window, as well as a query to determine support for rendering
-- to a QNX Screen compositor.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-01-11 (Mike Gorchak)
--
--
-- See Also
--
-- ScreenSurfaceCreateFlagsQNX, ScreenSurfaceCreateInfoQNX,
-- createScreenSurfaceQNX,
-- getPhysicalDeviceScreenPresentationSupportQNX
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_QNX_screen_surface
-- | vkCreateScreenSurfaceQNX - Create a SurfaceKHR object for a QNX
-- Screen window
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_QNX_screen_surface, AllocationCallbacks,
-- Instance, ScreenSurfaceCreateInfoQNX, SurfaceKHR
createScreenSurfaceQNX :: forall io. MonadIO io => Instance -> ScreenSurfaceCreateInfoQNX -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceScreenPresentationSupportQNX - Query physical
-- device for presentation to QNX Screen
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_QNX_screen_surface, PhysicalDevice
getPhysicalDeviceScreenPresentationSupportQNX :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> Ptr Screen_window -> io Bool
-- | VkScreenSurfaceCreateInfoQNX - Structure specifying parameters of a
-- newly created QNX Screen surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_QNX_screen_surface, ScreenSurfaceCreateFlagsQNX,
-- StructureType, createScreenSurfaceQNX
data ScreenSurfaceCreateInfoQNX
ScreenSurfaceCreateInfoQNX :: ScreenSurfaceCreateFlagsQNX -> Ptr Screen_context -> Ptr Screen_window -> ScreenSurfaceCreateInfoQNX
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:ScreenSurfaceCreateInfoQNX] :: ScreenSurfaceCreateInfoQNX -> ScreenSurfaceCreateFlagsQNX
-- | context and window are QNX Screen context
-- and window to associate the surface with.
--
-- context must point to a valid QNX Screen
-- struct _screen_context
[$sel:context:ScreenSurfaceCreateInfoQNX] :: ScreenSurfaceCreateInfoQNX -> Ptr Screen_context
-- | window must point to a valid QNX Screen
-- struct _screen_window
[$sel:window:ScreenSurfaceCreateInfoQNX] :: ScreenSurfaceCreateInfoQNX -> Ptr Screen_window
-- | VkScreenSurfaceCreateFlagsQNX - Reserved for future use
--
-- Description
--
-- ScreenSurfaceCreateFlagsQNX is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_QNX_screen_surface, ScreenSurfaceCreateInfoQNX
newtype ScreenSurfaceCreateFlagsQNX
ScreenSurfaceCreateFlagsQNX :: Flags -> ScreenSurfaceCreateFlagsQNX
type QNX_SCREEN_SURFACE_SPEC_VERSION = 1
pattern QNX_SCREEN_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type QNX_SCREEN_SURFACE_EXTENSION_NAME = "VK_QNX_screen_surface"
pattern QNX_SCREEN_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data Screen_window
data Screen_context
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance Data.Bits.Bits Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance GHC.Classes.Ord Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance GHC.Classes.Eq Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance GHC.Classes.Eq Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance GHC.Show.Show Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateInfoQNX
instance GHC.Show.Show Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
instance GHC.Read.Read Vulkan.Extensions.VK_QNX_screen_surface.ScreenSurfaceCreateFlagsQNX
-- | Name
--
-- VK_NV_acquire_winrt_display - device extension
--
-- VK_NV_acquire_winrt_display
--
--
-- - Name String
-- VK_NV_acquire_winrt_display
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 346
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_direct_mode_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-09-29
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- This extension allows an application to take exclusive control of a
-- display on Windows 10 provided that the display is not already
-- controlled by a compositor. Examples of compositors include the
-- Windows desktop compositor, other applications using this Vulkan
-- extension, and applications that “Acquire” a
-- “DisplayTarget” using a “WinRT” command such as
-- “winrt::Windows::Devices::Display::Core::DisplayManager.TryAcquireTarget()”.
--
-- When control is acquired the application has exclusive access to the
-- display until control is released or the application terminates. An
-- application’s attempt to acquire is denied if a different application
-- has already acquired the display.
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What should the platform substring be for this extension:
--
-- RESOLVED: The platform substring is “Winrt”.
--
-- The substring “Winrt” matches the fact that the OS API exposing the
-- acquire and release functionality is called “WinRT”.
--
-- The substring “Win32” is wrong because the related “WinRT” API is
-- explicitly not a “Win32” API. “WinRT” is a competing API family
-- to the “Win32” API family.
--
-- The substring “Windows” is suboptimal because there could be more than
-- one relevant API on the Windows platform. There is preference to use
-- the more-specific substring “Winrt”.
--
-- 2) Should acquireWinrtDisplayNV take a winRT DisplayTarget, or
-- a Vulkan display handle as input?
--
-- RESOLVED: A Vulkan display handle. This matches the design of
-- acquireXlibDisplayEXT.
--
-- 3) Should the acquire command be platform-independent named
-- “vkAcquireDisplayNV”, or platform-specific named
-- “vkAcquireWinrtDisplayNV”?
--
-- RESOLVED: Add a platform-specific command.
--
-- The inputs to the Acquire command are all Vulkan types. None are WinRT
-- types. This opens the possibility of the winrt extension defining a
-- platform-independent acquire command.
--
-- The X11 acquire command does need to accept a platform-specific
-- parameter. This could be handled by adding to a platform-independent
-- acquire command a params struct to which platform-dependent types can
-- be chained by pNext pointer.
--
-- The prevailing opinion is that it would be odd to create a second
-- platform-independent function that is used on the Windows 10 platform,
-- but that is not used for the X11 platform. Since a Windows 10
-- platform-specific command is needed anyway for converting between
-- vkDisplayKHR and platform-native handles, opinion was to create a
-- platform-specific acquire function.
--
-- 4) Should the getWinrtDisplayNV parameter identifying a display
-- be named “deviceRelativeId” or “adapterRelativeId”?
--
-- RESOLVED: The WinRT name is “AdapterRelativeId”. The name
-- “adapter” is the Windows analog to a Vulkan “physical device”. Vulkan
-- already has precedent to use the name deviceLUID for the
-- concept that Windows APIs call “AdapterLuid”. Keeping form with this
-- precedent, the name “deviceRelativeId” is chosen.
--
-- 5) Does acquireWinrtDisplayNV cause the Windows desktop
-- compositor to release a display?
--
-- RESOLVED: No. acquireWinrtDisplayNV does not itself
-- cause the Windows desktop compositor to release a display. This action
-- must be performed outside of Vulkan.
--
-- Beginning with Windows 10 version 2004 it is possible to cause the
-- Windows desktop compositor to release a display by using the “Advanced
-- display settings” sub-page of the “Display settings” control panel.
-- See
-- https://docs.microsoft.com/en-us/windows-hardware/drivers/display/specialized-monitors
--
-- 6) Where can one find additional information about custom compositors
-- for Windows 10?
--
-- RESOLVED: Relevant references are as follows.
--
-- According to Microsoft’s documentation on "building a custom
-- compositor", the ability to write a custom compositor is not a
-- replacement for a fullscreen desktop window. The feature is for
-- writing compositor apps that drive specialized hardware.
--
-- Only certain editions of Windows 10 support custom compositors,
-- "documented here". The product type can be queried from Windows
-- 10. See
-- https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getproductinfo
--
-- Version History
--
--
-- - Revision 1, 2020-09-29 (Jeff Juliano)
--
--
-- See Also
--
-- acquireWinrtDisplayNV, getWinrtDisplayNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_acquire_winrt_display
-- | vkAcquireWinrtDisplayNV - Acquire access to a VkDisplayKHR
--
-- Description
--
-- All permissions necessary to control the display are granted to the
-- Vulkan instance associated with physicalDevice until the
-- display is released or the application is terminated. Permission to
-- access the display may be revoked by events that cause Windows
-- 10 itself to lose access to display. If this has happened,
-- operations which require access to the display must fail with
-- an appropriate error code. If permission to access display
-- has already been acquired by another entity, the call must
-- return the error code ERROR_INITIALIZATION_FAILED.
--
-- Note
--
-- The Vulkan instance acquires control of a
-- “winrt::Windows::Devices::Display::Core::DisplayTarget” by
-- performing an operation equivalent to
-- “winrt::Windows::Devices::Display::Core::DisplayManager.TryAcquireTarget()”
-- on the “DisplayTarget”.
--
-- Note
--
-- One example of when Windows 10 loses access to a display is when the
-- display is hot-unplugged.
--
-- Note
--
-- One example of when a display has already been acquired by another
-- entity is when the Windows desktop compositor (DWM) is in control of
-- the display. Beginning with Windows 10 version 2004 it is possible to
-- cause DWM to release a display by using the “Advanced display
-- settings” sub-page of the “Display settings” control panel.
-- acquireWinrtDisplayNV does not itself cause DWM to release a
-- display; this action must be performed outside of Vulkan.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_acquire_winrt_display, DisplayKHR,
-- PhysicalDevice
acquireWinrtDisplayNV :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> io ()
-- | vkGetWinrtDisplayNV - Query the VkDisplayKHR corresponding to a WinRT
-- DisplayTarget
--
-- Description
--
-- If there is no DisplayKHR corresponding to
-- deviceRelativeId on physicalDevice,
-- NULL_HANDLE must be returned in pDisplay.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_acquire_winrt_display, DisplayKHR,
-- PhysicalDevice
getWinrtDisplayNV :: forall io. MonadIO io => PhysicalDevice -> ("deviceRelativeId" ::: Word32) -> io DisplayKHR
type NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1
pattern NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
type NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME = "VK_NV_acquire_winrt_display"
pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | Name
--
-- VK_NN_vi_surface - instance extension
--
-- VK_NN_vi_surface
--
--
-- - Name String VK_NN_vi_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 63
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-02
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Mathias Heyer,
-- NVIDIA
- Michael Chock, NVIDIA
- Yasuhiro Yoshioka,
-- Nintendo
- Daniel Koch, NVIDIA
--
--
-- Description
--
-- The VK_NN_vi_surface extension is an instance extension. It
-- provides a mechanism to create a SurfaceKHR object (defined by
-- the VK_KHR_surface extension) associated with an
-- nn::vi::Layer.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does VI need a way to query for compatibility between a particular
-- physical device (and queue family?) and a specific VI display?
--
-- RESOLVED: No. It is currently always assumed that the device
-- and display will always be compatible.
--
-- 2) ViSurfaceCreateInfoNN::pWindow is intended to store
-- an nn::vi::NativeWindowHandle, but its
-- declared type is a bare void* to store the window handle. Why
-- the discrepancy?
--
-- RESOLVED: It is for C compatibility. The definition for the VI
-- native window handle type is defined inside the
-- nn::vi C++ namespace. This prevents its use in C
-- source files. nn::vi::NativeWindowHandle is
-- always defined to be void*, so this extension uses
-- void* to match.
--
-- Version History
--
--
-- - Revision 1, 2016-12-2 (Michael Chock)
--
--
-- See Also
--
-- ViSurfaceCreateFlagsNN, ViSurfaceCreateInfoNN,
-- createViSurfaceNN
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NN_vi_surface
-- | vkCreateViSurfaceNN - Create a SurfaceKHR object for a VI layer
--
-- Description
--
-- During the lifetime of a surface created using a particular
-- nn::vi::NativeWindowHandle, applications
-- must not attempt to create another surface for the same
-- nn::vi::Layer or attempt to connect to the
-- same nn::vi::Layer through other platform
-- mechanisms.
--
-- If the native window is created with a specified size,
-- currentExtent will reflect that size. In this case,
-- applications should use the same size for the swapchain’s
-- imageExtent. Otherwise, the currentExtent will have
-- the special value (0xFFFFFFFF, 0xFFFFFFFF), indicating that
-- applications are expected to choose an appropriate size for the
-- swapchain’s imageExtent (e.g., by matching the result of a
-- call to nn::vi::GetDisplayResolution).
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- ViSurfaceCreateInfoNN structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSurface must be a valid pointer to a
-- SurfaceKHR handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NN_vi_surface, AllocationCallbacks, Instance,
-- SurfaceKHR, ViSurfaceCreateInfoNN
createViSurfaceNN :: forall io. MonadIO io => Instance -> ViSurfaceCreateInfoNN -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkViSurfaceCreateInfoNN - Structure specifying parameters of a newly
-- created VI surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NN_vi_surface, StructureType,
-- ViSurfaceCreateFlagsNN, createViSurfaceNN
data ViSurfaceCreateInfoNN
ViSurfaceCreateInfoNN :: ViSurfaceCreateFlagsNN -> Ptr () -> ViSurfaceCreateInfoNN
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:ViSurfaceCreateInfoNN] :: ViSurfaceCreateInfoNN -> ViSurfaceCreateFlagsNN
-- | window is the
-- nn::vi::NativeWindowHandle for the
-- nn::vi::Layer with which to associate the
-- surface.
--
-- window must be a valid
-- nn::vi::NativeWindowHandle
[$sel:window:ViSurfaceCreateInfoNN] :: ViSurfaceCreateInfoNN -> Ptr ()
-- | VkViSurfaceCreateFlagsNN - Reserved for future use
--
-- Description
--
-- ViSurfaceCreateFlagsNN is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_NN_vi_surface, ViSurfaceCreateInfoNN
newtype ViSurfaceCreateFlagsNN
ViSurfaceCreateFlagsNN :: Flags -> ViSurfaceCreateFlagsNN
type NN_VI_SURFACE_SPEC_VERSION = 1
pattern NN_VI_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type NN_VI_SURFACE_EXTENSION_NAME = "VK_NN_vi_surface"
pattern NN_VI_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance Data.Bits.Bits Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance GHC.Classes.Ord Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance GHC.Classes.Eq Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance GHC.Show.Show Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateInfoNN
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateInfoNN
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateInfoNN
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateInfoNN
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateInfoNN
instance GHC.Show.Show Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
instance GHC.Read.Read Vulkan.Extensions.VK_NN_vi_surface.ViSurfaceCreateFlagsNN
-- | Name
--
-- VK_MVK_macos_surface - instance extension
--
-- VK_MVK_macos_surface
--
--
-- - Name String VK_MVK_macos_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 124
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Deprecation state
- Deprecated by
-- VK_EXT_metal_surface extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-31
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Bill Hollings, The Brenwill
-- Workshop Ltd.
--
--
-- Description
--
-- The VK_MVK_macos_surface extension is an instance extension.
-- It provides a mechanism to create a SurfaceKHR object (defined
-- by the VK_KHR_surface extension) based on an NSView,
-- the native surface type of macOS, which is underpinned by a
-- CAMetalLayer, to support rendering to the surface using Apple’s
-- Metal framework.
--
-- Deprecation by VK_EXT_metal_surface
--
-- The VK_MVK_macos_surface extension is considered deprecated
-- and has been superseded by the VK_EXT_metal_surface
-- extension.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-15 (Bill Hollings)
--
--
--
-- - Revision 2, 2017-02-24 (Bill Hollings)
- Minor syntax fix to
-- emphasize firm requirement for NSView to be backed by a
-- CAMetalLayer.
-- - Revision 3, 2020-07-31 (Bill Hollings)
- Update documentation
-- on requirements for NSView.
- Mark as deprecated by
-- VK_EXT_metal_surface.
--
--
-- See Also
--
-- MacOSSurfaceCreateFlagsMVK, MacOSSurfaceCreateInfoMVK,
-- createMacOSSurfaceMVK
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_MVK_macos_surface
-- | vkCreateMacOSSurfaceMVK - Create a VkSurfaceKHR object for a macOS
-- NSView
--
-- Parameters
--
-- Note
--
-- The createMacOSSurfaceMVK function is considered deprecated and
-- has been superseded by createMetalSurfaceEXT from the
-- VK_EXT_metal_surface extension.
--
-- Description
--
--
-- - instance is the instance with which to associate the
-- surface.
--
--
--
-- - pCreateInfo is a pointer to a
-- MacOSSurfaceCreateInfoMVK structure containing parameters
-- affecting the creation of the surface object.
-- - pAllocator is the allocator used for host memory
-- allocated for the surface object when there is no more specific
-- allocator available (see Memory Allocation).
-- - pSurface is a pointer to a SurfaceKHR handle in
-- which the created surface object is returned.
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_MVK_macos_surface, AllocationCallbacks,
-- Instance, MacOSSurfaceCreateInfoMVK, SurfaceKHR
createMacOSSurfaceMVK :: forall io. MonadIO io => Instance -> MacOSSurfaceCreateInfoMVK -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkMacOSSurfaceCreateInfoMVK - Structure specifying parameters of a
-- newly created macOS surface object
--
-- Valid Usage
--
--
--
--
-- - If pView is an NSView object, it must be
-- a valid NSView, must be backed by a CALayer
-- object of type CAMetalLayer, and createMacOSSurfaceMVK
-- must be called on the main thread
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
--
--
-- See Also
--
-- VK_MVK_macos_surface, MacOSSurfaceCreateFlagsMVK,
-- StructureType, createMacOSSurfaceMVK
data MacOSSurfaceCreateInfoMVK
MacOSSurfaceCreateInfoMVK :: MacOSSurfaceCreateFlagsMVK -> Ptr () -> MacOSSurfaceCreateInfoMVK
-- | flags is reserved for future use.
[$sel:flags:MacOSSurfaceCreateInfoMVK] :: MacOSSurfaceCreateInfoMVK -> MacOSSurfaceCreateFlagsMVK
-- | pView is a reference to either a CAMetalLayer object
-- or an NSView object.
[$sel:view:MacOSSurfaceCreateInfoMVK] :: MacOSSurfaceCreateInfoMVK -> Ptr ()
-- | VkMacOSSurfaceCreateFlagsMVK - Reserved for future use
--
-- Description
--
-- MacOSSurfaceCreateFlagsMVK is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_MVK_macos_surface, MacOSSurfaceCreateInfoMVK
newtype MacOSSurfaceCreateFlagsMVK
MacOSSurfaceCreateFlagsMVK :: Flags -> MacOSSurfaceCreateFlagsMVK
type MVK_MACOS_SURFACE_SPEC_VERSION = 3
pattern MVK_MACOS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface"
pattern MVK_MACOS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance Data.Bits.Bits Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance Foreign.Storable.Storable Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance GHC.Classes.Ord Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance GHC.Classes.Eq Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance GHC.Show.Show Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateInfoMVK
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateInfoMVK
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateInfoMVK
instance Foreign.Storable.Storable Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateInfoMVK
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateInfoMVK
instance GHC.Show.Show Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
instance GHC.Read.Read Vulkan.Extensions.VK_MVK_macos_surface.MacOSSurfaceCreateFlagsMVK
-- | Name
--
-- VK_MVK_ios_surface - instance extension
--
-- VK_MVK_ios_surface
--
--
-- - Name String VK_MVK_ios_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 123
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Deprecation state
- Deprecated by
-- VK_EXT_metal_surface extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-31
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Bill Hollings, The Brenwill
-- Workshop Ltd.
--
--
-- Description
--
-- The VK_MVK_ios_surface extension is an instance extension. It
-- provides a mechanism to create a SurfaceKHR object (defined by
-- the VK_KHR_surface extension) based on a UIView, the
-- native surface type of iOS, which is underpinned by a
-- CAMetalLayer, to support rendering to the surface using Apple’s
-- Metal framework.
--
-- Deprecation by VK_EXT_metal_surface
--
-- The VK_MVK_ios_surface extension is considered deprecated and
-- has been superseded by the VK_EXT_metal_surface extension.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-15 (Bill Hollings)
--
--
--
-- - Revision 2, 2017-02-24 (Bill Hollings)
- Minor syntax fix to
-- emphasize firm requirement for UIView to be backed by a
-- CAMetalLayer.
-- - Revision 3, 2020-07-31 (Bill Hollings)
- Update documentation
-- on requirements for UIView.
- Mark as deprecated by
-- VK_EXT_metal_surface.
--
--
-- See Also
--
-- IOSSurfaceCreateFlagsMVK, IOSSurfaceCreateInfoMVK,
-- createIOSSurfaceMVK
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_MVK_ios_surface
-- | vkCreateIOSSurfaceMVK - Create a VkSurfaceKHR object for an iOS UIView
--
-- Parameters
--
-- Note
--
-- The createIOSSurfaceMVK function is considered deprecated and
-- has been superseded by createMetalSurfaceEXT from the
-- VK_EXT_metal_surface extension.
--
-- Description
--
--
-- - instance is the instance with which to associate the
-- surface.
--
--
--
-- - pCreateInfo is a pointer to a
-- IOSSurfaceCreateInfoMVK structure containing parameters
-- affecting the creation of the surface object.
-- - pAllocator is the allocator used for host memory
-- allocated for the surface object when there is no more specific
-- allocator available (see Memory Allocation).
-- - pSurface is a pointer to a SurfaceKHR handle in
-- which the created surface object is returned.
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- IOSSurfaceCreateInfoMVK structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSurface must be a valid pointer to a
-- SurfaceKHR handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_MVK_ios_surface, AllocationCallbacks,
-- IOSSurfaceCreateInfoMVK, Instance, SurfaceKHR
createIOSSurfaceMVK :: forall io. MonadIO io => Instance -> IOSSurfaceCreateInfoMVK -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkIOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly
-- created iOS surface object
--
-- Valid Usage
--
--
--
--
-- - If pView is a UIView object, it must be a
-- valid UIView, must be backed by a CALayer
-- object of type CAMetalLayer, and createIOSSurfaceMVK
-- must be called on the main thread
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
--
--
-- See Also
--
-- VK_MVK_ios_surface, IOSSurfaceCreateFlagsMVK,
-- StructureType, createIOSSurfaceMVK
data IOSSurfaceCreateInfoMVK
IOSSurfaceCreateInfoMVK :: IOSSurfaceCreateFlagsMVK -> Ptr () -> IOSSurfaceCreateInfoMVK
-- | flags is reserved for future use.
[$sel:flags:IOSSurfaceCreateInfoMVK] :: IOSSurfaceCreateInfoMVK -> IOSSurfaceCreateFlagsMVK
-- | pView is a reference to either a CAMetalLayer object
-- or a UIView object.
[$sel:view:IOSSurfaceCreateInfoMVK] :: IOSSurfaceCreateInfoMVK -> Ptr ()
-- | VkIOSSurfaceCreateFlagsMVK - Reserved for future use
--
-- Description
--
-- IOSSurfaceCreateFlagsMVK is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_MVK_ios_surface, IOSSurfaceCreateInfoMVK
newtype IOSSurfaceCreateFlagsMVK
IOSSurfaceCreateFlagsMVK :: Flags -> IOSSurfaceCreateFlagsMVK
type MVK_IOS_SURFACE_SPEC_VERSION = 3
pattern MVK_IOS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface"
pattern MVK_IOS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance Data.Bits.Bits Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance Foreign.Storable.Storable Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance GHC.Classes.Ord Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance GHC.Classes.Eq Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance GHC.Show.Show Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK
instance Foreign.Storable.Storable Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK
instance GHC.Show.Show Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
instance GHC.Read.Read Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateFlagsMVK
-- | Name
--
-- VK_KHR_xlib_surface - instance extension
--
-- VK_KHR_xlib_surface
--
--
-- - Name String VK_KHR_xlib_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 5
-- - Revision 6
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2015-11-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Jason Ekstrand, Intel
- Ian Elliott,
-- LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Antoine Labour,
-- Google
- Jon Leech, Khronos
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I
-- Wu, LunarG
--
--
-- Description
--
-- The VK_KHR_xlib_surface extension is an instance extension.
-- It provides a mechanism to create a SurfaceKHR object (defined
-- by the VK_KHR_surface extension) that refers to an X11
-- Window, using the Xlib client-side library, as well as a query
-- to determine support for rendering via Xlib.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does X11 need a way to query for compatibility between a particular
-- physical device and a specific screen? This would be a more general
-- query than getPhysicalDeviceSurfaceSupportKHR; if it returned
-- TRUE, then the physical device could be assumed to support
-- presentation to any window on that screen.
--
-- RESOLVED: Yes, this is needed for toolkits that want to create
-- a Device before creating a window. To ensure the query is
-- reliable, it must be made against a particular X visual rather than
-- the screen in general.
--
-- Version History
--
--
-- - Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft, based on
-- the previous contents of VK_EXT_KHR_swapchain (later renamed
-- VK_EXT_KHR_surface).
--
--
--
-- - Revision 2, 2015-10-02 (James Jones)
- Added presentation
-- support query for (Display*, VisualID) pair.
- Removed “root”
-- parameter from CreateXlibSurfaceKHR(), as it is redundant when a
-- window on the same screen is specified as well.
- Added
-- appropriate X errors.
- Adjusted wording of issue #1 and added
-- agreed upon resolution.
-- - Revision 3, 2015-10-14 (Ian Elliott)
- Renamed this extension
-- from VK_EXT_KHR_x11_surface to VK_EXT_KHR_xlib_surface.
-- - Revision 4, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_xlib_surface to VK_KHR_xlib_surface.
-- - Revision 5, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to vkCreateXlibSurfaceKHR.
-- - Revision 6, 2015-11-28 (Daniel Rakos)
- Updated the surface
-- create function to take a pCreateInfo structure.
--
--
-- See Also
--
-- XlibSurfaceCreateFlagsKHR, XlibSurfaceCreateInfoKHR,
-- createXlibSurfaceKHR,
-- getPhysicalDeviceXlibPresentationSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_xlib_surface
-- | vkCreateXlibSurfaceKHR - Create a SurfaceKHR object for an X11
-- window, using the Xlib client-side library
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_xlib_surface, AllocationCallbacks,
-- Instance, SurfaceKHR, XlibSurfaceCreateInfoKHR
createXlibSurfaceKHR :: forall io. MonadIO io => Instance -> XlibSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceXlibPresentationSupportKHR - Query physical device
-- for presentation to X11 server using Xlib
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_xlib_surface, PhysicalDevice
getPhysicalDeviceXlibPresentationSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> VisualID -> io Bool
-- | VkXlibSurfaceCreateInfoKHR - Structure specifying parameters of a
-- newly created Xlib surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_xlib_surface, StructureType,
-- XlibSurfaceCreateFlagsKHR, createXlibSurfaceKHR
data XlibSurfaceCreateInfoKHR
XlibSurfaceCreateInfoKHR :: XlibSurfaceCreateFlagsKHR -> Ptr Display -> Window -> XlibSurfaceCreateInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:XlibSurfaceCreateInfoKHR] :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateFlagsKHR
-- | dpy is a pointer to an Xlib Display connection to the
-- X server.
--
-- dpy must point to a valid Xlib Display
[$sel:dpy:XlibSurfaceCreateInfoKHR] :: XlibSurfaceCreateInfoKHR -> Ptr Display
-- | window is an Xlib Window to associate the surface
-- with.
--
-- window must be a valid Xlib Window
[$sel:window:XlibSurfaceCreateInfoKHR] :: XlibSurfaceCreateInfoKHR -> Window
-- | VkXlibSurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- XlibSurfaceCreateFlagsKHR is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_xlib_surface, XlibSurfaceCreateInfoKHR
newtype XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR :: Flags -> XlibSurfaceCreateFlagsKHR
type KHR_XLIB_SURFACE_SPEC_VERSION = 6
pattern KHR_XLIB_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface"
pattern KHR_XLIB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type Display = Ptr ()
type VisualID = Word64
type Window = Word64
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateFlagsKHR
-- | Name
--
-- VK_KHR_xcb_surface - instance extension
--
-- VK_KHR_xcb_surface
--
--
-- - Name String VK_KHR_xcb_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 6
-- - Revision 6
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2015-11-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Jason Ekstrand, Intel
- Ian Elliott,
-- LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Antoine Labour,
-- Google
- Jon Leech, Khronos
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I
-- Wu, LunarG
--
--
-- Description
--
-- The VK_KHR_xcb_surface extension is an instance extension. It
-- provides a mechanism to create a SurfaceKHR object (defined by
-- the VK_KHR_surface extension) that refers to an X11
-- Window, using the XCB client-side library, as well as a query
-- to determine support for rendering via XCB.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does XCB need a way to query for compatibility between a particular
-- physical device and a specific screen? This would be a more general
-- query than getPhysicalDeviceSurfaceSupportKHR: If it returned
-- TRUE, then the physical device could be assumed to support
-- presentation to any window on that screen.
--
-- RESOLVED: Yes, this is needed for toolkits that want to create
-- a Device before creating a window. To ensure the query is
-- reliable, it must be made against a particular X visual rather than
-- the screen in general.
--
-- Version History
--
--
-- - Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft, based on
-- the previous contents of VK_EXT_KHR_swapchain (later renamed
-- VK_EXT_KHR_surface).
--
--
--
-- - Revision 2, 2015-10-02 (James Jones)
- Added presentation
-- support query for an (xcb_connection_t*, xcb_visualid_t)
-- pair.
- Removed “root” parameter from CreateXcbSurfaceKHR(), as
-- it is redundant when a window on the same screen is specified as
-- well.
- Adjusted wording of issue #1 and added agreed upon
-- resolution.
-- - Revision 3, 2015-10-14 (Ian Elliott)
- Removed “root”
-- parameter from CreateXcbSurfaceKHR() in one more place.
-- - Revision 4, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_xcb_surface to VK_KHR_xcb_surface.
-- - Revision 5, 2015-10-23 (Daniel Rakos)
- Added allocation
-- callbacks to vkCreateXcbSurfaceKHR.
-- - Revision 6, 2015-11-28 (Daniel Rakos)
- Updated the surface
-- create function to take a pCreateInfo structure.
--
--
-- See Also
--
-- XcbSurfaceCreateFlagsKHR, XcbSurfaceCreateInfoKHR,
-- createXcbSurfaceKHR,
-- getPhysicalDeviceXcbPresentationSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_xcb_surface
-- | vkCreateXcbSurfaceKHR - Create a SurfaceKHR object for a X11
-- window, using the XCB client-side library
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- XcbSurfaceCreateInfoKHR structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSurface must be a valid pointer to a
-- SurfaceKHR handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_xcb_surface, AllocationCallbacks,
-- Instance, SurfaceKHR, XcbSurfaceCreateInfoKHR
createXcbSurfaceKHR :: forall io. MonadIO io => Instance -> XcbSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceXcbPresentationSupportKHR - Query physical device
-- for presentation to X11 server using XCB
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_xcb_surface, PhysicalDevice
getPhysicalDeviceXcbPresentationSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> io Bool
-- | VkXcbSurfaceCreateInfoKHR - Structure specifying parameters of a newly
-- created Xcb surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_xcb_surface, StructureType,
-- XcbSurfaceCreateFlagsKHR, createXcbSurfaceKHR
data XcbSurfaceCreateInfoKHR
XcbSurfaceCreateInfoKHR :: XcbSurfaceCreateFlagsKHR -> Ptr Xcb_connection_t -> Xcb_window_t -> XcbSurfaceCreateInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:XcbSurfaceCreateInfoKHR] :: XcbSurfaceCreateInfoKHR -> XcbSurfaceCreateFlagsKHR
-- | connection is a pointer to an xcb_connection_t to
-- the X server.
--
-- connection must point to a valid X11
-- xcb_connection_t
[$sel:connection:XcbSurfaceCreateInfoKHR] :: XcbSurfaceCreateInfoKHR -> Ptr Xcb_connection_t
-- | window is the xcb_window_t for the X11 window to
-- associate the surface with.
--
-- window must be a valid X11 xcb_window_t
[$sel:window:XcbSurfaceCreateInfoKHR] :: XcbSurfaceCreateInfoKHR -> Xcb_window_t
-- | VkXcbSurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- XcbSurfaceCreateFlagsKHR is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_xcb_surface, XcbSurfaceCreateInfoKHR
newtype XcbSurfaceCreateFlagsKHR
XcbSurfaceCreateFlagsKHR :: Flags -> XcbSurfaceCreateFlagsKHR
type KHR_XCB_SURFACE_SPEC_VERSION = 6
pattern KHR_XCB_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface"
pattern KHR_XCB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type Xcb_visualid_t = Word32
type Xcb_window_t = Word32
data Xcb_connection_t
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateFlagsKHR
-- | Name
--
-- VK_KHR_win32_surface - instance extension
--
-- VK_KHR_win32_surface
--
--
-- - Name String VK_KHR_win32_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 10
-- - Revision 6
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-04-24
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Jason Ekstrand, Intel
- Ian Elliott,
-- LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Antoine Labour,
-- Google
- Jon Leech, Khronos
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I
-- Wu, LunarG
--
--
-- Description
--
-- The VK_KHR_win32_surface extension is an instance extension.
-- It provides a mechanism to create a SurfaceKHR object (defined
-- by the VK_KHR_surface extension) that refers to a Win32
-- HWND, as well as a query to determine support for rendering to
-- the windows desktop.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does Win32 need a way to query for compatibility between a
-- particular physical device and a specific screen? Compatibility
-- between a physical device and a window generally only depends on what
-- screen the window is on. However, there is not an obvious way to
-- identify a screen without already having a window on the screen.
--
-- RESOLVED: No. While it may be useful, there is not a clear way
-- to do this on Win32. However, a method was added to query support for
-- presenting to the windows desktop as a whole.
--
-- 2) If a native window object (HWND) is used by one graphics
-- API, and then is later used by a different graphics API (one of which
-- is Vulkan), can these uses interfere with each other?
--
-- RESOLVED: Yes.
--
-- Uses of a window object by multiple graphics APIs results in undefined
-- behavior. Such behavior may succeed when using one Vulkan
-- implementation but fail when using a different Vulkan implementation.
-- Potential failures include:
--
--
-- - Creating then destroying a flip presentation model DXGI swapchain
-- on a window object can prevent createSwapchainKHR from
-- succeeding on the same window object.
-- - Creating then destroying a SwapchainKHR on a window object
-- can prevent creation of a bitblt model DXGI swapchain on the same
-- window object.
-- - Creating then destroying a SwapchainKHR on a window object
-- can effectively SetPixelFormat to a different format than the
-- format chosen by an OpenGL application.
-- - Creating then destroying a SwapchainKHR on a window object
-- on one PhysicalDevice can prevent createSwapchainKHR
-- from succeeding on the same window object, but on a different
-- PhysicalDevice that is associated with a different Vulkan
-- ICD.
--
--
-- In all cases the problem can be worked around by creating a new window
-- object.
--
-- Technical details include:
--
--
-- - Creating a DXGI swapchain over a window object can alter the
-- object for the remainder of its lifetime. The alteration persists even
-- after the DXGI swapchain has been destroyed. This alteration can make
-- it impossible for a conformant Vulkan implementation to create a
-- SwapchainKHR over the same window object. Mention of this
-- alteration can be found in the remarks section of the MSDN
-- documentation for DXGI_SWAP_EFFECT.
-- - Calling GDI’s SetPixelFormat (needed by OpenGL’s WGL
-- layer) on a window object alters the object for the remainder of its
-- lifetime. The MSDN documentation for SetPixelFormat explains
-- that a window object’s pixel format can be set only one time.
-- - Creating a SwapchainKHR over a window object can alter the
-- object for its remaining lifetime. Either of the above alterations may
-- occur as a side effect of createSwapchainKHR.
--
--
-- Version History
--
--
-- - Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft, based on
-- the previous contents of VK_EXT_KHR_swapchain (later renamed
-- VK_EXT_KHR_surface).
--
--
--
-- - Revision 2, 2015-10-02 (James Jones)
- Added presentation
-- support query for win32 desktops.
-- - Revision 3, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_win32_surface to VK_KHR_win32_surface.
-- - Revision 4, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to vkCreateWin32SurfaceKHR.
-- - Revision 5, 2015-11-28 (Daniel Rakos)
- Updated the surface
-- create function to take a pCreateInfo structure.
-- - Revision 6, 2017-04-24 (Jeff Juliano)
- Add issue 2
-- addressing reuse of a native window object in a different Graphics
-- API, or by a different Vulkan ICD.
--
--
-- See Also
--
-- Win32SurfaceCreateFlagsKHR, Win32SurfaceCreateInfoKHR,
-- createWin32SurfaceKHR,
-- getPhysicalDeviceWin32PresentationSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_win32_surface
-- | vkCreateWin32SurfaceKHR - Create a VkSurfaceKHR object for an Win32
-- native window
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_win32_surface, AllocationCallbacks,
-- Instance, SurfaceKHR, Win32SurfaceCreateInfoKHR
createWin32SurfaceKHR :: forall io. MonadIO io => Instance -> Win32SurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceWin32PresentationSupportKHR - Query queue family
-- support for presentation on a Win32 display
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_win32_surface, PhysicalDevice
getPhysicalDeviceWin32PresentationSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> io Bool
-- | VkWin32SurfaceCreateInfoKHR - Structure specifying parameters of a
-- newly created Win32 surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_win32_surface, StructureType,
-- Win32SurfaceCreateFlagsKHR, createWin32SurfaceKHR
data Win32SurfaceCreateInfoKHR
Win32SurfaceCreateInfoKHR :: Win32SurfaceCreateFlagsKHR -> HINSTANCE -> HWND -> Win32SurfaceCreateInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:Win32SurfaceCreateInfoKHR] :: Win32SurfaceCreateInfoKHR -> Win32SurfaceCreateFlagsKHR
-- | hinstance is the Win32 HINSTANCE for the window to
-- associate the surface with.
--
-- hinstance must be a valid Win32 HINSTANCE
[$sel:hinstance:Win32SurfaceCreateInfoKHR] :: Win32SurfaceCreateInfoKHR -> HINSTANCE
-- | hwnd is the Win32 HWND for the window to associate the
-- surface with.
--
-- hwnd must be a valid Win32 HWND
[$sel:hwnd:Win32SurfaceCreateInfoKHR] :: Win32SurfaceCreateInfoKHR -> HWND
-- | VkWin32SurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- Win32SurfaceCreateFlagsKHR is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_win32_surface, Win32SurfaceCreateInfoKHR
newtype Win32SurfaceCreateFlagsKHR
Win32SurfaceCreateFlagsKHR :: Flags -> Win32SurfaceCreateFlagsKHR
type KHR_WIN32_SURFACE_SPEC_VERSION = 6
pattern KHR_WIN32_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface"
pattern KHR_WIN32_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type HINSTANCE = Ptr ()
type HWND = Ptr ()
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateFlagsKHR
-- | Name
--
-- VK_KHR_wayland_surface - instance extension
--
-- VK_KHR_wayland_surface
--
--
-- - Name String VK_KHR_wayland_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 7
-- - Revision 6
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2015-11-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Jason Ekstrand, Intel
- Ian Elliott,
-- LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Antoine Labour,
-- Google
- Jon Leech, Khronos
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I
-- Wu, LunarG
--
--
-- Description
--
-- The VK_KHR_wayland_surface extension is an instance
-- extension. It provides a mechanism to create a SurfaceKHR
-- object (defined by the VK_KHR_surface extension) that refers
-- to a Wayland wl_surface, as well as a query to determine
-- support for rendering to a Wayland compositor.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does Wayland need a way to query for compatibility between a
-- particular physical device and a specific Wayland display? This would
-- be a more general query than
-- getPhysicalDeviceSurfaceSupportKHR: if the Wayland-specific
-- query returned TRUE for a (PhysicalDevice, struct
-- wl_display*) pair, then the physical device could be assumed to
-- support presentation to any SurfaceKHR for surfaces on the
-- display.
--
-- RESOLVED: Yes.
-- getPhysicalDeviceWaylandPresentationSupportKHR was added to
-- address this issue.
--
-- 2) Should we require surfaces created with
-- createWaylandSurfaceKHR to support the
-- PRESENT_MODE_MAILBOX_KHR present mode?
--
-- RESOLVED: Yes. Wayland is an inherently mailbox window system
-- and mailbox support is required for some Wayland compositor
-- interactions to work as expected. While handling these interactions
-- may be possible with PRESENT_MODE_FIFO_KHR, it is much more
-- difficult to do without deadlock and requiring all Wayland
-- applications to be able to support implementations which only support
-- PRESENT_MODE_FIFO_KHR would be an onerous restriction on
-- application developers.
--
-- Version History
--
--
-- - Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft, based on
-- the previous contents of VK_EXT_KHR_swapchain (later renamed
-- VK_EXT_KHR_surface).
--
--
--
-- - Revision 2, 2015-10-02 (James Jones)
- Added
-- vkGetPhysicalDeviceWaylandPresentationSupportKHR() to resolve issue
-- #1.
- Adjusted wording of issue #1 to match the agreed-upon
-- solution.
- Renamed “window” parameters to “surface” to match
-- Wayland conventions.
-- - Revision 3, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_wayland_surface to VK_KHR_wayland_surface.
-- - Revision 4, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to vkCreateWaylandSurfaceKHR.
-- - Revision 5, 2015-11-28 (Daniel Rakos)
- Updated the surface
-- create function to take a pCreateInfo structure.
-- - Revision 6, 2017-02-08 (Jason Ekstrand)
--
--
-- See Also
--
-- WaylandSurfaceCreateFlagsKHR,
-- WaylandSurfaceCreateInfoKHR, createWaylandSurfaceKHR,
-- getPhysicalDeviceWaylandPresentationSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_wayland_surface
-- | vkCreateWaylandSurfaceKHR - Create a SurfaceKHR object for a
-- Wayland window
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_wayland_surface, AllocationCallbacks,
-- Instance, SurfaceKHR, WaylandSurfaceCreateInfoKHR
createWaylandSurfaceKHR :: forall io. MonadIO io => Instance -> WaylandSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceWaylandPresentationSupportKHR - Query physical
-- device for presentation to Wayland
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_wayland_surface, PhysicalDevice
getPhysicalDeviceWaylandPresentationSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> Ptr Wl_display -> io Bool
-- | VkWaylandSurfaceCreateInfoKHR - Structure specifying parameters of a
-- newly created Wayland surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_wayland_surface, StructureType,
-- WaylandSurfaceCreateFlagsKHR, createWaylandSurfaceKHR
data WaylandSurfaceCreateInfoKHR
WaylandSurfaceCreateInfoKHR :: WaylandSurfaceCreateFlagsKHR -> Ptr Wl_display -> Ptr Wl_surface -> WaylandSurfaceCreateInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:WaylandSurfaceCreateInfoKHR] :: WaylandSurfaceCreateInfoKHR -> WaylandSurfaceCreateFlagsKHR
-- | display and surface are pointers to the Wayland
-- wl_display and wl_surface to associate the surface
-- with.
--
-- display must point to a valid Wayland
-- wl_display
[$sel:display:WaylandSurfaceCreateInfoKHR] :: WaylandSurfaceCreateInfoKHR -> Ptr Wl_display
-- | surface must point to a valid Wayland
-- wl_surface
[$sel:surface:WaylandSurfaceCreateInfoKHR] :: WaylandSurfaceCreateInfoKHR -> Ptr Wl_surface
-- | VkWaylandSurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- WaylandSurfaceCreateFlagsKHR is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_wayland_surface, WaylandSurfaceCreateInfoKHR
newtype WaylandSurfaceCreateFlagsKHR
WaylandSurfaceCreateFlagsKHR :: Flags -> WaylandSurfaceCreateFlagsKHR
type KHR_WAYLAND_SURFACE_SPEC_VERSION = 6
pattern KHR_WAYLAND_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_WAYLAND_SURFACE_EXTENSION_NAME = "VK_KHR_wayland_surface"
pattern KHR_WAYLAND_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data Wl_display
data Wl_surface
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateFlagsKHR
-- | Name
--
-- VK_KHR_surface - instance extension
--
-- VK_KHR_surface
--
--
-- - Name String VK_KHR_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 1
-- - Revision 25
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-25
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Ian Elliott, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Jeff Vigil, Qualcomm
- Chia-I Wu,
-- LunarG
- Jason Ekstrand, Intel
--
--
-- Description
--
-- The VK_KHR_surface extension is an instance extension. It
-- introduces SurfaceKHR objects, which abstract native platform
-- surface or window objects for use with Vulkan. It also provides a way
-- to determine whether a queue family in a physical device supports
-- presenting to particular surface.
--
-- Separate extensions for each platform provide the mechanisms for
-- creating SurfaceKHR objects, but once created they may be used
-- in this and other platform-independent extensions, in particular the
-- VK_KHR_swapchain extension.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- Note
--
-- The example code for the VK_KHR_surface and
-- VK_KHR_swapchain extensions was removed from the appendix
-- after revision 1.0.29. This WSI example code was ported to the cube
-- demo that is shipped with the official Khronos SDK, and is being kept
-- up-to-date in that location (see:
-- https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c).
--
-- Issues
--
-- 1) Should this extension include a method to query whether a physical
-- device supports presenting to a specific window or native surface on a
-- given platform?
--
-- RESOLVED: Yes. Without this, applications would need to create
-- a device instance to determine whether a particular window can be
-- presented to. Knowing that a device supports presentation to a
-- platform in general is not sufficient, as a single machine might
-- support multiple seats, or instances of the platform that each use
-- different underlying physical devices. Additionally, on some
-- platforms, such as the X Window System, different drivers and devices
-- might be used for different windows depending on which section of the
-- desktop they exist on.
--
-- 2) Should the getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR, and
-- getPhysicalDeviceSurfacePresentModesKHR functions be in this
-- extension and operate on physical devices, rather than being in
-- VK_KHR_swapchain (i.e. device extension) and being dependent
-- on Device?
--
-- RESOLVED: Yes. While it might be useful to depend on
-- Device (and therefore on enabled extensions and features) for
-- the queries, Vulkan was released only with the PhysicalDevice
-- versions. Many cases can be resolved by a Valid Usage statement,
-- and/or by a separate pNext chain version of the query struct
-- specific to a given extension or parameters, via extensible versions
-- of the queries: getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR, and
-- getPhysicalDeviceSurfaceFormats2KHR.
--
-- 3) Should Vulkan support Xlib or XCB as the API for accessing the X
-- Window System platform?
--
-- RESOLVED: Both. XCB is a more modern and efficient API, but
-- Xlib usage is deeply ingrained in many applications and likely will
-- remain in use for the foreseeable future. Not all drivers necessarily
-- need to support both, but including both as options in the core
-- specification will probably encourage support, which should in turn
-- ease adoption of the Vulkan API in older codebases. Additionally, the
-- performance improvements possible with XCB likely will not have a
-- measurable impact on the performance of Vulkan presentation and other
-- minimal window system interactions defined here.
--
-- 4) Should the GBM platform be included in the list of platform enums?
--
-- RESOLVED: Deferred, and will be addressed with a
-- platform-specific extension to be written in the future.
--
-- Version History
--
--
-- - Revision 1, 2015-05-20 (James Jones)
- Initial draft, based
-- on LunarG KHR spec, other KHR specs, patches attached to
-- bugs.
--
--
--
-- - Revision 2, 2015-05-22 (Ian Elliott)
- Created initial
-- Description section.
- Removed query for whether a platform
-- requires the use of a queue for presentation, since it was decided
-- that presentation will always be modeled as being part of the
-- queue.
- Fixed typos and other minor mistakes.
-- - Revision 3, 2015-05-26 (Ian Elliott)
- Improved the
-- Description section.
-- - Revision 4, 2015-05-27 (James Jones)
- Fixed compilation
-- errors in example code.
-- - Revision 5, 2015-06-01 (James Jones)
- Added issues 1 and 2
-- and made related spec updates.
-- - Revision 6, 2015-06-01 (James Jones)
- Merged the platform
-- type mappings table previously removed from VK_KHR_swapchain with the
-- platform description table in this spec.
- Added issues 3 and 4
-- documenting choices made when building the initial list of native
-- platforms supported.
-- - Revision 7, 2015-06-11 (Ian Elliott)
- Updated table 1 per
-- input from the KHR TSG.
- Updated issue 4 (GBM) per discussion
-- with Daniel Stone. He will create a platform-specific extension
-- sometime in the future.
-- - Revision 8, 2015-06-17 (James Jones)
- Updated enum-extending
-- values using new convention.
- Fixed the value of
-- VK_SURFACE_PLATFORM_INFO_TYPE_SUPPORTED_KHR.
-- - Revision 9, 2015-06-17 (James Jones)
- Rebased on Vulkan API
-- version 126.
-- - Revision 10, 2015-06-18 (James Jones)
- Marked issues 2 and 3
-- resolved.
-- - Revision 11, 2015-06-23 (Ian Elliott)
- Examples now show use
-- of function pointers for extension functions.
- Eliminated
-- extraneous whitespace.
-- - Revision 12, 2015-07-07 (Daniel Rakos)
- Added error section
-- describing when each error is expected to be
-- reported.
- Replaced the term “queue node index” with “queue
-- family index” in the spec as that is the agreed term to be used in the
-- latest version of the core header and spec.
- Replaced bool32_t
-- with VkBool32.
-- - Revision 13, 2015-08-06 (Daniel Rakos)
- Updated spec against
-- latest core API header version.
-- - Revision 14, 2015-08-20 (Ian Elliott)
- Renamed this
-- extension and all of its enumerations, types, functions, etc. This
-- makes it compliant with the proposed standard for Vulkan
-- extensions.
- Switched from “revision” to “version”, including
-- use of the VK_MAKE_VERSION macro in the header file.
- Did
-- miscellaneous cleanup, etc.
-- - Revision 15, 2015-08-20 (Ian Elliott—porting a 2015-07-29 change
-- from James Jones)
- Moved the surface transform enums here from
-- VK_WSI_swapchain so they could be reused by
-- VK_WSI_display.
-- - Revision 16, 2015-09-01 (James Jones)
- Restore single-field
-- revision number.
-- - Revision 17, 2015-09-01 (James Jones)
- Fix example code
-- compilation errors.
-- - Revision 18, 2015-09-26 (Jesse Hall)
- Replaced
-- VkSurfaceDescriptionKHR with the VkSurfaceKHR object, which is created
-- via layered extensions. Added VkDestroySurfaceKHR.
-- - Revision 19, 2015-09-28 (Jesse Hall)
- Renamed from
-- VK_EXT_KHR_swapchain to VK_EXT_KHR_surface.
-- - Revision 20, 2015-09-30 (Jeff Vigil)
- Add error result
-- VK_ERROR_SURFACE_LOST_KHR.
-- - Revision 21, 2015-10-15 (Daniel Rakos)
- Updated the
-- resolution of issue #2 and include the surface capability queries in
-- this extension.
- Renamed SurfaceProperties to
-- SurfaceCapabilities as it better reflects that the values returned are
-- the capabilities of the surface on a particular device.
- Other
-- minor cleanup and consistency changes.
-- - Revision 22, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_surface to VK_KHR_surface.
-- - Revision 23, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to vkDestroySurfaceKHR.
-- - Revision 24, 2015-11-10 (Jesse Hall)
- Removed
-- VkSurfaceTransformKHR. Use VkSurfaceTransformFlagBitsKHR
-- instead.
- Rename VkSurfaceCapabilitiesKHR member
-- maxImageArraySize to maxImageArrayLayers.
-- - Revision 25, 2016-01-14 (James Jones)
- Moved
-- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR from the VK_KHR_android_surface to
-- the VK_KHR_surface extension.
-- - 2016-08-23 (Ian Elliott)
- Update the example code, to not
-- have so many characters per line, and to split out a new example to
-- show how to obtain function pointers.
-- - 2016-08-25 (Ian Elliott)
- A note was added at the beginning
-- of the example code, stating that it will be removed from future
-- versions of the appendix.
--
--
-- See Also
--
-- ColorSpaceKHR, CompositeAlphaFlagBitsKHR,
-- CompositeAlphaFlagsKHR, PresentModeKHR,
-- SurfaceCapabilitiesKHR, SurfaceFormatKHR,
-- SurfaceKHR, SurfaceTransformFlagBitsKHR,
-- destroySurfaceKHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_surface
-- | vkDestroySurfaceKHR - Destroy a VkSurfaceKHR object
--
-- Description
--
-- Destroying a SurfaceKHR merely severs the connection between
-- Vulkan and the native surface, and does not imply destroying the
-- native surface, closing a window, or similar behavior.
--
-- Valid Usage
--
--
-- - All SwapchainKHR objects created for surface
-- must have been destroyed prior to destroying
-- surface
--
--
--
-- - If AllocationCallbacks were provided when surface
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when
-- surface was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - If surface is not NULL_HANDLE, surface
-- must be a valid SurfaceKHR handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If surface is a valid handle, it must have been
-- created, allocated, or retrieved from instance
--
--
-- Host Synchronization
--
--
-- - Host access to surface must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_surface, AllocationCallbacks, Instance,
-- SurfaceKHR
destroySurfaceKHR :: forall io. MonadIO io => Instance -> SurfaceKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetPhysicalDeviceSurfaceSupportKHR - Query if presentation is
-- supported
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pSupported must be a valid pointer to a
-- Bool32 value
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_surface, Bool32, PhysicalDevice,
-- SurfaceKHR
getPhysicalDeviceSurfaceSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> io ("supported" ::: Bool)
-- | vkGetPhysicalDeviceSurfaceCapabilitiesKHR - Query surface capabilities
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pSurfaceCapabilities must be a valid pointer to a
-- SurfaceCapabilitiesKHR structure
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_surface, PhysicalDevice,
-- SurfaceCapabilitiesKHR, SurfaceKHR
getPhysicalDeviceSurfaceCapabilitiesKHR :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io SurfaceCapabilitiesKHR
-- | vkGetPhysicalDeviceSurfaceFormatsKHR - Query color formats supported
-- by surface
--
-- Description
--
-- If pSurfaceFormats is NULL, then the number of
-- format pairs supported for the given surface is returned in
-- pSurfaceFormatCount. Otherwise, pSurfaceFormatCount
-- must point to a variable set by the user to the number of
-- elements in the pSurfaceFormats array, and on return the
-- variable is overwritten with the number of structures actually written
-- to pSurfaceFormats. If the value of
-- pSurfaceFormatCount is less than the number of format pairs
-- supported, at most pSurfaceFormatCount structures will be
-- written, and INCOMPLETE will be returned instead of
-- SUCCESS, to indicate that not all the available format pairs
-- were returned.
--
-- The number of format pairs supported must be greater than or
-- equal to 1. pSurfaceFormats must not contain an entry
-- whose value for format is FORMAT_UNDEFINED.
--
-- If pSurfaceFormats includes an entry whose value for
-- colorSpace is COLOR_SPACE_SRGB_NONLINEAR_KHR and whose
-- value for format is a UNORM (or SRGB) format and the
-- corresponding SRGB (or UNORM) format is a color renderable format for
-- IMAGE_TILING_OPTIMAL, then pSurfaceFormats must
-- also contain an entry with the same value for colorSpace and
-- format equal to the corresponding SRGB (or UNORM) format.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pSurfaceFormatCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pSurfaceFormatCount is not
-- 0, and pSurfaceFormats is not NULL,
-- pSurfaceFormats must be a valid pointer to an array of
-- pSurfaceFormatCount SurfaceFormatKHR structures
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_surface, PhysicalDevice, SurfaceFormatKHR,
-- SurfaceKHR
getPhysicalDeviceSurfaceFormatsKHR :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io (Result, "surfaceFormats" ::: Vector SurfaceFormatKHR)
-- | vkGetPhysicalDeviceSurfacePresentModesKHR - Query supported
-- presentation modes
--
-- Description
--
-- If pPresentModes is NULL, then the number of
-- presentation modes supported for the given surface is
-- returned in pPresentModeCount. Otherwise,
-- pPresentModeCount must point to a variable set by the
-- user to the number of elements in the pPresentModes array,
-- and on return the variable is overwritten with the number of values
-- actually written to pPresentModes. If the value of
-- pPresentModeCount is less than the number of presentation
-- modes supported, at most pPresentModeCount values will be
-- written, and INCOMPLETE will be returned instead of
-- SUCCESS, to indicate that not all the available modes were
-- returned.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pPresentModeCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPresentModeCount is not
-- 0, and pPresentModes is not NULL,
-- pPresentModes must be a valid pointer to an array of
-- pPresentModeCount PresentModeKHR values
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_surface, PhysicalDevice, PresentModeKHR,
-- SurfaceKHR
getPhysicalDeviceSurfacePresentModesKHR :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io (Result, "presentModes" ::: Vector PresentModeKHR)
pattern COLORSPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | VkSurfaceCapabilitiesKHR - Structure describing capabilities of a
-- surface
--
-- Description
--
-- Note
--
-- Supported usage flags of a presentable image when using
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR presentation mode
-- are provided by
-- SharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags.
--
-- Note
--
-- Formulas such as min(N, maxImageCount) are not correct, since
-- maxImageCount may be zero.
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR, Extent2D,
-- ImageUsageFlags, SurfaceCapabilities2KHR,
-- SurfaceTransformFlagBitsKHR, SurfaceTransformFlagsKHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR
data SurfaceCapabilitiesKHR
SurfaceCapabilitiesKHR :: Word32 -> Word32 -> Extent2D -> Extent2D -> Extent2D -> Word32 -> SurfaceTransformFlagsKHR -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagsKHR -> ImageUsageFlags -> SurfaceCapabilitiesKHR
-- | minImageCount is the minimum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- at least one.
[$sel:minImageCount:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | maxImageCount is the maximum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- either 0, or greater than or equal to minImageCount. A value
-- of 0 means that there is no limit on the number of images, though
-- there may be limits related to the total amount of memory used
-- by presentable images.
[$sel:maxImageCount:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | currentExtent is the current width and height of the surface,
-- or the special value (0xFFFFFFFF, 0xFFFFFFFF) indicating that the
-- surface size will be determined by the extent of a swapchain targeting
-- the surface.
[$sel:currentExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | minImageExtent contains the smallest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be less than or equal to the
-- corresponding width and height of
-- currentExtent, unless currentExtent has the special
-- value described above.
[$sel:minImageExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | maxImageExtent contains the largest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be greater than or equal to
-- the corresponding width and height of
-- minImageExtent. The width and height of the
-- extent will each be greater than or equal to the corresponding
-- width and height of currentExtent, unless
-- currentExtent has the special value described above.
[$sel:maxImageExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | maxImageArrayLayers is the maximum number of layers
-- presentable images can have for a swapchain created for this
-- device and surface, and will be at least one.
[$sel:maxImageArrayLayers:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | supportedTransforms is a bitmask of
-- SurfaceTransformFlagBitsKHR indicating the presentation
-- transforms supported for the surface on the specified device. At least
-- one bit will be set.
[$sel:supportedTransforms:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
-- | currentTransform is SurfaceTransformFlagBitsKHR value
-- indicating the surface’s current transform relative to the
-- presentation engine’s natural orientation.
[$sel:currentTransform:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagBitsKHR
-- | supportedCompositeAlpha is a bitmask of
-- CompositeAlphaFlagBitsKHR, representing the alpha compositing
-- modes supported by the presentation engine for the surface on the
-- specified device, and at least one bit will be set. Opaque composition
-- can be achieved in any alpha compositing mode by either using
-- an image format that has no alpha component, or by ensuring that all
-- pixels in the presentable images have an alpha value of 1.0.
[$sel:supportedCompositeAlpha:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> CompositeAlphaFlagsKHR
-- | supportedUsageFlags is a bitmask of ImageUsageFlagBits
-- representing the ways the application can use the presentable
-- images of a swapchain created with PresentModeKHR set to
-- PRESENT_MODE_IMMEDIATE_KHR, PRESENT_MODE_MAILBOX_KHR,
-- PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR
-- for the surface on the specified device.
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT must be included in the
-- set. Implementations may support additional usages.
[$sel:supportedUsageFlags:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> ImageUsageFlags
-- | VkSurfaceFormatKHR - Structure describing a supported swapchain
-- format-color space pair
--
-- See Also
--
-- VK_KHR_surface, ColorSpaceKHR, Format,
-- SurfaceFormat2KHR, getPhysicalDeviceSurfaceFormatsKHR
data SurfaceFormatKHR
SurfaceFormatKHR :: Format -> ColorSpaceKHR -> SurfaceFormatKHR
-- | format is a Format that is compatible with the
-- specified surface.
[$sel:format:SurfaceFormatKHR] :: SurfaceFormatKHR -> Format
-- | colorSpace is a presentation ColorSpaceKHR that is
-- compatible with the surface.
[$sel:colorSpace:SurfaceFormatKHR] :: SurfaceFormatKHR -> ColorSpaceKHR
-- | VkPresentModeKHR - Presentation mode supported for a surface
--
-- Description
--
-- The supported ImageUsageFlagBits of the presentable images of a
-- swapchain created for a surface may differ depending on the
-- presentation mode, and can be determined as per the table below:
--
-- TODO: table
--
-- Presentable image usage queries
--
-- Note
--
-- For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
-- equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
-- interval of 1, while the mode indicated by
-- PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
-- {wgl|glX}SwapBuffers with a swap interval of -1 (from the
-- {WGL|GLX}_EXT_swap_control_tear extensions).
--
-- See Also
--
-- VK_KHR_surface, SwapchainCreateInfoKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR
newtype PresentModeKHR
PresentModeKHR :: Int32 -> PresentModeKHR
-- | PRESENT_MODE_IMMEDIATE_KHR specifies that the presentation
-- engine does not wait for a vertical blanking period to update the
-- current image, meaning this mode may result in visible tearing.
-- No internal queuing of presentation requests is needed, as the
-- requests are applied immediately.
pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
-- | PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal single-entry
-- queue is used to hold pending presentation requests. If the queue is
-- full when a new presentation request is received, the new request
-- replaces the existing entry, and any images associated with the prior
-- entry become available for re-use by the application. One request is
-- removed from the queue and processed during each vertical blanking
-- period in which the queue is non-empty.
pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal queue is used to
-- hold pending presentation requests. New requests are appended to the
-- end of the queue, and one request is removed from the beginning of the
-- queue and processed during each vertical blanking period in which the
-- queue is non-empty. This is the only value of presentMode
-- that is required to be supported.
pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_RELAXED_KHR specifies that the presentation
-- engine generally waits for the next vertical blanking period to update
-- the current image. If a vertical blanking period has already passed
-- since the last update of the current image then the presentation
-- engine does not wait for another vertical blanking period for the
-- update, meaning this mode may result in visible tearing in this
-- case. This mode is useful for reducing visual stutter with an
-- application that will mostly present a new image before the next
-- vertical blanking period, but may occasionally be late, and present a
-- new image just after the next vertical blanking period. An internal
-- queue is used to hold pending presentation requests. New requests are
-- appended to the end of the queue, and one request is removed from the
-- beginning of the queue and processed during or after each vertical
-- blanking period in which the queue is non-empty.
pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine periodically updates the current image on its
-- regular refresh cycle. The application is only required to make one
-- initial presentation request, after which the presentation engine
-- must update the current image without any need for further
-- presentation requests. The application can indicate the image
-- contents have been updated by making a presentation request, but this
-- does not guarantee the timing of when it will be updated. This mode
-- may result in visible tearing if rendering to the image is not
-- timed correctly.
pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine is only required to update the current image after
-- a new presentation request is received. Therefore the application
-- must make a presentation request whenever an update is
-- required. However, the presentation engine may update the
-- current image at any point, meaning this mode may result in
-- visible tearing.
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
-- device
--
-- Description
--
-- These values are described as follows:
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR,
-- SwapchainCreateInfoKHR
newtype CompositeAlphaFlagBitsKHR
CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha component, if it
-- exists, of the images is ignored in the compositing process. Instead,
-- the image is treated as if it has a constant alpha of 1.0.
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha component, if
-- it exists, of the images is respected in the compositing process. The
-- non-alpha components of the image are expected to already be
-- multiplied by the alpha component by the application.
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha component,
-- if it exists, of the images is respected in the compositing process.
-- The non-alpha components of the image are not expected to already be
-- multiplied by the alpha component by the application; instead, the
-- compositor will multiply the non-alpha components of the image by the
-- alpha component during compositing.
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the
-- presentation engine treats the alpha component in the images is
-- unknown to the Vulkan API. Instead, the application is responsible for
-- setting the composite alpha blending mode using native window system
-- commands. If the application does not set the blending mode using
-- native window system commands, then a platform-specific default will
-- be used.
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type KHR_SURFACE_SPEC_VERSION = 25
pattern KHR_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface"
pattern KHR_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_surface.PresentModeKHR
-- | Name
--
-- VK_QCOM_rotated_copy_commands - device extension
--
-- VK_QCOM_rotated_copy_commands
--
--
-- - Name String
-- VK_QCOM_rotated_copy_commands
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 334
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_copy_commands2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-09-18
--
--
--
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Leger, Qualcomm
-- Technologies, Inc.
--
--
-- Description
--
-- This extension extends adds an optional rotation transform to copy
-- commands cmdBlitImage2KHR, cmdCopyImageToBuffer2KHR and
-- cmdCopyBufferToImage2KHR. When copying between two resources,
-- where one resource contains rotated content and the other does not, a
-- rotated copy may be desired. This extension may be used in combination
-- with VK_QCOM_render_pass_transform which adds rotated render passes.
--
-- This extension adds an extension structure to the following commands:
-- vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR and
-- vkCmdCopyBufferToImage2KHR
--
-- Issues
--
-- 1) What is an appropriate name for the added extension structure? The
-- style guide says “Structures which extend other structures through the
-- pNext chain should reflect the name of the base structure
-- they extend.”, but in this case a single extension structure is used
-- to extend three base structures (vkCmdBlitImage2KHR,
-- vkCmdCopyImageToBuffer2KHR and vkCmdCopyBufferToImage2KHR). Creating
-- three identical structures with unique names seemed undesirable.
--
-- RESOLVED: Deviate from the style guide for extension structure
-- naming.
--
-- 2) Should this extension add a rotation capability to
-- vkCmdCopyImage2KHR?
--
-- RESOLVED: No. Use of rotated vkCmdBlitImage2KHR can fully
-- address this use-case.
--
-- 3) Should this extension add a rotation capability to
-- vkCmdResolveImage2KHR?
--
-- RESOLVED No. Use of vkCmdResolveImage2KHR is very slow and
-- extremely bandwidth intensive on Qualcomm’s GPU architecture and use
-- of pResolveAttachments in vkRenderPass is the strongly preferred
-- approach. Therefore, we choose not to introduce a rotation capability
-- to vkCmdResolveImage2KHR.
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-09-19 (Jeff Leger)
--
--
-- See Also
--
-- CopyCommandTransformInfoQCOM
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_QCOM_rotated_copy_commands
-- | VkCopyCommandTransformInfoQCOM - Structure describing transform
-- parameters of rotated copy command
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_QCOM_rotated_copy_commands, StructureType,
-- SurfaceTransformFlagBitsKHR
data CopyCommandTransformInfoQCOM
CopyCommandTransformInfoQCOM :: SurfaceTransformFlagBitsKHR -> CopyCommandTransformInfoQCOM
-- | transform is a SurfaceTransformFlagBitsKHR value
-- describing the transform to be applied.
--
-- transform must be
-- SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
-- SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
-- SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, or
-- SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
[$sel:transform:CopyCommandTransformInfoQCOM] :: CopyCommandTransformInfoQCOM -> SurfaceTransformFlagBitsKHR
type QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 1
pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION :: forall a. Integral a => a
type QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME = "VK_QCOM_rotated_copy_commands"
pattern QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
instance GHC.Show.Show Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
instance Foreign.Storable.Storable Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM
-- | Name
--
-- VK_QCOM_render_pass_transform - device extension
--
-- VK_QCOM_render_pass_transform
--
--
-- - Name String
-- VK_QCOM_render_pass_transform
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 283
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-03-09
--
--
--
-- - Interactions and External Dependencies
- This
-- extension requires VK_KHR_swapchain
- This extension
-- interacts with VK_EXT_fragment_density_map
- This
-- extension interacts with
-- VK_KHR_fragment_shading_rate
-- - Contributors
- Jeff Leger, Qualcomm
-- Technologies, Inc.
- Brandon Light, Qualcomm Technologies,
-- Inc.
- Matthew Netsch, Qualcomm Technologies,
-- Inc.
--
--
-- Description
--
-- This extension provides a mechanism for applications to enable driver
-- support for render pass transform.
--
-- Mobile devices can be rotated and mobile applications need to render
-- properly when a device is held in a landscape or portrait orientation.
-- When the current orientation differs from the device’s native
-- orientation, a rotation is required so that the “up” direction of the
-- rendered scene matches the current orientation.
--
-- If the Display Processing Unit (DPU) doesnt natively support rotation,
-- the Vulkan presentation engine can handle this rotation in a separate
-- composition pass. Alternatively, the application can render frames
-- “pre-rotated” to avoid this extra pass. The latter is preferred to
-- reduce power consumption and achieve the best performance because it
-- avoids tasking the GPU with extra work to perform the copy/rotate
-- operation.
--
-- Unlike OpenGL ES, the burden of pre-rotation in Vulkan falls on the
-- application. To implement pre-rotation, applications render into
-- swapchain images matching the device native aspect ratio of the
-- display and “pre-rotate” the rendering content to match the device’s
-- current orientation. The burden is more than adjusting the Model View
-- Projection (MVP) matrix in the vertex shader to account for rotation
-- and aspect ratio. The coordinate systems of scissors, viewports,
-- derivatives and several shader built-ins may need to be adapted to
-- produce the correct result.
--
-- It is difficult for some game engines to manage this burden; many
-- chose to simply accept the performance/power overhead of performing
-- rotation in the presentation engine.
--
-- This extension allows applications to achieve the performance benefits
-- of pre-rotated rendering by moving much of the above-mentioned burden
-- to the graphics driver. The following is unchanged with this
-- extension:
--
--
--
-- The following is changed with this extension:
--
--
-- - At cmdBeginRenderPass, the application provides extension
-- struct RenderPassTransformBeginInfoQCOM specifying the render
-- pass transform parameters.
-- - At beginCommandBuffer for secondary command buffers, the
-- application provides extension struct
-- CommandBufferInheritanceRenderPassTransformInfoQCOM specifying
-- the render pass transform parameters.
-- - The renderArea, viewports, scissors, and
-- fragmentSize are all provided in the current (non-rotated)
-- coordinate system. The implementation will transform those into the
-- native (rotated) coordinate system.
-- - The implementation is responsible for transforming shader
-- built-ins (FragCoord, PointCoord,
-- SamplePosition, PrimitiveShadingRateKHR,
-- interpolateAt(), dFdx, dFdy, fWidth) into the rotated coordinate
-- system.
-- - The implementation is responsible for transforming
-- position to the rotated coordinate system.
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Some early Adreno drivers (October 2019 through March 2020)
-- advertised support for this extension but expected VK_STRUCTURE_TYPE
-- values different from those in the vukan headers. To cover all Adreno
-- devices on the market, applications need to detect the driver version
-- and use the appropriate VK_STRUCTURE_TYPE values from the table below.
--
-- The driver version reported in
-- VkPhysicalDeviceProperties.driverVersion is a uint32_t type.
-- You can decode the uint32_t value into a major.minor.patch
-- version as shown below:
--
--
-- uint32_t major = ((driverVersion) >> 22);
-- uint32_t minor = ((driverVersion) >> 12) & 0x3ff);
-- uint32_t patch = ((driverVersion) & 0xfff);
--
--
-- If the Adreno major.minor.patch version is greater than or equal to to
-- 512.469.0, then simply use the VK_STRUCTURE_TYPE values as defined in
-- vulkan_core.h. If the version is less than or equal to to 512.468.0,
-- then use the alternate values for the two VK_STRUCTURE_TYPEs in the
-- table below.
--
-- TODO: table
--
-- Adreno Driver Requirements
--
-- 2) Should the extension support only rotations (e.g. 90, 180,
-- 270-degrees), or also mirror transforms (e.g. vertical flips)? Mobile
-- use-cases only require rotation. Other display systems such as
-- projectors might require a flipped transform.
--
-- RESOLVED: In this version of the extension, the functionality
-- is restricted to 90, 180, and 270-degree rotations to address mobile
-- use-cases.
--
-- 3) How does this extension interact with VK_EXT_fragment_density_map?
--
-- RESOLVED Some implementations may not be able to support a
-- render pass that enables both render pass transform and fragment
-- density maps. For simplicity, this extension disallows enabling both
-- features within a single render pass.
--
-- 4) What should this extension be named?
--
-- We considered names such as “rotated_rendering”, “pre_rotation” and
-- others. Since the functionality is limited to a render pass, it seemed
-- the name should include “render_pass”. While the current extension is
-- limited to rotations, it could be extended to other transforms (like
-- mirror) in the future.
--
-- RESOLVED The name “render_pass_transform” seems like the most
-- accurate description of the introduced functionality.
--
-- 5) How does this extension interact with VK_KHR_fragment_shading_rate?
--
-- RESOLVED: For the same reasons as issue 3, this extension
-- disallows enabling both pFragmentShadingRateAttachment and
-- render pass transform within a single render pass.
--
-- However, pipeline shading rate and primitive shading rate are
-- supported, and their respective fragmentSize and
-- PrimitiveShadingRateKHR are provided in the current
-- (non-rotated) coordinate system. The implementation is responsible for
-- transforming them to the rotated coordinate system.
--
-- The set of supported shading rates may be different per
-- transform. Supported rates queried from
-- getPhysicalDeviceFragmentShadingRatesKHR are in the native
-- (rotated) coordinate system. This means that the application
-- must swap the x/y of the reported rates to get the set of rates
-- supported for 90 and 270 degree rotation.
--
-- Version History
--
--
-- - Revision 1, 2020-02-05 (Jeff Leger)
--
--
--
-- - Revision 2, 2021-03-09 (Matthew Netsch)
- Adds interactions
-- with VK_KHR_fragment_shading_rate
--
--
-- See Also
--
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- RenderPassTransformBeginInfoQCOM
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_QCOM_render_pass_transform
-- | VkRenderPassTransformBeginInfoQCOM - Structure describing transform
-- parameters of a render pass instance
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_QCOM_render_pass_transform, StructureType,
-- SurfaceTransformFlagBitsKHR
data RenderPassTransformBeginInfoQCOM
RenderPassTransformBeginInfoQCOM :: SurfaceTransformFlagBitsKHR -> RenderPassTransformBeginInfoQCOM
-- | transform is a SurfaceTransformFlagBitsKHR value
-- describing the transform to be applied to rasterization.
[$sel:transform:RenderPassTransformBeginInfoQCOM] :: RenderPassTransformBeginInfoQCOM -> SurfaceTransformFlagBitsKHR
-- | VkCommandBufferInheritanceRenderPassTransformInfoQCOM - Structure
-- describing transformed render pass parameters command buffer
--
-- Description
--
-- When the secondary is recorded to execute within a render pass
-- instance using cmdExecuteCommands, the render pass transform
-- parameters of the secondary command buffer must be consistent
-- with the render pass transform parameters specified for the render
-- pass instance. In particular, the transform and
-- renderArea for command buffer must be identical to the
-- transform and renderArea of the render pass
-- instance.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_QCOM_render_pass_transform, Rect2D,
-- StructureType, SurfaceTransformFlagBitsKHR
data CommandBufferInheritanceRenderPassTransformInfoQCOM
CommandBufferInheritanceRenderPassTransformInfoQCOM :: SurfaceTransformFlagBitsKHR -> Rect2D -> CommandBufferInheritanceRenderPassTransformInfoQCOM
-- | transform is a SurfaceTransformFlagBitsKHR value
-- describing the transform to be applied to the render pass.
--
-- transform must be
-- SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
-- SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
-- SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, or
-- SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
[$sel:transform:CommandBufferInheritanceRenderPassTransformInfoQCOM] :: CommandBufferInheritanceRenderPassTransformInfoQCOM -> SurfaceTransformFlagBitsKHR
-- | renderArea is the render area that is affected by the command
-- buffer.
[$sel:renderArea:CommandBufferInheritanceRenderPassTransformInfoQCOM] :: CommandBufferInheritanceRenderPassTransformInfoQCOM -> Rect2D
type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 2
pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: forall a. Integral a => a
type QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform"
pattern QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
instance GHC.Show.Show Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
instance GHC.Show.Show Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM
instance Foreign.Storable.Storable Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
instance Foreign.Storable.Storable Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM
-- | Name
--
-- VK_KHR_swapchain - device extension
--
-- VK_KHR_swapchain
--
--
-- - Name String VK_KHR_swapchain
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 2
-- - Revision 70
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-06
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with Vulkan 1.1
-- - Contributors
- Patrick Doane,
-- Blizzard
- Ian Elliott, LunarG
- Jesse Hall,
-- Google
- Mathias Heyer, NVIDIA
- James Jones,
-- NVIDIA
- David Mao, AMD
- Norbert Nopper,
-- Freescale
- Alon Or-bach, Samsung
- Daniel Rakos,
-- AMD
- Graham Sellers, AMD
- Jeff Vigil,
-- Qualcomm
- Chia-I Wu, LunarG
- Jason Ekstrand,
-- Intel
- Matthaeus G. Chajdas, AMD
- Ray Smith,
-- ARM
--
--
-- Description
--
-- The VK_KHR_swapchain extension is the device-level companion
-- to the VK_KHR_surface extension. It introduces
-- SwapchainKHR objects, which provide the ability to present
-- rendering results to a surface.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Structures
--
--
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Enums
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Bitmasks
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- Issues
--
-- 1) Does this extension allow the application to specify the memory
-- backing of the presentable images?
--
-- RESOLVED: No. Unlike standard images, the implementation will
-- allocate the memory backing of the presentable image.
--
-- 2) What operations are allowed on presentable images?
--
-- RESOLVED: This is determined by the image usage flags specified
-- when creating the presentable image’s swapchain.
--
-- 3) Does this extension support MSAA presentable images?
--
-- RESOLVED: No. Presentable images are always single-sampled.
-- Multi-sampled rendering must use regular images. To present the
-- rendering results the application must manually resolve the multi-
-- sampled image to a single-sampled presentable image prior to
-- presentation.
--
-- 4) Does this extension support stereo/multi-view presentable images?
--
-- RESOLVED: Yes. The number of views associated with a
-- presentable image is determined by the imageArrayLayers
-- specified when creating a swapchain. All presentable images in a given
-- swapchain use the same array size.
--
-- 5) Are the layers of stereo presentable images half-sized?
--
-- RESOLVED: No. The image extents always match those requested by
-- the application.
--
-- 6) Do the “present” and “acquire next image” commands operate on a
-- queue? If not, do they need to include explicit semaphore objects to
-- interlock them with queue operations?
--
-- RESOLVED: The present command operates on a queue. The image
-- ownership operation it represents happens in order with other
-- operations on the queue, so no explicit semaphore object is required
-- to synchronize its actions.
--
-- Applications may want to acquire the next image in separate threads
-- from those in which they manage their queue, or in multiple threads.
-- To make such usage easier, the acquire next image command takes a
-- semaphore to signal as a method of explicit synchronization. The
-- application must later queue a wait for this semaphore before queuing
-- execution of any commands using the image.
--
-- 7) Does acquireNextImageKHR block if no images are available?
--
-- RESOLVED: The command takes a timeout parameter. Special values
-- for the timeout are 0, which makes the call a non-blocking operation,
-- and UINT64_MAX, which blocks indefinitely. Values in between
-- will block for up to the specified time. The call will return when an
-- image becomes available or an error occurs. It may, but is not
-- required to, return before the specified timeout expires if the
-- swapchain becomes out of date.
--
-- 8) Can multiple presents be queued using one queuePresentKHR
-- call?
--
-- RESOLVED: Yes. PresentInfoKHR contains a list of
-- swapchains and corresponding image indices that will be presented.
-- When supported, all presentations queued with a single
-- queuePresentKHR call will be applied atomically as one
-- operation. The same swapchain must not appear in the list more than
-- once. Later extensions may provide applications stronger guarantees of
-- atomicity for such present operations, and/or allow them to query
-- whether atomic presentation of a particular group of swapchains is
-- possible.
--
-- 9) How do the presentation and acquire next image functions notify the
-- application the targeted surface has changed?
--
-- RESOLVED: Two new result codes are introduced for this purpose:
--
--
-- - SUBOPTIMAL_KHR - Presentation will still succeed, subject
-- to the window resize behavior, but the swapchain is no longer
-- configured optimally for the surface it targets. Applications should
-- query updated surface information and recreate their swapchain at the
-- next convenient opportunity.
-- - ERROR_OUT_OF_DATE_KHR - Failure. The swapchain is no longer
-- compatible with the surface it targets. The application must query
-- updated surface information and recreate the swapchain before
-- presentation will succeed.
--
--
-- These can be returned by both acquireNextImageKHR and
-- queuePresentKHR.
--
-- 10) Does the acquireNextImageKHR command return a semaphore to
-- the application via an output parameter, or accept a semaphore to
-- signal from the application as an object handle parameter?
--
-- RESOLVED: Accept a semaphore to signal as an object handle.
-- This avoids the need to specify whether the application must destroy
-- the semaphore or whether it is owned by the swapchain, and if the
-- latter, what its lifetime is and whether it can be reused for other
-- operations once it is received from acquireNextImageKHR.
--
-- 11) What types of swapchain queuing behavior should be exposed?
-- Options include swap interval specification, mailbox/most recent vs.
-- FIFO queue management, targeting specific vertical blank intervals or
-- absolute times for a given present operation, and probably others. For
-- some of these, whether they are specified at swapchain creation time
-- or as per-present parameters needs to be decided as well.
--
-- RESOLVED: The base swapchain extension will expose 3 possible
-- behaviors (of which, FIFO will always be supported):
--
--
-- - Immediate present: Does not wait for vertical blanking period to
-- update the current image, likely resulting in visible tearing. No
-- internal queue is used. Present requests are applied immediately.
-- - Mailbox queue: Waits for the next vertical blanking period to
-- update the current image. No tearing should be observed. An internal
-- single-entry queue is used to hold pending presentation requests. If
-- the queue is full when a new presentation request is received, the new
-- request replaces the existing entry, and any images associated with
-- the prior entry become available for reuse by the application.
-- - FIFO queue: Waits for the next vertical blanking period to update
-- the current image. No tearing should be observed. An internal queue
-- containing numSwapchainImages - 1 entries is used to hold
-- pending presentation requests. New requests are appended to the end of
-- the queue, and one request is removed from the beginning of the queue
-- and processed during each vertical blanking period in which the queue
-- is non-empty
--
--
-- Not all surfaces will support all of these modes, so the modes
-- supported will be returned using a surface information query. All
-- surfaces must support the FIFO queue mode. Applications must choose
-- one of these modes up front when creating a swapchain. Switching modes
-- can be accomplished by recreating the swapchain.
--
-- 12) Can PRESENT_MODE_MAILBOX_KHR provide non-blocking
-- guarantees for acquireNextImageKHR? If so, what is the proper
-- criteria?
--
-- RESOLVED: Yes. The difficulty is not immediately obvious here.
-- Naively, if at least 3 images are requested, mailbox mode should
-- always have an image available for the application if the application
-- does not own any images when the call to acquireNextImageKHR
-- was made. However, some presentation engines may have more than one
-- “current” image, and would still need to block in some cases. The
-- right requirement appears to be that if the application allocates the
-- surface’s minimum number of images + 1 then it is guaranteed
-- non-blocking behavior when it does not currently own any images.
--
-- 13) Is there a way to create and initialize a new swapchain for a
-- surface that has generated a SUBOPTIMAL_KHR return code while
-- still using the old swapchain?
--
-- RESOLVED: Not as part of this specification. This could be
-- useful to allow the application to create an “optimal” replacement
-- swapchain and rebuild all its command buffers using it in a background
-- thread at a low priority while continuing to use the “suboptimal”
-- swapchain in the main thread. It could probably use the same “atomic
-- replace” semantics proposed for recreating direct-to-device swapchains
-- without incurring a mode switch. However, after discussion, it was
-- determined some platforms probably could not support concurrent
-- swapchains for the same surface though, so this will be left out of
-- the base KHR extensions. A future extension could add this for
-- platforms where it is supported.
--
-- 14) Should there be a special value for
-- SurfaceCapabilitiesKHR::maxImageCount to indicate
-- there are no practical limits on the number of images in a swapchain?
--
-- RESOLVED: Yes. There will often be cases where there is no
-- practical limit to the number of images in a swapchain other than the
-- amount of available resources (i.e., memory) in the system. Trying to
-- derive a hard limit from things like memory size is prone to failure.
-- It is better in such cases to leave it to applications to figure such
-- soft limits out via trial/failure iterations.
--
-- 15) Should there be a special value for
-- SurfaceCapabilitiesKHR::currentExtent to indicate the
-- size of the platform surface is undefined?
--
-- RESOLVED: Yes. On some platforms (Wayland, for example), the
-- surface size is defined by the images presented to it rather than the
-- other way around.
--
-- 16) Should there be a special value for
-- SurfaceCapabilitiesKHR::maxImageExtent to indicate
-- there is no practical limit on the surface size?
--
-- RESOLVED: No. It seems unlikely such a system would exist. 0
-- could be used to indicate the platform places no limits on the extents
-- beyond those imposed by Vulkan for normal images, but this query could
-- just as easily return those same limits, so a special “unlimited”
-- value does not seem useful for this field.
--
-- 17) How should surface rotation and mirroring be exposed to
-- applications? How do they specify rotation and mirroring transforms
-- applied prior to presentation?
--
-- RESOLVED: Applications can query both the supported and current
-- transforms of a surface. Both are specified relative to the device’s
-- “natural” display rotation and direction. The supported transforms
-- indicate which orientations the presentation engine accepts images in.
-- For example, a presentation engine that does not support transforming
-- surfaces as part of presentation, and which is presenting to a surface
-- that is displayed with a 90-degree rotation, would return only one
-- supported transform bit: SURFACE_TRANSFORM_ROTATE_90_BIT_KHR.
-- Applications must transform their rendering by the transform they
-- specify when creating the swapchain in preTransform field.
--
-- 18) Can surfaces ever not support VK_MIRROR_NONE? Can they
-- support vertical and horizontal mirroring simultaneously? Relatedly,
-- should VK_MIRROR_NONE[_BIT] be zero, or bit one, and should
-- applications be allowed to specify multiple pre and current mirror
-- transform bits, or exactly one?
--
-- RESOLVED: Since some platforms may not support presenting with
-- a transform other than the native window’s current transform, and
-- prerotation/mirroring are specified relative to the device’s natural
-- rotation and direction, rather than relative to the surface’s current
-- rotation and direction, it is necessary to express lack of support for
-- no mirroring. To allow this, the MIRROR_NONE enum must occupy
-- a bit in the flags. Since MIRROR_NONE must be a bit in the
-- bitmask rather than a bitmask with no values set, allowing more than
-- one bit to be set in the bitmask would make it possible to describe
-- undefined transforms such as VK_MIRROR_NONE_BIT |
-- VK_MIRROR_HORIZONTAL_BIT, or a transform that includes both
-- “no mirroring” and “horizontal mirroring” simultaneously. Therefore,
-- it is desirable to allow specifying all supported mirroring transforms
-- using only one bit. The question then becomes, should there be a
-- VK_MIRROR_HORIZONTAL_AND_VERTICAL_BIT to represent a
-- simultaneous horizontal and vertical mirror transform? However, such a
-- transform is equivalent to a 180 degree rotation, so presentation
-- engines and applications that wish to support or use such a transform
-- can express it through rotation instead. Therefore, 3 exclusive bits
-- are sufficient to express all needed mirroring transforms.
--
-- 19) Should support for sRGB be required?
--
-- RESOLVED: In the advent of UHD and HDR display devices, proper
-- color space information is vital to the display pipeline represented
-- by the swapchain. The app can discover the supported
-- format/color-space pairs and select a pair most suited to its
-- rendering needs. Currently only the sRGB color space is supported,
-- future extensions may provide support for more color spaces. See
-- issues 23 and 24.
--
-- 20) Is there a mechanism to modify or replace an existing swapchain
-- with one targeting the same surface?
--
-- RESOLVED: Yes. This is described above in the text.
--
-- 21) Should there be a way to set prerotation and mirroring using
-- native APIs when presenting using a Vulkan swapchain?
--
-- RESOLVED: Yes. The transforms that can be expressed in this
-- extension are a subset of those possible on native platforms. If a
-- platform exposes a method to specify the transform of presented images
-- for a given surface using native methods and exposes more transforms
-- or other properties for surfaces than Vulkan supports, it might be
-- impossible, difficult, or inconvenient to set some of those properties
-- using Vulkan KHR extensions and some using the native interfaces. To
-- avoid overwriting properties set using native commands when presenting
-- using a Vulkan swapchain, the application can set the pretransform to
-- “inherit”, in which case the current native properties will be used,
-- or if none are available, a platform-specific default will be used.
-- Platforms that do not specify a reasonable default or do not provide
-- native mechanisms to specify such transforms should not include the
-- inherit bits in the supportedTransforms bitmask they return
-- in SurfaceCapabilitiesKHR.
--
-- 22) Should the content of presentable images be clipped by objects
-- obscuring their target surface?
--
-- RESOLVED: Applications can choose which behavior they prefer.
-- Allowing the content to be clipped could enable more efficient
-- presentation methods on some platforms, but some applications might
-- rely on the content of presentable images to perform techniques such
-- as partial updates or motion blurs.
--
-- 23) What is the purpose of specifying a ColorSpaceKHR along
-- with Format when creating a swapchain?
--
-- RESOLVED: While Vulkan itself is color space agnostic (e.g.
-- even the meaning of R, G, B and A can be freely defined by the
-- rendering application), the swapchain eventually will have to present
-- the images on a display device with specific color reproduction
-- characteristics. If any color space transformations are necessary
-- before an image can be displayed, the color space of the presented
-- image must be known to the swapchain. A swapchain will only support a
-- restricted set of color format and -space pairs. This set can be
-- discovered via getPhysicalDeviceSurfaceFormatsKHR. As it can be
-- expected that most display devices support the sRGB color space, at
-- least one format/color-space pair has to be exposed, where the color
-- space is COLOR_SPACE_SRGB_NONLINEAR_KHR.
--
-- 24) How are sRGB formats and the sRGB color space related?
--
-- RESOLVED: While Vulkan exposes a number of SRGB texture
-- formats, using such formats does not guarantee working in a specific
-- color space. It merely means that the hardware can directly support
-- applying the non-linear transfer functions defined by the sRGB
-- standard color space when reading from or writing to images of those
-- formats. Still, it is unlikely that a swapchain will expose a
-- *_SRGB format along with any color space other than
-- COLOR_SPACE_SRGB_NONLINEAR_KHR.
--
-- On the other hand, non-*_SRGB formats will be very likely
-- exposed in pair with a SRGB color space. This means, the hardware will
-- not apply any transfer function when reading from or writing to such
-- images, yet they will still be presented on a device with sRGB display
-- characteristics. In this case the application is responsible for
-- applying the transfer function, for instance by using shader math.
--
-- 25) How are the lifetimes of surfaces and swapchains targeting them
-- related?
--
-- RESOLVED: A surface must outlive any swapchains targeting it. A
-- SurfaceKHR owns the binding of the native window to the Vulkan
-- driver.
--
-- 26) How can the client control the way the alpha component of
-- swapchain images is treated by the presentation engine during
-- compositing?
--
-- RESOLVED: We should add new enum values to allow the client to
-- negotiate with the presentation engine on how to treat image alpha
-- values during the compositing process. Since not all platforms can
-- practically control this through the Vulkan driver, a value of
-- COMPOSITE_ALPHA_INHERIT_BIT_KHR is provided like for surface
-- transforms.
--
-- 27) Is createSwapchainKHR the right function to return
-- ERROR_NATIVE_WINDOW_IN_USE_KHR, or should the various
-- platform-specific SurfaceKHR factory functions catch this error
-- earlier?
--
-- RESOLVED: For most platforms, the SurfaceKHR structure
-- is a simple container holding the data that identifies a native window
-- or other object representing a surface on a particular platform. For
-- the surface factory functions to return this error, they would likely
-- need to register a reference on the native objects with the native
-- display server somehow, and ensure no other such references exist.
-- Surfaces were not intended to be that heavyweight.
--
-- Swapchains are intended to be the objects that directly manipulate
-- native windows and communicate with the native presentation
-- mechanisms. Swapchains will already need to communicate with the
-- native display server to negotiate allocation and/or presentation of
-- presentable images for a native surface. Therefore, it makes more
-- sense for swapchain creation to be the point at which native object
-- exclusivity is enforced. Platforms may choose to enforce further
-- restrictions on the number of SurfaceKHR objects that may be
-- created for the same native window if such a requirement makes sense
-- on a particular platform, but a global requirement is only sensible at
-- the swapchain level.
--
-- Examples
--
-- Note
--
-- The example code for the VK_KHR_surface and
-- VK_KHR_swapchain extensions was removed from the appendix
-- after revision 1.0.29. This WSI example code was ported to the cube
-- demo that is shipped with the official Khronos SDK, and is being kept
-- up-to-date in that location (see:
-- https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c).
--
-- Version History
--
--
-- - Revision 1, 2015-05-20 (James Jones)
- Initial draft, based
-- on LunarG KHR spec, other KHR specs, patches attached to
-- bugs.
--
--
--
-- - Revision 2, 2015-05-22 (Ian Elliott)
- Made many agreed-upon
-- changes from 2015-05-21 KHR TSG meeting. This includes using only a
-- queue for presentation, and having an explicit function to acquire the
-- next image.
- Fixed typos and other minor
-- mistakes.
-- - Revision 3, 2015-05-26 (Ian Elliott)
- Improved the
-- Description section.
- Added or resolved issues that were found
-- in improving the Description. For example, pSurfaceDescription is used
-- consistently, instead of sometimes using pSurface.
-- - Revision 4, 2015-05-27 (James Jones)
- Fixed some grammatical
-- errors and typos
- Filled in the description of imageUseFlags
-- when creating a swapchain.
- Added a description of
-- swapInterval.
- Replaced the paragraph describing the order of
-- operations on a queue for image ownership and
-- presentation.
-- - Revision 5, 2015-05-27 (James Jones)
- Imported relevant
-- issues from the (abandoned) vk_wsi_persistent_swapchain_images
-- extension.
- Added issues 6 and 7, regarding behavior of the
-- acquire next image and present commands with respect to
-- queues.
- Updated spec language and examples to align with
-- proposed resolutions to issues 6 and 7.
-- - Revision 6, 2015-05-27 (James Jones)
- Added issue 8,
-- regarding atomic presentation of multiple swapchains
- Updated
-- spec language and examples to align with proposed resolution to issue
-- 8.
-- - Revision 7, 2015-05-27 (James Jones)
- Fixed compilation
-- errors in example code, and made related spec fixes.
-- - Revision 8, 2015-05-27 (James Jones)
- Added issue 9, and the
-- related VK_SUBOPTIMAL_KHR result code.
- Renamed
-- VK_OUT_OF_DATE_KHR to VK_ERROR_OUT_OF_DATE_KHR.
-- - Revision 9, 2015-05-27 (James Jones)
- Added inline proposed
-- resolutions (marked with [JRJ]) to some XXX questions/issues. These
-- should be moved to the issues section in a subsequent update if the
-- proposals are adopted.
-- - Revision 10, 2015-05-28 (James Jones)
- Converted
-- vkAcquireNextImageKHR back to a non-queue operation that uses a
-- VkSemaphore object for explicit synchronization.
- Added issue
-- 10 to determine whether vkAcquireNextImageKHR generates or returns
-- semaphores, or whether it operates on a semaphore provided by the
-- application.
-- - Revision 11, 2015-05-28 (James Jones)
- Marked issues 6, 7,
-- and 8 resolved.
- Renamed VkSurfaceCapabilityPropertiesKHR to
-- VkSurfacePropertiesKHR to better convey the mutable nature of the
-- information it contains.
-- - Revision 12, 2015-05-28 (James Jones)
- Added issue 11 with a
-- proposed resolution, and the related issue 12.
- Updated various
-- sections of the spec to match the proposed resolution to issue
-- 11.
-- - Revision 13, 2015-06-01 (James Jones)
- Moved some structures
-- to VK_EXT_KHR_swap_chain to resolve the specification’s issues 1 and
-- 2.
-- - Revision 14, 2015-06-01 (James Jones)
- Added code for
-- example 4 demonstrating how an application might make use of the two
-- different present and acquire next image KHR result
-- codes.
- Added issue 13.
-- - Revision 15, 2015-06-01 (James Jones)
- Added issues 14 - 16
-- and related spec language.
- Fixed some spelling
-- errors.
- Added language describing the meaningful return values
-- for vkAcquireNextImageKHR and vkQueuePresentKHR.
-- - Revision 16, 2015-06-02 (James Jones)
- Added issues 17 and
-- 18, as well as related spec language.
- Removed some erroneous
-- text added by mistake in the last update.
-- - Revision 17, 2015-06-15 (Ian Elliott)
- Changed special value
-- from "-1" to "0" so that the data types can be
-- unsigned.
-- - Revision 18, 2015-06-15 (Ian Elliott)
- Clarified the values
-- of VkSurfacePropertiesKHR::minImageCount and the timeout parameter of
-- the vkAcquireNextImageKHR function.
-- - Revision 19, 2015-06-17 (James Jones)
- Misc. cleanup.
-- Removed resolved inline issues and fixed typos.
- Fixed
-- clarification of VkSurfacePropertiesKHR::minImageCount made in version
-- 18.
- Added a brief "Image Ownership" definition to the list of
-- terms used in the spec.
-- - Revision 20, 2015-06-17 (James Jones)
- Updated
-- enum-extending values using new convention.
-- - Revision 21, 2015-06-17 (James Jones)
- Added language
-- describing how to use
-- VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR.
- Cleaned up an XXX comment
-- regarding the description of which queues vkQueuePresentKHR can be
-- used on.
-- - Revision 22, 2015-06-17 (James Jones)
- Rebased on Vulkan API
-- version 126.
-- - Revision 23, 2015-06-18 (James Jones)
- Updated language for
-- issue 12 to read as a proposed resolution.
- Marked issues 11,
-- 12, 13, 16, and 17 resolved.
- Temporarily added links to the
-- relevant bugs under the remaining unresolved issues.
- Added
-- issues 19 and 20 as well as proposed resolutions.
-- - Revision 24, 2015-06-19 (Ian Elliott)
- Changed special value
-- for VkSurfacePropertiesKHR::currentExtent back to “-1” from “0”. This
-- value will never need to be unsigned, and “0” is actually a legal
-- value.
-- - Revision 25, 2015-06-23 (Ian Elliott)
- Examples now show use
-- of function pointers for extension functions.
- Eliminated
-- extraneous whitespace.
-- - Revision 26, 2015-06-25 (Ian Elliott)
- Resolved Issues 9
-- & 10 per KHR TSG meeting.
-- - Revision 27, 2015-06-25 (James Jones)
- Added oldSwapchain
-- member to VkSwapchainCreateInfoKHR.
-- - Revision 28, 2015-06-25 (James Jones)
- Added the “inherit”
-- bits to the rotation and mirroring flags and the associated issue
-- 21.
-- - Revision 29, 2015-06-25 (James Jones)
- Added the “clipped”
-- flag to VkSwapchainCreateInfoKHR, and the associated issue
-- 22.
- Specified that presenting an image does not modify
-- it.
-- - Revision 30, 2015-06-25 (James Jones)
- Added language to the
-- spec that clarifies the behavior of vkCreateSwapchainKHR() when the
-- oldSwapchain field of VkSwapchainCreateInfoKHR is not
-- NULL.
-- - Revision 31, 2015-06-26 (Ian Elliott)
- Example of new
-- VkSwapchainCreateInfoKHR members, “oldSwapchain” and
-- “clipped”.
- Example of using
-- VkSurfacePropertiesKHR::{min|max}ImageCount to set
-- VkSwapchainCreateInfoKHR::minImageCount.
- Rename
-- vkGetSurfaceInfoKHR()'s 4th parameter to “pDataSize”, for consistency
-- with other functions.
- Add macro with C-string name of
-- extension (just to header file).
-- - Revision 32, 2015-06-26 (James Jones)
- Minor adjustments to
-- the language describing the behavior of “oldSwapchain”
- Fixed
-- the version date on my previous two updates.
-- - Revision 33, 2015-06-26 (Jesse Hall)
- Add usage flags to
-- VkSwapchainCreateInfoKHR
-- - Revision 34, 2015-06-26 (Ian Elliott)
- Rename
-- vkQueuePresentKHR()'s 2nd parameter to “pPresentInfo”, for consistency
-- with other functions.
-- - Revision 35, 2015-06-26 (Jason Ekstrand)
- Merged the
-- VkRotationFlagBitsKHR and VkMirrorFlagBitsKHR enums into a single
-- VkSurfaceTransformFlagBitsKHR enum.
-- - Revision 36, 2015-06-26 (Jason Ekstrand)
- Added a
-- VkSurfaceTransformKHR enum that is not a bitmask. Each value in
-- VkSurfaceTransformKHR corresponds directly to one of the bits in
-- VkSurfaceTransformFlagBitsKHR so transforming from one to the other is
-- easy. Having a separate enum means that currentTransform and
-- preTransform are now unambiguous by definition.
-- - Revision 37, 2015-06-29 (Ian Elliott)
- Corrected one of the
-- signatures of vkAcquireNextImageKHR, which had the last two parameters
-- switched from what it is elsewhere in the specification and header
-- files.
-- - Revision 38, 2015-06-30 (Ian Elliott)
- Corrected a typo in
-- description of the vkGetSwapchainInfoKHR() function.
- Corrected
-- a typo in header file comment for
-- VkPresentInfoKHR::sType.
-- - Revision 39, 2015-07-07 (Daniel Rakos)
- Added error section
-- describing when each error is expected to be
-- reported.
- Replaced bool32_t with VkBool32.
-- - Revision 40, 2015-07-10 (Ian Elliott)
- Updated to work with
-- version 138 of the vulkan.h header. This includes declaring
-- the VkSwapchainKHR type using the new VK_DEFINE_NONDISP_HANDLE macro,
-- and no longer extending VkObjectType (which was
-- eliminated).
-- - Revision 41 2015-07-09 (Mathias Heyer)
- Added color space
-- language.
-- - Revision 42, 2015-07-10 (Daniel Rakos)
- Updated query
-- mechanism to reflect the convention changes done in the core
-- spec.
- Removed “queue” from the name of
-- VK_STRUCTURE_TYPE_QUEUE_PRESENT_INFO_KHR to be consistent with the
-- established naming convention.
- Removed reference to the no
-- longer existing VkObjectType enum.
-- - Revision 43, 2015-07-17 (Daniel Rakos)
- Added support for
-- concurrent sharing of swapchain images across queue
-- families.
- Updated sample code based on recent
-- changes
-- - Revision 44, 2015-07-27 (Ian Elliott)
- Noted that support
-- for VK_PRESENT_MODE_FIFO_KHR is required. That is ICDs may optionally
-- support IMMEDIATE and MAILBOX, but must support FIFO.
-- - Revision 45, 2015-08-07 (Ian Elliott)
- Corrected a typo in
-- spec file (type and variable name had wrong case for the
-- imageColorSpace member of the VkSwapchainCreateInfoKHR
-- struct).
- Corrected a typo in header file (last parameter in
-- PFN_vkGetSurfacePropertiesKHR was missing “KHR” at the end of type:
-- VkSurfacePropertiesKHR).
-- - Revision 46, 2015-08-20 (Ian Elliott)
- Renamed this
-- extension and all of its enumerations, types, functions, etc. This
-- makes it compliant with the proposed standard for Vulkan
-- extensions.
- Switched from “revision” to “version”, including
-- use of the VK_MAKE_VERSION macro in the header file.
- Made
-- improvements to several descriptions.
- Changed the status of
-- several issues from PROPOSED to RESOLVED, leaving no unresolved
-- issues.
- Resolved several TODOs, did miscellaneous cleanup,
-- etc.
-- - Revision 47, 2015-08-20 (Ian Elliott—porting a 2015-07-29 change
-- from James Jones)
- Moved the surface transform enums to
-- VK_WSI_swapchain so they could be reused by
-- VK_WSI_display.
-- - Revision 48, 2015-09-01 (James Jones)
- Various minor
-- cleanups.
-- - Revision 49, 2015-09-01 (James Jones)
- Restore single-field
-- revision number.
-- - Revision 50, 2015-09-01 (James Jones)
- Update Example #4 to
-- include code that illustrates how to use the oldSwapchain
-- field.
-- - Revision 51, 2015-09-01 (James Jones)
- Fix example code
-- compilation errors.
-- - Revision 52, 2015-09-08 (Matthaeus G. Chajdas)
-- - Revision 53, 2015-09-10 (Alon Or-bach)
- Removed underscore
-- from SWAP_CHAIN left in
-- VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR.
-- - Revision 54, 2015-09-11 (Jesse Hall)
- Described the
-- execution and memory coherence requirements for image transitions to
-- and from VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR.
-- - Revision 55, 2015-09-11 (Ray Smith)
- Added errors for
-- destroying and binding memory to presentable images
-- - Revision 56, 2015-09-18 (James Jones)
- Added fence argument
-- to vkAcquireNextImageKHR
- Added example of how to meter a host
-- thread based on presentation rate.
-- - Revision 57, 2015-09-26 (Jesse Hall)
- Replace
-- VkSurfaceDescriptionKHR with VkSurfaceKHR.
- Added issue 25 with
-- agreed resolution.
-- - Revision 58, 2015-09-28 (Jesse Hall)
- Renamed from
-- VK_EXT_KHR_device_swapchain to VK_EXT_KHR_swapchain.
-- - Revision 59, 2015-09-29 (Ian Elliott)
- Changed
-- vkDestroySwapchainKHR() to return void.
-- - Revision 60, 2015-10-01 (Jeff Vigil)
- Added error result
-- VK_ERROR_SURFACE_LOST_KHR.
-- - Revision 61, 2015-10-05 (Jason Ekstrand)
- Added the
-- VkCompositeAlpha enum and corresponding structure
-- fields.
-- - Revision 62, 2015-10-12 (Daniel Rakos)
- Added
-- VK_PRESENT_MODE_FIFO_RELAXED_KHR.
-- - Revision 63, 2015-10-15 (Daniel Rakos)
- Moved surface
-- capability queries to VK_EXT_KHR_surface.
-- - Revision 64, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_swapchain to VK_KHR_swapchain.
-- - Revision 65, 2015-10-28 (Ian Elliott)
- Added optional
-- pResult member to VkPresentInfoKHR, so that per-swapchain results can
-- be obtained from vkQueuePresentKHR().
-- - Revision 66, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to create and destroy functions.
- Updated resource
-- transition language.
- Updated sample code.
-- - Revision 67, 2015-11-10 (Jesse Hall)
- Add reserved flags
-- bitmask to VkSwapchainCreateInfoKHR.
- Modify naming and member
-- ordering to match API style conventions, and so the
-- VkSwapchainCreateInfoKHR image property members mirror corresponding
-- VkImageCreateInfo members but with an 'image' prefix.
- Make
-- VkPresentInfoKHR::pResults non-const; it is an output array
-- parameter.
- Make pPresentInfo parameter to vkQueuePresentKHR
-- const.
-- - Revision 68, 2016-04-05 (Ian Elliott)
- Moved the “validity”
-- include for vkAcquireNextImage to be in its proper place, after the
-- prototype and list of parameters.
- Clarified language about
-- presentable images, including how they are acquired, when applications
-- can and cannot use them, etc. As part of this, removed language about
-- “ownership” of presentable images, and replaced it with
-- more-consistent language about presentable images being “acquired” by
-- the application.
-- - 2016-08-23 (Ian Elliott)
- Update the example code, to use
-- the final API command names, to not have so many characters per line,
-- and to split out a new example to show how to obtain function
-- pointers. This code is more similar to the LunarG “cube” demo
-- program.
-- - 2016-08-25 (Ian Elliott)
- A note was added at the beginning
-- of the example code, stating that it will be removed from future
-- versions of the appendix.
-- - Revision 69, 2017-09-07 (Tobias Hector)
- Added interactions
-- with Vulkan 1.1
-- - Revision 70, 2017-10-06 (Ian Elliott)
- Corrected
-- interactions with Vulkan 1.1
--
--
-- See Also
--
-- PresentInfoKHR, SwapchainCreateFlagBitsKHR,
-- SwapchainCreateFlagsKHR, SwapchainCreateInfoKHR,
-- SwapchainKHR, acquireNextImageKHR,
-- createSwapchainKHR, destroySwapchainKHR,
-- getSwapchainImagesKHR, queuePresentKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_swapchain
-- | vkCreateSwapchainKHR - Create a swapchain
--
-- Description
--
-- If the oldSwapchain parameter of pCreateInfo is a
-- valid swapchain, which has exclusive full-screen access, that access
-- is released from oldSwapchain. If the command succeeds in
-- this case, the newly created swapchain will automatically acquire
-- exclusive full-screen access from oldSwapchain.
--
-- Note
--
-- This implicit transfer is intended to avoid exiting and entering
-- full-screen exclusive mode, which may otherwise cause unwanted visual
-- updates to the display.
--
-- In some cases, swapchain creation may fail if exclusive
-- full-screen mode is requested for application control, but for some
-- implementation-specific reason exclusive full-screen access is
-- unavailable for the particular combination of parameters provided. If
-- this occurs, ERROR_INITIALIZATION_FAILED will be returned.
--
-- Note
--
-- In particular, it will fail if the imageExtent member of
-- pCreateInfo does not match the extents of the monitor. Other
-- reasons for failure may include the app not being set as high-dpi
-- aware, or if the physical device and monitor are not compatible in
-- this mode.
--
-- When the SurfaceKHR in SwapchainCreateInfoKHR is a
-- display surface, then the DisplayModeKHR in display surface’s
-- DisplaySurfaceCreateInfoKHR is associated with a particular
-- DisplayKHR. Swapchain creation may fail if that
-- DisplayKHR is not acquired by the application. In this scenario
-- ERROR_INITIALIZATION_FAILED is returned.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- SwapchainCreateInfoKHR structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSwapchain must be a valid pointer to a
-- SwapchainKHR handle
--
--
-- Host Synchronization
--
--
-- - Host access to pCreateInfo->surface must be
-- externally synchronized
--
--
--
-- - Host access to pCreateInfo->oldSwapchain must
-- be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_swapchain, AllocationCallbacks, Device,
-- SwapchainCreateInfoKHR, SwapchainKHR
createSwapchainKHR :: forall a io. (Extendss SwapchainCreateInfoKHR a, PokeChain a, MonadIO io) => Device -> SwapchainCreateInfoKHR a -> ("allocator" ::: Maybe AllocationCallbacks) -> io SwapchainKHR
-- | A convenience wrapper to make a compatible pair of calls to
-- createSwapchainKHR and destroySwapchainKHR
--
-- To ensure that destroySwapchainKHR 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.
withSwapchainKHR :: forall a io r. (Extendss SwapchainCreateInfoKHR a, PokeChain a, MonadIO io) => Device -> SwapchainCreateInfoKHR a -> Maybe AllocationCallbacks -> (io SwapchainKHR -> (SwapchainKHR -> io ()) -> r) -> r
-- | vkDestroySwapchainKHR - Destroy a swapchain object
--
-- Description
--
-- The application must not destroy a swapchain until after
-- completion of all outstanding operations on images that were acquired
-- from the swapchain. swapchain and all associated Image
-- handles are destroyed, and must not be acquired or used any
-- more by the application. The memory of each Image will only be
-- freed after that image is no longer used by the presentation engine.
-- For example, if one image of the swapchain is being displayed in a
-- window, the memory for that image may not be freed until the
-- window is destroyed, or another swapchain is created for the window.
-- Destroying the swapchain does not invalidate the parent
-- SurfaceKHR, and a new swapchain can be created with it.
--
-- When a swapchain associated with a display surface is destroyed, if
-- the image most recently presented to the display surface is from the
-- swapchain being destroyed, then either any display resources modified
-- by presenting images from any swapchain associated with the display
-- surface must be reverted by the implementation to their state
-- prior to the first present performed on one of these swapchains, or
-- such resources must be left in their current state.
--
-- If swapchain has exclusive full-screen access, it is released
-- before the swapchain is destroyed.
--
-- Valid Usage
--
--
-- - All uses of presentable images acquired from swapchain
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- swapchain was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- swapchain was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If swapchain is not NULL_HANDLE,
-- swapchain must be a valid SwapchainKHR
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - Both of device, and swapchain that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_swapchain, AllocationCallbacks, Device,
-- SwapchainKHR
destroySwapchainKHR :: forall io. MonadIO io => Device -> SwapchainKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetSwapchainImagesKHR - Obtain the array of presentable images
-- associated with a swapchain
--
-- Description
--
-- If pSwapchainImages is NULL, then the number of
-- presentable images for swapchain is returned in
-- pSwapchainImageCount. Otherwise,
-- pSwapchainImageCount must point to a variable set by
-- the user to the number of elements in the pSwapchainImages
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pSwapchainImages. If the value
-- of pSwapchainImageCount is less than the number of
-- presentable images for swapchain, at most
-- pSwapchainImageCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available presentable images were returned.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - pSwapchainImageCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pSwapchainImageCount is not
-- 0, and pSwapchainImages is not NULL,
-- pSwapchainImages must be a valid pointer to an array
-- of pSwapchainImageCount Image handles
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_swapchain, Device, Image,
-- SwapchainKHR
getSwapchainImagesKHR :: forall io. MonadIO io => Device -> SwapchainKHR -> io (Result, "swapchainImages" ::: Vector Image)
-- | vkAcquireNextImageKHR - Retrieve the index of the next available
-- presentable image
--
-- Valid Usage
--
--
-- - swapchain must not be in the retired state
--
--
--
-- - If semaphore is not NULL_HANDLE it must be
-- unsignaled
-- - If semaphore is not NULL_HANDLE it must not
-- have any uncompleted signal or wait operations pending
-- - If fence is not NULL_HANDLE it must be
-- unsignaled and must not be associated with any other queue
-- command that has not yet completed execution on that queue
-- - semaphore and fence must not both be
-- equal to NULL_HANDLE
-- - If the number of currently acquired images is greater than the
-- difference between the number of images in swapchain and the
-- value of SurfaceCapabilitiesKHR::minImageCount as
-- returned by a call to getPhysicalDeviceSurfaceCapabilities2KHR
-- with the surface used to create swapchain,
-- timeout must not be UINT64_MAX
-- - semaphore must have a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - If semaphore is not NULL_HANDLE,
-- semaphore must be a valid Semaphore handle
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - pImageIndex must be a valid pointer to a
-- uint32_t value
-- - If semaphore is a valid handle, it must have been
-- created, allocated, or retrieved from device
-- - If fence is a valid handle, it must have been
-- created, allocated, or retrieved from device
-- - Both of device, and swapchain that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
--
-- - Host access to semaphore must be externally
-- synchronized
-- - Host access to fence must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_swapchain, Device, Fence,
-- Semaphore, SwapchainKHR
acquireNextImageKHR :: forall io. MonadIO io => Device -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> io (Result, "imageIndex" ::: Word32)
-- | A variant of acquireNextImageKHR which makes a *safe* FFI call
acquireNextImageKHRSafe :: forall io. MonadIO io => Device -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> io (Result, "imageIndex" ::: Word32)
-- | vkQueuePresentKHR - Queue an image for presentation
--
-- Description
--
-- Note
--
-- There is no requirement for an application to present images in the
-- same order that they were acquired - applications can arbitrarily
-- present any image that is currently acquired.
--
-- Valid Usage
--
--
-- - Each element of pSwapchains member of
-- pPresentInfo must be a swapchain that is created for a
-- surface for which presentation is supported from queue as
-- determined using a call to
-- getPhysicalDeviceSurfaceSupportKHR
--
--
--
-- - If more than one member of pSwapchains was created from a
-- display surface, all display surfaces referenced that refer to the
-- same display must use the same display mode
-- - When a semaphore wait operation referring to a binary semaphore
-- defined by the elements of the pWaitSemaphores member of
-- pPresentInfo executes on queue, there must be
-- no other queues waiting on the same semaphore
-- - All elements of the pWaitSemaphores member of
-- pPresentInfo must be semaphores that are signaled, or
-- have semaphore signal operations previously submitted for
-- execution
-- - All elements of the pWaitSemaphores member of
-- pPresentInfo must be created with a
-- SemaphoreType of SEMAPHORE_TYPE_BINARY
-- - All elements of the pWaitSemaphores member of
-- pPresentInfo must reference a semaphore signal
-- operation that has been submitted for execution and any semaphore
-- signal operations on which it depends (if any) must have also
-- been submitted for execution
--
--
-- Any writes to memory backing the images referenced by the
-- pImageIndices and pSwapchains members of
-- pPresentInfo, that are available before
-- queuePresentKHR is executed, are automatically made visible to
-- the read access performed by the presentation engine. This automatic
-- visibility operation for an image happens-after the semaphore signal
-- operation, and happens-before the presentation engine accesses the
-- image.
--
-- Queueing an image for presentation defines a set of queue
-- operations, including waiting on the semaphores and submitting a
-- presentation request to the presentation engine. However, the scope of
-- this set of queue operations does not include the actual processing of
-- the image by the presentation engine.
--
-- Note
--
-- The origin of the native orientation of the surface coordinate system
-- is not specified in the Vulkan specification; it depends on the
-- platform. For most platforms the origin is by default upper-left,
-- meaning the pixel of the presented Image at coordinates (0,0)
-- would appear at the upper left pixel of the platform surface (assuming
-- SURFACE_TRANSFORM_IDENTITY_BIT_KHR, and the display standing
-- the right way up).
--
-- If queuePresentKHR fails to enqueue the corresponding set of
-- queue operations, it may return ERROR_OUT_OF_HOST_MEMORY
-- or ERROR_OUT_OF_DEVICE_MEMORY. If it does, the implementation
-- must ensure that the state and contents of any resources or
-- synchronization primitives referenced is unaffected by the call or its
-- failure.
--
-- If queuePresentKHR fails in such a way that the implementation
-- is unable to make that guarantee, the implementation must
-- return ERROR_DEVICE_LOST.
--
-- However, if the presentation request is rejected by the presentation
-- engine with an error ERROR_OUT_OF_DATE_KHR,
-- ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT, or
-- ERROR_SURFACE_LOST_KHR, the set of queue operations are still
-- considered to be enqueued and thus any semaphore wait operation
-- specified in PresentInfoKHR will execute when the corresponding
-- queue operation is complete.
--
-- Calls to queuePresentKHR may block, but must
-- return in finite time.
--
-- If any swapchain member of pPresentInfo was created
-- with FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT,
-- ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT will be returned if
-- that swapchain does not have exclusive full-screen access, possibly
-- for implementation-specific reasons outside of the application’s
-- control.
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - pPresentInfo must be a valid pointer to a valid
-- PresentInfoKHR structure
--
--
-- Host Synchronization
--
--
-- - Host access to queue must be externally
-- synchronized
--
--
--
-- - Host access to pPresentInfo->pWaitSemaphores[]
-- must be externally synchronized
-- - Host access to pPresentInfo->pSwapchains[] must
-- be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_swapchain, PresentInfoKHR, Queue
queuePresentKHR :: forall a io. (Extendss PresentInfoKHR a, PokeChain a, MonadIO io) => Queue -> PresentInfoKHR a -> io Result
-- | vkGetDeviceGroupPresentCapabilitiesKHR - Query present capabilities
-- from other physical devices
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, Device,
-- DeviceGroupPresentCapabilitiesKHR
getDeviceGroupPresentCapabilitiesKHR :: forall io. MonadIO io => Device -> io DeviceGroupPresentCapabilitiesKHR
-- | vkGetDeviceGroupSurfacePresentModesKHR - Query present capabilities
-- for a surface
--
-- Description
--
-- The modes returned by this command are not invariant, and may
-- change in response to the surface being moved, resized, or occluded.
-- These modes must be a subset of the modes returned by
-- getDeviceGroupPresentCapabilitiesKHR.
--
-- Valid Usage
--
--
-- - surface must be supported by all physical devices
-- associated with device, as reported by
-- getPhysicalDeviceSurfaceSupportKHR or an equivalent
-- platform-specific mechanism
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to surface must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, Device,
-- DeviceGroupPresentModeFlagsKHR, SurfaceKHR
getDeviceGroupSurfacePresentModesKHR :: forall io. MonadIO io => Device -> SurfaceKHR -> io ("modes" ::: DeviceGroupPresentModeFlagsKHR)
-- | vkAcquireNextImage2KHR - Retrieve the index of the next available
-- presentable image
--
-- Valid Usage
--
--
-- - If the number of currently acquired images is greater than the
-- difference between the number of images in the swapchain
-- member of pAcquireInfo and the value of
-- SurfaceCapabilitiesKHR::minImageCount as returned by a
-- call to getPhysicalDeviceSurfaceCapabilities2KHR with the
-- surface used to create swapchain, the
-- timeout member of pAcquireInfo must not be
-- UINT64_MAX
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAcquireInfo must be a valid pointer to a valid
-- AcquireNextImageInfoKHR structure
-- - pImageIndex must be a valid pointer to a
-- uint32_t value
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, AcquireNextImageInfoKHR, Device
acquireNextImage2KHR :: forall io. MonadIO io => Device -> ("acquireInfo" ::: AcquireNextImageInfoKHR) -> io (Result, "imageIndex" ::: Word32)
-- | A variant of acquireNextImage2KHR which makes a *safe* FFI call
acquireNextImage2KHRSafe :: forall io. MonadIO io => Device -> ("acquireInfo" ::: AcquireNextImageInfoKHR) -> io (Result, "imageIndex" ::: Word32)
-- | vkGetPhysicalDevicePresentRectanglesKHR - Query present rectangles for
-- a surface on a physical device
--
-- Description
--
-- If pRects is NULL, then the number of rectangles
-- used when presenting the given surface is returned in
-- pRectCount. Otherwise, pRectCount must point
-- to a variable set by the user to the number of elements in the
-- pRects array, and on return the variable is overwritten with
-- the number of structures actually written to pRects. If the
-- value of pRectCount is less than the number of rectangles, at
-- most pRectCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available rectangles were returned.
--
-- The values returned by this command are not invariant, and may
-- change in response to the surface being moved, resized, or occluded.
--
-- The rectangles returned by this command must not overlap.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pRectCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pRectCount is not 0,
-- and pRects is not NULL, pRects must
-- be a valid pointer to an array of pRectCount Rect2D
-- structures
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to surface must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, PhysicalDevice,
-- Rect2D, SurfaceKHR
getPhysicalDevicePresentRectanglesKHR :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io (Result, "rects" ::: Vector Rect2D)
-- | VkSwapchainCreateInfoKHR - Structure specifying parameters of a newly
-- created swapchain object
--
-- Description
--
-- Upon calling createSwapchainKHR with an oldSwapchain
-- that is not NULL_HANDLE, oldSwapchain is retired —
-- even if creation of the new swapchain fails. The new swapchain is
-- created in the non-retired state whether or not oldSwapchain
-- is NULL_HANDLE.
--
-- Upon calling createSwapchainKHR with an oldSwapchain
-- that is not NULL_HANDLE, any images from oldSwapchain
-- that are not acquired by the application may be freed by the
-- implementation, which may occur even if creation of the new
-- swapchain fails. The application can destroy
-- oldSwapchain to free all memory associated with
-- oldSwapchain.
--
-- Note
--
-- Multiple retired swapchains can be associated with the same
-- SurfaceKHR through multiple uses of oldSwapchain that
-- outnumber calls to destroySwapchainKHR.
--
-- After oldSwapchain is retired, the application can
-- pass to queuePresentKHR any images it had already acquired from
-- oldSwapchain. E.g., an application may present an image from
-- the old swapchain before an image from the new swapchain is ready to
-- be presented. As usual, queuePresentKHR may fail if
-- oldSwapchain has entered a state that causes
-- ERROR_OUT_OF_DATE_KHR to be returned.
--
-- The application can continue to use a shared presentable image
-- obtained from oldSwapchain until a presentable image is
-- acquired from the new swapchain, as long as it has not entered a state
-- that causes it to return ERROR_OUT_OF_DATE_KHR.
--
-- Valid Usage
--
--
--
--
-- - minImageCount must be less than or equal to the
-- value returned in the maxImageCount member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface if the
-- returned maxImageCount is not zero
-- - If presentMode is not
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR nor
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, then
-- minImageCount must be greater than or equal to the
-- value returned in the minImageCount member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - minImageCount must be 1 if
-- presentMode is either
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
-- - imageFormat and imageColorSpace must
-- match the format and colorSpace members,
-- respectively, of one of the SurfaceFormatKHR structures
-- returned by getPhysicalDeviceSurfaceFormatsKHR for the
-- surface
-- - imageExtent must be between
-- minImageExtent and maxImageExtent, inclusive, where
-- minImageExtent and maxImageExtent are members of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - imageExtent members width and height
-- must both be non-zero
-- - imageArrayLayers must be greater than 0
-- and less than or equal to the maxImageArrayLayers member of
-- the SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - If presentMode is PRESENT_MODE_IMMEDIATE_KHR,
-- PRESENT_MODE_MAILBOX_KHR, PRESENT_MODE_FIFO_KHR or
-- PRESENT_MODE_FIFO_RELAXED_KHR, imageUsage must
-- be a subset of the supported usage flags present in the
-- supportedUsageFlags member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for
-- surface
-- - If presentMode is
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, imageUsage
-- must be a subset of the supported usage flags present in the
-- sharedPresentSupportedUsageFlags member of the
-- SharedPresentSurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilities2KHR for
-- surface
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- pQueueFamilyIndices must be a valid pointer to an
-- array of queueFamilyIndexCount uint32_t values
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- queueFamilyIndexCount must be greater than
-- 1
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- each element of pQueueFamilyIndices must be unique and
-- must be less than pQueueFamilyPropertyCount returned
-- by either getPhysicalDeviceQueueFamilyProperties or
-- getPhysicalDeviceQueueFamilyProperties2 for the
-- physicalDevice that was used to create device
-- - preTransform must be one of the bits present in
-- the supportedTransforms member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - compositeAlpha must be one of the bits present in
-- the supportedCompositeAlpha member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - presentMode must be one of the
-- PresentModeKHR values returned by
-- getPhysicalDeviceSurfacePresentModesKHR for the surface
-- - If the logical device was created with
-- DeviceGroupDeviceCreateInfo::physicalDeviceCount equal
-- to 1, flags must not contain
-- SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
-- - If oldSwapchain is not NULL_HANDLE,
-- oldSwapchain must be a non-retired swapchain
-- associated with native window referred to by surface
-- - The implied image creation parameters of the swapchain
-- must be supported as reported by
-- getPhysicalDeviceImageFormatProperties
-- - If flags contains
-- SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR then the pNext
-- chain must include a ImageFormatListCreateInfo structure
-- with a viewFormatCount greater than zero and
-- pViewFormats must have an element equal to
-- imageFormat
-- - If a ImageFormatListCreateInfo structure was included in
-- the pNext chain and
-- ImageFormatListCreateInfo::viewFormatCount is not zero
-- then all of the formats in
-- ImageFormatListCreateInfo::pViewFormats must be
-- compatible with the format as described in the
-- compatibility table
-- - If flags does not contain
-- SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR and the pNext
-- chain include a ImageFormatListCreateInfo structure then
-- ImageFormatListCreateInfo::viewFormatCount must
-- be 0 or 1
-- - If flags contains
-- SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, then
-- SurfaceProtectedCapabilitiesKHR::supportsProtected
-- must be TRUE in the
-- SurfaceProtectedCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilities2KHR for
-- surface
-- - If the pNext chain includes a
-- SurfaceFullScreenExclusiveInfoEXT structure with its
-- fullScreenExclusive member set to
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT, and
-- surface was created using createWin32SurfaceKHR, a
-- SurfaceFullScreenExclusiveWin32InfoEXT structure must be
-- included in the pNext chain
--
--
-- 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
-- DeviceGroupSwapchainCreateInfoKHR,
-- ImageFormatListCreateInfo,
-- SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SwapchainCounterCreateInfoEXT, or
-- SwapchainDisplayNativeHdrCreateInfoAMD
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- SwapchainCreateFlagBitsKHR values
-- - surface must be a valid SurfaceKHR
-- handle
-- - imageFormat must be a valid Format
-- value
-- - imageColorSpace must be a valid
-- ColorSpaceKHR value
-- - imageUsage must be a valid combination of
-- ImageUsageFlagBits values
-- - imageUsage must not be 0
-- - imageSharingMode must be a valid
-- SharingMode value
-- - preTransform must be a valid
-- SurfaceTransformFlagBitsKHR value
-- - compositeAlpha must be a valid
-- CompositeAlphaFlagBitsKHR value
-- - presentMode must be a valid PresentModeKHR
-- value
-- - If oldSwapchain is not NULL_HANDLE,
-- oldSwapchain must be a valid SwapchainKHR
-- handle
-- - If oldSwapchain is a valid handle, it must have
-- been created, allocated, or retrieved from surface
-- - Both of oldSwapchain, and surface that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Instance
--
--
-- See Also
--
-- VK_KHR_swapchain, Bool32, ColorSpaceKHR,
-- CompositeAlphaFlagBitsKHR, Extent2D, Format,
-- ImageUsageFlags, PresentModeKHR, SharingMode,
-- StructureType, SurfaceKHR,
-- SurfaceTransformFlagBitsKHR, SwapchainCreateFlagsKHR,
-- SwapchainKHR, createSharedSwapchainsKHR,
-- createSwapchainKHR
data SwapchainCreateInfoKHR (es :: [Type])
SwapchainCreateInfoKHR :: Chain es -> SwapchainCreateFlagsKHR -> SurfaceKHR -> Word32 -> Format -> ColorSpaceKHR -> Extent2D -> Word32 -> ImageUsageFlags -> SharingMode -> Vector Word32 -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagBitsKHR -> PresentModeKHR -> Bool -> SwapchainKHR -> SwapchainCreateInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Chain es
-- | flags is a bitmask of SwapchainCreateFlagBitsKHR
-- indicating parameters of the swapchain creation.
[$sel:flags:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SwapchainCreateFlagsKHR
-- | surface is the surface onto which the swapchain will present
-- images. If the creation succeeds, the swapchain becomes associated
-- with surface.
[$sel:surface:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceKHR
-- | minImageCount is the minimum number of presentable images
-- that the application needs. The implementation will either create the
-- swapchain with at least that many images, or it will fail to create
-- the swapchain.
[$sel:minImageCount:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32
-- | imageFormat is a Format value specifying the format
-- the swapchain image(s) will be created with.
[$sel:imageFormat:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Format
-- | imageColorSpace is a ColorSpaceKHR value specifying
-- the way the swapchain interprets image data.
[$sel:imageColorSpace:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ColorSpaceKHR
-- | imageExtent is the size (in pixels) of the swapchain
-- image(s). The behavior is platform-dependent if the image extent does
-- not match the surface’s currentExtent as returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR.
--
-- Note
--
-- On some platforms, it is normal that maxImageExtent
-- may become (0, 0), for example when the window is
-- minimized. In such a case, it is not possible to create a swapchain
-- due to the Valid Usage requirements.
[$sel:imageExtent:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Extent2D
-- | imageArrayLayers is the number of views in a multiview/stereo
-- surface. For non-stereoscopic-3D applications, this value is 1.
[$sel:imageArrayLayers:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32
-- | imageUsage is a bitmask of ImageUsageFlagBits
-- describing the intended usage of the (acquired) swapchain images.
[$sel:imageUsage:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ImageUsageFlags
-- | imageSharingMode is the sharing mode used for the image(s) of
-- the swapchain.
[$sel:imageSharingMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SharingMode
-- | pQueueFamilyIndices is a pointer to an array of queue family
-- indices having access to the images(s) of the swapchain when
-- imageSharingMode is SHARING_MODE_CONCURRENT.
[$sel:queueFamilyIndices:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Vector Word32
-- | preTransform is a SurfaceTransformFlagBitsKHR value
-- describing the transform, relative to the presentation engine’s
-- natural orientation, applied to the image content prior to
-- presentation. If it does not match the currentTransform value
-- returned by getPhysicalDeviceSurfaceCapabilitiesKHR, the
-- presentation engine will transform the image content as part of the
-- presentation operation.
[$sel:preTransform:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceTransformFlagBitsKHR
-- | compositeAlpha is a CompositeAlphaFlagBitsKHR value
-- indicating the alpha compositing mode to use when this surface is
-- composited together with other surfaces on certain window systems.
[$sel:compositeAlpha:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> CompositeAlphaFlagBitsKHR
-- | presentMode is the presentation mode the swapchain will use.
-- A swapchain’s present mode determines how incoming present requests
-- will be processed and queued internally.
[$sel:presentMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> PresentModeKHR
-- | clipped specifies whether the Vulkan implementation is
-- allowed to discard rendering operations that affect regions of the
-- surface that are not visible.
--
--
-- - If set to TRUE, the presentable images associated with the
-- swapchain may not own all of their pixels. Pixels in the
-- presentable images that correspond to regions of the target surface
-- obscured by another window on the desktop, or subject to some other
-- clipping mechanism will have undefined content when read back.
-- Fragment shaders may not execute for these pixels, and thus any
-- side effects they would have had will not occur. Setting TRUE
-- does not guarantee any clipping will occur, but allows more efficient
-- presentation methods to be used on some platforms.
-- - If set to FALSE, presentable images associated with the
-- swapchain will own all of the pixels they contain.NoteApplications
-- should set this value to TRUE if they do not expect to
-- read back the content of presentable images before presenting them or
-- after reacquiring them, and if their fragment shaders do not have any
-- side effects that require them to run for all pixels in the
-- presentable image.
--
[$sel:clipped:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Bool
-- | oldSwapchain is NULL_HANDLE, or the existing
-- non-retired swapchain currently associated with surface.
-- Providing a valid oldSwapchain may aid in the resource
-- reuse, and also allows the application to still present any images
-- that are already acquired from it.
[$sel:oldSwapchain:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SwapchainKHR
-- | VkPresentInfoKHR - Structure describing parameters of a queue
-- presentation
--
-- Description
--
-- Before an application can present an image, the image’s layout
-- must be transitioned to the IMAGE_LAYOUT_PRESENT_SRC_KHR
-- layout, or for a shared presentable image the
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR layout.
--
-- Note
--
-- When transitioning the image to IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- or IMAGE_LAYOUT_PRESENT_SRC_KHR, there is no need to delay
-- subsequent processing, or perform any visibility operations (as
-- queuePresentKHR performs automatic visibility operations). To
-- achieve this, the dstAccessMask member of the
-- ImageMemoryBarrier should be set to 0, and the
-- dstStageMask parameter should be set to
-- PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.
--
-- Valid Usage
--
--
-- - Each element of pImageIndices must be the index of
-- a presentable image acquired from the swapchain specified by the
-- corresponding element of the pSwapchains array, and the
-- presented image subresource must be in the
-- IMAGE_LAYOUT_PRESENT_SRC_KHR or
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR layout at the time the
-- operation is executed on a Device
--
--
--
-- - If a PresentIdKHR structure is included in the
-- pNext chain, and the presentId feature is not enabled,
-- each presentIds entry in that structure must be
-- NULL
--
--
-- 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 DeviceGroupPresentInfoKHR,
-- DisplayPresentInfoKHR, PresentFrameTokenGGP,
-- PresentIdKHR, PresentRegionsKHR, or
-- PresentTimesInfoGOOGLE
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - If waitSemaphoreCount is not 0,
-- pWaitSemaphores must be a valid pointer to an array of
-- waitSemaphoreCount valid Semaphore handles
-- - pSwapchains must be a valid pointer to an array of
-- swapchainCount valid SwapchainKHR handles
-- - pImageIndices must be a valid pointer to an array
-- of swapchainCount uint32_t values
-- - If pResults is not NULL, pResults
-- must be a valid pointer to an array of swapchainCount
-- Result values
-- - swapchainCount must be greater than
-- 0
-- - Both of the elements of pSwapchains, and the elements of
-- pWaitSemaphores that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Instance
--
--
-- See Also
--
-- VK_KHR_swapchain, Result, Semaphore,
-- StructureType, SwapchainKHR, queuePresentKHR
data PresentInfoKHR (es :: [Type])
PresentInfoKHR :: Chain es -> Vector Semaphore -> Vector SwapchainKHR -> Vector Word32 -> Ptr Result -> PresentInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PresentInfoKHR] :: PresentInfoKHR (es :: [Type]) -> Chain es
-- | pWaitSemaphores is NULL or a pointer to an array of
-- Semaphore objects with waitSemaphoreCount entries, and
-- specifies the semaphores to wait for before issuing the present
-- request.
[$sel:waitSemaphores:PresentInfoKHR] :: PresentInfoKHR (es :: [Type]) -> Vector Semaphore
-- | pSwapchains is a pointer to an array of SwapchainKHR
-- objects with swapchainCount entries. A given swapchain
-- must not appear in this list more than once.
[$sel:swapchains:PresentInfoKHR] :: PresentInfoKHR (es :: [Type]) -> Vector SwapchainKHR
-- | pImageIndices is a pointer to an array of indices into the
-- array of each swapchain’s presentable images, with
-- swapchainCount entries. Each entry in this array identifies
-- the image to present on the corresponding entry in the
-- pSwapchains array.
[$sel:imageIndices:PresentInfoKHR] :: PresentInfoKHR (es :: [Type]) -> Vector Word32
-- | pResults is a pointer to an array of Result typed
-- elements with swapchainCount entries. Applications that do
-- not need per-swapchain results can use NULL for
-- pResults. If non-NULL, each entry in
-- pResults will be set to the Result for presenting the
-- swapchain corresponding to the same index in pSwapchains.
[$sel:results:PresentInfoKHR] :: PresentInfoKHR (es :: [Type]) -> Ptr Result
-- | VkDeviceGroupPresentCapabilitiesKHR - Present capabilities from other
-- physical devices
--
-- Description
--
-- modes always has
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR set.
--
-- The present mode flags are also used when presenting an image, in
-- DeviceGroupPresentInfoKHR::mode.
--
-- If a device group only includes a single physical device, then
-- modes must equal
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1,
-- DeviceGroupPresentModeFlagsKHR, StructureType,
-- getDeviceGroupPresentCapabilitiesKHR
data DeviceGroupPresentCapabilitiesKHR
DeviceGroupPresentCapabilitiesKHR :: Vector Word32 -> DeviceGroupPresentModeFlagsKHR -> DeviceGroupPresentCapabilitiesKHR
-- | presentMask is an array of MAX_DEVICE_GROUP_SIZE
-- uint32_t masks, where the mask at element i is non-zero if
-- physical device i has a presentation engine, and where bit j is set in
-- element i if physical device i can present swapchain images
-- from physical device j. If element i is non-zero, then bit i
-- must be set.
[$sel:presentMask:DeviceGroupPresentCapabilitiesKHR] :: DeviceGroupPresentCapabilitiesKHR -> Vector Word32
-- | modes is a bitmask of
-- DeviceGroupPresentModeFlagBitsKHR indicating which device group
-- presentation modes are supported.
[$sel:modes:DeviceGroupPresentCapabilitiesKHR] :: DeviceGroupPresentCapabilitiesKHR -> DeviceGroupPresentModeFlagsKHR
-- | VkImageSwapchainCreateInfoKHR - Specify that an image will be bound to
-- swapchain memory
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, StructureType, SwapchainKHR
data ImageSwapchainCreateInfoKHR
ImageSwapchainCreateInfoKHR :: SwapchainKHR -> ImageSwapchainCreateInfoKHR
-- | swapchain is NULL_HANDLE or a handle of a swapchain
-- that the image will be bound to.
[$sel:swapchain:ImageSwapchainCreateInfoKHR] :: ImageSwapchainCreateInfoKHR -> SwapchainKHR
-- | VkBindImageMemorySwapchainInfoKHR - Structure specifying swapchain
-- image memory to bind to
--
-- Description
--
-- If swapchain is not NULL, the swapchain and
-- imageIndex are used to determine the memory that the image is
-- bound to, instead of memory and memoryOffset.
--
-- Memory can be bound to a swapchain and use the
-- pDeviceIndices or pSplitInstanceBindRegions members
-- of BindImageMemoryDeviceGroupInfo.
--
-- Valid Usage
--
--
-- - imageIndex must be less than the number of images
-- in swapchain
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, StructureType, SwapchainKHR
data BindImageMemorySwapchainInfoKHR
BindImageMemorySwapchainInfoKHR :: SwapchainKHR -> Word32 -> BindImageMemorySwapchainInfoKHR
-- | swapchain is NULL_HANDLE or a swapchain handle.
[$sel:swapchain:BindImageMemorySwapchainInfoKHR] :: BindImageMemorySwapchainInfoKHR -> SwapchainKHR
-- | imageIndex is an image index within swapchain.
[$sel:imageIndex:BindImageMemorySwapchainInfoKHR] :: BindImageMemorySwapchainInfoKHR -> Word32
-- | VkAcquireNextImageInfoKHR - Structure specifying parameters of the
-- acquire
--
-- Description
--
-- If acquireNextImageKHR is used, the device mask is considered
-- to include all physical devices in the logical device.
--
-- Note
--
-- acquireNextImage2KHR signals at most one semaphore, even if the
-- application requests waiting for multiple physical devices to be ready
-- via the deviceMask. However, only a single physical device
-- can wait on that semaphore, since the semaphore becomes
-- unsignaled when the wait succeeds. For other physical devices to wait
-- for the image to be ready, it is necessary for the application to
-- submit semaphore signal operation(s) to that first physical device to
-- signal additional semaphore(s) after the wait succeeds, which the
-- other physical device(s) can wait upon.
--
-- Valid Usage
--
--
-- - swapchain must not be in the retired state
--
--
--
-- - If semaphore is not NULL_HANDLE it must be
-- unsignaled
-- - If semaphore is not NULL_HANDLE it must not
-- have any uncompleted signal or wait operations pending
-- - If fence is not NULL_HANDLE it must be
-- unsignaled and must not be associated with any other queue
-- command that has not yet completed execution on that queue
-- - semaphore and fence must not both be
-- equal to NULL_HANDLE
-- - deviceMask must be a valid device mask
-- - deviceMask must not be zero
-- - semaphore must have a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - If semaphore is not NULL_HANDLE,
-- semaphore must be a valid Semaphore handle
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - Each of fence, semaphore, and swapchain
-- that are valid handles of non-ignored parameters must have been
-- created, allocated, or retrieved from the same Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
--
-- - Host access to semaphore must be externally
-- synchronized
-- - Host access to fence must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, Fence, Semaphore,
-- StructureType, SwapchainKHR, acquireNextImage2KHR
data AcquireNextImageInfoKHR
AcquireNextImageInfoKHR :: SwapchainKHR -> Word64 -> Semaphore -> Fence -> Word32 -> AcquireNextImageInfoKHR
-- | swapchain is a non-retired swapchain from which an image is
-- acquired.
[$sel:swapchain:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> SwapchainKHR
-- | timeout specifies how long the function waits, in
-- nanoseconds, if no image is available.
[$sel:timeout:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Word64
-- | semaphore is NULL_HANDLE or a semaphore to signal.
[$sel:semaphore:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Semaphore
-- | fence is NULL_HANDLE or a fence to signal.
[$sel:fence:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Fence
-- | deviceMask is a mask of physical devices for which the
-- swapchain image will be ready to use when the semaphore or fence is
-- signaled.
[$sel:deviceMask:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Word32
-- | VkDeviceGroupPresentInfoKHR - Mode and mask controlling which physical
-- devices' images are presented
--
-- Description
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
-- then each element of pDeviceMasks selects which instance of
-- the swapchain image is presented. Each element of
-- pDeviceMasks must have exactly one bit set, and the
-- corresponding physical device must have a presentation engine
-- as reported by DeviceGroupPresentCapabilitiesKHR.
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
-- then each element of pDeviceMasks selects which instance of
-- the swapchain image is presented. Each element of
-- pDeviceMasks must have exactly one bit set, and some
-- physical device in the logical device must include that bit in
-- its DeviceGroupPresentCapabilitiesKHR::presentMask.
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, then
-- each element of pDeviceMasks selects which instances of the
-- swapchain image are component-wise summed and the sum of those images
-- is presented. If the sum in any component is outside the representable
-- range, the value of that component is undefined. Each element of
-- pDeviceMasks must have a value for which all set bits
-- are set in one of the elements of
-- DeviceGroupPresentCapabilitiesKHR::presentMask.
--
-- If mode is
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, then each
-- element of pDeviceMasks selects which instance(s) of the
-- swapchain images are presented. For each bit set in each element of
-- pDeviceMasks, the corresponding physical device must
-- have a presentation engine as reported by
-- DeviceGroupPresentCapabilitiesKHR.
--
-- If DeviceGroupPresentInfoKHR is not provided or
-- swapchainCount is zero then the masks are considered to be
-- 1. If DeviceGroupPresentInfoKHR is not provided,
-- mode is considered to be
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage
--
--
-- - swapchainCount must equal 0 or
-- PresentInfoKHR::swapchainCount
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If swapchainCount is not 0,
-- pDeviceMasks must be a valid pointer to an array of
-- swapchainCount uint32_t values
-- - mode must be a valid
-- DeviceGroupPresentModeFlagBitsKHR value
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, DeviceGroupPresentModeFlagBitsKHR,
-- StructureType
data DeviceGroupPresentInfoKHR
DeviceGroupPresentInfoKHR :: Vector Word32 -> DeviceGroupPresentModeFlagBitsKHR -> DeviceGroupPresentInfoKHR
-- | pDeviceMasks is a pointer to an array of device masks, one
-- for each element of PresentInfoKHR::pSwapchains.
[$sel:deviceMasks:DeviceGroupPresentInfoKHR] :: DeviceGroupPresentInfoKHR -> Vector Word32
-- | mode is a DeviceGroupPresentModeFlagBitsKHR value
-- specifying the device group present mode that will be used for this
-- present.
[$sel:mode:DeviceGroupPresentInfoKHR] :: DeviceGroupPresentInfoKHR -> DeviceGroupPresentModeFlagBitsKHR
-- | VkDeviceGroupSwapchainCreateInfoKHR - Structure specifying parameters
-- of a newly created swapchain object
--
-- Description
--
-- If this structure is not present, modes is considered to be
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, DeviceGroupPresentModeFlagsKHR,
-- StructureType
data DeviceGroupSwapchainCreateInfoKHR
DeviceGroupSwapchainCreateInfoKHR :: DeviceGroupPresentModeFlagsKHR -> DeviceGroupSwapchainCreateInfoKHR
-- | modes is a bitfield of modes that the swapchain can be
-- used with.
--
-- modes must be a valid combination of
-- DeviceGroupPresentModeFlagBitsKHR values
--
-- modes must not be 0
[$sel:modes:DeviceGroupSwapchainCreateInfoKHR] :: DeviceGroupSwapchainCreateInfoKHR -> DeviceGroupPresentModeFlagsKHR
type DeviceGroupPresentModeFlagsKHR = DeviceGroupPresentModeFlagBitsKHR
-- | VkDeviceGroupPresentModeFlagBitsKHR - Bitmask specifying supported
-- device group present modes
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupPresentModeFlagsKHR
newtype DeviceGroupPresentModeFlagBitsKHR
DeviceGroupPresentModeFlagBitsKHR :: Flags -> DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR specifies that any
-- physical device with a presentation engine can present its own
-- swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR specifies that any
-- physical device with a presentation engine can present
-- swapchain images from any physical device in its presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR specifies that any
-- physical device with a presentation engine can present the sum
-- of swapchain images from any physical devices in its
-- presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR specifies
-- that multiple physical devices with a presentation engine can
-- each present their own swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
type SwapchainCreateFlagsKHR = SwapchainCreateFlagBitsKHR
-- | VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
--
-- See Also
--
-- VK_KHR_swapchain, SwapchainCreateFlagsKHR
newtype SwapchainCreateFlagBitsKHR
SwapchainCreateFlagBitsKHR :: Flags -> SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR specifies that the
-- images of the swapchain can be used to create a
-- ImageView with a different format than what the swapchain was
-- created with. The list of allowed image view formats is specified by
-- adding a ImageFormatListCreateInfo structure to the
-- pNext chain of SwapchainCreateInfoKHR. In addition,
-- this flag also specifies that the swapchain can be created with
-- usage flags that are not supported for the format the swapchain is
-- created with but are supported for at least one of the allowed image
-- view formats.
pattern SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR specifies
-- that images created from the swapchain (i.e. with the
-- swapchain member of ImageSwapchainCreateInfoKHR set to
-- this swapchain’s handle) must use
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
pattern SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_PROTECTED_BIT_KHR specifies that images
-- created from the swapchain are protected images.
pattern SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: SwapchainCreateFlagBitsKHR
type KHR_SWAPCHAIN_SPEC_VERSION = 70
pattern KHR_SWAPCHAIN_SPEC_VERSION :: forall a. Integral a => a
type KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain"
pattern KHR_SWAPCHAIN_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkPresentModeKHR - Presentation mode supported for a surface
--
-- Description
--
-- The supported ImageUsageFlagBits of the presentable images of a
-- swapchain created for a surface may differ depending on the
-- presentation mode, and can be determined as per the table below:
--
-- TODO: table
--
-- Presentable image usage queries
--
-- Note
--
-- For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
-- equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
-- interval of 1, while the mode indicated by
-- PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
-- {wgl|glX}SwapBuffers with a swap interval of -1 (from the
-- {WGL|GLX}_EXT_swap_control_tear extensions).
--
-- See Also
--
-- VK_KHR_surface, SwapchainCreateInfoKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR
newtype PresentModeKHR
PresentModeKHR :: Int32 -> PresentModeKHR
-- | PRESENT_MODE_IMMEDIATE_KHR specifies that the presentation
-- engine does not wait for a vertical blanking period to update the
-- current image, meaning this mode may result in visible tearing.
-- No internal queuing of presentation requests is needed, as the
-- requests are applied immediately.
pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
-- | PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal single-entry
-- queue is used to hold pending presentation requests. If the queue is
-- full when a new presentation request is received, the new request
-- replaces the existing entry, and any images associated with the prior
-- entry become available for re-use by the application. One request is
-- removed from the queue and processed during each vertical blanking
-- period in which the queue is non-empty.
pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal queue is used to
-- hold pending presentation requests. New requests are appended to the
-- end of the queue, and one request is removed from the beginning of the
-- queue and processed during each vertical blanking period in which the
-- queue is non-empty. This is the only value of presentMode
-- that is required to be supported.
pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_RELAXED_KHR specifies that the presentation
-- engine generally waits for the next vertical blanking period to update
-- the current image. If a vertical blanking period has already passed
-- since the last update of the current image then the presentation
-- engine does not wait for another vertical blanking period for the
-- update, meaning this mode may result in visible tearing in this
-- case. This mode is useful for reducing visual stutter with an
-- application that will mostly present a new image before the next
-- vertical blanking period, but may occasionally be late, and present a
-- new image just after the next vertical blanking period. An internal
-- queue is used to hold pending presentation requests. New requests are
-- appended to the end of the queue, and one request is removed from the
-- beginning of the queue and processed during or after each vertical
-- blanking period in which the queue is non-empty.
pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine periodically updates the current image on its
-- regular refresh cycle. The application is only required to make one
-- initial presentation request, after which the presentation engine
-- must update the current image without any need for further
-- presentation requests. The application can indicate the image
-- contents have been updated by making a presentation request, but this
-- does not guarantee the timing of when it will be updated. This mode
-- may result in visible tearing if rendering to the image is not
-- timed correctly.
pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine is only required to update the current image after
-- a new presentation request is received. Therefore the application
-- must make a presentation request whenever an update is
-- required. However, the presentation engine may update the
-- current image at any point, meaning this mode may result in
-- visible tearing.
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
-- device
--
-- Description
--
-- These values are described as follows:
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR,
-- SwapchainCreateInfoKHR
newtype CompositeAlphaFlagBitsKHR
CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha component, if it
-- exists, of the images is ignored in the compositing process. Instead,
-- the image is treated as if it has a constant alpha of 1.0.
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha component, if
-- it exists, of the images is respected in the compositing process. The
-- non-alpha components of the image are expected to already be
-- multiplied by the alpha component by the application.
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha component,
-- if it exists, of the images is respected in the compositing process.
-- The non-alpha components of the image are not expected to already be
-- multiplied by the alpha component by the application; instead, the
-- compositor will multiply the non-alpha components of the image by the
-- alpha component during compositing.
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the
-- presentation engine treats the alpha component in the images is
-- unknown to the Vulkan API. Instead, the application is responsible for
-- setting the composite alpha blending mode using native window system
-- commands. If the application does not set the blending mode using
-- native window system commands, then a platform-specific default will
-- be used.
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateFlagBitsKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentCapabilitiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentCapabilitiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentCapabilitiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentCapabilitiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR es)
-- | Name
--
-- VK_KHR_swapchain_mutable_format - device extension
--
-- VK_KHR_swapchain_mutable_format
--
--
-- - Name String
-- VK_KHR_swapchain_mutable_format
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 201
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_maintenance2
- Requires
-- VK_KHR_image_format_list
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-03-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jason Ekstrand,
-- Intel
- Jan-Harald Fredriksen, ARM
- Jesse Hall,
-- Google
- Daniel Rakos, AMD
- Ray Smith, ARM
--
--
-- Description
--
-- This extension allows processing of swapchain images as different
-- formats to that used by the window system, which is particularly
-- useful for switching between sRGB and linear RGB formats.
--
-- It adds a new swapchain creation flag that enables creating image
-- views from presentable images with a different format than the one
-- used to create the swapchain.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Are there any new capabilities needed?
--
-- RESOLVED: No. It is expected that all implementations exposing
-- this extension support swapchain image format mutability.
--
-- 2) Do we need a separate
-- VK_SWAPCHAIN_CREATE_EXTENDED_USAGE_BIT_KHR?
--
-- RESOLVED: No. This extension requires
-- VK_KHR_maintenance2 and presentable images of swapchains
-- created with SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR are
-- created internally in a way equivalent to specifying both
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT and
-- IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR.
--
-- 3) Do we need a separate structure to allow specifying an image format
-- list for swapchains?
--
-- RESOLVED: No. We simply use the same
-- ImageFormatListCreateInfoKHR structure introduced by
-- VK_KHR_image_format_list. The structure is required to be
-- included in the pNext chain of SwapchainCreateInfoKHR
-- for swapchains created with
-- SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR.
--
-- Version History
--
--
-- - Revision 1, 2018-03-28 (Daniel Rakos)
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_swapchain_mutable_format
type KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION = 1
pattern KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION :: forall a. Integral a => a
type KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME = "VK_KHR_swapchain_mutable_format"
pattern KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
--
-- See Also
--
-- VK_KHR_swapchain, SwapchainCreateFlagsKHR
newtype SwapchainCreateFlagBitsKHR
SwapchainCreateFlagBitsKHR :: Flags -> SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR specifies that the
-- images of the swapchain can be used to create a
-- ImageView with a different format than what the swapchain was
-- created with. The list of allowed image view formats is specified by
-- adding a ImageFormatListCreateInfo structure to the
-- pNext chain of SwapchainCreateInfoKHR. In addition,
-- this flag also specifies that the swapchain can be created with
-- usage flags that are not supported for the format the swapchain is
-- created with but are supported for at least one of the allowed image
-- view formats.
pattern SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR specifies
-- that images created from the swapchain (i.e. with the
-- swapchain member of ImageSwapchainCreateInfoKHR set to
-- this swapchain’s handle) must use
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
pattern SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_PROTECTED_BIT_KHR specifies that images
-- created from the swapchain are protected images.
pattern SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: SwapchainCreateFlagBitsKHR
type SwapchainCreateFlagsKHR = SwapchainCreateFlagBitsKHR
-- | Name
--
-- VK_EXT_swapchain_colorspace - instance extension
--
-- VK_EXT_swapchain_colorspace
--
--
-- - Name String
-- VK_EXT_swapchain_colorspace
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 105
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-04-26
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Courtney Goeltzenleuchter,
-- Google
--
--
-- Description
--
-- To be done.
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does the spec need to specify which kinds of image formats support
-- the color spaces?
--
-- RESOLVED: Pixel format is independent of color space (though
-- some color spaces really want / need floating point color components
-- to be useful). Therefore, do not plan on documenting what formats
-- support which colorspaces. An application can call
-- getPhysicalDeviceSurfaceFormatsKHR to query what a particular
-- implementation supports.
--
-- 2) How does application determine if HW supports appropriate transfer
-- function for a colorspace?
--
-- RESOLVED: Extension indicates that implementation must
-- not do the OETF encoding if it is not sRGB. That responsibility falls
-- to the application shaders. Any other native OETF / EOTF functions
-- supported by an implementation can be described by separate extension.
--
-- Version History
--
--
-- - Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
--
--
--
-- - Revision 2, 2017-01-19 (Courtney Goeltzenleuchter)
- Add pass
-- through and multiple options for BT2020.
- Clean up some issues
-- with equations not displaying properly.
-- - Revision 3, 2017-06-23 (Courtney Goeltzenleuchter)
- Add
-- extended sRGB non-linear enum.
-- - Revision 4, 2019-04-26 (Graeme Leese)
- Clarify colorspace
-- transfer function usage.
- Refer to normative definitions in the
-- Data Format Specification.
- Clarify DCI-P3 and Display P3
-- usage.
--
--
-- See Also
--
-- No cross-references are available
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_swapchain_colorspace
pattern COLOR_SPACE_DCI_P3_LINEAR_EXT :: ColorSpaceKHR
type EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 4
pattern EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION :: forall a. Integral a => a
type EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace"
pattern EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | Name
--
-- VK_KHR_shared_presentable_image - device extension
--
-- VK_KHR_shared_presentable_image
--
--
-- - Name String
-- VK_KHR_shared_presentable_image
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 112
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_get_surface_capabilities2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-20
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Alon Or-bach, Samsung
-- Electronics
- Ian Elliott, Google
- Jesse Hall,
-- Google
- Pablo Ceballos, Google
- Chris Forbes,
-- Google
- Jeff Juliano, NVIDIA
- James Jones,
-- NVIDIA
- Daniel Rakos, AMD
- Tobias Hector, Imagination
-- Technologies
- Graham Connor, Imagination
-- Technologies
- Michael Worcester, Imagination
-- Technologies
- Cass Everitt, Oculus
- Johannes Van
-- Waveren, Oculus
--
--
-- Description
--
-- This extension extends VK_KHR_swapchain to enable creation of
-- a shared presentable image. This allows the application to use the
-- image while the presention engine is accessing it, in order to reduce
-- the latency between rendering and presentation.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should we allow a Vulkan WSI swapchain to toggle between normal
-- usage and shared presentation usage?
--
-- RESOLVED: No. WSI swapchains are typically recreated with new
-- properties instead of having their properties changed. This can also
-- save resources, assuming that fewer images are needed for shared
-- presentation, and assuming that most VR applications do not need to
-- switch between normal and shared usage.
--
-- 2) Should we have a query for determining how the presentation engine
-- refresh is triggered?
--
-- RESOLVED: Yes. This is done via which presentation modes a
-- surface supports.
--
-- 3) Should the object representing a shared presentable image be an
-- extension of a SwapchainKHR or a separate object?
--
-- RESOLVED: Extension of a swapchain due to overlap in creation
-- properties and to allow common functionality between shared and normal
-- presentable images and swapchains.
--
-- 4) What should we call the extension and the new structures it
-- creates?
--
-- RESOLVED: Shared presentable image / shared present.
--
-- 5) Should the minImageCount and presentMode values
-- of the SwapchainCreateInfoKHR be ignored, or required to be
-- compatible values?
--
-- RESOLVED: minImageCount must be set to 1, and
-- presentMode should be set to either
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR.
--
-- 6) What should the layout of the shared presentable image be?
--
-- RESOLVED: After acquiring the shared presentable image, the
-- application must transition it to the
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR layout prior to it being used.
-- After this initial transition, any image usage that was requested
-- during swapchain creation can be performed on the image without
-- layout transitions being performed.
--
-- 7) Do we need a new API for the trigger to refresh new content?
--
-- RESOLVED: queuePresentKHR to act as API to trigger a
-- refresh, as will allow combination with other compatible extensions to
-- queuePresentKHR.
--
-- 8) How should an application detect a ERROR_OUT_OF_DATE_KHR
-- error on a swapchain using the
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR present mode?
--
-- RESOLVED: Introduce getSwapchainStatusKHR to allow
-- applications to query the status of a swapchain using a shared
-- presentation mode.
--
-- 9) What should subsequent calls to queuePresentKHR for
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR swapchains be
-- defined to do?
--
-- RESOLVED: State that implementations may use it as a hint for
-- updated content.
--
-- 10) Can the ownership of a shared presentable image be transferred to
-- a different queue?
--
-- RESOLVED: No. It is not possible to transfer ownership of a
-- shared presentable image obtained from a swapchain created using
-- SHARING_MODE_EXCLUSIVE after it has been presented.
--
-- 11) How should queueSubmit behave if a command buffer uses an
-- image from a ERROR_OUT_OF_DATE_KHR swapchain?
--
-- RESOLVED: queueSubmit is expected to return the
-- ERROR_DEVICE_LOST error.
--
-- 12) Can Vulkan provide any guarantee on the order of rendering, to
-- enable beam chasing?
--
-- RESOLVED: This could be achieved via use of render passes to
-- ensure strip rendering.
--
-- Version History
--
--
-- - Revision 1, 2017-03-20 (Alon Or-bach)
--
--
-- See Also
--
-- SharedPresentSurfaceCapabilitiesKHR,
-- getSwapchainStatusKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_shared_presentable_image
-- | vkGetSwapchainStatusKHR - Get a swapchain’s status
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_shared_presentable_image, Device,
-- SwapchainKHR
getSwapchainStatusKHR :: forall io. MonadIO io => Device -> SwapchainKHR -> io Result
-- | VkSharedPresentSurfaceCapabilitiesKHR - Structure describing
-- capabilities of a surface for shared presentation
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_shared_presentable_image, ImageUsageFlags,
-- StructureType
data SharedPresentSurfaceCapabilitiesKHR
SharedPresentSurfaceCapabilitiesKHR :: ImageUsageFlags -> SharedPresentSurfaceCapabilitiesKHR
-- | sharedPresentSupportedUsageFlags is a bitmask of
-- ImageUsageFlagBits representing the ways the application
-- can use the shared presentable image from a swapchain created
-- with PresentModeKHR set to
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR for the surface on
-- the specified device. IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- must be included in the set but implementations may
-- support additional usages.
[$sel:sharedPresentSupportedUsageFlags:SharedPresentSurfaceCapabilitiesKHR] :: SharedPresentSurfaceCapabilitiesKHR -> ImageUsageFlags
type KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1
pattern KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION :: forall a. Integral a => a
type KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image"
pattern KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkPresentModeKHR - Presentation mode supported for a surface
--
-- Description
--
-- The supported ImageUsageFlagBits of the presentable images of a
-- swapchain created for a surface may differ depending on the
-- presentation mode, and can be determined as per the table below:
--
-- TODO: table
--
-- Presentable image usage queries
--
-- Note
--
-- For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
-- equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
-- interval of 1, while the mode indicated by
-- PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
-- {wgl|glX}SwapBuffers with a swap interval of -1 (from the
-- {WGL|GLX}_EXT_swap_control_tear extensions).
--
-- See Also
--
-- VK_KHR_surface, SwapchainCreateInfoKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR
newtype PresentModeKHR
PresentModeKHR :: Int32 -> PresentModeKHR
-- | PRESENT_MODE_IMMEDIATE_KHR specifies that the presentation
-- engine does not wait for a vertical blanking period to update the
-- current image, meaning this mode may result in visible tearing.
-- No internal queuing of presentation requests is needed, as the
-- requests are applied immediately.
pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
-- | PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal single-entry
-- queue is used to hold pending presentation requests. If the queue is
-- full when a new presentation request is received, the new request
-- replaces the existing entry, and any images associated with the prior
-- entry become available for re-use by the application. One request is
-- removed from the queue and processed during each vertical blanking
-- period in which the queue is non-empty.
pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal queue is used to
-- hold pending presentation requests. New requests are appended to the
-- end of the queue, and one request is removed from the beginning of the
-- queue and processed during each vertical blanking period in which the
-- queue is non-empty. This is the only value of presentMode
-- that is required to be supported.
pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_RELAXED_KHR specifies that the presentation
-- engine generally waits for the next vertical blanking period to update
-- the current image. If a vertical blanking period has already passed
-- since the last update of the current image then the presentation
-- engine does not wait for another vertical blanking period for the
-- update, meaning this mode may result in visible tearing in this
-- case. This mode is useful for reducing visual stutter with an
-- application that will mostly present a new image before the next
-- vertical blanking period, but may occasionally be late, and present a
-- new image just after the next vertical blanking period. An internal
-- queue is used to hold pending presentation requests. New requests are
-- appended to the end of the queue, and one request is removed from the
-- beginning of the queue and processed during or after each vertical
-- blanking period in which the queue is non-empty.
pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine periodically updates the current image on its
-- regular refresh cycle. The application is only required to make one
-- initial presentation request, after which the presentation engine
-- must update the current image without any need for further
-- presentation requests. The application can indicate the image
-- contents have been updated by making a presentation request, but this
-- does not guarantee the timing of when it will be updated. This mode
-- may result in visible tearing if rendering to the image is not
-- timed correctly.
pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine is only required to update the current image after
-- a new presentation request is received. Therefore the application
-- must make a presentation request whenever an update is
-- required. However, the presentation engine may update the
-- current image at any point, meaning this mode may result in
-- visible tearing.
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_shared_presentable_image.SharedPresentSurfaceCapabilitiesKHR
-- | Name
--
-- VK_KHR_present_wait - device extension
--
-- VK_KHR_present_wait
--
--
-- - Name String VK_KHR_present_wait
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 249
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_present_id
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-05-15
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Keith Packard,
-- Valve
- Ian Elliott, Google
- Tobias Hector,
-- AMD
- Daniel Stone, Collabora
--
--
-- Description
--
-- This device extension allows an application that uses the
-- VK_KHR_swapchain extension to wait for present operations to
-- complete. An application can use this to monitor and control the
-- pacing of the application by managing the number of outstanding images
-- yet to be presented.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) When does the wait finish?
--
-- RESOLVED. The wait will finish when the present is visible to
-- the user. There is no requirement for any precise timing relationship
-- between the presentation of the image to the user, but implementations
-- should signal the wait as close as possible to the presentation
-- of the first pixel in the new image to the user.
--
-- 2) Should this use fences or other existing synchronization mechanism.
--
-- RESOLVED. Because display and rendering are often implemented
-- in separate drivers, this extension will provide a separate
-- synchronization API.
--
-- 3) Should this extension share present identification with other
-- extensions?
--
-- RESOLVED. Yes. A new extension, VK_KHR_present_id, should be
-- created to provide a shared structure for presentation identifiers.
--
-- 4) What happens when presentations complete out of order wrt calls to
-- vkQueuePresent? This could happen if the semaphores for the
-- presentations were ready out of order.
--
-- OPTION A: Require that when a PresentId is set that the driver
-- ensure that images are always presented in the order of calls to
-- vkQueuePresent.
--
-- OPTION B: Finish both waits when the earliest present
-- completes. This will complete the later present wait earlier than the
-- actual presentation. This should be the easiest to implement as the
-- driver need only track the largest present ID completed. This is also
-- the 'natural' consequence of interpreting the existing
-- vkWaitForPresentKHR specificationn.
--
-- OPTION C: Finish both waits when both have completed. This will
-- complete the earlier presentation later than the actual presentation
-- time. This is allowed by the current specification as there is no
-- precise timing requirement for when the presentId value is updated.
-- This requires slightly more complexity in the driver as it will need
-- to track all outstanding presentId values.
--
-- Version History
--
--
-- - Revision 1, 2019-02-19 (Keith Packard)
--
--
-- See Also
--
-- PhysicalDevicePresentWaitFeaturesKHR, waitForPresentKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_present_wait
-- | vkWaitForPresentKHR - Wait for presentation
--
-- Description
--
-- waitForPresentKHR waits for the presentId associated with
-- swapchain to be increased in value so that it is at least
-- equal to presentId.
--
-- For PRESENT_MODE_MAILBOX_KHR (or other present mode where
-- images may be replaced in the presentation queue) any wait of this
-- type associated with such an image must be signaled no later
-- than a wait associated with the replacing image would be signaled.
--
-- When the presentation has completed, the presentId associated with the
-- related pSwapchains entry will be increased in value so that
-- it is at least equal to the value provided in the PresentIdKHR
-- structure.
--
-- There is no requirement for any precise timing relationship between
-- the presentation of the image to the user and the update of the
-- presentId value, but implementations should make this as close
-- as possible to the presentation of the first pixel in the new image to
-- the user.
--
-- The call to waitForPresentKHR will block until either the
-- presentId associated with swapchain is greater than or equal
-- to presentId, or timeout nanoseconds passes. When
-- the swapchain becomes OUT_OF_DATE, the call will either return
-- SUCCESS (if the image was delivered to the presentation engine
-- and may have been presented to the user) or will return early with
-- status ERROR_OUT_OF_DATE_KHR (if the image was not presented to
-- the user).
--
-- As an exception to the normal rules for objects which are externally
-- synchronized, the swapchain passed to
-- waitForPresentKHR may be simultaneously used by other
-- threads in calls to functions other than destroySwapchainKHR.
-- Access to the swapchain data associated with this extension
-- must be atomic within the implementation.
--
-- Valid Usage
--
--
-- - swapchain must not be in the retired state
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_present_wait, Device, SwapchainKHR
waitForPresentKHR :: forall io. MonadIO io => Device -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> io Result
-- | A variant of waitForPresentKHR which makes a *safe* FFI call
waitForPresentKHRSafe :: forall io. MonadIO io => Device -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> io Result
-- | VkPhysicalDevicePresentWaitFeaturesKHR - Structure indicating support
-- for present wait
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePresentWaitFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePresentWaitFeaturesKHR can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_present_wait, Bool32, StructureType
data PhysicalDevicePresentWaitFeaturesKHR
PhysicalDevicePresentWaitFeaturesKHR :: Bool -> PhysicalDevicePresentWaitFeaturesKHR
-- | presentWait indicates that the implementation supports
-- waitForPresentKHR.
[$sel:presentWait:PhysicalDevicePresentWaitFeaturesKHR] :: PhysicalDevicePresentWaitFeaturesKHR -> Bool
type KHR_PRESENT_WAIT_SPEC_VERSION = 1
pattern KHR_PRESENT_WAIT_SPEC_VERSION :: forall a. Integral a => a
type KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait"
pattern KHR_PRESENT_WAIT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR
-- | Name
--
-- VK_KHR_get_surface_capabilities2 - instance extension
--
-- VK_KHR_get_surface_capabilities2
--
--
-- - Name String
-- VK_KHR_get_surface_capabilities2
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 120
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-27
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Ian Elliott,
-- Google
- James Jones, NVIDIA
- Alon Or-bach,
-- Samsung
--
--
-- Description
--
-- This extension provides new entry points to query device surface
-- capabilities in a way that can be easily extended by other extensions,
-- without introducing any further entry points. This extension can be
-- considered the VK_KHR_surface equivalent of the
-- VK_KHR_get_physical_device_properties2 extension.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What should this extension be named?
--
-- RESOLVED: VK_KHR_get_surface_capabilities2. Other
-- alternatives:
--
--
-- VK_KHR_surface2
-- - One extension, combining a separate display-specific query
-- extension.
--
--
-- 2) Should additional WSI query functions be extended?
--
-- RESOLVED:
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-27 (James Jones)
--
--
-- See Also
--
-- PhysicalDeviceSurfaceInfo2KHR, SurfaceCapabilities2KHR,
-- SurfaceFormat2KHR,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceFormats2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_get_surface_capabilities2
-- | vkGetPhysicalDeviceSurfaceCapabilities2KHR - Reports capabilities of a
-- surface on a physical device
--
-- Description
--
-- getPhysicalDeviceSurfaceCapabilities2KHR behaves similarly to
-- getPhysicalDeviceSurfaceCapabilitiesKHR, with the ability to
-- specify extended inputs via chained input structures, and to return
-- extended information via chained output structures.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, PhysicalDevice,
-- PhysicalDeviceSurfaceInfo2KHR, SurfaceCapabilities2KHR
getPhysicalDeviceSurfaceCapabilities2KHR :: forall a b io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, Extendss SurfaceCapabilities2KHR b, PokeChain b, PeekChain b, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (SurfaceCapabilities2KHR b)
-- | vkGetPhysicalDeviceSurfaceFormats2KHR - Query color formats supported
-- by surface
--
-- Description
--
-- getPhysicalDeviceSurfaceFormats2KHR behaves similarly to
-- getPhysicalDeviceSurfaceFormatsKHR, with the ability to be
-- extended via pNext chains.
--
-- If pSurfaceFormats is NULL, then the number of
-- format tuples supported for the given surface is returned in
-- pSurfaceFormatCount. Otherwise, pSurfaceFormatCount
-- must point to a variable set by the user to the number of
-- elements in the pSurfaceFormats array, and on return the
-- variable is overwritten with the number of structures actually written
-- to pSurfaceFormats. If the value of
-- pSurfaceFormatCount is less than the number of format tuples
-- supported, at most pSurfaceFormatCount structures will be
-- written, and INCOMPLETE will be returned instead of
-- SUCCESS, to indicate that not all the available values were
-- returned.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pSurfaceInfo must be a valid pointer to a valid
-- PhysicalDeviceSurfaceInfo2KHR structure
-- - pSurfaceFormatCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pSurfaceFormatCount is not
-- 0, and pSurfaceFormats is not NULL,
-- pSurfaceFormats must be a valid pointer to an array of
-- pSurfaceFormatCount SurfaceFormat2KHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, PhysicalDevice,
-- PhysicalDeviceSurfaceInfo2KHR, SurfaceFormat2KHR
getPhysicalDeviceSurfaceFormats2KHR :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (Result, "surfaceFormats" ::: Vector SurfaceFormat2KHR)
-- | VkPhysicalDeviceSurfaceInfo2KHR - Structure specifying a surface and
-- related swapchain creation parameters
--
-- Description
--
-- The members of PhysicalDeviceSurfaceInfo2KHR correspond to the
-- arguments to getPhysicalDeviceSurfaceCapabilitiesKHR, with
-- sType and pNext added for extensibility.
--
-- Additional capabilities of a surface may be available to
-- swapchains created with different full-screen exclusive settings -
-- particularly if exclusive full-screen access is application
-- controlled. These additional capabilities can be queried by
-- adding a SurfaceFullScreenExclusiveInfoEXT structure to the
-- pNext chain of this structure when used to query surface
-- properties. Additionally, for Win32 surfaces with application
-- controlled exclusive full-screen access, chaining a
-- SurfaceFullScreenExclusiveWin32InfoEXT structure may
-- also report additional surface capabilities. These additional
-- capabilities only apply to swapchains created with the same parameters
-- included in the pNext chain of SwapchainCreateInfoKHR.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, StructureType,
-- SurfaceKHR, getDeviceGroupSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfacePresentModes2EXT
data PhysicalDeviceSurfaceInfo2KHR (es :: [Type])
PhysicalDeviceSurfaceInfo2KHR :: Chain es -> SurfaceKHR -> PhysicalDeviceSurfaceInfo2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceSurfaceInfo2KHR] :: PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) -> Chain es
-- | surface is the surface that will be associated with the
-- swapchain.
[$sel:surface:PhysicalDeviceSurfaceInfo2KHR] :: PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) -> SurfaceKHR
-- | VkSurfaceCapabilities2KHR - Structure describing capabilities of a
-- surface
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, StructureType,
-- SurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceCapabilities2KHR
data SurfaceCapabilities2KHR (es :: [Type])
SurfaceCapabilities2KHR :: Chain es -> SurfaceCapabilitiesKHR -> SurfaceCapabilities2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SurfaceCapabilities2KHR] :: SurfaceCapabilities2KHR (es :: [Type]) -> Chain es
-- | surfaceCapabilities is a SurfaceCapabilitiesKHR
-- structure describing the capabilities of the specified surface.
[$sel:surfaceCapabilities:SurfaceCapabilities2KHR] :: SurfaceCapabilities2KHR (es :: [Type]) -> SurfaceCapabilitiesKHR
-- | VkSurfaceFormat2KHR - Structure describing a supported swapchain
-- format tuple
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, StructureType,
-- SurfaceFormatKHR, getPhysicalDeviceSurfaceFormats2KHR
data SurfaceFormat2KHR
SurfaceFormat2KHR :: SurfaceFormatKHR -> SurfaceFormat2KHR
-- | surfaceFormat is a SurfaceFormatKHR structure
-- describing a format-color space pair that is compatible with the
-- specified surface.
[$sel:surfaceFormat:SurfaceFormat2KHR] :: SurfaceFormat2KHR -> SurfaceFormatKHR
type KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1
pattern KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2"
pattern KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSurfaceCapabilitiesKHR - Structure describing capabilities of a
-- surface
--
-- Description
--
-- Note
--
-- Supported usage flags of a presentable image when using
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR presentation mode
-- are provided by
-- SharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags.
--
-- Note
--
-- Formulas such as min(N, maxImageCount) are not correct, since
-- maxImageCount may be zero.
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR, Extent2D,
-- ImageUsageFlags, SurfaceCapabilities2KHR,
-- SurfaceTransformFlagBitsKHR, SurfaceTransformFlagsKHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR
data SurfaceCapabilitiesKHR
SurfaceCapabilitiesKHR :: Word32 -> Word32 -> Extent2D -> Extent2D -> Extent2D -> Word32 -> SurfaceTransformFlagsKHR -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagsKHR -> ImageUsageFlags -> SurfaceCapabilitiesKHR
-- | minImageCount is the minimum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- at least one.
[$sel:minImageCount:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | maxImageCount is the maximum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- either 0, or greater than or equal to minImageCount. A value
-- of 0 means that there is no limit on the number of images, though
-- there may be limits related to the total amount of memory used
-- by presentable images.
[$sel:maxImageCount:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | currentExtent is the current width and height of the surface,
-- or the special value (0xFFFFFFFF, 0xFFFFFFFF) indicating that the
-- surface size will be determined by the extent of a swapchain targeting
-- the surface.
[$sel:currentExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | minImageExtent contains the smallest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be less than or equal to the
-- corresponding width and height of
-- currentExtent, unless currentExtent has the special
-- value described above.
[$sel:minImageExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | maxImageExtent contains the largest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be greater than or equal to
-- the corresponding width and height of
-- minImageExtent. The width and height of the
-- extent will each be greater than or equal to the corresponding
-- width and height of currentExtent, unless
-- currentExtent has the special value described above.
[$sel:maxImageExtent:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Extent2D
-- | maxImageArrayLayers is the maximum number of layers
-- presentable images can have for a swapchain created for this
-- device and surface, and will be at least one.
[$sel:maxImageArrayLayers:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> Word32
-- | supportedTransforms is a bitmask of
-- SurfaceTransformFlagBitsKHR indicating the presentation
-- transforms supported for the surface on the specified device. At least
-- one bit will be set.
[$sel:supportedTransforms:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagsKHR
-- | currentTransform is SurfaceTransformFlagBitsKHR value
-- indicating the surface’s current transform relative to the
-- presentation engine’s natural orientation.
[$sel:currentTransform:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> SurfaceTransformFlagBitsKHR
-- | supportedCompositeAlpha is a bitmask of
-- CompositeAlphaFlagBitsKHR, representing the alpha compositing
-- modes supported by the presentation engine for the surface on the
-- specified device, and at least one bit will be set. Opaque composition
-- can be achieved in any alpha compositing mode by either using
-- an image format that has no alpha component, or by ensuring that all
-- pixels in the presentable images have an alpha value of 1.0.
[$sel:supportedCompositeAlpha:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> CompositeAlphaFlagsKHR
-- | supportedUsageFlags is a bitmask of ImageUsageFlagBits
-- representing the ways the application can use the presentable
-- images of a swapchain created with PresentModeKHR set to
-- PRESENT_MODE_IMMEDIATE_KHR, PRESENT_MODE_MAILBOX_KHR,
-- PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR
-- for the surface on the specified device.
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT must be included in the
-- set. Implementations may support additional usages.
[$sel:supportedUsageFlags:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> ImageUsageFlags
-- | VkSurfaceFormatKHR - Structure describing a supported swapchain
-- format-color space pair
--
-- See Also
--
-- VK_KHR_surface, ColorSpaceKHR, Format,
-- SurfaceFormat2KHR, getPhysicalDeviceSurfaceFormatsKHR
data SurfaceFormatKHR
SurfaceFormatKHR :: Format -> ColorSpaceKHR -> SurfaceFormatKHR
-- | format is a Format that is compatible with the
-- specified surface.
[$sel:format:SurfaceFormatKHR] :: SurfaceFormatKHR -> Format
-- | colorSpace is a presentation ColorSpaceKHR that is
-- compatible with the surface.
[$sel:colorSpace:SurfaceFormatKHR] :: SurfaceFormatKHR -> ColorSpaceKHR
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
-- device
--
-- Description
--
-- These values are described as follows:
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR,
-- SwapchainCreateInfoKHR
newtype CompositeAlphaFlagBitsKHR
CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha component, if it
-- exists, of the images is ignored in the compositing process. Instead,
-- the image is treated as if it has a constant alpha of 1.0.
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha component, if
-- it exists, of the images is respected in the compositing process. The
-- non-alpha components of the image are expected to already be
-- multiplied by the alpha component by the application.
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha component,
-- if it exists, of the images is respected in the compositing process.
-- The non-alpha components of the image are not expected to already be
-- multiplied by the alpha component by the application; instead, the
-- compositor will multiply the non-alpha components of the image by the
-- alpha component during compositing.
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the
-- presentation engine treats the alpha component in the images is
-- unknown to the Vulkan API. Instead, the application is responsible for
-- setting the composite alpha blending mode using native window system
-- commands. If the application does not set the blending mode using
-- native window system commands, then a platform-specific default will
-- be used.
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR es)
-- | Name
--
-- VK_KHR_display_swapchain - device extension
--
-- VK_KHR_display_swapchain
--
--
-- - Name String VK_KHR_display_swapchain
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 4
-- - Revision 10
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
- Requires
-- VK_KHR_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Jeff Vigil, Qualcomm
- Jesse Hall,
-- Google
--
--
-- Description
--
-- This extension provides an API to create a swapchain directly on a
-- device’s display without any underlying window system.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should swapchains sharing images each hold a reference to the
-- images, or should it be up to the application to destroy the
-- swapchains and images in an order that avoids the need for reference
-- counting?
--
-- RESOLVED: Take a reference. The lifetime of presentable images
-- is already complex enough.
--
-- 2) Should the srcRect and dstRect parameters be
-- specified as part of the presentation command, or at swapchain
-- creation time?
--
-- RESOLVED: As part of the presentation command. This allows
-- moving and scaling the image on the screen without the need to
-- respecify the mode or create a new swapchain and presentable images.
--
-- 3) Should srcRect and dstRect be specified as rects,
-- or separate offset/extent values?
--
-- RESOLVED: As rects. Specifying them separately might make it
-- easier for hardware to expose support for one but not the other, but
-- in such cases applications must just take care to obey the reported
-- capabilities and not use non-zero offsets or extents that require
-- scaling, as appropriate.
--
-- 4) How can applications create multiple swapchains that use the same
-- images?
--
-- RESOLVED: By calling createSharedSwapchainsKHR.
--
-- An earlier resolution used createSwapchainKHR, chaining
-- multiple SwapchainCreateInfoKHR structures through
-- pNext. In order to allow each swapchain to also allow other
-- extension structs, a level of indirection was used:
-- SwapchainCreateInfoKHR::pNext pointed to a different
-- structure, which had both sType and pNext members
-- for additional extensions, and also had a pointer to the next
-- SwapchainCreateInfoKHR structure. The number of swapchains to
-- be created could only be found by walking this linked list of
-- alternating structures, and the pSwapchains out parameter was
-- reinterpreted to be an array of SwapchainKHR handles.
--
-- Another option considered was a method to specify a “shared” swapchain
-- when creating a new swapchain, such that groups of swapchains using
-- the same images could be built up one at a time. This was deemed
-- unusable because drivers need to know all of the displays an image
-- will be used on when determining which internal formats and layouts to
-- use for that image.
--
-- Examples
--
-- Note
--
-- The example code for the VK_KHR_display and
-- VK_KHR_display_swapchain extensions was removed from the
-- appendix after revision 1.0.43. The display swapchain creation example
-- code was ported to the cube demo that is shipped with the official
-- Khronos SDK, and is being kept up-to-date in that location (see:
-- https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c).
--
-- Version History
--
--
-- - Revision 1, 2015-07-29 (James Jones)
--
--
--
-- - Revision 2, 2015-08-21 (Ian Elliott)
- Renamed this extension
-- and all of its enumerations, types, functions, etc. This makes it
-- compliant with the proposed standard for Vulkan
-- extensions.
- Switched from “revision” to “version”, including
-- use of the VK_MAKE_VERSION macro in the header file.
-- - Revision 3, 2015-09-01 (James Jones)
- Restore single-field
-- revision number.
-- - Revision 4, 2015-09-08 (James Jones)
- Allow creating
-- multiple swap chains that share the same images using a single call to
-- vkCreateSwapchainKHR().
-- - Revision 5, 2015-09-10 (Alon Or-bach)
- Removed underscores
-- from SWAP_CHAIN in two enums.
-- - Revision 6, 2015-10-02 (James Jones)
- Added support for
-- smart panels/buffered displays.
-- - Revision 7, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_display_swapchain to
-- VK_KHR_display_swapchain.
-- - Revision 8, 2015-11-03 (Daniel Rakos)
- Updated sample code
-- based on the changes to VK_KHR_swapchain.
-- - Revision 9, 2015-11-10 (Jesse Hall)
- Replaced
-- VkDisplaySwapchainCreateInfoKHR with vkCreateSharedSwapchainsKHR,
-- changing resolution of issue #4.
-- - Revision 10, 2017-03-13 (James Jones)
- Closed all remaining
-- issues. The specification and implementations have been shipping with
-- the proposed resolutions for some time now.
- Removed the sample
-- code and noted it has been integrated into the official Vulkan SDK
-- cube demo.
--
--
-- See Also
--
-- DisplayPresentInfoKHR, createSharedSwapchainsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_display_swapchain
-- | vkCreateSharedSwapchainsKHR - Create multiple swapchains that share
-- presentable images
--
-- Description
--
-- createSharedSwapchainsKHR is similar to
-- createSwapchainKHR, except that it takes an array of
-- SwapchainCreateInfoKHR structures, and returns an array of
-- swapchain objects.
--
-- The swapchain creation parameters that affect the properties and
-- number of presentable images must match between all the
-- swapchains. If the displays used by any of the swapchains do not use
-- the same presentable image layout or are incompatible in a way that
-- prevents sharing images, swapchain creation will fail with the result
-- code ERROR_INCOMPATIBLE_DISPLAY_KHR. If any error occurs, no
-- swapchains will be created. Images presented to multiple swapchains
-- must be re-acquired from all of them before transitioning away
-- from IMAGE_LAYOUT_PRESENT_SRC_KHR. After destroying one or more
-- of the swapchains, the remaining swapchains and the presentable images
-- can continue to be used.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfos must be a valid pointer to an array
-- of swapchainCount valid SwapchainCreateInfoKHR
-- structures
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSwapchains must be a valid pointer to an array of
-- swapchainCount SwapchainKHR handles
-- - swapchainCount must be greater than
-- 0
--
--
-- Host Synchronization
--
--
-- - Host access to pCreateInfos[].surface must be
-- externally synchronized
--
--
--
-- - Host access to pCreateInfos[].oldSwapchain must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display_swapchain, AllocationCallbacks,
-- Device, SwapchainCreateInfoKHR, SwapchainKHR
createSharedSwapchainsKHR :: forall io. MonadIO io => Device -> ("createInfos" ::: Vector (SomeStruct SwapchainCreateInfoKHR)) -> ("allocator" ::: Maybe AllocationCallbacks) -> io ("swapchains" ::: Vector SwapchainKHR)
-- | VkDisplayPresentInfoKHR - Structure describing parameters of a queue
-- presentation to a swapchain
--
-- Description
--
-- If the extent of the srcRect and dstRect are not
-- equal, the presented pixels will be scaled accordingly.
--
-- Valid Usage
--
--
-- - srcRect must specify a rectangular region that is
-- a subset of the image being presented
--
--
--
-- - dstRect must specify a rectangular region that is
-- a subset of the visibleRegion parameter of the display mode
-- the swapchain being presented uses
-- - If the persistentContent member of the
-- DisplayPropertiesKHR structure returned by
-- getPhysicalDeviceDisplayPropertiesKHR for the display the
-- present operation targets is FALSE, then persistent
-- must be FALSE
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_KHR_display_swapchain, Bool32, Rect2D,
-- StructureType
data DisplayPresentInfoKHR
DisplayPresentInfoKHR :: Rect2D -> Rect2D -> Bool -> DisplayPresentInfoKHR
-- | srcRect is a rectangular region of pixels to present. It
-- must be a subset of the image being presented. If
-- DisplayPresentInfoKHR is not specified, this region will be
-- assumed to be the entire presentable image.
[$sel:srcRect:DisplayPresentInfoKHR] :: DisplayPresentInfoKHR -> Rect2D
-- | dstRect is a rectangular region within the visible region of
-- the swapchain’s display mode. If DisplayPresentInfoKHR is not
-- specified, this region will be assumed to be the entire visible region
-- of the swapchain’s mode. If the specified rectangle is a subset of the
-- display mode’s visible region, content from display planes below the
-- swapchain’s plane will be visible outside the rectangle. If there are
-- no planes below the swapchain’s, the area outside the specified
-- rectangle will be black. If portions of the specified rectangle are
-- outside of the display’s visible region, pixels mapping only to those
-- portions of the rectangle will be discarded.
[$sel:dstRect:DisplayPresentInfoKHR] :: DisplayPresentInfoKHR -> Rect2D
-- | persistent: If this is TRUE, the display engine will
-- enable buffered mode on displays that support it. This allows the
-- display engine to stop sending content to the display until a new
-- image is presented. The display will instead maintain a copy of the
-- last presented image. This allows less power to be used, but
-- may increase presentation latency. If
-- DisplayPresentInfoKHR is not specified, persistent mode will
-- not be used.
[$sel:persistent:DisplayPresentInfoKHR] :: DisplayPresentInfoKHR -> Bool
type KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 10
pattern KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: forall a. Integral a => a
type KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain"
pattern KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkSwapchainCreateInfoKHR - Structure specifying parameters of a newly
-- created swapchain object
--
-- Description
--
-- Upon calling createSwapchainKHR with an oldSwapchain
-- that is not NULL_HANDLE, oldSwapchain is retired —
-- even if creation of the new swapchain fails. The new swapchain is
-- created in the non-retired state whether or not oldSwapchain
-- is NULL_HANDLE.
--
-- Upon calling createSwapchainKHR with an oldSwapchain
-- that is not NULL_HANDLE, any images from oldSwapchain
-- that are not acquired by the application may be freed by the
-- implementation, which may occur even if creation of the new
-- swapchain fails. The application can destroy
-- oldSwapchain to free all memory associated with
-- oldSwapchain.
--
-- Note
--
-- Multiple retired swapchains can be associated with the same
-- SurfaceKHR through multiple uses of oldSwapchain that
-- outnumber calls to destroySwapchainKHR.
--
-- After oldSwapchain is retired, the application can
-- pass to queuePresentKHR any images it had already acquired from
-- oldSwapchain. E.g., an application may present an image from
-- the old swapchain before an image from the new swapchain is ready to
-- be presented. As usual, queuePresentKHR may fail if
-- oldSwapchain has entered a state that causes
-- ERROR_OUT_OF_DATE_KHR to be returned.
--
-- The application can continue to use a shared presentable image
-- obtained from oldSwapchain until a presentable image is
-- acquired from the new swapchain, as long as it has not entered a state
-- that causes it to return ERROR_OUT_OF_DATE_KHR.
--
-- Valid Usage
--
--
--
--
-- - minImageCount must be less than or equal to the
-- value returned in the maxImageCount member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface if the
-- returned maxImageCount is not zero
-- - If presentMode is not
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR nor
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, then
-- minImageCount must be greater than or equal to the
-- value returned in the minImageCount member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - minImageCount must be 1 if
-- presentMode is either
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
-- - imageFormat and imageColorSpace must
-- match the format and colorSpace members,
-- respectively, of one of the SurfaceFormatKHR structures
-- returned by getPhysicalDeviceSurfaceFormatsKHR for the
-- surface
-- - imageExtent must be between
-- minImageExtent and maxImageExtent, inclusive, where
-- minImageExtent and maxImageExtent are members of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - imageExtent members width and height
-- must both be non-zero
-- - imageArrayLayers must be greater than 0
-- and less than or equal to the maxImageArrayLayers member of
-- the SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - If presentMode is PRESENT_MODE_IMMEDIATE_KHR,
-- PRESENT_MODE_MAILBOX_KHR, PRESENT_MODE_FIFO_KHR or
-- PRESENT_MODE_FIFO_RELAXED_KHR, imageUsage must
-- be a subset of the supported usage flags present in the
-- supportedUsageFlags member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for
-- surface
-- - If presentMode is
-- PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
-- PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, imageUsage
-- must be a subset of the supported usage flags present in the
-- sharedPresentSupportedUsageFlags member of the
-- SharedPresentSurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilities2KHR for
-- surface
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- pQueueFamilyIndices must be a valid pointer to an
-- array of queueFamilyIndexCount uint32_t values
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- queueFamilyIndexCount must be greater than
-- 1
-- - If imageSharingMode is SHARING_MODE_CONCURRENT,
-- each element of pQueueFamilyIndices must be unique and
-- must be less than pQueueFamilyPropertyCount returned
-- by either getPhysicalDeviceQueueFamilyProperties or
-- getPhysicalDeviceQueueFamilyProperties2 for the
-- physicalDevice that was used to create device
-- - preTransform must be one of the bits present in
-- the supportedTransforms member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - compositeAlpha must be one of the bits present in
-- the supportedCompositeAlpha member of the
-- SurfaceCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR for the surface
-- - presentMode must be one of the
-- PresentModeKHR values returned by
-- getPhysicalDeviceSurfacePresentModesKHR for the surface
-- - If the logical device was created with
-- DeviceGroupDeviceCreateInfo::physicalDeviceCount equal
-- to 1, flags must not contain
-- SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
-- - If oldSwapchain is not NULL_HANDLE,
-- oldSwapchain must be a non-retired swapchain
-- associated with native window referred to by surface
-- - The implied image creation parameters of the swapchain
-- must be supported as reported by
-- getPhysicalDeviceImageFormatProperties
-- - If flags contains
-- SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR then the pNext
-- chain must include a ImageFormatListCreateInfo structure
-- with a viewFormatCount greater than zero and
-- pViewFormats must have an element equal to
-- imageFormat
-- - If a ImageFormatListCreateInfo structure was included in
-- the pNext chain and
-- ImageFormatListCreateInfo::viewFormatCount is not zero
-- then all of the formats in
-- ImageFormatListCreateInfo::pViewFormats must be
-- compatible with the format as described in the
-- compatibility table
-- - If flags does not contain
-- SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR and the pNext
-- chain include a ImageFormatListCreateInfo structure then
-- ImageFormatListCreateInfo::viewFormatCount must
-- be 0 or 1
-- - If flags contains
-- SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, then
-- SurfaceProtectedCapabilitiesKHR::supportsProtected
-- must be TRUE in the
-- SurfaceProtectedCapabilitiesKHR structure returned by
-- getPhysicalDeviceSurfaceCapabilities2KHR for
-- surface
-- - If the pNext chain includes a
-- SurfaceFullScreenExclusiveInfoEXT structure with its
-- fullScreenExclusive member set to
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT, and
-- surface was created using createWin32SurfaceKHR, a
-- SurfaceFullScreenExclusiveWin32InfoEXT structure must be
-- included in the pNext chain
--
--
-- 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
-- DeviceGroupSwapchainCreateInfoKHR,
-- ImageFormatListCreateInfo,
-- SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SwapchainCounterCreateInfoEXT, or
-- SwapchainDisplayNativeHdrCreateInfoAMD
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- SwapchainCreateFlagBitsKHR values
-- - surface must be a valid SurfaceKHR
-- handle
-- - imageFormat must be a valid Format
-- value
-- - imageColorSpace must be a valid
-- ColorSpaceKHR value
-- - imageUsage must be a valid combination of
-- ImageUsageFlagBits values
-- - imageUsage must not be 0
-- - imageSharingMode must be a valid
-- SharingMode value
-- - preTransform must be a valid
-- SurfaceTransformFlagBitsKHR value
-- - compositeAlpha must be a valid
-- CompositeAlphaFlagBitsKHR value
-- - presentMode must be a valid PresentModeKHR
-- value
-- - If oldSwapchain is not NULL_HANDLE,
-- oldSwapchain must be a valid SwapchainKHR
-- handle
-- - If oldSwapchain is a valid handle, it must have
-- been created, allocated, or retrieved from surface
-- - Both of oldSwapchain, and surface that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Instance
--
--
-- See Also
--
-- VK_KHR_swapchain, Bool32, ColorSpaceKHR,
-- CompositeAlphaFlagBitsKHR, Extent2D, Format,
-- ImageUsageFlags, PresentModeKHR, SharingMode,
-- StructureType, SurfaceKHR,
-- SurfaceTransformFlagBitsKHR, SwapchainCreateFlagsKHR,
-- SwapchainKHR, createSharedSwapchainsKHR,
-- createSwapchainKHR
data SwapchainCreateInfoKHR (es :: [Type])
SwapchainCreateInfoKHR :: Chain es -> SwapchainCreateFlagsKHR -> SurfaceKHR -> Word32 -> Format -> ColorSpaceKHR -> Extent2D -> Word32 -> ImageUsageFlags -> SharingMode -> Vector Word32 -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagBitsKHR -> PresentModeKHR -> Bool -> SwapchainKHR -> SwapchainCreateInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Chain es
-- | flags is a bitmask of SwapchainCreateFlagBitsKHR
-- indicating parameters of the swapchain creation.
[$sel:flags:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SwapchainCreateFlagsKHR
-- | surface is the surface onto which the swapchain will present
-- images. If the creation succeeds, the swapchain becomes associated
-- with surface.
[$sel:surface:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceKHR
-- | minImageCount is the minimum number of presentable images
-- that the application needs. The implementation will either create the
-- swapchain with at least that many images, or it will fail to create
-- the swapchain.
[$sel:minImageCount:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32
-- | imageFormat is a Format value specifying the format
-- the swapchain image(s) will be created with.
[$sel:imageFormat:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Format
-- | imageColorSpace is a ColorSpaceKHR value specifying
-- the way the swapchain interprets image data.
[$sel:imageColorSpace:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ColorSpaceKHR
-- | imageExtent is the size (in pixels) of the swapchain
-- image(s). The behavior is platform-dependent if the image extent does
-- not match the surface’s currentExtent as returned by
-- getPhysicalDeviceSurfaceCapabilitiesKHR.
--
-- Note
--
-- On some platforms, it is normal that maxImageExtent
-- may become (0, 0), for example when the window is
-- minimized. In such a case, it is not possible to create a swapchain
-- due to the Valid Usage requirements.
[$sel:imageExtent:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Extent2D
-- | imageArrayLayers is the number of views in a multiview/stereo
-- surface. For non-stereoscopic-3D applications, this value is 1.
[$sel:imageArrayLayers:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32
-- | imageUsage is a bitmask of ImageUsageFlagBits
-- describing the intended usage of the (acquired) swapchain images.
[$sel:imageUsage:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ImageUsageFlags
-- | imageSharingMode is the sharing mode used for the image(s) of
-- the swapchain.
[$sel:imageSharingMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SharingMode
-- | pQueueFamilyIndices is a pointer to an array of queue family
-- indices having access to the images(s) of the swapchain when
-- imageSharingMode is SHARING_MODE_CONCURRENT.
[$sel:queueFamilyIndices:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Vector Word32
-- | preTransform is a SurfaceTransformFlagBitsKHR value
-- describing the transform, relative to the presentation engine’s
-- natural orientation, applied to the image content prior to
-- presentation. If it does not match the currentTransform value
-- returned by getPhysicalDeviceSurfaceCapabilitiesKHR, the
-- presentation engine will transform the image content as part of the
-- presentation operation.
[$sel:preTransform:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceTransformFlagBitsKHR
-- | compositeAlpha is a CompositeAlphaFlagBitsKHR value
-- indicating the alpha compositing mode to use when this surface is
-- composited together with other surfaces on certain window systems.
[$sel:compositeAlpha:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> CompositeAlphaFlagBitsKHR
-- | presentMode is the presentation mode the swapchain will use.
-- A swapchain’s present mode determines how incoming present requests
-- will be processed and queued internally.
[$sel:presentMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> PresentModeKHR
-- | clipped specifies whether the Vulkan implementation is
-- allowed to discard rendering operations that affect regions of the
-- surface that are not visible.
--
--
-- - If set to TRUE, the presentable images associated with the
-- swapchain may not own all of their pixels. Pixels in the
-- presentable images that correspond to regions of the target surface
-- obscured by another window on the desktop, or subject to some other
-- clipping mechanism will have undefined content when read back.
-- Fragment shaders may not execute for these pixels, and thus any
-- side effects they would have had will not occur. Setting TRUE
-- does not guarantee any clipping will occur, but allows more efficient
-- presentation methods to be used on some platforms.
-- - If set to FALSE, presentable images associated with the
-- swapchain will own all of the pixels they contain.NoteApplications
-- should set this value to TRUE if they do not expect to
-- read back the content of presentable images before presenting them or
-- after reacquiring them, and if their fragment shaders do not have any
-- side effects that require them to run for all pixels in the
-- presentable image.
--
[$sel:clipped:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Bool
-- | oldSwapchain is NULL_HANDLE, or the existing
-- non-retired swapchain currently associated with surface.
-- Providing a valid oldSwapchain may aid in the resource
-- reuse, and also allows the application to still present any images
-- that are already acquired from it.
[$sel:oldSwapchain:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SwapchainKHR
-- | VkPresentModeKHR - Presentation mode supported for a surface
--
-- Description
--
-- The supported ImageUsageFlagBits of the presentable images of a
-- swapchain created for a surface may differ depending on the
-- presentation mode, and can be determined as per the table below:
--
-- TODO: table
--
-- Presentable image usage queries
--
-- Note
--
-- For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
-- equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
-- interval of 1, while the mode indicated by
-- PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
-- {wgl|glX}SwapBuffers with a swap interval of -1 (from the
-- {WGL|GLX}_EXT_swap_control_tear extensions).
--
-- See Also
--
-- VK_KHR_surface, SwapchainCreateInfoKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR
newtype PresentModeKHR
PresentModeKHR :: Int32 -> PresentModeKHR
-- | PRESENT_MODE_IMMEDIATE_KHR specifies that the presentation
-- engine does not wait for a vertical blanking period to update the
-- current image, meaning this mode may result in visible tearing.
-- No internal queuing of presentation requests is needed, as the
-- requests are applied immediately.
pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
-- | PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal single-entry
-- queue is used to hold pending presentation requests. If the queue is
-- full when a new presentation request is received, the new request
-- replaces the existing entry, and any images associated with the prior
-- entry become available for re-use by the application. One request is
-- removed from the queue and processed during each vertical blanking
-- period in which the queue is non-empty.
pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal queue is used to
-- hold pending presentation requests. New requests are appended to the
-- end of the queue, and one request is removed from the beginning of the
-- queue and processed during each vertical blanking period in which the
-- queue is non-empty. This is the only value of presentMode
-- that is required to be supported.
pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_RELAXED_KHR specifies that the presentation
-- engine generally waits for the next vertical blanking period to update
-- the current image. If a vertical blanking period has already passed
-- since the last update of the current image then the presentation
-- engine does not wait for another vertical blanking period for the
-- update, meaning this mode may result in visible tearing in this
-- case. This mode is useful for reducing visual stutter with an
-- application that will mostly present a new image before the next
-- vertical blanking period, but may occasionally be late, and present a
-- new image just after the next vertical blanking period. An internal
-- queue is used to hold pending presentation requests. New requests are
-- appended to the end of the queue, and one request is removed from the
-- beginning of the queue and processed during or after each vertical
-- blanking period in which the queue is non-empty.
pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine periodically updates the current image on its
-- regular refresh cycle. The application is only required to make one
-- initial presentation request, after which the presentation engine
-- must update the current image without any need for further
-- presentation requests. The application can indicate the image
-- contents have been updated by making a presentation request, but this
-- does not guarantee the timing of when it will be updated. This mode
-- may result in visible tearing if rendering to the image is not
-- timed correctly.
pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine is only required to update the current image after
-- a new presentation request is received. Therefore the application
-- must make a presentation request whenever an update is
-- required. However, the presentation engine may update the
-- current image at any point, meaning this mode may result in
-- visible tearing.
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
-- device
--
-- Description
--
-- These values are described as follows:
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR,
-- SwapchainCreateInfoKHR
newtype CompositeAlphaFlagBitsKHR
CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha component, if it
-- exists, of the images is ignored in the compositing process. Instead,
-- the image is treated as if it has a constant alpha of 1.0.
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha component, if
-- it exists, of the images is respected in the compositing process. The
-- non-alpha components of the image are expected to already be
-- multiplied by the alpha component by the application.
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha component,
-- if it exists, of the images is respected in the compositing process.
-- The non-alpha components of the image are not expected to already be
-- multiplied by the alpha component by the application; instead, the
-- compositor will multiply the non-alpha components of the image by the
-- alpha component during compositing.
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the
-- presentation engine treats the alpha component in the images is
-- unknown to the Vulkan API. Instead, the application is responsible for
-- setting the composite alpha blending mode using native window system
-- commands. If the application does not set the blending mode using
-- native window system commands, then a platform-specific default will
-- be used.
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
-- | VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
--
-- See Also
--
-- VK_KHR_swapchain, SwapchainCreateFlagsKHR
newtype SwapchainCreateFlagBitsKHR
SwapchainCreateFlagBitsKHR :: Flags -> SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR specifies that the
-- images of the swapchain can be used to create a
-- ImageView with a different format than what the swapchain was
-- created with. The list of allowed image view formats is specified by
-- adding a ImageFormatListCreateInfo structure to the
-- pNext chain of SwapchainCreateInfoKHR. In addition,
-- this flag also specifies that the swapchain can be created with
-- usage flags that are not supported for the format the swapchain is
-- created with but are supported for at least one of the allowed image
-- view formats.
pattern SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR specifies
-- that images created from the swapchain (i.e. with the
-- swapchain member of ImageSwapchainCreateInfoKHR set to
-- this swapchain’s handle) must use
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
pattern SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_PROTECTED_BIT_KHR specifies that images
-- created from the swapchain are protected images.
pattern SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: SwapchainCreateFlagBitsKHR
type SwapchainCreateFlagsKHR = SwapchainCreateFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR
-- | Name
--
-- VK_KHR_display - instance extension
--
-- VK_KHR_display
--
--
-- - Name String VK_KHR_display
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 3
-- - Revision 23
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-03-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Norbert Nopper, Freescale
- Jeff Vigil,
-- Qualcomm
- Daniel Rakos, AMD
--
--
-- Description
--
-- This extension provides the API to enumerate displays and available
-- modes on a given device.
--
-- New Object Types
--
--
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Which properties of a mode should be fixed in the mode information
-- vs. settable in some other function when setting the mode? E.g., do we
-- need to double the size of the mode pool to include both stereo and
-- non-stereo modes? YUV and RGB scanout even if they both take RGB input
-- images? BGR vs. RGB input? etc.
--
-- PROPOSED RESOLUTION: Many modern displays support at most a
-- handful of resolutions and timings natively. Other “modes” are
-- expected to be supported using scaling hardware on the display engine
-- or GPU. Other properties, such as rotation and mirroring should not
-- require duplicating hardware modes just to express all combinations.
-- Further, these properties may be implemented on a per-display or
-- per-overlay granularity.
--
-- To avoid the exponential growth of modes as mutable properties are
-- added, as was the case with EGLConfig/WGL pixel
-- formats/GLXFBConfig, this specification should separate out
-- hardware properties and configurable state into separate objects.
-- Modes and overlay planes will express capabilities of the hardware,
-- while a separate structure will allow applications to configure
-- scaling, rotation, mirroring, color keys, LUT values, alpha masks,
-- etc. for a given swapchain independent of the mode in use. Constraints
-- on these settings will be established by properties of the immutable
-- objects.
--
-- Note the resolution of this issue may affect issue 5 as well.
--
-- 2) What properties of a display itself are useful?
--
-- PROPOSED RESOLUTION: This issue is too broad. It was meant to
-- prompt general discussion, but resolving this issue amounts to
-- completing this specification. All interesting properties should be
-- included. The issue will remain as a placeholder since removing it
-- would make it hard to parse existing discussion notes that refer to
-- issues by number.
--
-- 3) How are multiple overlay planes within a display or mode
-- enumerated?
--
-- PROPOSED RESOLUTION: They are referred to by an index. Each
-- display will report the number of overlay planes it contains.
--
-- 4) Should swapchains be created relative to a mode or a display?
--
-- PROPOSED RESOLUTION: When using this extension, swapchains are
-- created relative to a mode and a plane. The mode implies the display
-- object the swapchain will present to. If the specified mode is not the
-- display’s current mode, the new mode will be applied when the first
-- image is presented to the swapchain, and the default operating system
-- mode, if any, will be restored when the swapchain is destroyed.
--
-- 5) Should users query generic ranges from displays and construct their
-- own modes explicitly using those constraints rather than querying a
-- fixed set of modes (Most monitors only have one real “mode” these
-- days, even though many support relatively arbitrary scaling, either on
-- the monitor side or in the GPU display engine, making “modes”
-- something of a relic/compatibility construct).
--
-- PROPOSED RESOLUTION: Expose both. Display information
-- structures will expose a set of predefined modes, as well as any
-- attributes necessary to construct a customized mode.
--
-- 6) Is it fine if we return the display and display mode handles in the
-- structure used to query their properties?
--
-- PROPOSED RESOLUTION: Yes.
--
-- 7) Is there a possibility that not all displays of a device work with
-- all of the present queues of a device? If yes, how do we determine
-- which displays work with which present queues?
--
-- PROPOSED RESOLUTION: No known hardware has such limitations,
-- but determining such limitations is supported automatically using the
-- existing VK_KHR_surface and VK_KHR_swapchain query
-- mechanisms.
--
-- 8) Should all presentation need to be done relative to an overlay
-- plane, or can a display mode + display be used alone to target an
-- output?
--
-- PROPOSED RESOLUTION: Require specifying a plane explicitly.
--
-- 9) Should displays have an associated window system display, such as
-- an HDC or Display*?
--
-- PROPOSED RESOLUTION: No. Displays are independent of any
-- windowing system in use on the system. Further, neither HDC
-- nor Display* refer to a physical display object.
--
-- 10) Are displays queried from a physical GPU or from a device
-- instance?
--
-- PROPOSED RESOLUTION: Developers prefer to query modes directly
-- from the physical GPU so they can use display information as an input
-- to their device selection algorithms prior to device creation. This
-- avoids the need to create placeholder device instances to enumerate
-- displays.
--
-- This preference must be weighed against the extra initialization that
-- must be done by driver vendors prior to device instance creation to
-- support this usage.
--
-- 11) Should displays and/or modes be dispatchable objects? If functions
-- are to take displays, overlays, or modes as their first parameter,
-- they must be dispatchable objects as defined in Khronos bug 13529. If
-- they are not added to the list of dispatchable objects, functions
-- operating on them must take some higher-level object as their first
-- parameter. There is no performance case against making them
-- dispatchable objects, but they would be the first extension objects to
-- be dispatchable.
--
-- PROPOSED RESOLUTION: Do not make displays or modes
-- dispatchable. They will dispatch based on their associated physical
-- device.
--
-- 12) Should hardware cursor capabilities be exposed?
--
-- PROPOSED RESOLUTION: Defer. This could be a separate extension
-- on top of the base WSI specs.
--
-- if they are one physical display device to an end user, but may
-- internally be implemented as two side-by-side displays using the same
-- display engine (and sometimes cabling) resources as two physically
-- separate display devices.
--
-- RESOLVED: Tiled displays will appear as a single display object
-- in this API.
--
-- 14) Should the raw EDID data be included in the display information?
--
-- RESOLVED: No. A future extension could be added which reports
-- the EDID if necessary. This may be complicated by the outcome of issue
-- 13.
--
-- 15) Should min and max scaling factor capabilities of overlays be
-- exposed?
--
-- RESOLVED: Yes. This is exposed indirectly by allowing
-- applications to query the min/max position and extent of the source
-- and destination regions from which image contents are fetched by the
-- display engine when using a particular mode and overlay pair.
--
-- 16) Should devices be able to expose planes that can be moved between
-- displays? If so, how?
--
-- RESOLVED: Yes. Applications can determine which displays a
-- given plane supports using getDisplayPlaneSupportedDisplaysKHR.
--
-- 17) Should there be a way to destroy display modes? If so, does it
-- support destroying “built in” modes?
--
-- RESOLVED: Not in this extension. A future extension could add
-- this functionality.
--
-- 18) What should the lifetime of display and built-in display mode
-- objects be?
--
-- RESOLVED: The lifetime of the instance. These objects cannot be
-- destroyed. A future extension may be added to expose a way to destroy
-- these objects and/or support display hotplug.
--
-- 19) Should persistent mode for smart panels be enabled/disabled at
-- swapchain creation time, or on a per-present basis.
--
-- RESOLVED: On a per-present basis.
--
-- Examples
--
-- Note
--
-- The example code for the VK_KHR_display and
-- VK_KHR_display_swapchain extensions was removed from the
-- appendix after revision 1.0.43. The display enumeration example code
-- was ported to the cube demo that is shipped with the official Khronos
-- SDK, and is being kept up-to-date in that location (see:
-- https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c).
--
-- Version History
--
--
-- - Revision 1, 2015-02-24 (James Jones)
--
--
--
-- - Revision 2, 2015-03-12 (Norbert Nopper)
- Added overlay
-- enumeration for a display.
-- - Revision 3, 2015-03-17 (Norbert Nopper)
- Fixed typos and
-- namings as discussed in Bugzilla.
- Reordered and grouped
-- functions.
- Added functions to query count of display, mode and
-- overlay.
- Added native display handle, which may be needed on
-- some platforms to create a native Window.
-- - Revision 4, 2015-03-18 (Norbert Nopper)
- Removed primary and
-- virtualPostion members (see comment of James Jones in
-- Bugzilla).
- Added native overlay handle to information
-- structure.
- Replaced , with ; in struct.
-- - Revision 6, 2015-03-18 (Daniel Rakos)
- Added WSI extension
-- suffix to all items.
- Made the whole API more
-- “Vulkanish”.
- Replaced all functions with a single
-- vkGetDisplayInfoKHR function to better match the rest of the
-- API.
- Made the display, display mode, and overlay objects be
-- first class objects, not subclasses of VkBaseObject as they do not
-- support the common functions anyways.
- Renamed *Info structures
-- to *Properties.
- Removed overlayIndex field from
-- VkOverlayProperties as there is an implicit index already as a result
-- of moving to a “Vulkanish” API.
- Displays are not get through
-- device, but through physical GPU to match the rest of the Vulkan API.
-- Also this is something ISVs explicitly requested.
- Added issue
-- (6) and (7).
-- - Revision 7, 2015-03-25 (James Jones)
- Added an issues
-- section
- Added rotation and mirroring flags
-- - Revision 8, 2015-03-25 (James Jones)
- Combined the duplicate
-- issues sections introduced in last change.
- Added proposed
-- resolutions to several issues.
-- - Revision 9, 2015-04-01 (Daniel Rakos)
- Rebased extension
-- against Vulkan 0.82.0
-- - Revision 10, 2015-04-01 (James Jones)
- Added issues (10) and
-- (11).
- Added more straw-man issue resolutions, and cleaned up
-- the proposed resolution for issue (4).
- Updated the rotation
-- and mirroring enums to have proper bitmask semantics.
-- - Revision 11, 2015-04-15 (James Jones)
- Added proposed
-- resolution for issues (1) and (2).
- Added issues (12), (13),
-- (14), and (15)
- Removed pNativeHandle field from overlay
-- structure.
- Fixed small compilation errors in example
-- code.
-- - Revision 12, 2015-07-29 (James Jones)
- Rewrote the guts of
-- the extension against the latest WSI swapchain specifications and the
-- latest Vulkan API.
- Address overlay planes by their index
-- rather than an object handle and refer to them as “planes” rather than
-- “overlays” to make it slightly clearer that even a display with no
-- “overlays” still has at least one base “plane” that images can be
-- displayed on.
- Updated most of the issues.
- Added an
-- “extension type” section to the specification header.
- Re-used
-- the VK_EXT_KHR_surface surface transform enumerations rather than
-- redefining them here.
- Updated the example code to use the new
-- semantics.
-- - Revision 13, 2015-08-21 (Ian Elliott)
- Renamed this
-- extension and all of its enumerations, types, functions, etc. This
-- makes it compliant with the proposed standard for Vulkan
-- extensions.
- Switched from “revision” to “version”, including
-- use of the VK_MAKE_VERSION macro in the header file.
-- - Revision 14, 2015-09-01 (James Jones)
- Restore single-field
-- revision number.
-- - Revision 15, 2015-09-08 (James Jones)
- Added alpha flags
-- enum.
- Added premultiplied alpha support.
-- - Revision 16, 2015-09-08 (James Jones)
- Added description
-- section to the spec.
- Added issues 16 - 18.
-- - Revision 17, 2015-10-02 (James Jones)
- Planes are now a
-- property of the entire device rather than individual displays. This
-- allows planes to be moved between multiple displays on devices that
-- support it.
- Added a function to create a VkSurfaceKHR object
-- describing a display plane and mode to align with the new per-platform
-- surface creation conventions.
- Removed detailed mode timing
-- data. It was agreed that the mode extents and refresh rate are
-- sufficient for current use cases. Other information could be added
-- back in as an extension if it is needed in the future.
- Added
-- support for smart/persistent/buffered display devices.
-- - Revision 18, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_display to VK_KHR_display.
-- - Revision 19, 2015-11-02 (James Jones)
- Updated example code
-- to match revision 17 changes.
-- - Revision 20, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to creation functions.
-- - Revision 21, 2015-11-10 (Jesse Hall)
- Added
-- VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, and use
-- VkDisplayPlaneAlphaFlagBitsKHR for
-- VkDisplayPlanePropertiesKHR::alphaMode instead of
-- VkDisplayPlaneAlphaFlagsKHR, since it only represents one
-- mode.
- Added reserved flags bitmask to
-- VkDisplayPlanePropertiesKHR.
- Use VkSurfaceTransformFlagBitsKHR
-- instead of obsolete VkSurfaceTransformKHR.
- Renamed
-- vkGetDisplayPlaneSupportedDisplaysKHR parameters for
-- clarity.
-- - Revision 22, 2015-12-18 (James Jones)
- Added missing
-- “planeIndex” parameter to
-- vkGetDisplayPlaneSupportedDisplaysKHR()
-- - Revision 23, 2017-03-13 (James Jones)
- Closed all remaining
-- issues. The specification and implementations have been shipping with
-- the proposed resolutions for some time now.
- Removed the sample
-- code and noted it has been integrated into the official Vulkan SDK
-- cube demo.
--
--
-- See Also
--
-- DisplayKHR, DisplayModeCreateFlagsKHR,
-- DisplayModeCreateInfoKHR, DisplayModeKHR,
-- DisplayModeParametersKHR, DisplayModePropertiesKHR,
-- DisplayPlaneAlphaFlagBitsKHR, DisplayPlaneAlphaFlagsKHR,
-- DisplayPlaneCapabilitiesKHR, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, DisplaySurfaceCreateFlagsKHR,
-- DisplaySurfaceCreateInfoKHR, SurfaceTransformFlagsKHR,
-- createDisplayModeKHR, createDisplayPlaneSurfaceKHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneCapabilitiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR,
-- getPhysicalDeviceDisplayPlanePropertiesKHR,
-- getPhysicalDeviceDisplayPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_display
-- | vkGetPhysicalDeviceDisplayPropertiesKHR - Query information about the
-- available displays
--
-- Description
--
-- If pProperties is NULL, then the number of display
-- devices available for physicalDevice is returned in
-- pPropertyCount. Otherwise, pPropertyCount
-- must point to a variable set by the user to the number of
-- elements in the pProperties array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pProperties. If the value of pPropertyCount is less
-- than the number of display devices for physicalDevice, at
-- most pPropertyCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available properties were returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayPropertiesKHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayPropertiesKHR,
-- PhysicalDevice
getPhysicalDeviceDisplayPropertiesKHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector DisplayPropertiesKHR)
-- | vkGetPhysicalDeviceDisplayPlanePropertiesKHR - Query the plane
-- properties
--
-- Description
--
-- If pProperties is NULL, then the number of display
-- planes available for physicalDevice is returned in
-- pPropertyCount. Otherwise, pPropertyCount
-- must point to a variable set by the user to the number of
-- elements in the pProperties array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pProperties. If the value of pPropertyCount is less
-- than the number of display planes for physicalDevice, at most
-- pPropertyCount structures will be written.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayPlanePropertiesKHR
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- PhysicalDevice
getPhysicalDeviceDisplayPlanePropertiesKHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector DisplayPlanePropertiesKHR)
-- | vkGetDisplayPlaneSupportedDisplaysKHR - Query the list of displays a
-- plane supports
--
-- Description
--
-- If pDisplays is NULL, then the number of displays
-- usable with the specified planeIndex for
-- physicalDevice is returned in pDisplayCount.
-- Otherwise, pDisplayCount must point to a variable set
-- by the user to the number of elements in the pDisplays array,
-- and on return the variable is overwritten with the number of handles
-- actually written to pDisplays. If the value of
-- pDisplayCount is less than the number of usable display-plane
-- pairs for physicalDevice, at most pDisplayCount
-- handles will be written, and INCOMPLETE will be returned
-- instead of SUCCESS, to indicate that not all the available
-- pairs were returned.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pDisplayCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pDisplayCount is not
-- 0, and pDisplays is not NULL,
-- pDisplays must be a valid pointer to an array of
-- pDisplayCount DisplayKHR handles
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayKHR, PhysicalDevice
getDisplayPlaneSupportedDisplaysKHR :: forall io. MonadIO io => PhysicalDevice -> ("planeIndex" ::: Word32) -> io (Result, "displays" ::: Vector DisplayKHR)
-- | vkGetDisplayModePropertiesKHR - Query the set of mode properties
-- supported by the display
--
-- Description
--
-- If pProperties is NULL, then the number of display
-- modes available on the specified display for
-- physicalDevice is returned in pPropertyCount.
-- Otherwise, pPropertyCount must point to a variable set
-- by the user to the number of elements in the pProperties
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pProperties. If the value of
-- pPropertyCount is less than the number of display modes for
-- physicalDevice, at most pPropertyCount structures
-- will be written, and INCOMPLETE will be returned instead of
-- SUCCESS, to indicate that not all the available display modes
-- were returned.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - display must be a valid DisplayKHR
-- handle
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayModePropertiesKHR
-- structures
-- - display must have been created, allocated, or
-- retrieved from physicalDevice
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayKHR,
-- DisplayModePropertiesKHR, PhysicalDevice
getDisplayModePropertiesKHR :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> io (Result, "properties" ::: Vector DisplayModePropertiesKHR)
-- | vkCreateDisplayModeKHR - Create a display mode
--
-- Valid Usage (Implicit)
--
--
--
--
-- - display must be a valid DisplayKHR
-- handle
-- - pCreateInfo must be a valid pointer to a valid
-- DisplayModeCreateInfoKHR structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pMode must be a valid pointer to a
-- DisplayModeKHR handle
-- - display must have been created, allocated, or
-- retrieved from physicalDevice
--
--
-- Host Synchronization
--
--
-- - Host access to display must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, AllocationCallbacks, DisplayKHR,
-- DisplayModeCreateInfoKHR, DisplayModeKHR,
-- PhysicalDevice
createDisplayModeKHR :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> DisplayModeCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io DisplayModeKHR
-- | vkGetDisplayPlaneCapabilitiesKHR - Query capabilities of a mode and
-- plane combination
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to mode must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayModeKHR,
-- DisplayPlaneCapabilitiesKHR, PhysicalDevice
getDisplayPlaneCapabilitiesKHR :: forall io. MonadIO io => PhysicalDevice -> DisplayModeKHR -> ("planeIndex" ::: Word32) -> io DisplayPlaneCapabilitiesKHR
-- | vkCreateDisplayPlaneSurfaceKHR - Create a SurfaceKHR structure
-- representing a display plane and mode
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, AllocationCallbacks,
-- DisplaySurfaceCreateInfoKHR, Instance, SurfaceKHR
createDisplayPlaneSurfaceKHR :: forall io. MonadIO io => Instance -> DisplaySurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkDisplayPropertiesKHR - Structure describing an available display
-- device
--
-- Description
--
-- Note
--
-- For devices which have no natural value to return here,
-- implementations should return the maximum resolution supported.
--
-- Note
--
-- Persistent presents may have higher latency, and may use
-- less power when the screen content is updated infrequently, or when
-- only a portion of the screen needs to be updated in most frames.
--
-- See Also
--
-- VK_KHR_display, Bool32, DisplayKHR,
-- DisplayProperties2KHR, Extent2D,
-- SurfaceTransformFlagsKHR,
-- getPhysicalDeviceDisplayPropertiesKHR
data DisplayPropertiesKHR
DisplayPropertiesKHR :: DisplayKHR -> ByteString -> Extent2D -> Extent2D -> SurfaceTransformFlagsKHR -> Bool -> Bool -> DisplayPropertiesKHR
-- | display is a handle that is used to refer to the display
-- described here. This handle will be valid for the lifetime of the
-- Vulkan instance.
[$sel:display:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> DisplayKHR
-- | displayName is NULL or a pointer to a
-- null-terminated UTF-8 string containing the name of the display.
-- Generally, this will be the name provided by the display’s EDID. If
-- NULL, no suitable name is available. If not NULL,
-- the string pointed to must remain accessible and unmodified as
-- long as display is valid.
[$sel:displayName:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> ByteString
-- | physicalDimensions describes the physical width and height of
-- the visible portion of the display, in millimeters.
[$sel:physicalDimensions:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Extent2D
-- | physicalResolution describes the physical, native, or
-- preferred resolution of the display.
[$sel:physicalResolution:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Extent2D
-- | supportedTransforms is a bitmask of
-- SurfaceTransformFlagBitsKHR describing which transforms are
-- supported by this display.
[$sel:supportedTransforms:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> SurfaceTransformFlagsKHR
-- | planeReorderPossible tells whether the planes on this display
-- can have their z order changed. If this is TRUE, the
-- application can re-arrange the planes on this display in any
-- order relative to each other.
[$sel:planeReorderPossible:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Bool
-- | persistentContent tells whether the display supports
-- self-refresh/internal buffering. If this is true, the application
-- can submit persistent present operations on swapchains created
-- against this display.
[$sel:persistentContent:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Bool
-- | VkDisplayPlanePropertiesKHR - Structure describing display plane
-- properties
--
-- See Also
--
-- VK_KHR_display, DisplayKHR,
-- DisplayPlaneProperties2KHR,
-- getPhysicalDeviceDisplayPlanePropertiesKHR
data DisplayPlanePropertiesKHR
DisplayPlanePropertiesKHR :: DisplayKHR -> Word32 -> DisplayPlanePropertiesKHR
-- | currentDisplay is the handle of the display the plane is
-- currently associated with. If the plane is not currently attached to
-- any displays, this will be NULL_HANDLE.
[$sel:currentDisplay:DisplayPlanePropertiesKHR] :: DisplayPlanePropertiesKHR -> DisplayKHR
-- | currentStackIndex is the current z-order of the plane. This
-- will be between 0 and the value returned by
-- getPhysicalDeviceDisplayPlanePropertiesKHR in
-- pPropertyCount.
[$sel:currentStackIndex:DisplayPlanePropertiesKHR] :: DisplayPlanePropertiesKHR -> Word32
-- | VkDisplayModeParametersKHR - Structure describing display parameters
-- associated with a display mode
--
-- Description
--
-- Note
--
-- For example, a 60Hz display mode would report a refreshRate
-- of 60,000.
--
-- Valid Usage
--
--
-- - The width member of visibleRegion must be
-- greater than 0
--
--
--
-- - The height member of visibleRegion must
-- be greater than 0
-- - refreshRate must be greater than 0
--
--
-- See Also
--
-- VK_KHR_display, DisplayModeCreateInfoKHR,
-- DisplayModePropertiesKHR, Extent2D
data DisplayModeParametersKHR
DisplayModeParametersKHR :: Extent2D -> Word32 -> DisplayModeParametersKHR
-- | visibleRegion is the 2D extents of the visible region.
[$sel:visibleRegion:DisplayModeParametersKHR] :: DisplayModeParametersKHR -> Extent2D
-- | refreshRate is a uint32_t that is the number of
-- times the display is refreshed each second multiplied by 1000.
[$sel:refreshRate:DisplayModeParametersKHR] :: DisplayModeParametersKHR -> Word32
-- | VkDisplayModePropertiesKHR - Structure describing display mode
-- properties
--
-- See Also
--
-- VK_KHR_display, DisplayModeKHR,
-- DisplayModeParametersKHR, DisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR
data DisplayModePropertiesKHR
DisplayModePropertiesKHR :: DisplayModeKHR -> DisplayModeParametersKHR -> DisplayModePropertiesKHR
-- | displayMode is a handle to the display mode described in this
-- structure. This handle will be valid for the lifetime of the Vulkan
-- instance.
[$sel:displayMode:DisplayModePropertiesKHR] :: DisplayModePropertiesKHR -> DisplayModeKHR
-- | parameters is a DisplayModeParametersKHR structure
-- describing the display parameters associated with
-- displayMode.
[$sel:parameters:DisplayModePropertiesKHR] :: DisplayModePropertiesKHR -> DisplayModeParametersKHR
-- | VkDisplayModeCreateInfoKHR - Structure specifying parameters of a
-- newly created display mode object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_display, DisplayModeCreateFlagsKHR,
-- DisplayModeParametersKHR, StructureType,
-- createDisplayModeKHR
data DisplayModeCreateInfoKHR
DisplayModeCreateInfoKHR :: DisplayModeCreateFlagsKHR -> DisplayModeParametersKHR -> DisplayModeCreateInfoKHR
-- | flags is reserved for future use, and must be zero.
--
-- flags must be 0
[$sel:flags:DisplayModeCreateInfoKHR] :: DisplayModeCreateInfoKHR -> DisplayModeCreateFlagsKHR
-- | parameters is a DisplayModeParametersKHR structure
-- describing the display parameters to use in creating the new mode. If
-- the parameters are not compatible with the specified display, the
-- implementation must return ERROR_INITIALIZATION_FAILED.
--
-- parameters must be a valid
-- DisplayModeParametersKHR structure
[$sel:parameters:DisplayModeCreateInfoKHR] :: DisplayModeCreateInfoKHR -> DisplayModeParametersKHR
-- | VkDisplayPlaneCapabilitiesKHR - Structure describing capabilities of a
-- mode and plane combination
--
-- Description
--
-- The minimum and maximum position and extent fields describe the
-- implementation limits, if any, as they apply to the specified display
-- mode and plane. Vendors may support displaying a subset of a
-- swapchain’s presentable images on the specified display plane. This is
-- expressed by returning minSrcPosition,
-- maxSrcPosition, minSrcExtent, and
-- maxSrcExtent values that indicate a range of possible
-- positions and sizes which may be used to specify the region
-- within the presentable images that source pixels will be read from
-- when creating a swapchain on the specified display mode and plane.
--
-- Vendors may also support mapping the presentable images’
-- content to a subset or superset of the visible region in the specified
-- display mode. This is expressed by returning minDstPosition,
-- maxDstPosition, minDstExtent and
-- maxDstExtent values that indicate a range of possible
-- positions and sizes which may be used to describe the region
-- within the display mode that the source pixels will be mapped to.
--
-- Other vendors may support only a 1-1 mapping between pixels in
-- the presentable images and the display mode. This may be
-- indicated by returning (0,0) for minSrcPosition,
-- maxSrcPosition, minDstPosition, and
-- maxDstPosition, and (display mode width, display mode height)
-- for minSrcExtent, maxSrcExtent,
-- minDstExtent, and maxDstExtent.
--
-- The value supportedAlpha must contain at least one
-- valid DisplayPlaneAlphaFlagBitsKHR bit.
--
-- These values indicate the limits of the implementation’s individual
-- fields. Not all combinations of values within the offset and extent
-- ranges returned in DisplayPlaneCapabilitiesKHR are guaranteed
-- to be supported. Presentation requests specifying unsupported
-- combinations may fail.
--
-- See Also
--
-- VK_KHR_display, DisplayPlaneAlphaFlagsKHR,
-- DisplayPlaneCapabilities2KHR, Extent2D, Offset2D,
-- getDisplayPlaneCapabilitiesKHR
data DisplayPlaneCapabilitiesKHR
DisplayPlaneCapabilitiesKHR :: DisplayPlaneAlphaFlagsKHR -> Offset2D -> Offset2D -> Extent2D -> Extent2D -> Offset2D -> Offset2D -> Extent2D -> Extent2D -> DisplayPlaneCapabilitiesKHR
-- | supportedAlpha is a bitmask of
-- DisplayPlaneAlphaFlagBitsKHR describing the supported alpha
-- blending modes.
[$sel:supportedAlpha:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> DisplayPlaneAlphaFlagsKHR
-- | minSrcPosition is the minimum source rectangle offset
-- supported by this plane using the specified mode.
[$sel:minSrcPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
-- | maxSrcPosition is the maximum source rectangle offset
-- supported by this plane using the specified mode. The x and
-- y components of maxSrcPosition must each be
-- greater than or equal to the x and y components of
-- minSrcPosition, respectively.
[$sel:maxSrcPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
-- | minSrcExtent is the minimum source rectangle size supported
-- by this plane using the specified mode.
[$sel:minSrcExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | maxSrcExtent is the maximum source rectangle size supported
-- by this plane using the specified mode.
[$sel:maxSrcExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | minDstPosition, maxDstPosition,
-- minDstExtent, maxDstExtent all have similar
-- semantics to their corresponding *Src* equivalents, but apply
-- to the output region within the mode rather than the input region
-- within the source image. Unlike the *Src* offsets,
-- minDstPosition and maxDstPosition may contain
-- negative values.
[$sel:minDstPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
[$sel:maxDstPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
[$sel:minDstExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
[$sel:maxDstExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | VkDisplaySurfaceCreateInfoKHR - Structure specifying parameters of a
-- newly created display plane surface object
--
-- Description
--
-- Note
--
-- Creating a display surface must not modify the state of the
-- displays, planes, or other resources it names. For example, it
-- must not apply the specified mode to be set on the associated
-- display. Application of display configuration occurs as a side effect
-- of presenting to a display surface.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_display, DisplayModeKHR,
-- DisplayPlaneAlphaFlagBitsKHR,
-- DisplaySurfaceCreateFlagsKHR, Extent2D,
-- StructureType, SurfaceTransformFlagBitsKHR,
-- createDisplayPlaneSurfaceKHR
data DisplaySurfaceCreateInfoKHR
DisplaySurfaceCreateInfoKHR :: DisplaySurfaceCreateFlagsKHR -> DisplayModeKHR -> Word32 -> Word32 -> SurfaceTransformFlagBitsKHR -> Float -> DisplayPlaneAlphaFlagBitsKHR -> Extent2D -> DisplaySurfaceCreateInfoKHR
-- | flags is reserved for future use, and must be zero.
[$sel:flags:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> DisplaySurfaceCreateFlagsKHR
-- | displayMode is a DisplayModeKHR handle specifying the
-- mode to use when displaying this surface.
[$sel:displayMode:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> DisplayModeKHR
-- | planeIndex is the plane on which this surface appears.
[$sel:planeIndex:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> Word32
-- | planeStackIndex is the z-order of the plane.
[$sel:planeStackIndex:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> Word32
-- | transform is a SurfaceTransformFlagBitsKHR value
-- specifying the transformation to apply to images as part of the
-- scanout operation.
[$sel:transform:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> SurfaceTransformFlagBitsKHR
-- | globalAlpha is the global alpha value. This value is ignored
-- if alphaMode is not
-- DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR.
[$sel:globalAlpha:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> Float
-- | alphaMode is a DisplayPlaneAlphaFlagBitsKHR value
-- specifying the type of alpha blending to use.
[$sel:alphaMode:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> DisplayPlaneAlphaFlagBitsKHR
-- | imageExtent is the size of the presentable images to use with
-- the surface.
[$sel:imageExtent:DisplaySurfaceCreateInfoKHR] :: DisplaySurfaceCreateInfoKHR -> Extent2D
-- | VkDisplayModeCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- DisplayModeCreateFlagsKHR is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_display, DisplayModeCreateInfoKHR
newtype DisplayModeCreateFlagsKHR
DisplayModeCreateFlagsKHR :: Flags -> DisplayModeCreateFlagsKHR
-- | VkDisplaySurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- DisplaySurfaceCreateFlagsKHR is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_display, DisplaySurfaceCreateInfoKHR
newtype DisplaySurfaceCreateFlagsKHR
DisplaySurfaceCreateFlagsKHR :: Flags -> DisplaySurfaceCreateFlagsKHR
type DisplayPlaneAlphaFlagsKHR = DisplayPlaneAlphaFlagBitsKHR
-- | VkDisplayPlaneAlphaFlagBitsKHR - Alpha blending type
--
-- See Also
--
-- VK_KHR_display, DisplayPlaneAlphaFlagsKHR,
-- DisplaySurfaceCreateInfoKHR
newtype DisplayPlaneAlphaFlagBitsKHR
DisplayPlaneAlphaFlagBitsKHR :: Flags -> DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR specifies that the source
-- image will be treated as opaque.
pattern DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR specifies that a global
-- alpha value must be specified that will be applied to all
-- pixels in the source image.
pattern DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR specifies that the alpha
-- value will be determined by the alpha component of the source image’s
-- pixels. If the source format contains no alpha values, no blending
-- will be applied. The source alpha values are not premultiplied into
-- the source image’s other color components.
pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR is
-- equivalent to DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, except the
-- source alpha values are assumed to be premultiplied into the source
-- image’s other color components.
pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
type KHR_DISPLAY_SPEC_VERSION = 23
pattern KHR_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
type KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display"
pattern KHR_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | VkDisplayModeKHR - Opaque handle to a display mode object
--
-- See Also
--
-- VK_KHR_display, DisplayModePropertiesKHR,
-- DisplayPlaneInfo2KHR, DisplaySurfaceCreateInfoKHR,
-- createDisplayModeKHR, getDisplayPlaneCapabilitiesKHR
newtype DisplayModeKHR
DisplayModeKHR :: Word64 -> DisplayModeKHR
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_display.DisplayPlaneAlphaFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateFlagsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_display.DisplayModeCreateFlagsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR
-- | Name
--
-- VK_KHR_get_display_properties2 - instance extension
--
-- VK_KHR_get_display_properties2
--
--
-- - Name String
-- VK_KHR_get_display_properties2
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 122
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Ian Elliott,
-- Google
- James Jones, NVIDIA
--
--
-- Description
--
-- This extension provides new entry points to query device display
-- properties and capabilities in a way that can be easily extended by
-- other extensions, without introducing any further entry points. This
-- extension can be considered the VK_KHR_display equivalent of
-- the VK_KHR_get_physical_device_properties2 extension.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) What should this extension be named?
--
-- RESOLVED: VK_KHR_get_display_properties2. Other
-- alternatives:
--
--
-- VK_KHR_display2
-- - One extension, combined with
-- VK_KHR_surface_capabilites2.
--
--
-- 2) Should extensible input structs be added for these new functions:
--
-- RESOLVED:
--
--
--
-- 3) Should additional display query functions be extended?
--
-- RESOLVED:
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-02-21 (James Jones)
--
--
-- See Also
--
-- DisplayModeProperties2KHR, DisplayPlaneCapabilities2KHR,
-- DisplayPlaneInfo2KHR, DisplayPlaneProperties2KHR,
-- DisplayProperties2KHR, getDisplayModeProperties2KHR,
-- getDisplayPlaneCapabilities2KHR,
-- getPhysicalDeviceDisplayPlaneProperties2KHR,
-- getPhysicalDeviceDisplayProperties2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_get_display_properties2
-- | vkGetPhysicalDeviceDisplayProperties2KHR - Query information about the
-- available displays
--
-- Description
--
-- getPhysicalDeviceDisplayProperties2KHR behaves similarly to
-- getPhysicalDeviceDisplayPropertiesKHR, with the ability to
-- return extended information via chained output structures.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayProperties2KHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_display_properties2, DisplayProperties2KHR,
-- PhysicalDevice
getPhysicalDeviceDisplayProperties2KHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector DisplayProperties2KHR)
-- | vkGetPhysicalDeviceDisplayPlaneProperties2KHR - Query information
-- about the available display planes.
--
-- Description
--
-- getPhysicalDeviceDisplayPlaneProperties2KHR behaves similarly
-- to getPhysicalDeviceDisplayPlanePropertiesKHR, with the ability
-- to return extended information via chained output structures.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayPlaneProperties2KHR
-- structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_display_properties2,
-- DisplayPlaneProperties2KHR, PhysicalDevice
getPhysicalDeviceDisplayPlaneProperties2KHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector DisplayPlaneProperties2KHR)
-- | vkGetDisplayModeProperties2KHR - Query information about the available
-- display modes.
--
-- Description
--
-- getDisplayModeProperties2KHR behaves similarly to
-- getDisplayModePropertiesKHR, with the ability to return
-- extended information via chained output structures.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - display must be a valid DisplayKHR
-- handle
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount DisplayModeProperties2KHR
-- structures
-- - display must have been created, allocated, or
-- retrieved from physicalDevice
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_display_properties2, DisplayKHR,
-- DisplayModeProperties2KHR, PhysicalDevice
getDisplayModeProperties2KHR :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> io (Result, "properties" ::: Vector DisplayModeProperties2KHR)
-- | vkGetDisplayPlaneCapabilities2KHR - Query capabilities of a mode and
-- plane combination
--
-- Description
--
-- getDisplayPlaneCapabilities2KHR behaves similarly to
-- getDisplayPlaneCapabilitiesKHR, with the ability to specify
-- extended inputs via chained input structures, and to return extended
-- information via chained output structures.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_display_properties2,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- PhysicalDevice
getDisplayPlaneCapabilities2KHR :: forall io. MonadIO io => PhysicalDevice -> DisplayPlaneInfo2KHR -> io DisplayPlaneCapabilities2KHR
-- | VkDisplayProperties2KHR - Structure describing an available display
-- device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_get_display_properties2, DisplayPropertiesKHR,
-- StructureType, getPhysicalDeviceDisplayProperties2KHR
data DisplayProperties2KHR
DisplayProperties2KHR :: DisplayPropertiesKHR -> DisplayProperties2KHR
-- | displayProperties is a DisplayPropertiesKHR structure.
[$sel:displayProperties:DisplayProperties2KHR] :: DisplayProperties2KHR -> DisplayPropertiesKHR
-- | VkDisplayPlaneProperties2KHR - Structure describing an available
-- display plane
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_get_display_properties2,
-- DisplayPlanePropertiesKHR, StructureType,
-- getPhysicalDeviceDisplayPlaneProperties2KHR
data DisplayPlaneProperties2KHR
DisplayPlaneProperties2KHR :: DisplayPlanePropertiesKHR -> DisplayPlaneProperties2KHR
-- | displayPlaneProperties is a DisplayPlanePropertiesKHR
-- structure.
[$sel:displayPlaneProperties:DisplayPlaneProperties2KHR] :: DisplayPlaneProperties2KHR -> DisplayPlanePropertiesKHR
-- | VkDisplayModeProperties2KHR - Structure describing an available
-- display mode
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_get_display_properties2,
-- DisplayModePropertiesKHR, StructureType,
-- getDisplayModeProperties2KHR
data DisplayModeProperties2KHR
DisplayModeProperties2KHR :: DisplayModePropertiesKHR -> DisplayModeProperties2KHR
-- | displayModeProperties is a DisplayModePropertiesKHR
-- structure.
[$sel:displayModeProperties:DisplayModeProperties2KHR] :: DisplayModeProperties2KHR -> DisplayModePropertiesKHR
-- | VkDisplayPlaneInfo2KHR - Structure defining the intended configuration
-- of a display plane
--
-- Description
--
-- Note
--
-- This parameter also implicitly specifies a display.
--
--
-- - planeIndex is the plane which the application intends to
-- use with the display.
--
--
-- The members of DisplayPlaneInfo2KHR correspond to the arguments
-- to getDisplayPlaneCapabilitiesKHR, with sType and
-- pNext added for extensibility.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - mode must be a valid DisplayModeKHR
-- handle
--
--
-- Host Synchronization
--
--
-- - Host access to mode must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_get_display_properties2, DisplayModeKHR,
-- StructureType, getDisplayPlaneCapabilities2KHR
data DisplayPlaneInfo2KHR
DisplayPlaneInfo2KHR :: DisplayModeKHR -> Word32 -> DisplayPlaneInfo2KHR
-- | mode is the display mode the application intends to program
-- when using the specified plane.
[$sel:mode:DisplayPlaneInfo2KHR] :: DisplayPlaneInfo2KHR -> DisplayModeKHR
[$sel:planeIndex:DisplayPlaneInfo2KHR] :: DisplayPlaneInfo2KHR -> Word32
-- | VkDisplayPlaneCapabilities2KHR - Structure describing the capabilities
-- of a mode and plane combination
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_get_display_properties2,
-- DisplayPlaneCapabilitiesKHR, StructureType,
-- getDisplayPlaneCapabilities2KHR
data DisplayPlaneCapabilities2KHR
DisplayPlaneCapabilities2KHR :: DisplayPlaneCapabilitiesKHR -> DisplayPlaneCapabilities2KHR
-- | capabilities is a DisplayPlaneCapabilitiesKHR
-- structure.
[$sel:capabilities:DisplayPlaneCapabilities2KHR] :: DisplayPlaneCapabilities2KHR -> DisplayPlaneCapabilitiesKHR
type KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1
pattern KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_display_properties2"
pattern KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | VkDisplayModeKHR - Opaque handle to a display mode object
--
-- See Also
--
-- VK_KHR_display, DisplayModePropertiesKHR,
-- DisplayPlaneInfo2KHR, DisplaySurfaceCreateInfoKHR,
-- createDisplayModeKHR, getDisplayPlaneCapabilitiesKHR
newtype DisplayModeKHR
DisplayModeKHR :: Word64 -> DisplayModeKHR
-- | VkDisplayPropertiesKHR - Structure describing an available display
-- device
--
-- Description
--
-- Note
--
-- For devices which have no natural value to return here,
-- implementations should return the maximum resolution supported.
--
-- Note
--
-- Persistent presents may have higher latency, and may use
-- less power when the screen content is updated infrequently, or when
-- only a portion of the screen needs to be updated in most frames.
--
-- See Also
--
-- VK_KHR_display, Bool32, DisplayKHR,
-- DisplayProperties2KHR, Extent2D,
-- SurfaceTransformFlagsKHR,
-- getPhysicalDeviceDisplayPropertiesKHR
data DisplayPropertiesKHR
DisplayPropertiesKHR :: DisplayKHR -> ByteString -> Extent2D -> Extent2D -> SurfaceTransformFlagsKHR -> Bool -> Bool -> DisplayPropertiesKHR
-- | display is a handle that is used to refer to the display
-- described here. This handle will be valid for the lifetime of the
-- Vulkan instance.
[$sel:display:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> DisplayKHR
-- | displayName is NULL or a pointer to a
-- null-terminated UTF-8 string containing the name of the display.
-- Generally, this will be the name provided by the display’s EDID. If
-- NULL, no suitable name is available. If not NULL,
-- the string pointed to must remain accessible and unmodified as
-- long as display is valid.
[$sel:displayName:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> ByteString
-- | physicalDimensions describes the physical width and height of
-- the visible portion of the display, in millimeters.
[$sel:physicalDimensions:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Extent2D
-- | physicalResolution describes the physical, native, or
-- preferred resolution of the display.
[$sel:physicalResolution:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Extent2D
-- | supportedTransforms is a bitmask of
-- SurfaceTransformFlagBitsKHR describing which transforms are
-- supported by this display.
[$sel:supportedTransforms:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> SurfaceTransformFlagsKHR
-- | planeReorderPossible tells whether the planes on this display
-- can have their z order changed. If this is TRUE, the
-- application can re-arrange the planes on this display in any
-- order relative to each other.
[$sel:planeReorderPossible:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Bool
-- | persistentContent tells whether the display supports
-- self-refresh/internal buffering. If this is true, the application
-- can submit persistent present operations on swapchains created
-- against this display.
[$sel:persistentContent:DisplayPropertiesKHR] :: DisplayPropertiesKHR -> Bool
-- | VkDisplayPlanePropertiesKHR - Structure describing display plane
-- properties
--
-- See Also
--
-- VK_KHR_display, DisplayKHR,
-- DisplayPlaneProperties2KHR,
-- getPhysicalDeviceDisplayPlanePropertiesKHR
data DisplayPlanePropertiesKHR
DisplayPlanePropertiesKHR :: DisplayKHR -> Word32 -> DisplayPlanePropertiesKHR
-- | currentDisplay is the handle of the display the plane is
-- currently associated with. If the plane is not currently attached to
-- any displays, this will be NULL_HANDLE.
[$sel:currentDisplay:DisplayPlanePropertiesKHR] :: DisplayPlanePropertiesKHR -> DisplayKHR
-- | currentStackIndex is the current z-order of the plane. This
-- will be between 0 and the value returned by
-- getPhysicalDeviceDisplayPlanePropertiesKHR in
-- pPropertyCount.
[$sel:currentStackIndex:DisplayPlanePropertiesKHR] :: DisplayPlanePropertiesKHR -> Word32
-- | VkDisplayModeParametersKHR - Structure describing display parameters
-- associated with a display mode
--
-- Description
--
-- Note
--
-- For example, a 60Hz display mode would report a refreshRate
-- of 60,000.
--
-- Valid Usage
--
--
-- - The width member of visibleRegion must be
-- greater than 0
--
--
--
-- - The height member of visibleRegion must
-- be greater than 0
-- - refreshRate must be greater than 0
--
--
-- See Also
--
-- VK_KHR_display, DisplayModeCreateInfoKHR,
-- DisplayModePropertiesKHR, Extent2D
data DisplayModeParametersKHR
DisplayModeParametersKHR :: Extent2D -> Word32 -> DisplayModeParametersKHR
-- | visibleRegion is the 2D extents of the visible region.
[$sel:visibleRegion:DisplayModeParametersKHR] :: DisplayModeParametersKHR -> Extent2D
-- | refreshRate is a uint32_t that is the number of
-- times the display is refreshed each second multiplied by 1000.
[$sel:refreshRate:DisplayModeParametersKHR] :: DisplayModeParametersKHR -> Word32
-- | VkDisplayModePropertiesKHR - Structure describing display mode
-- properties
--
-- See Also
--
-- VK_KHR_display, DisplayModeKHR,
-- DisplayModeParametersKHR, DisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR
data DisplayModePropertiesKHR
DisplayModePropertiesKHR :: DisplayModeKHR -> DisplayModeParametersKHR -> DisplayModePropertiesKHR
-- | displayMode is a handle to the display mode described in this
-- structure. This handle will be valid for the lifetime of the Vulkan
-- instance.
[$sel:displayMode:DisplayModePropertiesKHR] :: DisplayModePropertiesKHR -> DisplayModeKHR
-- | parameters is a DisplayModeParametersKHR structure
-- describing the display parameters associated with
-- displayMode.
[$sel:parameters:DisplayModePropertiesKHR] :: DisplayModePropertiesKHR -> DisplayModeParametersKHR
-- | VkDisplayPlaneCapabilitiesKHR - Structure describing capabilities of a
-- mode and plane combination
--
-- Description
--
-- The minimum and maximum position and extent fields describe the
-- implementation limits, if any, as they apply to the specified display
-- mode and plane. Vendors may support displaying a subset of a
-- swapchain’s presentable images on the specified display plane. This is
-- expressed by returning minSrcPosition,
-- maxSrcPosition, minSrcExtent, and
-- maxSrcExtent values that indicate a range of possible
-- positions and sizes which may be used to specify the region
-- within the presentable images that source pixels will be read from
-- when creating a swapchain on the specified display mode and plane.
--
-- Vendors may also support mapping the presentable images’
-- content to a subset or superset of the visible region in the specified
-- display mode. This is expressed by returning minDstPosition,
-- maxDstPosition, minDstExtent and
-- maxDstExtent values that indicate a range of possible
-- positions and sizes which may be used to describe the region
-- within the display mode that the source pixels will be mapped to.
--
-- Other vendors may support only a 1-1 mapping between pixels in
-- the presentable images and the display mode. This may be
-- indicated by returning (0,0) for minSrcPosition,
-- maxSrcPosition, minDstPosition, and
-- maxDstPosition, and (display mode width, display mode height)
-- for minSrcExtent, maxSrcExtent,
-- minDstExtent, and maxDstExtent.
--
-- The value supportedAlpha must contain at least one
-- valid DisplayPlaneAlphaFlagBitsKHR bit.
--
-- These values indicate the limits of the implementation’s individual
-- fields. Not all combinations of values within the offset and extent
-- ranges returned in DisplayPlaneCapabilitiesKHR are guaranteed
-- to be supported. Presentation requests specifying unsupported
-- combinations may fail.
--
-- See Also
--
-- VK_KHR_display, DisplayPlaneAlphaFlagsKHR,
-- DisplayPlaneCapabilities2KHR, Extent2D, Offset2D,
-- getDisplayPlaneCapabilitiesKHR
data DisplayPlaneCapabilitiesKHR
DisplayPlaneCapabilitiesKHR :: DisplayPlaneAlphaFlagsKHR -> Offset2D -> Offset2D -> Extent2D -> Extent2D -> Offset2D -> Offset2D -> Extent2D -> Extent2D -> DisplayPlaneCapabilitiesKHR
-- | supportedAlpha is a bitmask of
-- DisplayPlaneAlphaFlagBitsKHR describing the supported alpha
-- blending modes.
[$sel:supportedAlpha:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> DisplayPlaneAlphaFlagsKHR
-- | minSrcPosition is the minimum source rectangle offset
-- supported by this plane using the specified mode.
[$sel:minSrcPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
-- | maxSrcPosition is the maximum source rectangle offset
-- supported by this plane using the specified mode. The x and
-- y components of maxSrcPosition must each be
-- greater than or equal to the x and y components of
-- minSrcPosition, respectively.
[$sel:maxSrcPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
-- | minSrcExtent is the minimum source rectangle size supported
-- by this plane using the specified mode.
[$sel:minSrcExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | maxSrcExtent is the maximum source rectangle size supported
-- by this plane using the specified mode.
[$sel:maxSrcExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | minDstPosition, maxDstPosition,
-- minDstExtent, maxDstExtent all have similar
-- semantics to their corresponding *Src* equivalents, but apply
-- to the output region within the mode rather than the input region
-- within the source image. Unlike the *Src* offsets,
-- minDstPosition and maxDstPosition may contain
-- negative values.
[$sel:minDstPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
[$sel:maxDstPosition:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Offset2D
[$sel:minDstExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
[$sel:maxDstExtent:DisplayPlaneCapabilitiesKHR] :: DisplayPlaneCapabilitiesKHR -> Extent2D
-- | VkDisplayPlaneAlphaFlagBitsKHR - Alpha blending type
--
-- See Also
--
-- VK_KHR_display, DisplayPlaneAlphaFlagsKHR,
-- DisplaySurfaceCreateInfoKHR
newtype DisplayPlaneAlphaFlagBitsKHR
DisplayPlaneAlphaFlagBitsKHR :: Flags -> DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR specifies that the source
-- image will be treated as opaque.
pattern DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR specifies that a global
-- alpha value must be specified that will be applied to all
-- pixels in the source image.
pattern DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR specifies that the alpha
-- value will be determined by the alpha component of the source image’s
-- pixels. If the source format contains no alpha values, no blending
-- will be applied. The source alpha values are not premultiplied into
-- the source image’s other color components.
pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
-- | DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR is
-- equivalent to DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, except the
-- source alpha values are assumed to be premultiplied into the source
-- image’s other color components.
pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR
type DisplayPlaneAlphaFlagsKHR = DisplayPlaneAlphaFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR
-- | Name
--
-- VK_KHR_device_group - device extension
--
-- VK_KHR_device_group
--
--
-- - Name String VK_KHR_device_group
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 61
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_device_group_creation
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-10-10
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Tobias Hector, Imagination Technologies
--
--
-- Description
--
-- This extension provides functionality to use a logical device that
-- consists of multiple physical devices, as created with the
-- VK_KHR_device_group_creation extension. A device group can
-- allocate memory across the subdevices, bind memory from one subdevice
-- to a resource on another subdevice, record command buffers where some
-- work executes on an arbitrary subset of the subdevices, and
-- potentially present a swapchain image from one or more subdevices.
--
-- Promotion to Vulkan 1.1
--
-- The following enums, types and commands are included as interactions
-- with VK_KHR_swapchain:
--
--
--
-- If Vulkan 1.1 and VK_KHR_swapchain are supported, these are
-- included by VK_KHR_swapchain.
--
-- The base functionality in this extension is included in core Vulkan
-- 1.1, with the KHR suffix omitted. The original type, enum and command
-- names are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- If VK_KHR_surface is supported:
--
--
--
-- If VK_KHR_swapchain is supported:
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_KHR_bind_memory2 is supported:
--
--
--
-- If VK_KHR_surface is supported:
--
--
--
-- If VK_KHR_swapchain is supported:
--
--
--
-- New Enums
--
--
--
--
--
-- If VK_KHR_surface is supported:
--
--
--
-- New Bitmasks
--
--
--
--
--
-- If VK_KHR_surface is supported:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_bind_memory2 is supported:
--
--
--
-- If VK_KHR_surface is supported:
--
--
--
-- If VK_KHR_swapchain is supported:
--
--
--
-- New Built-in Variables
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-19 (Jeff Bolz)
--
--
--
-- - Revision 2, 2017-05-19 (Tobias Hector)
- Removed extended
-- memory bind functions to VK_KHR_bind_memory2, added dependency on that
-- extension, and device-group-specific structs for those
-- functions.
-- - Revision 3, 2017-10-06 (Ian Elliott)
- Corrected Vulkan 1.1
-- interactions with the WSI extensions. All Vulkan 1.1 WSI interactions
-- are with the VK_KHR_swapchain extension.
-- - Revision 4, 2017-10-10 (Jeff Bolz)
- Rename “SFR” bits and
-- structure members to use the phrase “split instance bind
-- regions”.
--
--
-- See Also
--
-- DeviceGroupBindSparseInfoKHR,
-- DeviceGroupCommandBufferBeginInfoKHR,
-- DeviceGroupRenderPassBeginInfoKHR,
-- DeviceGroupSubmitInfoKHR, MemoryAllocateFlagBitsKHR,
-- MemoryAllocateFlagsInfoKHR, MemoryAllocateFlagsKHR,
-- PeerMemoryFeatureFlagBitsKHR, PeerMemoryFeatureFlagsKHR,
-- cmdDispatchBaseKHR, cmdSetDeviceMaskKHR,
-- getDeviceGroupPeerMemoryFeaturesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_device_group
pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR :: StructureType
pattern PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR :: PeerMemoryFeatureFlagBits
pattern PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR :: PeerMemoryFeatureFlagBits
pattern PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR :: PeerMemoryFeatureFlagBits
pattern PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR :: PeerMemoryFeatureFlagBits
pattern MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR :: MemoryAllocateFlagBits
pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISPATCH_BASE_KHR :: PipelineCreateFlagBits
pattern DEPENDENCY_DEVICE_GROUP_BIT_KHR :: DependencyFlagBits
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR :: StructureType
pattern IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: ImageCreateFlagBits
getDeviceGroupPeerMemoryFeaturesKHR :: MonadIO io => Device -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> io ("peerMemoryFeatures" ::: PeerMemoryFeatureFlags)
cmdSetDeviceMaskKHR :: MonadIO io => CommandBuffer -> ("deviceMask" ::: Word32) -> io ()
cmdDispatchBaseKHR :: MonadIO io => CommandBuffer -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> io ()
type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags
type MemoryAllocateFlagsKHR = MemoryAllocateFlags
type PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits
type MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits
type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo
type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo
type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo
type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo
type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo
type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo
type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo
type KHR_DEVICE_GROUP_SPEC_VERSION = 4
pattern KHR_DEVICE_GROUP_SPEC_VERSION :: forall a. Integral a => a
type KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group"
pattern KHR_DEVICE_GROUP_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkDeviceGroupPresentCapabilitiesKHR - Present capabilities from other
-- physical devices
--
-- Description
--
-- modes always has
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR set.
--
-- The present mode flags are also used when presenting an image, in
-- DeviceGroupPresentInfoKHR::mode.
--
-- If a device group only includes a single physical device, then
-- modes must equal
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1,
-- DeviceGroupPresentModeFlagsKHR, StructureType,
-- getDeviceGroupPresentCapabilitiesKHR
data DeviceGroupPresentCapabilitiesKHR
DeviceGroupPresentCapabilitiesKHR :: Vector Word32 -> DeviceGroupPresentModeFlagsKHR -> DeviceGroupPresentCapabilitiesKHR
-- | presentMask is an array of MAX_DEVICE_GROUP_SIZE
-- uint32_t masks, where the mask at element i is non-zero if
-- physical device i has a presentation engine, and where bit j is set in
-- element i if physical device i can present swapchain images
-- from physical device j. If element i is non-zero, then bit i
-- must be set.
[$sel:presentMask:DeviceGroupPresentCapabilitiesKHR] :: DeviceGroupPresentCapabilitiesKHR -> Vector Word32
-- | modes is a bitmask of
-- DeviceGroupPresentModeFlagBitsKHR indicating which device group
-- presentation modes are supported.
[$sel:modes:DeviceGroupPresentCapabilitiesKHR] :: DeviceGroupPresentCapabilitiesKHR -> DeviceGroupPresentModeFlagsKHR
-- | VkImageSwapchainCreateInfoKHR - Specify that an image will be bound to
-- swapchain memory
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, StructureType, SwapchainKHR
data ImageSwapchainCreateInfoKHR
ImageSwapchainCreateInfoKHR :: SwapchainKHR -> ImageSwapchainCreateInfoKHR
-- | swapchain is NULL_HANDLE or a handle of a swapchain
-- that the image will be bound to.
[$sel:swapchain:ImageSwapchainCreateInfoKHR] :: ImageSwapchainCreateInfoKHR -> SwapchainKHR
-- | VkBindImageMemorySwapchainInfoKHR - Structure specifying swapchain
-- image memory to bind to
--
-- Description
--
-- If swapchain is not NULL, the swapchain and
-- imageIndex are used to determine the memory that the image is
-- bound to, instead of memory and memoryOffset.
--
-- Memory can be bound to a swapchain and use the
-- pDeviceIndices or pSplitInstanceBindRegions members
-- of BindImageMemoryDeviceGroupInfo.
--
-- Valid Usage
--
--
-- - imageIndex must be less than the number of images
-- in swapchain
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, StructureType, SwapchainKHR
data BindImageMemorySwapchainInfoKHR
BindImageMemorySwapchainInfoKHR :: SwapchainKHR -> Word32 -> BindImageMemorySwapchainInfoKHR
-- | swapchain is NULL_HANDLE or a swapchain handle.
[$sel:swapchain:BindImageMemorySwapchainInfoKHR] :: BindImageMemorySwapchainInfoKHR -> SwapchainKHR
-- | imageIndex is an image index within swapchain.
[$sel:imageIndex:BindImageMemorySwapchainInfoKHR] :: BindImageMemorySwapchainInfoKHR -> Word32
-- | VkAcquireNextImageInfoKHR - Structure specifying parameters of the
-- acquire
--
-- Description
--
-- If acquireNextImageKHR is used, the device mask is considered
-- to include all physical devices in the logical device.
--
-- Note
--
-- acquireNextImage2KHR signals at most one semaphore, even if the
-- application requests waiting for multiple physical devices to be ready
-- via the deviceMask. However, only a single physical device
-- can wait on that semaphore, since the semaphore becomes
-- unsignaled when the wait succeeds. For other physical devices to wait
-- for the image to be ready, it is necessary for the application to
-- submit semaphore signal operation(s) to that first physical device to
-- signal additional semaphore(s) after the wait succeeds, which the
-- other physical device(s) can wait upon.
--
-- Valid Usage
--
--
-- - swapchain must not be in the retired state
--
--
--
-- - If semaphore is not NULL_HANDLE it must be
-- unsignaled
-- - If semaphore is not NULL_HANDLE it must not
-- have any uncompleted signal or wait operations pending
-- - If fence is not NULL_HANDLE it must be
-- unsignaled and must not be associated with any other queue
-- command that has not yet completed execution on that queue
-- - semaphore and fence must not both be
-- equal to NULL_HANDLE
-- - deviceMask must be a valid device mask
-- - deviceMask must not be zero
-- - semaphore must have a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - If semaphore is not NULL_HANDLE,
-- semaphore must be a valid Semaphore handle
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - Each of fence, semaphore, and swapchain
-- that are valid handles of non-ignored parameters must have been
-- created, allocated, or retrieved from the same Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
--
-- - Host access to semaphore must be externally
-- synchronized
-- - Host access to fence must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, Fence, Semaphore,
-- StructureType, SwapchainKHR, acquireNextImage2KHR
data AcquireNextImageInfoKHR
AcquireNextImageInfoKHR :: SwapchainKHR -> Word64 -> Semaphore -> Fence -> Word32 -> AcquireNextImageInfoKHR
-- | swapchain is a non-retired swapchain from which an image is
-- acquired.
[$sel:swapchain:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> SwapchainKHR
-- | timeout specifies how long the function waits, in
-- nanoseconds, if no image is available.
[$sel:timeout:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Word64
-- | semaphore is NULL_HANDLE or a semaphore to signal.
[$sel:semaphore:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Semaphore
-- | fence is NULL_HANDLE or a fence to signal.
[$sel:fence:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Fence
-- | deviceMask is a mask of physical devices for which the
-- swapchain image will be ready to use when the semaphore or fence is
-- signaled.
[$sel:deviceMask:AcquireNextImageInfoKHR] :: AcquireNextImageInfoKHR -> Word32
-- | VkDeviceGroupPresentInfoKHR - Mode and mask controlling which physical
-- devices' images are presented
--
-- Description
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
-- then each element of pDeviceMasks selects which instance of
-- the swapchain image is presented. Each element of
-- pDeviceMasks must have exactly one bit set, and the
-- corresponding physical device must have a presentation engine
-- as reported by DeviceGroupPresentCapabilitiesKHR.
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
-- then each element of pDeviceMasks selects which instance of
-- the swapchain image is presented. Each element of
-- pDeviceMasks must have exactly one bit set, and some
-- physical device in the logical device must include that bit in
-- its DeviceGroupPresentCapabilitiesKHR::presentMask.
--
-- If mode is DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, then
-- each element of pDeviceMasks selects which instances of the
-- swapchain image are component-wise summed and the sum of those images
-- is presented. If the sum in any component is outside the representable
-- range, the value of that component is undefined. Each element of
-- pDeviceMasks must have a value for which all set bits
-- are set in one of the elements of
-- DeviceGroupPresentCapabilitiesKHR::presentMask.
--
-- If mode is
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, then each
-- element of pDeviceMasks selects which instance(s) of the
-- swapchain images are presented. For each bit set in each element of
-- pDeviceMasks, the corresponding physical device must
-- have a presentation engine as reported by
-- DeviceGroupPresentCapabilitiesKHR.
--
-- If DeviceGroupPresentInfoKHR is not provided or
-- swapchainCount is zero then the masks are considered to be
-- 1. If DeviceGroupPresentInfoKHR is not provided,
-- mode is considered to be
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage
--
--
-- - swapchainCount must equal 0 or
-- PresentInfoKHR::swapchainCount
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If swapchainCount is not 0,
-- pDeviceMasks must be a valid pointer to an array of
-- swapchainCount uint32_t values
-- - mode must be a valid
-- DeviceGroupPresentModeFlagBitsKHR value
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, DeviceGroupPresentModeFlagBitsKHR,
-- StructureType
data DeviceGroupPresentInfoKHR
DeviceGroupPresentInfoKHR :: Vector Word32 -> DeviceGroupPresentModeFlagBitsKHR -> DeviceGroupPresentInfoKHR
-- | pDeviceMasks is a pointer to an array of device masks, one
-- for each element of PresentInfoKHR::pSwapchains.
[$sel:deviceMasks:DeviceGroupPresentInfoKHR] :: DeviceGroupPresentInfoKHR -> Vector Word32
-- | mode is a DeviceGroupPresentModeFlagBitsKHR value
-- specifying the device group present mode that will be used for this
-- present.
[$sel:mode:DeviceGroupPresentInfoKHR] :: DeviceGroupPresentInfoKHR -> DeviceGroupPresentModeFlagBitsKHR
-- | VkDeviceGroupSwapchainCreateInfoKHR - Structure specifying parameters
-- of a newly created swapchain object
--
-- Description
--
-- If this structure is not present, modes is considered to be
-- DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, DeviceGroupPresentModeFlagsKHR,
-- StructureType
data DeviceGroupSwapchainCreateInfoKHR
DeviceGroupSwapchainCreateInfoKHR :: DeviceGroupPresentModeFlagsKHR -> DeviceGroupSwapchainCreateInfoKHR
-- | modes is a bitfield of modes that the swapchain can be
-- used with.
--
-- modes must be a valid combination of
-- DeviceGroupPresentModeFlagBitsKHR values
--
-- modes must not be 0
[$sel:modes:DeviceGroupSwapchainCreateInfoKHR] :: DeviceGroupSwapchainCreateInfoKHR -> DeviceGroupPresentModeFlagsKHR
-- | vkGetDeviceGroupPresentCapabilitiesKHR - Query present capabilities
-- from other physical devices
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, Device,
-- DeviceGroupPresentCapabilitiesKHR
getDeviceGroupPresentCapabilitiesKHR :: forall io. MonadIO io => Device -> io DeviceGroupPresentCapabilitiesKHR
-- | vkGetDeviceGroupSurfacePresentModesKHR - Query present capabilities
-- for a surface
--
-- Description
--
-- The modes returned by this command are not invariant, and may
-- change in response to the surface being moved, resized, or occluded.
-- These modes must be a subset of the modes returned by
-- getDeviceGroupPresentCapabilitiesKHR.
--
-- Valid Usage
--
--
-- - surface must be supported by all physical devices
-- associated with device, as reported by
-- getPhysicalDeviceSurfaceSupportKHR or an equivalent
-- platform-specific mechanism
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to surface must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, Device,
-- DeviceGroupPresentModeFlagsKHR, SurfaceKHR
getDeviceGroupSurfacePresentModesKHR :: forall io. MonadIO io => Device -> SurfaceKHR -> io ("modes" ::: DeviceGroupPresentModeFlagsKHR)
-- | vkAcquireNextImage2KHR - Retrieve the index of the next available
-- presentable image
--
-- Valid Usage
--
--
-- - If the number of currently acquired images is greater than the
-- difference between the number of images in the swapchain
-- member of pAcquireInfo and the value of
-- SurfaceCapabilitiesKHR::minImageCount as returned by a
-- call to getPhysicalDeviceSurfaceCapabilities2KHR with the
-- surface used to create swapchain, the
-- timeout member of pAcquireInfo must not be
-- UINT64_MAX
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAcquireInfo must be a valid pointer to a valid
-- AcquireNextImageInfoKHR structure
-- - pImageIndex must be a valid pointer to a
-- uint32_t value
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_swapchain,
-- VK_VERSION_1_1, AcquireNextImageInfoKHR, Device
acquireNextImage2KHR :: forall io. MonadIO io => Device -> ("acquireInfo" ::: AcquireNextImageInfoKHR) -> io (Result, "imageIndex" ::: Word32)
-- | A variant of acquireNextImage2KHR which makes a *safe* FFI call
acquireNextImage2KHRSafe :: forall io. MonadIO io => Device -> ("acquireInfo" ::: AcquireNextImageInfoKHR) -> io (Result, "imageIndex" ::: Word32)
-- | vkGetPhysicalDevicePresentRectanglesKHR - Query present rectangles for
-- a surface on a physical device
--
-- Description
--
-- If pRects is NULL, then the number of rectangles
-- used when presenting the given surface is returned in
-- pRectCount. Otherwise, pRectCount must point
-- to a variable set by the user to the number of elements in the
-- pRects array, and on return the variable is overwritten with
-- the number of structures actually written to pRects. If the
-- value of pRectCount is less than the number of rectangles, at
-- most pRectCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available rectangles were returned.
--
-- The values returned by this command are not invariant, and may
-- change in response to the surface being moved, resized, or occluded.
--
-- The rectangles returned by this command must not overlap.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pRectCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pRectCount is not 0,
-- and pRects is not NULL, pRects must
-- be a valid pointer to an array of pRectCount Rect2D
-- structures
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to surface must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1, PhysicalDevice,
-- Rect2D, SurfaceKHR
getPhysicalDevicePresentRectanglesKHR :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io (Result, "rects" ::: Vector Rect2D)
-- | VkDeviceGroupPresentModeFlagBitsKHR - Bitmask specifying supported
-- device group present modes
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupPresentModeFlagsKHR
newtype DeviceGroupPresentModeFlagBitsKHR
DeviceGroupPresentModeFlagBitsKHR :: Flags -> DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR specifies that any
-- physical device with a presentation engine can present its own
-- swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR specifies that any
-- physical device with a presentation engine can present
-- swapchain images from any physical device in its presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR specifies that any
-- physical device with a presentation engine can present the sum
-- of swapchain images from any physical devices in its
-- presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR specifies
-- that multiple physical devices with a presentation engine can
-- each present their own swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
type DeviceGroupPresentModeFlagsKHR = DeviceGroupPresentModeFlagBitsKHR
-- | VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
--
-- See Also
--
-- VK_KHR_swapchain, SwapchainCreateFlagsKHR
newtype SwapchainCreateFlagBitsKHR
SwapchainCreateFlagBitsKHR :: Flags -> SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR specifies that the
-- images of the swapchain can be used to create a
-- ImageView with a different format than what the swapchain was
-- created with. The list of allowed image view formats is specified by
-- adding a ImageFormatListCreateInfo structure to the
-- pNext chain of SwapchainCreateInfoKHR. In addition,
-- this flag also specifies that the swapchain can be created with
-- usage flags that are not supported for the format the swapchain is
-- created with but are supported for at least one of the allowed image
-- view formats.
pattern SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR specifies
-- that images created from the swapchain (i.e. with the
-- swapchain member of ImageSwapchainCreateInfoKHR set to
-- this swapchain’s handle) must use
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
pattern SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: SwapchainCreateFlagBitsKHR
-- | SWAPCHAIN_CREATE_PROTECTED_BIT_KHR specifies that images
-- created from the swapchain are protected images.
pattern SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: SwapchainCreateFlagBitsKHR
type SwapchainCreateFlagsKHR = SwapchainCreateFlagBitsKHR
-- | Name
--
-- VK_KHR_deferred_host_operations - device extension
--
-- VK_KHR_deferred_host_operations
--
--
-- - Name String
-- VK_KHR_deferred_host_operations
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 269
-- - Revision 4
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-11-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Joshua Barczak,
-- Intel
- Jeff Bolz, NVIDIA
- Daniel Koch,
-- NVIDIA
- Slawek Grajewski, Intel
- Tobias Hector,
-- AMD
- Yuriy O’Donnell, Epic
- Eric Werness,
-- NVIDIA
- Baldur Karlsson, Valve
- Jesse Barker,
-- Unity
- Contributors to VK_KHR_acceleration_structure,
-- VK_KHR_ray_tracing_pipeline
--
--
-- Description
--
-- The VK_KHR_deferred_host_operations extension defines the
-- infrastructure and usage patterns for deferrable commands, but does
-- not specify any commands as deferrable. This is left to additional
-- dependent extensions. Commands must not be deferred unless the
-- deferral is specifically allowed by another extension which depends on
-- VK_KHR_deferred_host_operations.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Code Examples
--
-- The following examples will illustrate the concept of deferrable
-- operations using a hypothetical example. The command
-- vkDoSomethingExpensiveEXT denotes a deferrable command. The
-- structure VkExpensiveOperationArgsEXT represents the
-- arguments which it would normally accept.
--
-- The following example illustrates how a vulkan application might
-- request deferral of an expensive operation:
--
--
-- // create a deferred operation
-- VkDeferredOperationKHR hOp;
-- VkResult result = vkCreateDeferredOperationKHR(device, pCallbacks, &hOp);
-- assert(result == VK_SUCCESS);
--
-- result = vkDoSomethingExpensive(device, hOp, ...);
-- assert( result == VK_OPERATION_DEFERRED_KHR );
--
-- // operation was deferred. Execute it asynchronously
-- std::async::launch(
-- [ hOp ] ( )
-- {
-- vkDeferredOperationJoinKHR(device, hOp);
--
-- result = vkGetDeferredOperationResultKHR(device, hOp);
--
-- // deferred operation is now complete. 'result' indicates success or failure
--
-- vkDestroyDeferredOperationKHR(device, hOp, pCallbacks);
-- }
-- );
--
--
-- The following example illustrates extracting concurrency from a single
-- deferred operation:
--
--
-- // create a deferred operation
-- VkDeferredOperationKHR hOp;
-- VkResult result = vkCreateDeferredOperationKHR(device, pCallbacks, &hOp);
-- assert(result == VK_SUCCESS);
--
-- result = vkDoSomethingExpensive(device, hOp, ...);
-- assert( result == VK_OPERATION_DEFERRED_KHR );
--
-- // Query the maximum amount of concurrency and clamp to the desired maximum
-- uint32_t numLaunches = std::min(vkGetDeferredOperationMaxConcurrencyKHR(device, hOp), maxThreads);
--
-- std::vector<std::future<void> > joins;
--
-- for (uint32_t i = 0; i < numLaunches; i++) {
-- joins.emplace_back(std::async::launch(
-- [ hOp ] ( )
-- {
-- vkDeferredOperationJoinKHR(device, hOp);
-- // in a job system, a return of VK_THREAD_IDLE_KHR should queue another
-- // job, but it is not functionally required
-- }
-- );
-- }
--
-- for (auto &f : joins) {
-- f.get();
-- }
--
-- result = vkGetDeferredOperationResultKHR(device, hOp);
--
-- // deferred operation is now complete. 'result' indicates success or failure
--
-- vkDestroyDeferredOperationKHR(device, hOp, pCallbacks);
--
--
-- The following example shows a subroutine which guarantees completion
-- of a deferred operation, in the presence of multiple worker threads,
-- and returns the result of the operation.
--
--
-- VkResult FinishDeferredOperation(VkDeferredOperationKHR hOp)
-- {
-- // Attempt to join the operation until the implementation indicates that we should stop
--
-- VkResult result = vkDeferredOperationJoinKHR(device, hOp);
-- while( result == VK_THREAD_IDLE_KHR )
-- {
-- std::this_thread::yield();
-- result = vkDeferredOperationJoinKHR(device, hOp);
-- }
--
-- switch( result )
-- {
-- case VK_SUCCESS:
-- {
-- // deferred operation has finished. Query its result
-- result = vkGetDeferredOperationResultKHR(device, hOp);
-- }
-- break;
--
-- case VK_THREAD_DONE_KHR:
-- {
-- // deferred operation is being wrapped up by another thread
-- // wait for that thread to finish
-- do
-- {
-- std::this_thread::yield();
-- result = vkGetDeferredOperationResultKHR(device, hOp);
-- } while( result == VK_NOT_READY );
-- }
-- break;
--
-- default:
-- assert(false); // other conditions are illegal.
-- break;
-- }
--
-- return result;
-- }
--
--
-- Issues
--
--
-- - Should this extension have a VkPhysicalDevice*FeaturesKHR
-- structure?
--
--
-- RESOLVED: No. This extension does not add any functionality on
-- its own and requires a dependent extension to actually enable
-- functionality and thus there is no value in adding a feature
-- structure. If necessary, any dependent extension could add a feature
-- boolean if it wanted to indicate that it is adding optional deferral
-- support.
--
-- Version History
--
--
-- - Revision 1, 2019-12-05 (Josh Barczak, Daniel Koch)
--
--
--
-- - Revision 2, 2020-03-06 (Daniel Koch, Tobias Hector)
- Add
-- missing VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR enum
- fix sample
-- code
- Clarified deferred operation parameter lifetimes
-- (#2018,!3647)
-- - Revision 3, 2020-05-15 (Josh Barczak)
- Clarify behavior of
-- vkGetDeferredOperationMaxConcurrencyKHR, allowing it to return 0 if
-- the operation is complete (#2036,!3850)
-- - Revision 4, 2020-11-12 (Tobias Hector, Daniel Koch)
- Remove
-- VkDeferredOperationInfoKHR and change return value semantics when
-- deferred host operations are in use (#2067,3813)
- clarify
-- return value of vkGetDeferredOperationResultKHR
-- (#2339,!4110)
--
--
-- See Also
--
-- DeferredOperationKHR, createDeferredOperationKHR,
-- deferredOperationJoinKHR, destroyDeferredOperationKHR,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_deferred_host_operations
-- | vkCreateDeferredOperationKHR - Create a deferred operation handle
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pDeferredOperation must be a valid pointer to a
-- DeferredOperationKHR handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_deferred_host_operations, AllocationCallbacks,
-- DeferredOperationKHR, Device
createDeferredOperationKHR :: forall io. MonadIO io => Device -> ("allocator" ::: Maybe AllocationCallbacks) -> io DeferredOperationKHR
-- | A convenience wrapper to make a compatible pair of calls to
-- createDeferredOperationKHR and
-- destroyDeferredOperationKHR
--
-- To ensure that destroyDeferredOperationKHR 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.
withDeferredOperationKHR :: forall io r. MonadIO io => Device -> Maybe AllocationCallbacks -> (io DeferredOperationKHR -> (DeferredOperationKHR -> io ()) -> r) -> r
-- | vkDestroyDeferredOperationKHR - Destroy a deferred operation handle
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- operation was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- operation was created, pAllocator must be
-- NULL
-- - operation must be completed
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If operation is not NULL_HANDLE,
-- operation must be a valid DeferredOperationKHR
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If operation is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to operation must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_deferred_host_operations, AllocationCallbacks,
-- DeferredOperationKHR, Device
destroyDeferredOperationKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetDeferredOperationMaxConcurrencyKHR - Query the maximum
-- concurrency on a deferred operation
--
-- Description
--
-- The returned value is the maximum number of threads that can usefully
-- execute a deferred operation concurrently, reported for the state of
-- the deferred operation at the point this command is called. This value
-- is intended to be used to better schedule work onto available threads.
-- Applications can join any number of threads to the deferred
-- operation and expect it to eventually complete, though excessive joins
-- may return THREAD_DONE_KHR immediately, performing no
-- useful work.
--
-- If operation is complete,
-- getDeferredOperationMaxConcurrencyKHR returns zero.
--
-- If operation is currently joined to any threads, the value
-- returned by this command may immediately be out of date.
--
-- If operation is pending, implementations must not
-- return zero unless at least one thread is currently executing
-- deferredOperationJoinKHR on operation. If there are
-- such threads, the implementation should return an estimate of
-- the number of additional threads which it could profitably use.
--
-- Implementations may return 232-1 to indicate that the maximum
-- concurrency is unknown and cannot be easily derived. Implementations
-- may return values larger than the maximum concurrency available
-- on the host CPU. In these situations, an application should
-- clamp the return value rather than oversubscribing the machine.
--
-- Note
--
-- The recommended usage pattern for applications is to query this value
-- once, after deferral, and schedule no more than the specified number
-- of threads to join the operation. Each time a joined thread receives
-- THREAD_IDLE_KHR, the application should schedule an additional
-- join at some point in the future, but is not required to do so.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_deferred_host_operations, DeferredOperationKHR,
-- Device
getDeferredOperationMaxConcurrencyKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> io Word32
-- | vkGetDeferredOperationResultKHR - Query the result of a deferred
-- operation
--
-- Description
--
-- If no command has been deferred on operation,
-- getDeferredOperationResultKHR returns SUCCESS.
--
-- If the deferred operation is pending,
-- getDeferredOperationResultKHR returns NOT_READY.
--
-- If the deferred operation is complete, it returns the appropriate
-- return value from the original command. This value must be one
-- of the Result values which could have been returned by the
-- original command if the operation had not been deferred.
--
-- Return Codes
--
--
--
-- See Also
--
-- VK_KHR_deferred_host_operations, DeferredOperationKHR,
-- Device
getDeferredOperationResultKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> io Result
-- | vkDeferredOperationJoinKHR - Assign a thread to a deferred operation
--
-- Description
--
-- The deferredOperationJoinKHR command will execute a portion of
-- the deferred operation on the calling thread.
--
-- The return value will be one of the following:
--
--
-- - A return value of SUCCESS indicates that operation
-- is complete. The application should use
-- getDeferredOperationResultKHR to retrieve the result of
-- operation.
-- - A return value of THREAD_DONE_KHR indicates that the
-- deferred operation is not complete, but there is no work remaining to
-- assign to threads. Future calls to deferredOperationJoinKHR are
-- not necessary and will simply harm performance. This situation
-- may occur when other threads executing
-- deferredOperationJoinKHR are about to complete
-- operation, and the implementation is unable to partition the
-- workload any further.
-- - A return value of THREAD_IDLE_KHR indicates that the
-- deferred operation is not complete, and there is no work for the
-- thread to do at the time of the call. This situation may occur
-- if the operation encounters a temporary reduction in parallelism. By
-- returning THREAD_IDLE_KHR, the implementation is signaling that
-- it expects that more opportunities for parallelism will emerge as
-- execution progresses, and that future calls to
-- deferredOperationJoinKHR can be beneficial. In the
-- meantime, the application can perform other work on the calling
-- thread.
--
--
-- Implementations must guarantee forward progress by enforcing
-- the following invariants:
--
--
-- - If only one thread has invoked deferredOperationJoinKHR on
-- a given operation, that thread must execute the operation to
-- completion and return SUCCESS.
-- - If multiple threads have concurrently invoked
-- deferredOperationJoinKHR on the same operation, then at least
-- one of them must complete the operation and return
-- SUCCESS.
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - operation must be a valid
-- DeferredOperationKHR handle
-- - operation must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_deferred_host_operations, DeferredOperationKHR,
-- Device
deferredOperationJoinKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> io Result
type KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 4
pattern KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION :: forall a. Integral a => a
type KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME = "VK_KHR_deferred_host_operations"
pattern KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDeferredOperationKHR - A deferred operation
--
-- Description
--
-- This handle refers to a tracking structure which manages the execution
-- state for a deferred command.
--
-- See Also
--
-- VK_KHR_deferred_host_operations,
-- buildAccelerationStructuresKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createDeferredOperationKHR,
-- createRayTracingPipelinesKHR, deferredOperationJoinKHR,
-- destroyDeferredOperationKHR,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR
newtype DeferredOperationKHR
DeferredOperationKHR :: Word64 -> DeferredOperationKHR
-- | Name
--
-- VK_KHR_android_surface - instance extension
--
-- VK_KHR_android_surface
--
--
-- - Name String VK_KHR_android_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 9
-- - Revision 6
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-01-14
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Patrick Doane,
-- Blizzard
- Jason Ekstrand, Intel
- Ian Elliott,
-- LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Antoine Labour,
-- Google
- Jon Leech, Khronos
- David Mao,
-- AMD
- Norbert Nopper, Freescale
- Alon Or-bach,
-- Samsung
- Daniel Rakos, AMD
- Graham Sellers,
-- AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I
-- Wu, LunarG
--
--
-- Description
--
-- The VK_KHR_android_surface extension is an instance
-- extension. It provides a mechanism to create a SurfaceKHR
-- object (defined by the VK_KHR_surface extension) that refers
-- to an ANativeWindow, Android’s native surface type. The
-- ANativeWindow represents the producer endpoint of any buffer
-- queue, regardless of consumer endpoint. Common consumer endpoints for
-- ANativeWindows are the system window compositor, video
-- encoders, and application-specific compositors importing the images
-- through a SurfaceTexture.
--
-- New Base Types
--
--
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does Android need a way to query for compatibility between a
-- particular physical device (and queue family?) and a specific Android
-- display?
--
-- RESOLVED: No. Currently on Android, any physical device is
-- expected to be able to present to the system compositor, and all queue
-- families must support the necessary image layout transitions and
-- synchronization operations.
--
-- Version History
--
--
-- - Revision 1, 2015-09-23 (Jesse Hall)
--
--
--
-- - Revision 2, 2015-10-26 (Ian Elliott)
- Renamed from
-- VK_EXT_KHR_android_surface to VK_KHR_android_surface.
-- - Revision 3, 2015-11-03 (Daniel Rakos)
- Added allocation
-- callbacks to surface creation function.
-- - Revision 4, 2015-11-10 (Jesse Hall)
- Removed
-- VK_ERROR_INVALID_ANDROID_WINDOW_KHR.
-- - Revision 5, 2015-11-28 (Daniel Rakos)
- Updated the surface
-- create function to take a pCreateInfo structure.
-- - Revision 6, 2016-01-14 (James Jones)
- Moved
-- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR from the VK_KHR_android_surface to
-- the VK_KHR_surface extension.
--
--
-- See Also
--
-- ANativeWindow, AndroidSurfaceCreateFlagsKHR,
-- AndroidSurfaceCreateInfoKHR, createAndroidSurfaceKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_android_surface
-- | vkCreateAndroidSurfaceKHR - Create a SurfaceKHR object for an
-- Android native window
--
-- Description
--
-- During the lifetime of a surface created using a particular
-- ANativeWindow handle any attempts to create another surface for
-- the same ANativeWindow and any attempts to connect to the same
-- ANativeWindow through other platform mechanisms will fail.
--
-- Note
--
-- In particular, only one SurfaceKHR can exist at a time
-- for a given window. Similarly, a native window cannot be used
-- by both a SurfaceKHR and EGLSurface simultaneously.
--
-- If successful, createAndroidSurfaceKHR increments the
-- ANativeWindow’s reference count, and destroySurfaceKHR
-- will decrement it.
--
-- On Android, when a swapchain’s imageExtent does not match the
-- surface’s currentExtent, the presentable images will be
-- scaled to the surface’s dimensions during presentation.
-- minImageExtent is (1,1), and maxImageExtent is the
-- maximum image size supported by the consumer. For the system
-- compositor, currentExtent is the window size (i.e. the
-- consumer’s preferred size).
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_android_surface, AllocationCallbacks,
-- AndroidSurfaceCreateInfoKHR, Instance, SurfaceKHR
createAndroidSurfaceKHR :: forall io. MonadIO io => Instance -> AndroidSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkAndroidSurfaceCreateInfoKHR - Structure specifying parameters of a
-- newly created Android surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_android_surface, AndroidSurfaceCreateFlagsKHR,
-- StructureType, createAndroidSurfaceKHR
data AndroidSurfaceCreateInfoKHR
AndroidSurfaceCreateInfoKHR :: AndroidSurfaceCreateFlagsKHR -> Ptr ANativeWindow -> AndroidSurfaceCreateInfoKHR
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:AndroidSurfaceCreateInfoKHR] :: AndroidSurfaceCreateInfoKHR -> AndroidSurfaceCreateFlagsKHR
-- | window is a pointer to the ANativeWindow to associate
-- the surface with.
--
-- window must point to a valid Android
-- ANativeWindow
[$sel:window:AndroidSurfaceCreateInfoKHR] :: AndroidSurfaceCreateInfoKHR -> Ptr ANativeWindow
-- | VkAndroidSurfaceCreateFlagsKHR - Reserved for future use
--
-- Description
--
-- AndroidSurfaceCreateFlagsKHR is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_KHR_android_surface, AndroidSurfaceCreateInfoKHR
newtype AndroidSurfaceCreateFlagsKHR
AndroidSurfaceCreateFlagsKHR :: Flags -> AndroidSurfaceCreateFlagsKHR
type KHR_ANDROID_SURFACE_SPEC_VERSION = 6
pattern KHR_ANDROID_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type KHR_ANDROID_SURFACE_EXTENSION_NAME = "VK_KHR_android_surface"
pattern KHR_ANDROID_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data ANativeWindow
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateFlagsKHR
-- | Name
--
-- VK_INTEL_performance_query - device extension
--
-- VK_INTEL_performance_query
--
--
-- - Name String VK_INTEL_performance_query
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 211
-- - Revision 2
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-05-16
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Lionel Landwerlin,
-- Intel
- Piotr Maciejewski, Intel
--
--
-- Description
--
-- This extension allows an application to capture performance data to be
-- interpreted by a external application or library.
--
-- Such a library is available at :
-- https://github.com/intel/metrics-discovery
--
-- Performance analysis tools such as Graphics Performance
-- Analyzers make use of this extension and the metrics-discovery
-- library to present the data in a human readable way.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Unions
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Example Code
--
--
-- // A previously created device
-- VkDevice device;
--
-- // A queue derived from the device
-- VkQueue queue;
--
-- VkInitializePerformanceApiInfoINTEL performanceApiInfoIntel = {
-- VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
-- NULL,
-- NULL
-- };
--
-- vkInitializePerformanceApiINTEL(
-- device,
-- &performanceApiInfoIntel);
--
-- VkQueryPoolPerformanceQueryCreateInfoINTEL queryPoolIntel = {
-- VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
-- NULL,
-- VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
-- };
--
-- VkQueryPoolCreateInfo queryPoolCreateInfo = {
-- VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
-- &queryPoolIntel,
-- 0,
-- VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
-- 1,
-- 0
-- };
--
-- VkQueryPool queryPool;
--
-- VkResult result = vkCreateQueryPool(
-- device,
-- &queryPoolCreateInfo,
-- NULL,
-- &queryPool);
--
-- assert(VK_SUCCESS == result);
--
-- // A command buffer we want to record counters on
-- VkCommandBuffer commandBuffer;
--
-- VkCommandBufferBeginInfo commandBufferBeginInfo = {
-- VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
-- NULL,
-- VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
-- NULL
-- };
--
-- result = vkBeginCommandBuffer(commandBuffer, &commandBufferBeginInfo);
--
-- assert(VK_SUCCESS == result);
--
-- vkCmdResetQueryPool(
-- commandBuffer,
-- queryPool,
-- 0,
-- 1);
--
-- vkCmdBeginQuery(
-- commandBuffer,
-- queryPool,
-- 0,
-- 0);
--
-- // Perform the commands you want to get performance information on
-- // ...
--
-- // Perform a barrier to ensure all previous commands were complete before
-- // ending the query
-- vkCmdPipelineBarrier(commandBuffer,
-- VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
-- VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
-- 0,
-- 0,
-- NULL,
-- 0,
-- NULL,
-- 0,
-- NULL);
--
-- vkCmdEndQuery(
-- commandBuffer,
-- queryPool,
-- 0);
--
-- result = vkEndCommandBuffer(commandBuffer);
--
-- assert(VK_SUCCESS == result);
--
-- VkPerformanceConfigurationAcquireInfoINTEL performanceConfigurationAcquireInfo = {
-- VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
-- NULL,
-- VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
-- };
--
-- VkPerformanceConfigurationINTEL performanceConfigurationIntel;
--
-- result = vkAcquirePerformanceConfigurationINTEL(
-- device,
-- &performanceConfigurationAcquireInfo,
-- &performanceConfigurationIntel);
--
-- vkQueueSetPerformanceConfigurationINTEL(queue, performanceConfigurationIntel);
--
-- assert(VK_SUCCESS == result);
--
-- // Submit the command buffer and wait for its completion
-- // ...
--
-- result = vkReleasePerformanceConfigurationINTEL(
-- device,
-- performanceConfigurationIntel);
--
-- assert(VK_SUCCESS == result);
--
-- // Get the report size from metrics-discovery's QueryReportSize
--
-- result = vkGetQueryPoolResults(
-- device,
-- queryPool,
-- 0, 1, QueryReportSize,
-- data, QueryReportSize, 0);
--
-- assert(VK_SUCCESS == result);
--
-- // The data can then be passed back to metrics-discovery from which
-- // human readable values can be queried.
--
--
-- Version History
--
--
-- - Revision 2, 2020-03-06 (Lionel Landwerlin)
- Rename
-- VkQueryPoolCreateInfoINTEL in
-- VkQueryPoolPerformanceQueryCreateInfoINTEL
--
--
--
-- - Revision 1, 2018-05-16 (Lionel Landwerlin)
--
--
-- See Also
--
-- InitializePerformanceApiInfoINTEL,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceConfigurationINTEL,
-- PerformanceConfigurationTypeINTEL,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceOverrideTypeINTEL,
-- PerformanceParameterTypeINTEL,
-- PerformanceStreamMarkerInfoINTEL,
-- PerformanceValueDataINTEL, PerformanceValueINTEL,
-- PerformanceValueTypeINTEL, QueryPoolCreateInfoINTEL,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueryPoolSamplingModeINTEL,
-- acquirePerformanceConfigurationINTEL,
-- cmdSetPerformanceMarkerINTEL,
-- cmdSetPerformanceOverrideINTEL,
-- cmdSetPerformanceStreamMarkerINTEL,
-- getPerformanceParameterINTEL,
-- initializePerformanceApiINTEL,
-- queueSetPerformanceConfigurationINTEL,
-- releasePerformanceConfigurationINTEL,
-- uninitializePerformanceApiINTEL
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_INTEL_performance_query
-- | vkInitializePerformanceApiINTEL - Initialize a device for performance
-- queries
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, Device,
-- InitializePerformanceApiInfoINTEL
initializePerformanceApiINTEL :: forall io. MonadIO io => Device -> ("initializeInfo" ::: InitializePerformanceApiInfoINTEL) -> io ()
-- | vkUninitializePerformanceApiINTEL - Uninitialize a device for
-- performance queries
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query, Device
uninitializePerformanceApiINTEL :: forall io. MonadIO io => Device -> io ()
-- | vkCmdSetPerformanceMarkerINTEL - Markers
--
-- Parameters
--
-- The last marker set onto a command buffer before the end of a query
-- will be part of the query result.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, CommandBuffer,
-- PerformanceMarkerInfoINTEL
cmdSetPerformanceMarkerINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceMarkerInfoINTEL -> io ()
-- | vkCmdSetPerformanceStreamMarkerINTEL - Markers
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, CommandBuffer,
-- PerformanceStreamMarkerInfoINTEL
cmdSetPerformanceStreamMarkerINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceStreamMarkerInfoINTEL -> io ()
-- | vkCmdSetPerformanceOverrideINTEL - Performance override settings
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, CommandBuffer,
-- PerformanceOverrideInfoINTEL
cmdSetPerformanceOverrideINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceOverrideInfoINTEL -> io ()
-- | vkAcquirePerformanceConfigurationINTEL - Acquire the performance query
-- capability
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, Device,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceConfigurationINTEL
acquirePerformanceConfigurationINTEL :: forall io. MonadIO io => Device -> PerformanceConfigurationAcquireInfoINTEL -> io PerformanceConfigurationINTEL
-- | vkReleasePerformanceConfigurationINTEL - Release a configuration to
-- capture performance data
--
-- Valid Usage
--
--
-- - configuration must not be released before all
-- command buffers submitted while the configuration was set are in
-- pending state
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If configuration is not NULL_HANDLE,
-- configuration must be a valid
-- PerformanceConfigurationINTEL handle
-- - If configuration is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to configuration must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, Device,
-- PerformanceConfigurationINTEL
releasePerformanceConfigurationINTEL :: forall io. MonadIO io => Device -> PerformanceConfigurationINTEL -> io ()
-- | vkQueueSetPerformanceConfigurationINTEL - Set a performance query
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - configuration must be a valid
-- PerformanceConfigurationINTEL handle
-- - Both of configuration, and queue must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query,
-- PerformanceConfigurationINTEL, Queue
queueSetPerformanceConfigurationINTEL :: forall io. MonadIO io => Queue -> PerformanceConfigurationINTEL -> io ()
-- | vkGetPerformanceParameterINTEL - Query performance capabilities of the
-- device
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, Device,
-- PerformanceParameterTypeINTEL, PerformanceValueINTEL
getPerformanceParameterINTEL :: forall io. MonadIO io => Device -> PerformanceParameterTypeINTEL -> io PerformanceValueINTEL
pattern STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL :: StructureType
-- | VkPerformanceValueINTEL - Container for value and types of parameters
-- that can be queried
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, PerformanceValueDataINTEL,
-- PerformanceValueTypeINTEL, getPerformanceParameterINTEL
data PerformanceValueINTEL
PerformanceValueINTEL :: PerformanceValueTypeINTEL -> PerformanceValueDataINTEL -> PerformanceValueINTEL
-- | type is a PerformanceValueTypeINTEL value specifying
-- the type of the returned data.
[$sel:type':PerformanceValueINTEL] :: PerformanceValueINTEL -> PerformanceValueTypeINTEL
-- | data is a PerformanceValueDataINTEL union specifying
-- the value of the returned data.
[$sel:data':PerformanceValueINTEL] :: PerformanceValueINTEL -> PerformanceValueDataINTEL
-- | VkInitializePerformanceApiInfoINTEL - Structure specifying parameters
-- of initialize of the device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query, StructureType,
-- initializePerformanceApiINTEL
data InitializePerformanceApiInfoINTEL
InitializePerformanceApiInfoINTEL :: Ptr () -> InitializePerformanceApiInfoINTEL
-- | pUserData is a pointer for application data.
[$sel:userData:InitializePerformanceApiInfoINTEL] :: InitializePerformanceApiInfoINTEL -> Ptr ()
-- | VkQueryPoolPerformanceQueryCreateInfoINTEL - Structure specifying
-- parameters to create a pool of performance queries
--
-- Members
--
-- To create a pool for Intel performance queries, set
-- QueryPoolCreateInfo::queryType to
-- QUERY_TYPE_PERFORMANCE_QUERY_INTEL and add a
-- QueryPoolPerformanceQueryCreateInfoINTEL structure to the
-- pNext chain of the QueryPoolCreateInfo structure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query, QueryPoolSamplingModeINTEL,
-- StructureType
data QueryPoolPerformanceQueryCreateInfoINTEL
QueryPoolPerformanceQueryCreateInfoINTEL :: QueryPoolSamplingModeINTEL -> QueryPoolPerformanceQueryCreateInfoINTEL
-- | performanceCountersSampling describe how performance queries
-- should be captured.
--
-- performanceCountersSampling must be a valid
-- QueryPoolSamplingModeINTEL value
[$sel:performanceCountersSampling:QueryPoolPerformanceQueryCreateInfoINTEL] :: QueryPoolPerformanceQueryCreateInfoINTEL -> QueryPoolSamplingModeINTEL
-- | VkPerformanceMarkerInfoINTEL - Structure specifying performance
-- markers
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query, StructureType,
-- cmdSetPerformanceMarkerINTEL
data PerformanceMarkerInfoINTEL
PerformanceMarkerInfoINTEL :: Word64 -> PerformanceMarkerInfoINTEL
-- | marker is the marker value that will be recorded into the
-- opaque query results.
[$sel:marker:PerformanceMarkerInfoINTEL] :: PerformanceMarkerInfoINTEL -> Word64
-- | VkPerformanceStreamMarkerInfoINTEL - Structure specifying stream
-- performance markers
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_INTEL_performance_query, StructureType,
-- cmdSetPerformanceStreamMarkerINTEL
data PerformanceStreamMarkerInfoINTEL
PerformanceStreamMarkerInfoINTEL :: Word32 -> PerformanceStreamMarkerInfoINTEL
-- | marker is the marker value that will be recorded into the
-- reports consumed by an external application.
[$sel:marker:PerformanceStreamMarkerInfoINTEL] :: PerformanceStreamMarkerInfoINTEL -> Word32
-- | VkPerformanceOverrideInfoINTEL - Performance override information
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query, Bool32,
-- PerformanceOverrideTypeINTEL, StructureType,
-- cmdSetPerformanceOverrideINTEL
data PerformanceOverrideInfoINTEL
PerformanceOverrideInfoINTEL :: PerformanceOverrideTypeINTEL -> Bool -> Word64 -> PerformanceOverrideInfoINTEL
-- | type is the particular PerformanceOverrideTypeINTEL to
-- set.
--
-- type must be a valid
-- PerformanceOverrideTypeINTEL value
[$sel:type':PerformanceOverrideInfoINTEL] :: PerformanceOverrideInfoINTEL -> PerformanceOverrideTypeINTEL
-- | enable defines whether the override is enabled.
[$sel:enable:PerformanceOverrideInfoINTEL] :: PerformanceOverrideInfoINTEL -> Bool
-- | parameter is a potential required parameter for the override.
[$sel:parameter:PerformanceOverrideInfoINTEL] :: PerformanceOverrideInfoINTEL -> Word64
-- | VkPerformanceConfigurationAcquireInfoINTEL - Acquire a configuration
-- to capture performance data
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_INTEL_performance_query,
-- PerformanceConfigurationTypeINTEL, StructureType,
-- acquirePerformanceConfigurationINTEL
data PerformanceConfigurationAcquireInfoINTEL
PerformanceConfigurationAcquireInfoINTEL :: PerformanceConfigurationTypeINTEL -> PerformanceConfigurationAcquireInfoINTEL
-- | type is one of the PerformanceConfigurationTypeINTEL
-- type of performance configuration that will be acquired.
--
-- type must be a valid
-- PerformanceConfigurationTypeINTEL value
[$sel:type':PerformanceConfigurationAcquireInfoINTEL] :: PerformanceConfigurationAcquireInfoINTEL -> PerformanceConfigurationTypeINTEL
data PerformanceValueDataINTEL
Value32 :: Word32 -> PerformanceValueDataINTEL
Value64 :: Word64 -> PerformanceValueDataINTEL
ValueFloat :: Float -> PerformanceValueDataINTEL
ValueBool :: Bool -> PerformanceValueDataINTEL
ValueString :: ByteString -> PerformanceValueDataINTEL
peekPerformanceValueDataINTEL :: PerformanceValueTypeINTEL -> Ptr PerformanceValueDataINTEL -> IO PerformanceValueDataINTEL
-- | VkPerformanceConfigurationTypeINTEL - Type of performance
-- configuration
--
-- See Also
--
-- VK_INTEL_performance_query,
-- PerformanceConfigurationAcquireInfoINTEL
newtype PerformanceConfigurationTypeINTEL
PerformanceConfigurationTypeINTEL :: Int32 -> PerformanceConfigurationTypeINTEL
pattern PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL :: PerformanceConfigurationTypeINTEL
-- | VkQueryPoolSamplingModeINTEL - Enum specifying how performance queries
-- should be captured
--
-- See Also
--
-- VK_INTEL_performance_query,
-- QueryPoolPerformanceQueryCreateInfoINTEL
newtype QueryPoolSamplingModeINTEL
QueryPoolSamplingModeINTEL :: Int32 -> QueryPoolSamplingModeINTEL
-- | QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL is the default mode in
-- which the application calls cmdBeginQuery and
-- cmdEndQuery to record performance data.
pattern QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: QueryPoolSamplingModeINTEL
-- | VkPerformanceOverrideTypeINTEL - Performance override type
--
-- See Also
--
-- VK_INTEL_performance_query, PerformanceOverrideInfoINTEL
newtype PerformanceOverrideTypeINTEL
PerformanceOverrideTypeINTEL :: Int32 -> PerformanceOverrideTypeINTEL
-- | PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL turns all
-- rendering operations into noop.
pattern PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL :: PerformanceOverrideTypeINTEL
-- | PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL stalls the
-- stream of commands until all previously emitted commands have
-- completed and all caches been flushed and invalidated.
pattern PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL :: PerformanceOverrideTypeINTEL
-- | VkPerformanceParameterTypeINTEL - Parameters that can be queried
--
-- See Also
--
-- VK_INTEL_performance_query, getPerformanceParameterINTEL
newtype PerformanceParameterTypeINTEL
PerformanceParameterTypeINTEL :: Int32 -> PerformanceParameterTypeINTEL
-- | PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL has a
-- boolean result which tells whether hardware counters can be captured.
pattern PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL :: PerformanceParameterTypeINTEL
-- | PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL has a
-- 32 bits integer result which tells how many bits can be written into
-- the PerformanceValueINTEL value.
pattern PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL :: PerformanceParameterTypeINTEL
-- | VkPerformanceValueTypeINTEL - Type of the parameters that can be
-- queried
--
-- See Also
--
-- VK_INTEL_performance_query, PerformanceValueINTEL
newtype PerformanceValueTypeINTEL
PerformanceValueTypeINTEL :: Int32 -> PerformanceValueTypeINTEL
pattern PERFORMANCE_VALUE_TYPE_UINT32_INTEL :: PerformanceValueTypeINTEL
pattern PERFORMANCE_VALUE_TYPE_UINT64_INTEL :: PerformanceValueTypeINTEL
pattern PERFORMANCE_VALUE_TYPE_FLOAT_INTEL :: PerformanceValueTypeINTEL
pattern PERFORMANCE_VALUE_TYPE_BOOL_INTEL :: PerformanceValueTypeINTEL
pattern PERFORMANCE_VALUE_TYPE_STRING_INTEL :: PerformanceValueTypeINTEL
type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL
type INTEL_PERFORMANCE_QUERY_SPEC_VERSION = 2
pattern INTEL_PERFORMANCE_QUERY_SPEC_VERSION :: forall a. Integral a => a
type INTEL_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_INTEL_performance_query"
pattern INTEL_PERFORMANCE_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkPerformanceConfigurationINTEL - Device configuration for performance
-- queries
--
-- See Also
--
-- VK_INTEL_performance_query,
-- acquirePerformanceConfigurationINTEL,
-- queueSetPerformanceConfigurationINTEL,
-- releasePerformanceConfigurationINTEL
newtype PerformanceConfigurationINTEL
PerformanceConfigurationINTEL :: Word64 -> PerformanceConfigurationINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance GHC.Classes.Ord Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance GHC.Classes.Ord Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance GHC.Classes.Ord Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance GHC.Classes.Ord Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance GHC.Classes.Ord Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.InitializePerformanceApiInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance GHC.Read.Read Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueTypeINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance GHC.Read.Read Vulkan.Extensions.VK_INTEL_performance_query.PerformanceParameterTypeINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance GHC.Read.Read Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideTypeINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance GHC.Read.Read Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolSamplingModeINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL
instance GHC.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance GHC.Read.Read Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationTypeINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_INTEL_performance_query.InitializePerformanceApiInfoINTEL
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_INTEL_performance_query.InitializePerformanceApiInfoINTEL
instance Foreign.Storable.Storable Vulkan.Extensions.VK_INTEL_performance_query.InitializePerformanceApiInfoINTEL
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_INTEL_performance_query.InitializePerformanceApiInfoINTEL
-- | Name
--
-- VK_GOOGLE_display_timing - device extension
--
-- VK_GOOGLE_display_timing
--
--
-- - Name String VK_GOOGLE_display_timing
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 93
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-02-14
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Ian Elliott,
-- Google
- Jesse Hall, Google
--
--
-- Description
--
-- This device extension allows an application that uses the
-- VK_KHR_swapchain extension to obtain information about the
-- presentation engine’s display, to obtain timing information about each
-- present, and to schedule a present to happen no earlier than a desired
-- time. An application can use this to minimize various visual anomalies
-- (e.g. stuttering).
--
-- Traditional game and real-time animation applications need to
-- correctly position their geometry for when the presentable image will
-- be presented to the user. To accomplish this, applications need
-- various timing information about the presentation engine’s display.
-- They need to know when presentable images were actually presented, and
-- when they could have been presented. Applications also need to tell
-- the presentation engine to display an image no sooner than a given
-- time. This allows the application to avoid stuttering, so the
-- animation looks smooth to the user.
--
-- This extension treats variable-refresh-rate (VRR) displays as if they
-- are fixed-refresh-rate (FRR) displays.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- Note
--
-- The example code for the this extension (like the
-- VK_KHR_surface and VK_GOOGLE_display_timing
-- extensions) is contained in the cube demo that is shipped with the
-- official Khronos SDK, and is being kept up-to-date in that location
-- (see:
-- https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c
-- ).
--
-- Version History
--
--
-- - Revision 1, 2017-02-14 (Ian Elliott)
--
--
-- See Also
--
-- PastPresentationTimingGOOGLE, PresentTimeGOOGLE,
-- PresentTimesInfoGOOGLE, RefreshCycleDurationGOOGLE,
-- getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GOOGLE_display_timing
-- | vkGetRefreshCycleDurationGOOGLE - Obtain the RC duration of the PE’s
-- display
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - pDisplayTimingProperties must be a valid pointer
-- to a RefreshCycleDurationGOOGLE structure
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_GOOGLE_display_timing, Device,
-- RefreshCycleDurationGOOGLE, SwapchainKHR
getRefreshCycleDurationGOOGLE :: forall io. MonadIO io => Device -> SwapchainKHR -> io ("displayTimingProperties" ::: RefreshCycleDurationGOOGLE)
-- | vkGetPastPresentationTimingGOOGLE - Obtain timing of a
-- previously-presented image
--
-- Description
--
-- If pPresentationTimings is NULL, then the number of
-- newly-available timing records for the given swapchain is
-- returned in pPresentationTimingCount. Otherwise,
-- pPresentationTimingCount must point to a variable set
-- by the user to the number of elements in the
-- pPresentationTimings array, and on return the variable is
-- overwritten with the number of structures actually written to
-- pPresentationTimings. If the value of
-- pPresentationTimingCount is less than the number of
-- newly-available timing records, at most
-- pPresentationTimingCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available timing records were returned.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - pPresentationTimingCount must be a valid pointer
-- to a uint32_t value
-- - If the value referenced by pPresentationTimingCount is
-- not 0, and pPresentationTimings is not
-- NULL, pPresentationTimings must be a valid
-- pointer to an array of pPresentationTimingCount
-- PastPresentationTimingGOOGLE structures
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Host Synchronization
--
--
-- - Host access to swapchain must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_GOOGLE_display_timing, Device,
-- PastPresentationTimingGOOGLE, SwapchainKHR
getPastPresentationTimingGOOGLE :: forall io. MonadIO io => Device -> SwapchainKHR -> io (Result, "presentationTimings" ::: Vector PastPresentationTimingGOOGLE)
-- | VkRefreshCycleDurationGOOGLE - Structure containing the RC duration of
-- a display
--
-- See Also
--
-- VK_GOOGLE_display_timing, getRefreshCycleDurationGOOGLE
data RefreshCycleDurationGOOGLE
RefreshCycleDurationGOOGLE :: Word64 -> RefreshCycleDurationGOOGLE
-- | refreshDuration is the number of nanoseconds from the start
-- of one refresh cycle to the next.
[$sel:refreshDuration:RefreshCycleDurationGOOGLE] :: RefreshCycleDurationGOOGLE -> Word64
-- | VkPastPresentationTimingGOOGLE - Structure containing timing
-- information about a previously-presented image
--
-- Description
--
-- The results for a given swapchain and presentID are
-- only returned once from getPastPresentationTimingGOOGLE.
--
-- The application can use the PastPresentationTimingGOOGLE
-- values to occasionally adjust its timing. For example, if
-- actualPresentTime is later than expected (e.g. one
-- refreshDuration late), the application may increase its
-- target IPD to a higher multiple of refreshDuration (e.g.
-- decrease its frame rate from 60Hz to 30Hz). If
-- actualPresentTime and earliestPresentTime are
-- consistently different, and if presentMargin is consistently
-- large enough, the application may decrease its target IPD to a smaller
-- multiple of refreshDuration (e.g. increase its frame rate
-- from 30Hz to 60Hz). If actualPresentTime and
-- earliestPresentTime are same, and if presentMargin
-- is consistently high, the application may delay the start of its
-- input-render-present loop in order to decrease the latency between
-- user input and the corresponding present (always leaving some margin
-- in case a new image takes longer to render than the previous image).
-- An application that desires its target IPD to always be the same as
-- refreshDuration, can also adjust features until
-- actualPresentTime is never late and presentMargin is
-- satisfactory.
--
-- See Also
--
-- VK_GOOGLE_display_timing,
-- getPastPresentationTimingGOOGLE
data PastPresentationTimingGOOGLE
PastPresentationTimingGOOGLE :: Word32 -> Word64 -> Word64 -> Word64 -> Word64 -> PastPresentationTimingGOOGLE
-- | presentID is an application-provided value that was given to
-- a previous queuePresentKHR command via
-- PresentTimeGOOGLE::presentID (see below). It
-- can be used to uniquely identify a previous present with the
-- queuePresentKHR command.
[$sel:presentID:PastPresentationTimingGOOGLE] :: PastPresentationTimingGOOGLE -> Word32
-- | desiredPresentTime is an application-provided value that was
-- given to a previous queuePresentKHR command via
-- PresentTimeGOOGLE::desiredPresentTime. If non-zero, it
-- was used by the application to indicate that an image not be presented
-- any sooner than desiredPresentTime.
[$sel:desiredPresentTime:PastPresentationTimingGOOGLE] :: PastPresentationTimingGOOGLE -> Word64
-- | actualPresentTime is the time when the image of the
-- swapchain was actually displayed.
[$sel:actualPresentTime:PastPresentationTimingGOOGLE] :: PastPresentationTimingGOOGLE -> Word64
-- | earliestPresentTime is the time when the image of the
-- swapchain could have been displayed. This may differ
-- from actualPresentTime if the application requested that the
-- image be presented no sooner than
-- PresentTimeGOOGLE::desiredPresentTime.
[$sel:earliestPresentTime:PastPresentationTimingGOOGLE] :: PastPresentationTimingGOOGLE -> Word64
-- | presentMargin is an indication of how early the
-- queuePresentKHR command was processed compared to how soon it
-- needed to be processed, and still be presented at
-- earliestPresentTime.
[$sel:presentMargin:PastPresentationTimingGOOGLE] :: PastPresentationTimingGOOGLE -> Word64
-- | VkPresentTimesInfoGOOGLE - The earliest time each image should be
-- presented
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pTimes is not NULL, pTimes
-- must be a valid pointer to an array of swapchainCount
-- PresentTimeGOOGLE structures
-- - swapchainCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_GOOGLE_display_timing, PresentTimeGOOGLE,
-- StructureType
data PresentTimesInfoGOOGLE
PresentTimesInfoGOOGLE :: Word32 -> Vector PresentTimeGOOGLE -> PresentTimesInfoGOOGLE
-- | swapchainCount is the number of swapchains being presented to
-- by this command.
[$sel:swapchainCount:PresentTimesInfoGOOGLE] :: PresentTimesInfoGOOGLE -> Word32
-- | pTimes is NULL or a pointer to an array of
-- PresentTimeGOOGLE elements with swapchainCount
-- entries. If not NULL, each element of pTimes
-- contains the earliest time to present the image corresponding to the
-- entry in the PresentInfoKHR::pImageIndices array.
[$sel:times:PresentTimesInfoGOOGLE] :: PresentTimesInfoGOOGLE -> Vector PresentTimeGOOGLE
-- | VkPresentTimeGOOGLE - The earliest time image should be presented
--
-- Description
--
--
-- but does not need a specific pname:desiredPresentTime.
--
--
-- See Also
--
-- VK_GOOGLE_display_timing, PresentTimesInfoGOOGLE
data PresentTimeGOOGLE
PresentTimeGOOGLE :: Word32 -> Word64 -> PresentTimeGOOGLE
-- | presentID is an application-provided identification value,
-- that can be used with the results of
-- getPastPresentationTimingGOOGLE, in order to uniquely identify
-- this present. In order to be useful to the application, it
-- should be unique within some period of time that is meaningful
-- to the application.
[$sel:presentID:PresentTimeGOOGLE] :: PresentTimeGOOGLE -> Word32
-- | desiredPresentTime specifies that the image given
-- should not be displayed to the user any earlier than this time.
-- desiredPresentTime is a time in nanoseconds, relative to a
-- monotonically-increasing clock (e.g. CLOCK_MONOTONIC (see
-- clock_gettime(2)) on Android and Linux). A value of zero specifies
-- that the presentation engine may display the image at any time.
-- This is useful when the application desires to provide
-- presentID,
[$sel:desiredPresentTime:PresentTimeGOOGLE] :: PresentTimeGOOGLE -> Word64
type GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1
pattern GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: forall a. Integral a => a
type GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing"
pattern GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance GHC.Show.Show Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
instance GHC.Show.Show Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance GHC.Show.Show Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE
instance GHC.Show.Show Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE
-- | Name
--
-- VK_GGP_stream_descriptor_surface - instance extension
--
-- VK_GGP_stream_descriptor_surface
--
--
-- - Name String
-- VK_GGP_stream_descriptor_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 50
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-01-28
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jean-Francois Roy,
-- Google
- Brad Grantham, Google
- Connor Smith,
-- Google
- Cort Stratton, Google
- Hai Nguyen,
-- Google
- Ian Elliott, Google
- Jesse Hall,
-- Google
- Jim Ray, Google
- Katherine Wu,
-- Google
- Kaye Mason, Google
- Kuangye Guo,
-- Google
- Mark Segal, Google
- Nicholas Vining,
-- Google
- Paul Lalonde, Google
- Richard O’Grady,
-- Google
--
--
-- Description
--
-- The VK_GGP_stream_descriptor_surface extension is an instance
-- extension. It provides a mechanism to create a SurfaceKHR
-- object (defined by the VK_KHR_surface extension) that refers
-- to a Google Games Platform GgpStreamDescriptor.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-11-26 (Jean-Francois Roy)
--
--
-- See Also
--
-- StreamDescriptorSurfaceCreateFlagsGGP,
-- StreamDescriptorSurfaceCreateInfoGGP,
-- createStreamDescriptorSurfaceGGP
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_GGP_stream_descriptor_surface
-- | vkCreateStreamDescriptorSurfaceGGP - Create a SurfaceKHR object
-- for a Google Games Platform stream
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_GGP_stream_descriptor_surface, AllocationCallbacks,
-- Instance, StreamDescriptorSurfaceCreateInfoGGP,
-- SurfaceKHR
createStreamDescriptorSurfaceGGP :: forall io. MonadIO io => Instance -> StreamDescriptorSurfaceCreateInfoGGP -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkStreamDescriptorSurfaceCreateInfoGGP - Structure specifying
-- parameters of a newly created Google Games Platform stream surface
-- object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_GGP_stream_descriptor_surface,
-- StreamDescriptorSurfaceCreateFlagsGGP, StructureType,
-- createStreamDescriptorSurfaceGGP
data StreamDescriptorSurfaceCreateInfoGGP
StreamDescriptorSurfaceCreateInfoGGP :: StreamDescriptorSurfaceCreateFlagsGGP -> GgpStreamDescriptor -> StreamDescriptorSurfaceCreateInfoGGP
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:StreamDescriptorSurfaceCreateInfoGGP] :: StreamDescriptorSurfaceCreateInfoGGP -> StreamDescriptorSurfaceCreateFlagsGGP
-- | streamDescriptor is a GgpStreamDescriptor referring to
-- the GGP stream descriptor to associate with the surface.
--
-- streamDescriptor must be a valid
-- GgpStreamDescriptor
[$sel:streamDescriptor:StreamDescriptorSurfaceCreateInfoGGP] :: StreamDescriptorSurfaceCreateInfoGGP -> GgpStreamDescriptor
-- | VkStreamDescriptorSurfaceCreateFlagsGGP - Reserved for future use
--
-- Description
--
-- StreamDescriptorSurfaceCreateFlagsGGP is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_GGP_stream_descriptor_surface,
-- StreamDescriptorSurfaceCreateInfoGGP
newtype StreamDescriptorSurfaceCreateFlagsGGP
StreamDescriptorSurfaceCreateFlagsGGP :: Flags -> StreamDescriptorSurfaceCreateFlagsGGP
type GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION = 1
pattern GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME = "VK_GGP_stream_descriptor_surface"
pattern GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type GgpStreamDescriptor = Word32
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance Data.Bits.Bits Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance GHC.Classes.Ord Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance GHC.Classes.Eq Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance GHC.Classes.Eq Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance GHC.Show.Show Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance Foreign.Storable.Storable Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP
instance GHC.Show.Show Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
instance GHC.Read.Read Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateFlagsGGP
-- | Name
--
-- VK_FUCHSIA_imagepipe_surface - instance extension
--
-- VK_FUCHSIA_imagepipe_surface
--
--
-- - Name String
-- VK_FUCHSIA_imagepipe_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 215
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-07-27
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Craig Stout, Google
- Ian
-- Elliott, Google
- Jesse Hall, Google
--
--
-- Description
--
-- The VK_FUCHSIA_imagepipe_surface extension is an instance
-- extension. It provides a mechanism to create a SurfaceKHR
-- object (defined by the VK_KHR_surface extension) that refers
-- to a Fuchsia imagePipeHandle.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-07-27 (Craig Stout)
--
--
-- See Also
--
-- ImagePipeSurfaceCreateFlagsFUCHSIA,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- createImagePipeSurfaceFUCHSIA
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface
-- | vkCreateImagePipeSurfaceFUCHSIA - Create a SurfaceKHR object
-- for a Fuchsia ImagePipe
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_imagepipe_surface, AllocationCallbacks,
-- ImagePipeSurfaceCreateInfoFUCHSIA, Instance,
-- SurfaceKHR
createImagePipeSurfaceFUCHSIA :: forall io. MonadIO io => Instance -> ImagePipeSurfaceCreateInfoFUCHSIA -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkImagePipeSurfaceCreateInfoFUCHSIA - Structure specifying parameters
-- of a newly created ImagePipe surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_imagepipe_surface,
-- ImagePipeSurfaceCreateFlagsFUCHSIA, StructureType,
-- createImagePipeSurfaceFUCHSIA
data ImagePipeSurfaceCreateInfoFUCHSIA
ImagePipeSurfaceCreateInfoFUCHSIA :: ImagePipeSurfaceCreateFlagsFUCHSIA -> Zx_handle_t -> ImagePipeSurfaceCreateInfoFUCHSIA
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:ImagePipeSurfaceCreateInfoFUCHSIA] :: ImagePipeSurfaceCreateInfoFUCHSIA -> ImagePipeSurfaceCreateFlagsFUCHSIA
-- | imagePipeHandle is a zx_handle_t referring to the
-- ImagePipe to associate with the surface.
--
-- imagePipeHandle must be a valid zx_handle_t
[$sel:imagePipeHandle:ImagePipeSurfaceCreateInfoFUCHSIA] :: ImagePipeSurfaceCreateInfoFUCHSIA -> Zx_handle_t
-- | VkImagePipeSurfaceCreateFlagsFUCHSIA - Reserved for future use
--
-- Description
--
-- ImagePipeSurfaceCreateFlagsFUCHSIA is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_FUCHSIA_imagepipe_surface,
-- ImagePipeSurfaceCreateInfoFUCHSIA
newtype ImagePipeSurfaceCreateFlagsFUCHSIA
ImagePipeSurfaceCreateFlagsFUCHSIA :: Flags -> ImagePipeSurfaceCreateFlagsFUCHSIA
type FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION = 1
pattern FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME = "VK_FUCHSIA_imagepipe_surface"
pattern FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type Zx_handle_t = Word32
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance Data.Bits.Bits Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance GHC.Classes.Ord Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
instance GHC.Read.Read Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateFlagsFUCHSIA
-- | Name
--
-- VK_FUCHSIA_external_semaphore - device extension
--
-- VK_FUCHSIA_external_semaphore
--
--
-- - Name String
-- VK_FUCHSIA_external_semaphore
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 366
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_semaphore_capabilities
- Requires
-- VK_KHR_external_semaphore
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-03-08
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Craig Stout,
-- Google
- John Bauman, Google
- John Rosasco,
-- Google
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using semaphores. This extension enables an application to
-- export semaphore payload to and import semaphore payload from Zircon
-- event handles.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Does the application need to close the Zircon event handle returned
-- by getSemaphoreZirconHandleFUCHSIA?
--
-- RESOLVED: Yes, unless it is passed back in to a driver instance
-- to import the semaphore. A successful get call transfers ownership of
-- the Zircon event handle to the application, and a successful import
-- transfers it back to the driver. Destroying the original semaphore
-- object will not close the Zircon event handle nor remove its reference
-- to the underlying semaphore resource associated with it.
--
-- Version History
--
--
-- - Revision 1, 2021-03-08 (John Rosasco)
--
--
-- See Also
--
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- getSemaphoreZirconHandleFUCHSIA,
-- importSemaphoreZirconHandleFUCHSIA
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_FUCHSIA_external_semaphore
-- | vkGetSemaphoreZirconHandleFUCHSIA - Get a Zircon event handle for a
-- semaphore
--
-- Description
--
-- Each call to getSemaphoreZirconHandleFUCHSIA must create
-- a Zircon event handle and transfer ownership of it to the application.
-- To avoid leaking resources, the application must release
-- ownership of the Zircon event handle when it is no longer needed.
--
-- Note
--
-- Ownership can be released in many ways. For example, the application
-- can call zx_handle_close() on the file descriptor, or transfer
-- ownership back to Vulkan by using the file descriptor to import a
-- semaphore payload.
--
-- Exporting a Zircon event handle from a semaphore may have side
-- effects depending on the transference of the specified handle type, as
-- described in Importing Semaphore State.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_semaphore, Device,
-- SemaphoreGetZirconHandleInfoFUCHSIA
getSemaphoreZirconHandleFUCHSIA :: forall io. MonadIO io => Device -> SemaphoreGetZirconHandleInfoFUCHSIA -> io ("zirconHandle" ::: Zx_handle_t)
-- | vkImportSemaphoreZirconHandleFUCHSIA - Import a semaphore from a
-- Zircon event handle
--
-- Description
--
-- Importing a semaphore payload from a Zircon event handle transfers
-- ownership of the handle from the application to the Vulkan
-- implementation. The application must not perform any operations
-- on the handle after a successful import.
--
-- Applications can import the same semaphore payload into
-- multiple instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_semaphore, Device,
-- ImportSemaphoreZirconHandleInfoFUCHSIA
importSemaphoreZirconHandleFUCHSIA :: forall io. MonadIO io => Device -> ImportSemaphoreZirconHandleInfoFUCHSIA -> io ()
-- | VkImportSemaphoreZirconHandleInfoFUCHSIA - Structure specifying Zircon
-- event handle to import to a semaphore
--
-- Description
--
-- The handle types supported by handleType are:
--
-- TODO: table
--
-- Handle Types Supported by
-- ImportSemaphoreZirconHandleInfoFUCHSIA
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to semaphore must be externally
-- synchronized
--
--
-- See Also
--
-- VK_FUCHSIA_external_semaphore,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- SemaphoreImportFlags, StructureType,
-- importSemaphoreZirconHandleFUCHSIA
data ImportSemaphoreZirconHandleInfoFUCHSIA
ImportSemaphoreZirconHandleInfoFUCHSIA :: Semaphore -> SemaphoreImportFlags -> ExternalSemaphoreHandleTypeFlagBits -> Zx_handle_t -> ImportSemaphoreZirconHandleInfoFUCHSIA
-- | semaphore is the semaphore into which the payload will be
-- imported.
[$sel:semaphore:ImportSemaphoreZirconHandleInfoFUCHSIA] :: ImportSemaphoreZirconHandleInfoFUCHSIA -> Semaphore
-- | flags is a bitmask of SemaphoreImportFlagBits
-- specifying additional parameters for the semaphore payload import
-- operation.
[$sel:flags:ImportSemaphoreZirconHandleInfoFUCHSIA] :: ImportSemaphoreZirconHandleInfoFUCHSIA -> SemaphoreImportFlags
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of zirconHandle.
[$sel:handleType:ImportSemaphoreZirconHandleInfoFUCHSIA] :: ImportSemaphoreZirconHandleInfoFUCHSIA -> ExternalSemaphoreHandleTypeFlagBits
-- | zirconHandle is the external handle to import.
[$sel:zirconHandle:ImportSemaphoreZirconHandleInfoFUCHSIA] :: ImportSemaphoreZirconHandleInfoFUCHSIA -> Zx_handle_t
-- | VkSemaphoreGetZirconHandleInfoFUCHSIA - Structure describing a Zircon
-- event handle semaphore export operation
--
-- Description
--
-- The properties of the Zircon event handle returned depend on the value
-- of handleType. See ExternalSemaphoreHandleTypeFlagBits
-- for a description of the properties of the defined external semaphore
-- handle types.
--
-- Valid Usage
--
--
-- - handleType must have been included in
-- ExportSemaphoreCreateInfo::handleTypes when
-- semaphore’s current payload was created
--
--
--
-- - semaphore must not currently have its payload
-- replaced by an imported payload as described below in Importing
-- Semaphore Payloads unless that imported payload’s handle type was
-- included in
-- ExternalSemaphoreProperties::exportFromImportedHandleTypes
-- for handleType
-- - If handleType refers to a handle type with copy payload
-- transference semantics, as defined below in Importing Semaphore
-- Payloads, there must be no queue waiting on
-- semaphore
-- - If handleType refers to a handle type with copy payload
-- transference semantics, semaphore must be signaled, or
-- have an associated semaphore signal operation pending
-- execution
-- - handleType must be defined as a Zircon event
-- handle
-- - semaphore must have been created with a
-- SemaphoreType of SEMAPHORE_TYPE_BINARY
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_semaphore,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- StructureType, getSemaphoreZirconHandleFUCHSIA
data SemaphoreGetZirconHandleInfoFUCHSIA
SemaphoreGetZirconHandleInfoFUCHSIA :: Semaphore -> ExternalSemaphoreHandleTypeFlagBits -> SemaphoreGetZirconHandleInfoFUCHSIA
-- | semaphore is the semaphore from which state will be exported.
[$sel:semaphore:SemaphoreGetZirconHandleInfoFUCHSIA] :: SemaphoreGetZirconHandleInfoFUCHSIA -> Semaphore
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of handle requested.
[$sel:handleType:SemaphoreGetZirconHandleInfoFUCHSIA] :: SemaphoreGetZirconHandleInfoFUCHSIA -> ExternalSemaphoreHandleTypeFlagBits
type FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1
pattern FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION :: forall a. Integral a => a
type FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_FUCHSIA_external_semaphore"
pattern FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type Zx_handle_t = Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_external_semaphore.SemaphoreGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_external_semaphore.ImportSemaphoreZirconHandleInfoFUCHSIA
-- | Name
--
-- VK_FUCHSIA_external_memory - device extension
--
-- VK_FUCHSIA_external_memory
--
--
-- - Name String VK_FUCHSIA_external_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 365
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory_capabilities
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-03-01
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Craig Stout,
-- Google
- John Bauman, Google
- John Rosasco,
-- Google
--
--
-- Description
--
-- Vulkan apps may wish to export or import device memory handles to or
-- from other logical devices, instances or APIs.
--
-- This memory sharing can eliminate copies of memory buffers when
-- different subsystems need to interoperate on them. Sharing memory
-- buffers may also facilitate a better distribution of processing
-- workload for more complex memory manipulation pipelines.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- See VK_KHR_external_memory issues list for further
-- information.
--
-- Version History
--
--
-- - Revision 1, 2021-03-01 (John Rosasco)
--
--
-- See Also
--
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- getMemoryZirconHandleFUCHSIA,
-- getMemoryZirconHandlePropertiesFUCHSIA
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_FUCHSIA_external_memory
-- | vkGetMemoryZirconHandleFUCHSIA - Get a Zircon handle for an external
-- memory object
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_memory, Device,
-- MemoryGetZirconHandleInfoFUCHSIA
getMemoryZirconHandleFUCHSIA :: forall io. MonadIO io => Device -> MemoryGetZirconHandleInfoFUCHSIA -> io ("zirconHandle" ::: Zx_handle_t)
-- | vkGetMemoryZirconHandlePropertiesFUCHSIA - Get a Zircon handle
-- properties for an external memory object
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_memory, Device,
-- ExternalMemoryHandleTypeFlagBits,
-- MemoryZirconHandlePropertiesFUCHSIA
getMemoryZirconHandlePropertiesFUCHSIA :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("zirconHandle" ::: Zx_handle_t) -> io MemoryZirconHandlePropertiesFUCHSIA
-- | VkImportMemoryZirconHandleInfoFUCHSIA - Structure specifying import
-- parameters for Zircon handle to external memory
--
-- Valid Usage
--
--
--
--
-- - handle must be a valid VMO handle
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_external_memory,
-- ExternalMemoryHandleTypeFlagBits, StructureType
data ImportMemoryZirconHandleInfoFUCHSIA
ImportMemoryZirconHandleInfoFUCHSIA :: ExternalMemoryHandleTypeFlagBits -> Zx_handle_t -> ImportMemoryZirconHandleInfoFUCHSIA
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the type of handle.
[$sel:handleType:ImportMemoryZirconHandleInfoFUCHSIA] :: ImportMemoryZirconHandleInfoFUCHSIA -> ExternalMemoryHandleTypeFlagBits
-- | handle is a zx_handle_t (Zircon) handle to the
-- external memory.
[$sel:handle:ImportMemoryZirconHandleInfoFUCHSIA] :: ImportMemoryZirconHandleInfoFUCHSIA -> Zx_handle_t
-- | VkMemoryZirconHandlePropertiesFUCHSIA - Structure specifying Zircon
-- handle compatible external memory
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_external_memory, StructureType,
-- getMemoryZirconHandlePropertiesFUCHSIA
data MemoryZirconHandlePropertiesFUCHSIA
MemoryZirconHandlePropertiesFUCHSIA :: Word32 -> MemoryZirconHandlePropertiesFUCHSIA
-- | memoryTypeBits a bitmask containing one bit set for every
-- memory type which the specified handle can be imported as.
[$sel:memoryTypeBits:MemoryZirconHandlePropertiesFUCHSIA] :: MemoryZirconHandlePropertiesFUCHSIA -> Word32
-- | VkMemoryGetZirconHandleInfoFUCHSIA - Structure specifying export
-- parameters for Zircon handle to device memory
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_external_memory, DeviceMemory,
-- ExternalMemoryHandleTypeFlagBits, StructureType,
-- getMemoryZirconHandleFUCHSIA
data MemoryGetZirconHandleInfoFUCHSIA
MemoryGetZirconHandleInfoFUCHSIA :: DeviceMemory -> ExternalMemoryHandleTypeFlagBits -> MemoryGetZirconHandleInfoFUCHSIA
-- | memory the DeviceMemory being exported.
--
-- memory must be a valid DeviceMemory handle
[$sel:memory:MemoryGetZirconHandleInfoFUCHSIA] :: MemoryGetZirconHandleInfoFUCHSIA -> DeviceMemory
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the type of the handle pointed to by
-- getMemoryZirconHandleFUCHSIA::pZirconHandle.
--
-- handleType must be
-- EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA
--
-- handleType must have been included in the
-- handleTypes field of the ExportMemoryAllocateInfo
-- structure when the external memory was allocated
--
-- handleType must be a valid
-- ExternalMemoryHandleTypeFlagBits value
[$sel:handleType:MemoryGetZirconHandleInfoFUCHSIA] :: MemoryGetZirconHandleInfoFUCHSIA -> ExternalMemoryHandleTypeFlagBits
type FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION = 1
pattern FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_FUCHSIA_external_memory"
pattern FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type Zx_handle_t = Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryGetZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA
-- | Name
--
-- VK_EXT_validation_cache - device extension
--
-- VK_EXT_validation_cache
--
--
-- - Name String VK_EXT_validation_cache
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 161
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-29
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Cort Stratton,
-- Google
- Chris Forbes, Google
--
--
-- Description
--
-- This extension provides a mechanism for caching the results of
-- potentially expensive internal validation operations across multiple
-- runs of a Vulkan application. At the core is the
-- ValidationCacheEXT object type, which is managed similarly to
-- the existing PipelineCache.
--
-- The new struct ShaderModuleValidationCacheCreateInfoEXT can be
-- included in the pNext chain at createShaderModule
-- time. It contains a ValidationCacheEXT to use when validating
-- the ShaderModule.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-29 (Cort Stratton)
--
--
-- See Also
--
-- ShaderModuleValidationCacheCreateInfoEXT,
-- ValidationCacheCreateFlagsEXT,
-- ValidationCacheCreateInfoEXT, ValidationCacheEXT,
-- ValidationCacheHeaderVersionEXT,
-- createValidationCacheEXT, destroyValidationCacheEXT,
-- getValidationCacheDataEXT, mergeValidationCachesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_validation_cache
-- | vkCreateValidationCacheEXT - Creates a new validation cache
--
-- Description
--
-- Note
--
-- Applications can track and manage the total host memory size of
-- a validation cache object using the pAllocator. Applications
-- can limit the amount of data retrieved from a validation cache
-- object in getValidationCacheDataEXT. Implementations
-- should not internally limit the total number of entries added
-- to a validation cache object or the total host memory consumed.
--
-- Once created, a validation cache can be passed to the
-- createShaderModule command by adding this object to the
-- ShaderModuleCreateInfo structure’s pNext chain. If a
-- ShaderModuleValidationCacheCreateInfoEXT object is included in
-- the ShaderModuleCreateInfo::pNext chain, and its
-- validationCache field is not NULL_HANDLE, the
-- implementation will query it for possible reuse opportunities and
-- update it with new content. The use of the validation cache object in
-- these commands is internally synchronized, and the same validation
-- cache object can be used in multiple threads simultaneously.
--
-- Note
--
-- Implementations should make every effort to limit any critical
-- sections to the actual accesses to the cache, which is expected to be
-- significantly shorter than the duration of the
-- createShaderModule command.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_validation_cache, AllocationCallbacks,
-- Device, ValidationCacheCreateInfoEXT,
-- ValidationCacheEXT
createValidationCacheEXT :: forall io. MonadIO io => Device -> ValidationCacheCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ValidationCacheEXT
-- | A convenience wrapper to make a compatible pair of calls to
-- createValidationCacheEXT and destroyValidationCacheEXT
--
-- To ensure that destroyValidationCacheEXT 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.
withValidationCacheEXT :: forall io r. MonadIO io => Device -> ValidationCacheCreateInfoEXT -> Maybe AllocationCallbacks -> (io ValidationCacheEXT -> (ValidationCacheEXT -> io ()) -> r) -> r
-- | vkDestroyValidationCacheEXT - Destroy a validation cache object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- validationCache was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- validationCache was created, pAllocator must
-- be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If validationCache is not NULL_HANDLE,
-- validationCache must be a valid
-- ValidationCacheEXT handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If validationCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to validationCache must be externally
-- synchronized
--
--
-- See Also
--
-- VK_EXT_validation_cache, AllocationCallbacks,
-- Device, ValidationCacheEXT
destroyValidationCacheEXT :: forall io. MonadIO io => Device -> ValidationCacheEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetValidationCacheDataEXT - Get the data store from a validation
-- cache
--
-- Description
--
-- If pData is NULL, then the maximum size of the data
-- that can be retrieved from the validation cache, in bytes, is
-- returned in pDataSize. Otherwise, pDataSize
-- must point to a variable set by the user to the size of the
-- buffer, in bytes, pointed to by pData, and on return the
-- variable is overwritten with the amount of data actually written to
-- pData. If pDataSize is less than the maximum size
-- that can be retrieved by the validation cache, at most
-- pDataSize bytes will be written to pData, and
-- getValidationCacheDataEXT will return INCOMPLETE instead
-- of SUCCESS, to indicate that not all of the validation cache
-- was returned.
--
-- Any data written to pData is valid and can be provided
-- as the pInitialData member of the
-- ValidationCacheCreateInfoEXT structure passed to
-- createValidationCacheEXT.
--
-- Two calls to getValidationCacheDataEXT with the same parameters
-- must retrieve the same data unless a command that modifies the
-- contents of the cache is called between them.
--
-- Applications can store the data retrieved from the validation
-- cache, and use these data, possibly in a future run of the
-- application, to populate new validation cache objects. The results of
-- validation, however, may depend on the vendor ID, device ID,
-- driver version, and other details of the device. To enable
-- applications to detect when previously retrieved data is incompatible
-- with the device, the initial bytes written to pData
-- must be a header consisting of the following members:
--
-- TODO: table
--
-- Layout for validation cache header version
-- VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
--
-- The first four bytes encode the length of the entire validation cache
-- header, in bytes. This value includes all fields in the header
-- including the validation cache version field and the size of the
-- length field.
--
-- The next four bytes encode the validation cache version, as described
-- for ValidationCacheHeaderVersionEXT. A consumer of the
-- validation cache should use the cache version to interpret the
-- remainder of the cache header.
--
-- If pDataSize is less than what is necessary to store this
-- header, nothing will be written to pData and zero will be
-- written to pDataSize.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - validationCache must be a valid
-- ValidationCacheEXT handle
-- - pDataSize must be a valid pointer to a
-- size_t value
-- - If the value referenced by pDataSize is not 0,
-- and pData is not NULL, pData must be
-- a valid pointer to an array of pDataSize bytes
-- - validationCache must have been created, allocated,
-- or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_validation_cache, Device,
-- ValidationCacheEXT
getValidationCacheDataEXT :: forall io. MonadIO io => Device -> ValidationCacheEXT -> io (Result, "data" ::: ByteString)
-- | vkMergeValidationCachesEXT - Combine the data stores of validation
-- caches
--
-- Description
--
-- Note
--
-- The details of the merge operation are implementation-dependent, but
-- implementations should merge the contents of the specified
-- validation caches and prune duplicate entries.
--
-- Valid Usage
--
--
-- - dstCache must not appear in the list of source
-- caches
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - dstCache must be a valid ValidationCacheEXT
-- handle
-- - pSrcCaches must be a valid pointer to an array of
-- srcCacheCount valid ValidationCacheEXT handles
-- - srcCacheCount must be greater than 0
-- - dstCache must have been created, allocated, or
-- retrieved from device
-- - Each element of pSrcCaches must have been created,
-- allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to dstCache must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_validation_cache, Device,
-- ValidationCacheEXT
mergeValidationCachesEXT :: forall io. MonadIO io => Device -> ("dstCache" ::: ValidationCacheEXT) -> ("srcCaches" ::: Vector ValidationCacheEXT) -> io ()
-- | VkValidationCacheCreateInfoEXT - Structure specifying parameters of a
-- newly created validation cache
--
-- Valid Usage
--
--
-- - If initialDataSize is not 0, it must be
-- equal to the size of pInitialData, as returned by
-- getValidationCacheDataEXT when pInitialData was
-- originally retrieved
--
--
--
-- - If initialDataSize is not 0,
-- pInitialData must have been retrieved from a previous
-- call to getValidationCacheDataEXT
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - If initialDataSize is not 0,
-- pInitialData must be a valid pointer to an array of
-- initialDataSize bytes
--
--
-- See Also
--
-- VK_EXT_validation_cache, StructureType,
-- ValidationCacheCreateFlagsEXT, createValidationCacheEXT
data ValidationCacheCreateInfoEXT
ValidationCacheCreateInfoEXT :: ValidationCacheCreateFlagsEXT -> Word64 -> Ptr () -> ValidationCacheCreateInfoEXT
-- | flags is reserved for future use.
[$sel:flags:ValidationCacheCreateInfoEXT] :: ValidationCacheCreateInfoEXT -> ValidationCacheCreateFlagsEXT
-- | initialDataSize is the number of bytes in
-- pInitialData. If initialDataSize is zero, the
-- validation cache will initially be empty.
[$sel:initialDataSize:ValidationCacheCreateInfoEXT] :: ValidationCacheCreateInfoEXT -> Word64
-- | pInitialData is a pointer to previously retrieved validation
-- cache data. If the validation cache data is incompatible (as defined
-- below) with the device, the validation cache will be initially empty.
-- If initialDataSize is zero, pInitialData is ignored.
[$sel:initialData:ValidationCacheCreateInfoEXT] :: ValidationCacheCreateInfoEXT -> Ptr ()
-- | VkShaderModuleValidationCacheCreateInfoEXT - Specify validation cache
-- to use during shader module creation
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_validation_cache, StructureType,
-- ValidationCacheEXT
data ShaderModuleValidationCacheCreateInfoEXT
ShaderModuleValidationCacheCreateInfoEXT :: ValidationCacheEXT -> ShaderModuleValidationCacheCreateInfoEXT
-- | validationCache is the validation cache object from which the
-- results of prior validation attempts will be written, and to which new
-- validation results for this ShaderModule will be written (if
-- not already present).
--
-- validationCache must be a valid
-- ValidationCacheEXT handle
[$sel:validationCache:ShaderModuleValidationCacheCreateInfoEXT] :: ShaderModuleValidationCacheCreateInfoEXT -> ValidationCacheEXT
-- | VkValidationCacheCreateFlagsEXT - Reserved for future use
--
-- Description
--
-- ValidationCacheCreateFlagsEXT is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_validation_cache, ValidationCacheCreateInfoEXT
newtype ValidationCacheCreateFlagsEXT
ValidationCacheCreateFlagsEXT :: Flags -> ValidationCacheCreateFlagsEXT
-- | VkValidationCacheHeaderVersionEXT - Encode validation cache version
--
-- See Also
--
-- VK_EXT_validation_cache, createValidationCacheEXT,
-- getValidationCacheDataEXT
newtype ValidationCacheHeaderVersionEXT
ValidationCacheHeaderVersionEXT :: Int32 -> ValidationCacheHeaderVersionEXT
-- | VALIDATION_CACHE_HEADER_VERSION_ONE_EXT specifies version one
-- of the validation cache.
pattern VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: ValidationCacheHeaderVersionEXT
type EXT_VALIDATION_CACHE_SPEC_VERSION = 1
pattern EXT_VALIDATION_CACHE_SPEC_VERSION :: forall a. Integral a => a
type EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache"
pattern EXT_VALIDATION_CACHE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkValidationCacheEXT - Opaque handle to a validation cache object
--
-- See Also
--
-- VK_EXT_validation_cache,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- createValidationCacheEXT, destroyValidationCacheEXT,
-- getValidationCacheDataEXT, mergeValidationCachesEXT
newtype ValidationCacheEXT
ValidationCacheEXT :: Word64 -> ValidationCacheEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheHeaderVersionEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT
-- | Name
--
-- VK_EXT_private_data - device extension
--
-- VK_EXT_private_data
--
--
-- - Name String VK_EXT_private_data
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 296
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-03-25
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthew Rusch,
-- NVIDIA
- Nuno Subtil, NVIDIA
- Piers Daniell,
-- NVIDIA
- Jeff Bolz, NVIDIA
--
--
-- Description
--
-- The 'VK_EXT_private_data' extension is a device extension which
-- enables attaching arbitrary payloads to Vulkan objects. It introduces
-- the idea of private data slots as a means of storing a 64-bit unsigned
-- integer of application defined data. Private data slots can be created
-- or destroyed any time an associated device is available. Private data
-- slots can be reserved at device creation time, and limiting use to the
-- amount reserved will allow the extension to exhibit better performance
-- characteristics.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-01-15 (Matthew Rusch)
--
--
-- See Also
--
-- DevicePrivateDataCreateInfoEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PrivateDataSlotCreateFlagBitsEXT,
-- PrivateDataSlotCreateFlagsEXT,
-- PrivateDataSlotCreateInfoEXT, PrivateDataSlotEXT,
-- createPrivateDataSlotEXT, destroyPrivateDataSlotEXT,
-- getPrivateDataEXT, setPrivateDataEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_private_data
-- | vkCreatePrivateDataSlotEXT - Create a slot for private data storage
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_private_data, AllocationCallbacks, Device,
-- PrivateDataSlotCreateInfoEXT, PrivateDataSlotEXT
createPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io PrivateDataSlotEXT
-- | A convenience wrapper to make a compatible pair of calls to
-- createPrivateDataSlotEXT and destroyPrivateDataSlotEXT
--
-- To ensure that destroyPrivateDataSlotEXT 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.
withPrivateDataSlotEXT :: forall io r. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> Maybe AllocationCallbacks -> (io PrivateDataSlotEXT -> (PrivateDataSlotEXT -> io ()) -> r) -> r
-- | vkDestroyPrivateDataSlotEXT - Destroy a private data slot
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- privateDataSlot was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- privateDataSlot was created, pAllocator must
-- be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If privateDataSlot is not NULL_HANDLE,
-- privateDataSlot must be a valid
-- PrivateDataSlotEXT handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If privateDataSlot is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to privateDataSlot must be externally
-- synchronized
--
--
-- See Also
--
-- VK_EXT_private_data, AllocationCallbacks, Device,
-- PrivateDataSlotEXT
destroyPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkSetPrivateDataEXT - Associate data with a Vulkan object
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_private_data, Device, ObjectType,
-- PrivateDataSlotEXT
setPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> io ()
-- | vkGetPrivateDataEXT - Retrieve data associated with a Vulkan object
--
-- Description
--
-- Note
--
-- Due to platform details on Android, implementations might not be able
-- to reliably return 0 from calls to getPrivateDataEXT
-- for SwapchainKHR objects on which setPrivateDataEXT has
-- not previously been called. This erratum is exclusive to the Android
-- platform and objects of type SwapchainKHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_private_data, Device, ObjectType,
-- PrivateDataSlotEXT
getPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> io ("data" ::: Word64)
-- | VkDevicePrivateDataCreateInfoEXT - Reserve private data slots
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_private_data, StructureType
data DevicePrivateDataCreateInfoEXT
DevicePrivateDataCreateInfoEXT :: Word32 -> DevicePrivateDataCreateInfoEXT
-- | privateDataSlotRequestCount is the amount of slots to
-- reserve.
[$sel:privateDataSlotRequestCount:DevicePrivateDataCreateInfoEXT] :: DevicePrivateDataCreateInfoEXT -> Word32
-- | VkPrivateDataSlotCreateInfoEXT - Structure specifying the parameters
-- of private data slot construction
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_private_data, PrivateDataSlotCreateFlagsEXT,
-- StructureType, createPrivateDataSlotEXT
data PrivateDataSlotCreateInfoEXT
PrivateDataSlotCreateInfoEXT :: PrivateDataSlotCreateFlagsEXT -> PrivateDataSlotCreateInfoEXT
-- | flags is a bitmask of PrivateDataSlotCreateFlagsEXT
-- specifying additional parameters of the new private data slot
--
-- flags must be 0
[$sel:flags:PrivateDataSlotCreateInfoEXT] :: PrivateDataSlotCreateInfoEXT -> PrivateDataSlotCreateFlagsEXT
-- | VkPhysicalDevicePrivateDataFeaturesEXT - Structure specifying physical
-- device support
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDevicePrivateDataFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDevicePrivateDataFeaturesEXT can also be used in
-- the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_private_data, Bool32, StructureType
data PhysicalDevicePrivateDataFeaturesEXT
PhysicalDevicePrivateDataFeaturesEXT :: Bool -> PhysicalDevicePrivateDataFeaturesEXT
-- | privateData indicates whether the implementation supports
-- private data. See Private Data.
[$sel:privateData:PhysicalDevicePrivateDataFeaturesEXT] :: PhysicalDevicePrivateDataFeaturesEXT -> Bool
type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlagBitsEXT
-- | VkPrivateDataSlotCreateFlagBitsEXT - Bitmask specifying additional
-- parameters for private data slot creation
--
-- See Also
--
-- VK_EXT_private_data, PrivateDataSlotCreateFlagsEXT
newtype PrivateDataSlotCreateFlagBitsEXT
PrivateDataSlotCreateFlagBitsEXT :: Flags -> PrivateDataSlotCreateFlagBitsEXT
type EXT_PRIVATE_DATA_SPEC_VERSION = 1
pattern EXT_PRIVATE_DATA_SPEC_VERSION :: forall a. Integral a => a
type EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data"
pattern EXT_PRIVATE_DATA_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkPrivateDataSlotEXT - Opaque handle to a private data slot object
--
-- See Also
--
-- VK_EXT_private_data, createPrivateDataSlotEXT,
-- destroyPrivateDataSlotEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype PrivateDataSlotEXT
PrivateDataSlotEXT :: Word64 -> PrivateDataSlotEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateFlagBitsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT
-- | Name
--
-- VK_EXT_metal_surface - instance extension
--
-- VK_EXT_metal_surface
--
--
-- - Name String VK_EXT_metal_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 218
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-10-01
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Dzmitry Malyshau, Mozilla
-- Corp.
--
--
-- Description
--
-- The VK_EXT_metal_surface extension is an instance extension.
-- It provides a mechanism to create a SurfaceKHR object (defined
-- by the VK_KHR_surface extension) from CAMetalLayer,
-- which is the native rendering surface of Apple’s Metal framework.
--
-- New Base Types
--
--
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-10-01 (Dzmitry Malyshau)
--
--
-- See Also
--
-- CAMetalLayer, MetalSurfaceCreateFlagsEXT,
-- MetalSurfaceCreateInfoEXT, createMetalSurfaceEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_metal_surface
-- | vkCreateMetalSurfaceEXT - Create a VkSurfaceKHR object for
-- CAMetalLayer
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_metal_surface, AllocationCallbacks,
-- Instance, MetalSurfaceCreateInfoEXT, SurfaceKHR
createMetalSurfaceEXT :: forall io. MonadIO io => Instance -> MetalSurfaceCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkMetalSurfaceCreateInfoEXT - Structure specifying parameters of a
-- newly created Metal surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_metal_surface, MetalSurfaceCreateFlagsEXT,
-- StructureType, createMetalSurfaceEXT
data MetalSurfaceCreateInfoEXT
MetalSurfaceCreateInfoEXT :: MetalSurfaceCreateFlagsEXT -> Ptr CAMetalLayer -> MetalSurfaceCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:MetalSurfaceCreateInfoEXT] :: MetalSurfaceCreateInfoEXT -> MetalSurfaceCreateFlagsEXT
-- | pLayer is a reference to a CAMetalLayer object
-- representing a renderable surface.
[$sel:layer:MetalSurfaceCreateInfoEXT] :: MetalSurfaceCreateInfoEXT -> Ptr CAMetalLayer
-- | VkMetalSurfaceCreateFlagsEXT - Reserved for future use
--
-- Description
--
-- MetalSurfaceCreateFlagsEXT is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_metal_surface, MetalSurfaceCreateInfoEXT
newtype MetalSurfaceCreateFlagsEXT
MetalSurfaceCreateFlagsEXT :: Flags -> MetalSurfaceCreateFlagsEXT
type EXT_METAL_SURFACE_SPEC_VERSION = 1
pattern EXT_METAL_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type EXT_METAL_SURFACE_EXTENSION_NAME = "VK_EXT_metal_surface"
pattern EXT_METAL_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data CAMetalLayer
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateFlagsEXT
-- | Name
--
-- VK_EXT_headless_surface - instance extension
--
-- VK_EXT_headless_surface
--
--
-- - Name String VK_EXT_headless_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 257
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-03-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- The VK_EXT_headless_surface extension is an instance
-- extension. It provides a mechanism to create SurfaceKHR objects
-- independently of any window system or display device. The presentation
-- operation for a swapchain created from a headless surface is by
-- default a no-op, resulting in no externally-visible result.
--
-- Because there is no real presentation target, future extensions can
-- layer on top of the headless surface to introduce arbitrary or
-- customisable sets of restrictions or features. These could include
-- features like saving to a file or restrictions to emulate a particular
-- presentation target.
--
-- This functionality is expected to be useful for application and driver
-- development because it allows any platform to expose an arbitrary or
-- customisable set of restrictions and features of a presentation
-- engine. This makes it a useful portable test target for applications
-- targeting a wide range of presentation engines where the actual target
-- presentation engines might be scarce, unavailable or otherwise
-- undesirable or inconvenient to use for general Vulkan application
-- development.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-03-21 (Ray Smith)
--
--
-- See Also
--
-- HeadlessSurfaceCreateFlagsEXT,
-- HeadlessSurfaceCreateInfoEXT, createHeadlessSurfaceEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_headless_surface
-- | vkCreateHeadlessSurfaceEXT - Create a headless SurfaceKHR
-- object
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_headless_surface, AllocationCallbacks,
-- HeadlessSurfaceCreateInfoEXT, Instance,
-- SurfaceKHR
createHeadlessSurfaceEXT :: forall io. MonadIO io => Instance -> HeadlessSurfaceCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | VkHeadlessSurfaceCreateInfoEXT - Structure specifying parameters of a
-- newly created headless surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_headless_surface, HeadlessSurfaceCreateFlagsEXT,
-- StructureType, createHeadlessSurfaceEXT
data HeadlessSurfaceCreateInfoEXT
HeadlessSurfaceCreateInfoEXT :: HeadlessSurfaceCreateFlagsEXT -> HeadlessSurfaceCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:HeadlessSurfaceCreateInfoEXT] :: HeadlessSurfaceCreateInfoEXT -> HeadlessSurfaceCreateFlagsEXT
-- | VkHeadlessSurfaceCreateFlagsEXT - Reserved for future use
--
-- Description
--
-- HeadlessSurfaceCreateFlagsEXT is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_headless_surface, HeadlessSurfaceCreateInfoEXT
newtype HeadlessSurfaceCreateFlagsEXT
HeadlessSurfaceCreateFlagsEXT :: Flags -> HeadlessSurfaceCreateFlagsEXT
type EXT_HEADLESS_SURFACE_SPEC_VERSION = 1
pattern EXT_HEADLESS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type EXT_HEADLESS_SURFACE_EXTENSION_NAME = "VK_EXT_headless_surface"
pattern EXT_HEADLESS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateFlagsEXT
-- | Name
--
-- VK_EXT_hdr_metadata - device extension
--
-- VK_EXT_hdr_metadata
--
--
-- - Name String VK_EXT_hdr_metadata
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 106
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Courtney Goeltzenleuchter,
-- Google
--
--
-- Description
--
-- This extension defines two new structures and a function to assign
-- SMPTE (the Society of Motion Picture and Television Engineers) 2086
-- metadata and CTA (Consumer Technology Association) 861.3 metadata to a
-- swapchain. The metadata includes the color primaries, white point, and
-- luminance range of the reference monitor, which all together define
-- the color volume containing all the possible colors the reference
-- monitor can produce. The reference monitor is the display where
-- creative work is done and creative intent is established. To preserve
-- such creative intent as much as possible and achieve consistent color
-- reproduction on different viewing displays, it is useful for the
-- display pipeline to know the color volume of the original reference
-- monitor where content was created or tuned. This avoids performing
-- unnecessary mapping of colors that are not displayable on the original
-- reference monitor. The metadata also includes the
-- maxContentLightLevel and maxFrameAverageLightLevel
-- as defined by CTA 861.3.
--
-- While the general purpose of the metadata is to assist in the
-- transformation between different color volumes of different displays
-- and help achieve better color reproduction, it is not in the scope of
-- this extension to define how exactly the metadata should be used in
-- such a process. It is up to the implementation to determine how to
-- make use of the metadata.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Do we need a query function?
--
-- PROPOSED: No, Vulkan does not provide queries for state that
-- the application can track on its own.
--
-- 2) Should we specify default if not specified by the application?
--
-- PROPOSED: No, that leaves the default up to the display.
--
-- Version History
--
--
-- - Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
--
--
--
-- - Revision 2, 2018-12-19 (Courtney Goeltzenleuchter)
- Correct
-- implicit validity for VkHdrMetadataEXT structure
--
--
-- See Also
--
-- HdrMetadataEXT, XYColorEXT, setHdrMetadataEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_hdr_metadata
-- | vkSetHdrMetadataEXT - Set Hdr metadata
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pSwapchains must be a valid pointer to an array of
-- swapchainCount valid SwapchainKHR handles
-- - pMetadata must be a valid pointer to an array of
-- swapchainCount valid HdrMetadataEXT structures
-- - swapchainCount must be greater than
-- 0
-- - Both of device, and the elements of pSwapchains
-- must have been created, allocated, or retrieved from the same
-- Instance
--
--
-- See Also
--
-- VK_EXT_hdr_metadata, Device, HdrMetadataEXT,
-- SwapchainKHR
setHdrMetadataEXT :: forall io. MonadIO io => Device -> ("swapchains" ::: Vector SwapchainKHR) -> ("metadata" ::: Vector HdrMetadataEXT) -> io ()
-- | VkXYColorEXT - Specify X,Y chromaticity coordinates
--
-- See Also
--
-- VK_EXT_hdr_metadata, HdrMetadataEXT
data XYColorEXT
XYColorEXT :: Float -> Float -> XYColorEXT
[$sel:x:XYColorEXT] :: XYColorEXT -> Float
[$sel:y:XYColorEXT] :: XYColorEXT -> Float
-- | VkHdrMetadataEXT - Specify Hdr metadata
--
-- Valid Usage (Implicit)
--
-- Note
--
-- The validity and use of this data is outside the scope of Vulkan.
--
-- See Also
--
-- VK_EXT_hdr_metadata, StructureType, XYColorEXT,
-- setHdrMetadataEXT
data HdrMetadataEXT
HdrMetadataEXT :: XYColorEXT -> XYColorEXT -> XYColorEXT -> XYColorEXT -> Float -> Float -> Float -> Float -> HdrMetadataEXT
-- | displayPrimaryRed is the reference monitor’s red primary in
-- chromaticity coordinates
[$sel:displayPrimaryRed:HdrMetadataEXT] :: HdrMetadataEXT -> XYColorEXT
-- | displayPrimaryGreen is the reference monitor’s green primary
-- in chromaticity coordinates
[$sel:displayPrimaryGreen:HdrMetadataEXT] :: HdrMetadataEXT -> XYColorEXT
-- | displayPrimaryBlue is the reference monitor’s blue primary in
-- chromaticity coordinates
[$sel:displayPrimaryBlue:HdrMetadataEXT] :: HdrMetadataEXT -> XYColorEXT
-- | whitePoint is the reference monitor’s white-point in
-- chromaticity coordinates
[$sel:whitePoint:HdrMetadataEXT] :: HdrMetadataEXT -> XYColorEXT
-- | maxLuminance is the maximum luminance of the reference
-- monitor in nits
[$sel:maxLuminance:HdrMetadataEXT] :: HdrMetadataEXT -> Float
-- | minLuminance is the minimum luminance of the reference
-- monitor in nits
[$sel:minLuminance:HdrMetadataEXT] :: HdrMetadataEXT -> Float
-- | maxContentLightLevel is content’s maximum luminance in nits
[$sel:maxContentLightLevel:HdrMetadataEXT] :: HdrMetadataEXT -> Float
-- | maxFrameAverageLightLevel is the maximum frame average light
-- level in nits
[$sel:maxFrameAverageLightLevel:HdrMetadataEXT] :: HdrMetadataEXT -> Float
type EXT_HDR_METADATA_SPEC_VERSION = 2
pattern EXT_HDR_METADATA_SPEC_VERSION :: forall a. Integral a => a
type EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata"
pattern EXT_HDR_METADATA_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_hdr_metadata.HdrMetadataEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_hdr_metadata.HdrMetadataEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_hdr_metadata.HdrMetadataEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_hdr_metadata.HdrMetadataEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_hdr_metadata.HdrMetadataEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_hdr_metadata.XYColorEXT
-- | Name
--
-- VK_EXT_full_screen_exclusive - device extension
--
-- VK_EXT_full_screen_exclusive
--
--
-- - Name String
-- VK_EXT_full_screen_exclusive
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 256
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_surface
- Requires
-- VK_KHR_get_surface_capabilities2
- Requires
-- VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-03-12
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with Vulkan 1.1
- Interacts with
-- VK_KHR_device_group
- Interacts with
-- VK_KHR_win32_surface
-- - Contributors
- Hans-Kristian Arntzen,
-- ARM
- Slawomir Grajewski, Intel
- Tobias Hector,
-- AMD
- James Jones, NVIDIA
- Daniel Rakos, AMD
- Jeff
-- Juliano, NVIDIA
- Joshua Schnarr, NVIDIA
- Aaron Hagan,
-- AMD
--
--
-- Description
--
-- This extension allows applications to set the policy for swapchain
-- creation and presentation mechanisms relating to full-screen access.
-- Implementations may be able to acquire exclusive access to a
-- particular display for an application window that covers the whole
-- screen. This can increase performance on some systems by bypassing
-- composition, however it can also result in disruptive or expensive
-- transitions in the underlying windowing system when a change occurs.
--
-- Applications can choose between explicitly disallowing or allowing
-- this behavior, letting the implementation decide, or managing this
-- mode of operation directly using the new
-- acquireFullScreenExclusiveModeEXT and
-- releaseFullScreenExclusiveModeEXT commands.
--
-- New Commands
--
--
--
--
--
-- If VK_KHR_device_group is supported:
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_KHR_win32_surface is supported:
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_win32_surface is supported:
--
--
--
-- Issues
--
-- 1) What should the extension & flag be called?
--
-- RESOLVED: VK_EXT_full_screen_exclusive.
--
-- Other options considered (prior to the app-controlled mode) were:
--
--
-- - VK_EXT_smooth_fullscreen_transition
-- - VK_EXT_fullscreen_behavior
-- - VK_EXT_fullscreen_preference
-- - VK_EXT_fullscreen_hint
-- - VK_EXT_fast_fullscreen_transition
-- - VK_EXT_avoid_fullscreen_exclusive
--
--
-- 2) Do we need more than a boolean toggle?
--
-- RESOLVED: Yes.
--
-- Using an enum with default/allowed/disallowed/app-controlled enables
-- applications to accept driver default behavior, specifically override
-- it in either direction without implying the driver is ever required to
-- use full-screen exclusive mechanisms, or manage this mode explicitly.
--
-- 3) Should this be a KHR or EXT extension?
--
-- RESOLVED: EXT, in order to allow it to be shipped faster.
--
-- 4) Can the fullscreen hint affect the surface capabilities, and if so,
-- should the hint also be specified as input when querying the surface
-- capabilities?
--
-- RESOLVED: Yes on both accounts.
--
-- While the hint does not guarantee a particular fullscreen mode will be
-- used when the swapchain is created, it can sometimes imply particular
-- modes will NOT be used. If the driver determines that it will opt-out
-- of using a particular mode based on the policy, and knows it can only
-- support certain capabilities if that mode is used, it would be
-- confusing at best to the application to report those capabilities in
-- such cases. Not allowing implementations to report this state to
-- applications could result in situations where applications are unable
-- to determine why swapchain creation fails when they specify certain
-- hint values, which could result in never- terminating surface creation
-- loops.
--
-- 5) Should full-screen be one word or two?
--
-- RESOLVED: Two words.
--
-- "Fullscreen" is not in my dictionary, and web searches did not turn up
-- definitive proof that it is a colloquially accepted compound word.
-- Documentation for the corresponding Windows API mechanisms dithers.
-- The text consistently uses a hyphen, but none-the-less, there is a
-- SetFullscreenState method in the DXGI swapchain object. Given this
-- inconclusive external guidance, it is best to adhere to the Vulkan
-- style guidelines and avoid inventing new compound words.
--
-- Version History
--
--
-- - Revision 4, 2019-03-12 (Tobias Hector)
- Added
-- application-controlled mode, and related functions
- Tidied up
-- appendix
--
--
--
-- - Revision 3, 2019-01-03 (James Jones)
- Renamed to
-- VK_EXT_full_screen_exclusive
- Made related adjustments to the
-- tri-state enumerant names.
-- - Revision 2, 2018-11-27 (James Jones)
- Renamed to
-- VK_KHR_fullscreen_behavior
- Switched from boolean flag to
-- tri-state enum
-- - Revision 1, 2018-11-06 (James Jones)
--
--
-- See Also
--
-- FullScreenExclusiveEXT,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFullScreenExclusiveInfoEXT,
-- acquireFullScreenExclusiveModeEXT,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- releaseFullScreenExclusiveModeEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_full_screen_exclusive
-- | vkGetPhysicalDeviceSurfacePresentModes2EXT - Query supported
-- presentation modes
--
-- Description
--
-- getPhysicalDeviceSurfacePresentModes2EXT behaves similarly to
-- getPhysicalDeviceSurfacePresentModesKHR, with the ability to
-- specify extended inputs via chained input structures.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pSurfaceInfo must be a valid pointer to a valid
-- PhysicalDeviceSurfaceInfo2KHR structure
-- - pPresentModeCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPresentModeCount is not
-- 0, and pPresentModes is not NULL,
-- pPresentModes must be a valid pointer to an array of
-- pPresentModeCount PresentModeKHR values
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, PhysicalDevice,
-- PhysicalDeviceSurfaceInfo2KHR, PresentModeKHR
getPhysicalDeviceSurfacePresentModes2EXT :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (Result, "presentModes" ::: Vector PresentModeKHR)
-- | vkGetDeviceGroupSurfacePresentModes2EXT - Query device group present
-- capabilities for a surface
--
-- Description
--
-- getDeviceGroupSurfacePresentModes2EXT behaves similarly to
-- getDeviceGroupSurfacePresentModesKHR, with the ability to
-- specify extended inputs via chained input structures.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, VK_KHR_device_group,
-- VK_VERSION_1_1, Device,
-- DeviceGroupPresentModeFlagsKHR,
-- PhysicalDeviceSurfaceInfo2KHR
getDeviceGroupSurfacePresentModes2EXT :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => Device -> PhysicalDeviceSurfaceInfo2KHR a -> io ("modes" ::: DeviceGroupPresentModeFlagsKHR)
-- | vkAcquireFullScreenExclusiveModeEXT - Acquire full-screen exclusive
-- mode for a swapchain
--
-- Valid Usage
--
--
-- - swapchain must not be in the retired state
--
--
--
--
-- A return value of SUCCESS indicates that the swapchain
-- successfully acquired exclusive full-screen access. The swapchain will
-- retain this exclusivity until either the application releases
-- exclusive full-screen access with
-- releaseFullScreenExclusiveModeEXT, destroys the swapchain, or
-- if any of the swapchain commands return
-- ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT indicating that the
-- mode was lost because of platform-specific changes.
--
-- If the swapchain was unable to acquire exclusive full-screen access to
-- the display then ERROR_INITIALIZATION_FAILED is returned. An
-- application can attempt to acquire exclusive full-screen access
-- again for the same swapchain even if this command fails, or if
-- ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT has been returned by
-- a swapchain command.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, Device,
-- SwapchainKHR
acquireFullScreenExclusiveModeEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> io ()
-- | vkReleaseFullScreenExclusiveModeEXT - Release full-screen exclusive
-- mode from a swapchain
--
-- Description
--
-- Note
--
-- Applications will not be able to present to swapchain after
-- this call until exclusive full-screen access is reacquired. This is
-- usually useful to handle when an application is minimised or otherwise
-- intends to stop presenting for a time.
--
-- Valid Usage
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, Device,
-- SwapchainKHR
releaseFullScreenExclusiveModeEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> io ()
-- | VkSurfaceFullScreenExclusiveInfoEXT - Structure specifying the
-- preferred full-screen transition behavior
--
-- Description
--
-- If this structure is not present, fullScreenExclusive is
-- considered to be FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, FullScreenExclusiveEXT,
-- StructureType
data SurfaceFullScreenExclusiveInfoEXT
SurfaceFullScreenExclusiveInfoEXT :: FullScreenExclusiveEXT -> SurfaceFullScreenExclusiveInfoEXT
-- | fullScreenExclusive is a FullScreenExclusiveEXT value
-- specifying the preferred full-screen transition behavior.
--
-- fullScreenExclusive must be a valid
-- FullScreenExclusiveEXT value
[$sel:fullScreenExclusive:SurfaceFullScreenExclusiveInfoEXT] :: SurfaceFullScreenExclusiveInfoEXT -> FullScreenExclusiveEXT
-- | VkSurfaceFullScreenExclusiveWin32InfoEXT - Structure specifying
-- additional creation parameters specific to Win32 fullscreen exclusive
-- mode
--
-- Description
--
-- Note
--
-- If hmonitor is invalidated (e.g. the monitor is unplugged)
-- during the lifetime of a swapchain created with this structure,
-- operations on that swapchain will return ERROR_OUT_OF_DATE_KHR.
--
-- Note
--
-- It is the responsibility of the application to change the display
-- settings of the targeted Win32 display using the appropriate platform
-- APIs. Such changes may alter the surface capabilities reported
-- for the created surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, VK_KHR_win32_surface,
-- StructureType
data SurfaceFullScreenExclusiveWin32InfoEXT
SurfaceFullScreenExclusiveWin32InfoEXT :: HMONITOR -> SurfaceFullScreenExclusiveWin32InfoEXT
-- | hmonitor is the Win32 HMONITOR handle identifying the
-- display to create the surface with.
--
-- hmonitor must be a valid HMONITOR
[$sel:hmonitor:SurfaceFullScreenExclusiveWin32InfoEXT] :: SurfaceFullScreenExclusiveWin32InfoEXT -> HMONITOR
-- | VkSurfaceCapabilitiesFullScreenExclusiveEXT - Structure describing
-- full screen exclusive capabilities of a surface
--
-- Description
--
-- This structure can be included in the pNext chain of
-- SurfaceCapabilities2KHR to determine support for exclusive
-- full-screen access. If fullScreenExclusiveSupported is
-- FALSE, it indicates that exclusive full-screen access is not
-- obtainable for this surface.
--
-- Applications must not attempt to create swapchains with
-- FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT set if
-- fullScreenExclusiveSupported is FALSE.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_full_screen_exclusive, Bool32,
-- StructureType
data SurfaceCapabilitiesFullScreenExclusiveEXT
SurfaceCapabilitiesFullScreenExclusiveEXT :: Bool -> SurfaceCapabilitiesFullScreenExclusiveEXT
[$sel:fullScreenExclusiveSupported:SurfaceCapabilitiesFullScreenExclusiveEXT] :: SurfaceCapabilitiesFullScreenExclusiveEXT -> Bool
-- | VkFullScreenExclusiveEXT - Hint values an application can specify
-- affecting full-screen transition behavior
--
-- See Also
--
-- VK_EXT_full_screen_exclusive,
-- SurfaceFullScreenExclusiveInfoEXT
newtype FullScreenExclusiveEXT
FullScreenExclusiveEXT :: Int32 -> FullScreenExclusiveEXT
-- | FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT indicates the implementation
-- should determine the appropriate full-screen method by whatever
-- means it deems appropriate.
pattern FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT :: FullScreenExclusiveEXT
-- | FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT indicates the implementation
-- may use full-screen exclusive mechanisms when available. Such
-- mechanisms may result in better performance and/or the
-- availability of different presentation capabilities, but may
-- require a more disruptive transition during swapchain initialization,
-- first presentation and/or destruction.
pattern FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT :: FullScreenExclusiveEXT
-- | FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT indicates the
-- implementation should avoid using full-screen mechanisms which
-- rely on disruptive transitions.
pattern FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT :: FullScreenExclusiveEXT
-- | FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT indicates the
-- application will manage full-screen exclusive mode by using the
-- acquireFullScreenExclusiveModeEXT and
-- releaseFullScreenExclusiveModeEXT commands.
pattern FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT :: FullScreenExclusiveEXT
type EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION = 4
pattern EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a
type EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME = "VK_EXT_full_screen_exclusive"
pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type HMONITOR = Ptr ()
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkPhysicalDeviceSurfaceInfo2KHR - Structure specifying a surface and
-- related swapchain creation parameters
--
-- Description
--
-- The members of PhysicalDeviceSurfaceInfo2KHR correspond to the
-- arguments to getPhysicalDeviceSurfaceCapabilitiesKHR, with
-- sType and pNext added for extensibility.
--
-- Additional capabilities of a surface may be available to
-- swapchains created with different full-screen exclusive settings -
-- particularly if exclusive full-screen access is application
-- controlled. These additional capabilities can be queried by
-- adding a SurfaceFullScreenExclusiveInfoEXT structure to the
-- pNext chain of this structure when used to query surface
-- properties. Additionally, for Win32 surfaces with application
-- controlled exclusive full-screen access, chaining a
-- SurfaceFullScreenExclusiveWin32InfoEXT structure may
-- also report additional surface capabilities. These additional
-- capabilities only apply to swapchains created with the same parameters
-- included in the pNext chain of SwapchainCreateInfoKHR.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_get_surface_capabilities2, StructureType,
-- SurfaceKHR, getDeviceGroupSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfacePresentModes2EXT
data PhysicalDeviceSurfaceInfo2KHR (es :: [Type])
PhysicalDeviceSurfaceInfo2KHR :: Chain es -> SurfaceKHR -> PhysicalDeviceSurfaceInfo2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceSurfaceInfo2KHR] :: PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) -> Chain es
-- | surface is the surface that will be associated with the
-- swapchain.
[$sel:surface:PhysicalDeviceSurfaceInfo2KHR] :: PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) -> SurfaceKHR
-- | VkPresentModeKHR - Presentation mode supported for a surface
--
-- Description
--
-- The supported ImageUsageFlagBits of the presentable images of a
-- swapchain created for a surface may differ depending on the
-- presentation mode, and can be determined as per the table below:
--
-- TODO: table
--
-- Presentable image usage queries
--
-- Note
--
-- For reference, the mode indicated by PRESENT_MODE_FIFO_KHR is
-- equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap
-- interval of 1, while the mode indicated by
-- PRESENT_MODE_FIFO_RELAXED_KHR is equivalent to the behavior of
-- {wgl|glX}SwapBuffers with a swap interval of -1 (from the
-- {WGL|GLX}_EXT_swap_control_tear extensions).
--
-- See Also
--
-- VK_KHR_surface, SwapchainCreateInfoKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR
newtype PresentModeKHR
PresentModeKHR :: Int32 -> PresentModeKHR
-- | PRESENT_MODE_IMMEDIATE_KHR specifies that the presentation
-- engine does not wait for a vertical blanking period to update the
-- current image, meaning this mode may result in visible tearing.
-- No internal queuing of presentation requests is needed, as the
-- requests are applied immediately.
pattern PRESENT_MODE_IMMEDIATE_KHR :: PresentModeKHR
-- | PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal single-entry
-- queue is used to hold pending presentation requests. If the queue is
-- full when a new presentation request is received, the new request
-- replaces the existing entry, and any images associated with the prior
-- entry become available for re-use by the application. One request is
-- removed from the queue and processed during each vertical blanking
-- period in which the queue is non-empty.
pattern PRESENT_MODE_MAILBOX_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_KHR specifies that the presentation engine
-- waits for the next vertical blanking period to update the current
-- image. Tearing cannot be observed. An internal queue is used to
-- hold pending presentation requests. New requests are appended to the
-- end of the queue, and one request is removed from the beginning of the
-- queue and processed during each vertical blanking period in which the
-- queue is non-empty. This is the only value of presentMode
-- that is required to be supported.
pattern PRESENT_MODE_FIFO_KHR :: PresentModeKHR
-- | PRESENT_MODE_FIFO_RELAXED_KHR specifies that the presentation
-- engine generally waits for the next vertical blanking period to update
-- the current image. If a vertical blanking period has already passed
-- since the last update of the current image then the presentation
-- engine does not wait for another vertical blanking period for the
-- update, meaning this mode may result in visible tearing in this
-- case. This mode is useful for reducing visual stutter with an
-- application that will mostly present a new image before the next
-- vertical blanking period, but may occasionally be late, and present a
-- new image just after the next vertical blanking period. An internal
-- queue is used to hold pending presentation requests. New requests are
-- appended to the end of the queue, and one request is removed from the
-- beginning of the queue and processed during or after each vertical
-- blanking period in which the queue is non-empty.
pattern PRESENT_MODE_FIFO_RELAXED_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine periodically updates the current image on its
-- regular refresh cycle. The application is only required to make one
-- initial presentation request, after which the presentation engine
-- must update the current image without any need for further
-- presentation requests. The application can indicate the image
-- contents have been updated by making a presentation request, but this
-- does not guarantee the timing of when it will be updated. This mode
-- may result in visible tearing if rendering to the image is not
-- timed correctly.
pattern PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: PresentModeKHR
-- | PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
-- presentation engine and application have concurrent access to a single
-- image, which is referred to as a shared presentable image. The
-- presentation engine is only required to update the current image after
-- a new presentation request is received. Therefore the application
-- must make a presentation request whenever an update is
-- required. However, the presentation engine may update the
-- current image at any point, meaning this mode may result in
-- visible tearing.
pattern PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: PresentModeKHR
-- | VkDeviceGroupPresentModeFlagBitsKHR - Bitmask specifying supported
-- device group present modes
--
-- See Also
--
-- VK_KHR_device_group, VK_KHR_surface,
-- VK_KHR_swapchain, VK_VERSION_1_1,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupPresentModeFlagsKHR
newtype DeviceGroupPresentModeFlagBitsKHR
DeviceGroupPresentModeFlagBitsKHR :: Flags -> DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR specifies that any
-- physical device with a presentation engine can present its own
-- swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR specifies that any
-- physical device with a presentation engine can present
-- swapchain images from any physical device in its presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR specifies that any
-- physical device with a presentation engine can present the sum
-- of swapchain images from any physical devices in its
-- presentMask.
pattern DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
-- | DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR specifies
-- that multiple physical devices with a presentation engine can
-- each present their own swapchain images.
pattern DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: DeviceGroupPresentModeFlagBitsKHR
type DeviceGroupPresentModeFlagsKHR = DeviceGroupPresentModeFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveWin32InfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_full_screen_exclusive.FullScreenExclusiveEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT
-- | Name
--
-- VK_EXT_display_surface_counter - instance extension
--
-- VK_EXT_display_surface_counter
--
--
-- - Name String
-- VK_EXT_display_surface_counter
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 91
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Pierre Boudier,
-- NVIDIA
- James Jones, NVIDIA
- Damien Leone,
-- NVIDIA
- Pierre-Loup Griffais, Valve
- Daniel Vetter,
-- Intel
--
--
-- Description
--
-- This extension defines a vertical blanking period counter associated
-- with display surfaces. It provides a mechanism to query support for
-- such a counter from a SurfaceKHR object.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-12-13 (James Jones)
--
--
-- See Also
--
-- SurfaceCapabilities2EXT, SurfaceCounterFlagBitsEXT,
-- SurfaceCounterFlagsEXT,
-- getPhysicalDeviceSurfaceCapabilities2EXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_display_surface_counter
-- | vkGetPhysicalDeviceSurfaceCapabilities2EXT - Query surface
-- capabilities
--
-- Description
--
-- getPhysicalDeviceSurfaceCapabilities2EXT behaves similarly to
-- getPhysicalDeviceSurfaceCapabilitiesKHR, with the ability to
-- return extended information by adding extending structures to the
-- pNext chain of its pSurfaceCapabilities parameter.
--
-- Valid Usage
--
--
-- - [[VUID-{refpage}-surface-06211]] surface must be
-- supported by physicalDevice, as reported by
-- getPhysicalDeviceSurfaceSupportKHR or an equivalent
-- platform-specific mechanism
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - surface must be a valid SurfaceKHR
-- handle
-- - pSurfaceCapabilities must be a valid pointer to a
-- SurfaceCapabilities2EXT structure
-- - Both of physicalDevice, and surface must
-- have been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_surface_counter, PhysicalDevice,
-- SurfaceCapabilities2EXT, SurfaceKHR
getPhysicalDeviceSurfaceCapabilities2EXT :: forall io. MonadIO io => PhysicalDevice -> SurfaceKHR -> io SurfaceCapabilities2EXT
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT :: StructureType
pattern SURFACE_COUNTER_VBLANK_EXT :: SurfaceCounterFlagBitsEXT
-- | VkSurfaceCapabilities2EXT - Structure describing capabilities of a
-- surface
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_display_surface_counter, CompositeAlphaFlagsKHR,
-- Extent2D, ImageUsageFlags, StructureType,
-- SurfaceCounterFlagsEXT, SurfaceTransformFlagBitsKHR,
-- SurfaceTransformFlagsKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT
data SurfaceCapabilities2EXT
SurfaceCapabilities2EXT :: Word32 -> Word32 -> Extent2D -> Extent2D -> Extent2D -> Word32 -> SurfaceTransformFlagsKHR -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagsKHR -> ImageUsageFlags -> SurfaceCounterFlagsEXT -> SurfaceCapabilities2EXT
-- | minImageCount is the minimum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- at least one.
[$sel:minImageCount:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32
-- | maxImageCount is the maximum number of images the specified
-- device supports for a swapchain created for the surface, and will be
-- either 0, or greater than or equal to minImageCount. A value
-- of 0 means that there is no limit on the number of images, though
-- there may be limits related to the total amount of memory used
-- by presentable images.
[$sel:maxImageCount:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32
-- | currentExtent is the current width and height of the surface,
-- or the special value (0xFFFFFFFF, 0xFFFFFFFF) indicating that the
-- surface size will be determined by the extent of a swapchain targeting
-- the surface.
[$sel:currentExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D
-- | minImageExtent contains the smallest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be less than or equal to the
-- corresponding width and height of
-- currentExtent, unless currentExtent has the special
-- value described above.
[$sel:minImageExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D
-- | maxImageExtent contains the largest valid swapchain extent
-- for the surface on the specified device. The width and
-- height of the extent will each be greater than or equal to
-- the corresponding width and height of
-- minImageExtent. The width and height of the
-- extent will each be greater than or equal to the corresponding
-- width and height of currentExtent, unless
-- currentExtent has the special value described above.
[$sel:maxImageExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D
-- | maxImageArrayLayers is the maximum number of layers
-- presentable images can have for a swapchain created for this
-- device and surface, and will be at least one.
[$sel:maxImageArrayLayers:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32
-- | supportedTransforms is a bitmask of
-- SurfaceTransformFlagBitsKHR indicating the presentation
-- transforms supported for the surface on the specified device. At least
-- one bit will be set.
[$sel:supportedTransforms:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> SurfaceTransformFlagsKHR
-- | currentTransform is SurfaceTransformFlagBitsKHR value
-- indicating the surface’s current transform relative to the
-- presentation engine’s natural orientation.
[$sel:currentTransform:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> SurfaceTransformFlagBitsKHR
-- | supportedCompositeAlpha is a bitmask of
-- CompositeAlphaFlagBitsKHR, representing the alpha compositing
-- modes supported by the presentation engine for the surface on the
-- specified device, and at least one bit will be set. Opaque composition
-- can be achieved in any alpha compositing mode by either using
-- an image format that has no alpha component, or by ensuring that all
-- pixels in the presentable images have an alpha value of 1.0.
[$sel:supportedCompositeAlpha:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> CompositeAlphaFlagsKHR
-- | supportedUsageFlags is a bitmask of ImageUsageFlagBits
-- representing the ways the application can use the presentable
-- images of a swapchain created with PresentModeKHR set to
-- PRESENT_MODE_IMMEDIATE_KHR, PRESENT_MODE_MAILBOX_KHR,
-- PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR
-- for the surface on the specified device.
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT must be included in the
-- set. Implementations may support additional usages.
[$sel:supportedUsageFlags:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> ImageUsageFlags
-- | supportedSurfaceCounters is a bitmask of
-- SurfaceCounterFlagBitsEXT indicating the supported surface
-- counter types.
--
-- supportedSurfaceCounters must not include
-- SURFACE_COUNTER_VBLANK_BIT_EXT unless the surface queried is a
-- display surface
[$sel:supportedSurfaceCounters:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> SurfaceCounterFlagsEXT
type SurfaceCounterFlagsEXT = SurfaceCounterFlagBitsEXT
-- | VkSurfaceCounterFlagBitsEXT - Surface-relative counter types
--
-- See Also
--
-- VK_EXT_display_surface_counter, SurfaceCounterFlagsEXT,
-- getSwapchainCounterEXT
newtype SurfaceCounterFlagBitsEXT
SurfaceCounterFlagBitsEXT :: Flags -> SurfaceCounterFlagBitsEXT
-- | SURFACE_COUNTER_VBLANK_BIT_EXT specifies a counter incrementing
-- once every time a vertical blanking period occurs on the display
-- associated with the surface.
pattern SURFACE_COUNTER_VBLANK_BIT_EXT :: SurfaceCounterFlagBitsEXT
type EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1
pattern EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION :: forall a. Integral a => a
type EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter"
pattern EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
-- device
--
-- Description
--
-- These values are described as follows:
--
-- See Also
--
-- VK_KHR_surface, CompositeAlphaFlagsKHR,
-- SwapchainCreateInfoKHR
newtype CompositeAlphaFlagBitsKHR
CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha component, if it
-- exists, of the images is ignored in the compositing process. Instead,
-- the image is treated as if it has a constant alpha of 1.0.
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha component, if
-- it exists, of the images is respected in the compositing process. The
-- non-alpha components of the image are expected to already be
-- multiplied by the alpha component by the application.
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha component,
-- if it exists, of the images is respected in the compositing process.
-- The non-alpha components of the image are not expected to already be
-- multiplied by the alpha component by the application; instead, the
-- compositor will multiply the non-alpha components of the image by the
-- alpha component during compositing.
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
-- | COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the
-- presentation engine treats the alpha component in the images is
-- unknown to the Vulkan API. Instead, the application is responsible for
-- setting the composite alpha blending mode using native window system
-- commands. If the application does not set the blending mode using
-- native window system commands, then a platform-specific default will
-- be used.
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
-- device
--
-- See Also
--
-- VK_KHR_surface,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CopyCommandTransformInfoQCOM,
-- DisplaySurfaceCreateInfoKHR,
-- RenderPassTransformBeginInfoQCOM,
-- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR,
-- SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR
newtype SurfaceTransformFlagBitsKHR
SurfaceTransformFlagBitsKHR :: Flags -> SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_IDENTITY_BIT_KHR specifies that image content
-- is presented without being transformed.
pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_90_BIT_KHR specifies that image
-- content is rotated 90 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_180_BIT_KHR specifies that image
-- content is rotated 180 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_ROTATE_270_BIT_KHR specifies that image
-- content is rotated 270 degrees clockwise.
pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR specifies that
-- image content is mirrored horizontally.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR specifies
-- that image content is mirrored horizontally, then rotated 90 degrees
-- clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 180 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
-- specifies that image content is mirrored horizontally, then rotated
-- 270 degrees clockwise.
pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
-- | SURFACE_TRANSFORM_INHERIT_BIT_KHR specifies that the
-- presentation transform is not specified, and is instead determined by
-- platform-specific considerations and mechanisms outside Vulkan.
pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT
-- | Name
--
-- VK_EXT_display_control - device extension
--
-- VK_EXT_display_control
--
--
-- - Name String VK_EXT_display_control
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 92
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_display_surface_counter
- Requires
-- VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Pierre Boudier,
-- NVIDIA
- James Jones, NVIDIA
- Damien Leone,
-- NVIDIA
- Pierre-Loup Griffais, Valve
- Daniel Vetter,
-- Intel
--
--
-- Description
--
-- This extension defines a set of utility functions for use with the
-- VK_KHR_display and VK_KHR_display_swapchain
-- extensions.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this extension add an explicit “WaitForVsync” API or a fence
-- signaled at vsync that the application can wait on?
--
-- RESOLVED: A fence. A separate API could later be provided that
-- allows exporting the fence to a native object that could be inserted
-- into standard run loops on POSIX and Windows systems.
--
-- 2) Should callbacks be added for a vsync event, or in general to
-- monitor events in Vulkan?
--
-- RESOLVED: No, fences should be used. Some events are generated
-- by interrupts which are managed in the kernel. In order to use a
-- callback provided by the application, drivers would need to have the
-- userspace driver spawn threads that would wait on the kernel event,
-- and hence the callbacks could be difficult for the application to
-- synchronize with its other work given they would arrive on a foreign
-- thread.
--
-- 3) Should vblank or scanline events be exposed?
--
-- RESOLVED: Vblank events. Scanline events could be added by a
-- separate extension, but the latency of processing an interrupt and
-- waking up a userspace event is high enough that the accuracy of a
-- scanline event would be rather low. Further, per-scanline interrupts
-- are not supported by all hardware.
--
-- Version History
--
--
-- - Revision 1, 2016-12-13 (James Jones)
--
--
-- See Also
--
-- DeviceEventInfoEXT, DeviceEventTypeEXT,
-- DisplayEventInfoEXT, DisplayEventTypeEXT,
-- DisplayPowerInfoEXT, DisplayPowerStateEXT,
-- SwapchainCounterCreateInfoEXT, displayPowerControlEXT,
-- getSwapchainCounterEXT, registerDeviceEventEXT,
-- registerDisplayEventEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_display_control
-- | vkDisplayPowerControlEXT - Set the power state of a display
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - display must be a valid DisplayKHR
-- handle
-- - pDisplayPowerInfo must be a valid pointer to a
-- valid DisplayPowerInfoEXT structure
-- - Both of device, and display must have
-- been created, allocated, or retrieved from the same
-- PhysicalDevice
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_control, Device, DisplayKHR,
-- DisplayPowerInfoEXT
displayPowerControlEXT :: forall io. MonadIO io => Device -> DisplayKHR -> DisplayPowerInfoEXT -> io ()
-- | vkRegisterDeviceEventEXT - Signal a fence when a device event occurs
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pDeviceEventInfo must be a valid pointer to a
-- valid DeviceEventInfoEXT structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pFence must be a valid pointer to a Fence
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_control, AllocationCallbacks,
-- Device, DeviceEventInfoEXT, Fence
registerDeviceEventEXT :: forall io. MonadIO io => Device -> DeviceEventInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io Fence
-- | vkRegisterDisplayEventEXT - Signal a fence when a display event occurs
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - display must be a valid DisplayKHR
-- handle
-- - pDisplayEventInfo must be a valid pointer to a
-- valid DisplayEventInfoEXT structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pFence must be a valid pointer to a Fence
-- handle
-- - Both of device, and display must have
-- been created, allocated, or retrieved from the same
-- PhysicalDevice
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_control, AllocationCallbacks,
-- Device, DisplayEventInfoEXT, DisplayKHR,
-- Fence
registerDisplayEventEXT :: forall io. MonadIO io => Device -> DisplayKHR -> DisplayEventInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io Fence
-- | vkGetSwapchainCounterEXT - Query the current value of a surface
-- counter
--
-- Description
--
-- If a counter is not available because the swapchain is out of date,
-- the implementation may return ERROR_OUT_OF_DATE_KHR.
--
-- Valid Usage
--
--
-- - One or more present commands on swapchain must
-- have been processed by the presentation engine
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapchain must be a valid SwapchainKHR
-- handle
-- - counter must be a valid
-- SurfaceCounterFlagBitsEXT value
-- - pCounterValue must be a valid pointer to a
-- uint64_t value
-- - Both of device, and swapchain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_control, Device,
-- SurfaceCounterFlagBitsEXT, SwapchainKHR
getSwapchainCounterEXT :: forall io. MonadIO io => Device -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> io ("counterValue" ::: Word64)
-- | VkDisplayPowerInfoEXT - Describe the power state of a display
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_display_control, DisplayPowerStateEXT,
-- StructureType, displayPowerControlEXT
data DisplayPowerInfoEXT
DisplayPowerInfoEXT :: DisplayPowerStateEXT -> DisplayPowerInfoEXT
-- | powerState is a DisplayPowerStateEXT value specifying
-- the new power state of the display.
--
-- powerState must be a valid DisplayPowerStateEXT
-- value
[$sel:powerState:DisplayPowerInfoEXT] :: DisplayPowerInfoEXT -> DisplayPowerStateEXT
-- | VkDeviceEventInfoEXT - Describe a device event to create
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_display_control, DeviceEventTypeEXT,
-- StructureType, registerDeviceEventEXT
data DeviceEventInfoEXT
DeviceEventInfoEXT :: DeviceEventTypeEXT -> DeviceEventInfoEXT
-- | deviceEvent must be a valid DeviceEventTypeEXT
-- value
[$sel:deviceEvent:DeviceEventInfoEXT] :: DeviceEventInfoEXT -> DeviceEventTypeEXT
-- | VkDisplayEventInfoEXT - Describe a display event to create
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_display_control, DisplayEventTypeEXT,
-- StructureType, registerDisplayEventEXT
data DisplayEventInfoEXT
DisplayEventInfoEXT :: DisplayEventTypeEXT -> DisplayEventInfoEXT
-- | displayEvent is a DisplayEventTypeEXT specifying when
-- the fence will be signaled.
--
-- displayEvent must be a valid
-- DisplayEventTypeEXT value
[$sel:displayEvent:DisplayEventInfoEXT] :: DisplayEventInfoEXT -> DisplayEventTypeEXT
-- | VkSwapchainCounterCreateInfoEXT - Specify the surface counters desired
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_display_control, StructureType,
-- SurfaceCounterFlagsEXT
data SwapchainCounterCreateInfoEXT
SwapchainCounterCreateInfoEXT :: SurfaceCounterFlagsEXT -> SwapchainCounterCreateInfoEXT
-- | surfaceCounters is a bitmask of
-- SurfaceCounterFlagBitsEXT specifying surface counters to enable
-- for the swapchain.
[$sel:surfaceCounters:SwapchainCounterCreateInfoEXT] :: SwapchainCounterCreateInfoEXT -> SurfaceCounterFlagsEXT
-- | VkDisplayPowerStateEXT - Possible power states for a display
--
-- See Also
--
-- VK_EXT_display_control, DisplayPowerInfoEXT
newtype DisplayPowerStateEXT
DisplayPowerStateEXT :: Int32 -> DisplayPowerStateEXT
-- | DISPLAY_POWER_STATE_OFF_EXT specifies that the display is
-- powered down.
pattern DISPLAY_POWER_STATE_OFF_EXT :: DisplayPowerStateEXT
-- | DISPLAY_POWER_STATE_SUSPEND_EXT specifies that the display is
-- put into a low power mode, from which it may be able to
-- transition back to DISPLAY_POWER_STATE_ON_EXT more quickly than
-- if it were in DISPLAY_POWER_STATE_OFF_EXT. This state
-- may be the same as DISPLAY_POWER_STATE_OFF_EXT.
pattern DISPLAY_POWER_STATE_SUSPEND_EXT :: DisplayPowerStateEXT
-- | DISPLAY_POWER_STATE_ON_EXT specifies that the display is
-- powered on.
pattern DISPLAY_POWER_STATE_ON_EXT :: DisplayPowerStateEXT
-- | VkDeviceEventTypeEXT - Events that can occur on a device object
--
-- See Also
--
-- VK_EXT_display_control, DeviceEventInfoEXT
newtype DeviceEventTypeEXT
DeviceEventTypeEXT :: Int32 -> DeviceEventTypeEXT
-- | DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT specifies that the fence
-- is signaled when a display is plugged into or unplugged from the
-- specified device. Applications can use this notification to
-- determine when they need to re-enumerate the available displays on a
-- device.
pattern DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: DeviceEventTypeEXT
-- | VkDisplayEventTypeEXT - Events that can occur on a display object
--
-- See Also
--
-- VK_EXT_display_control, DisplayEventInfoEXT
newtype DisplayEventTypeEXT
DisplayEventTypeEXT :: Int32 -> DisplayEventTypeEXT
-- | DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT specifies that the fence
-- is signaled when the first pixel of the next display refresh cycle
-- leaves the display engine for the display.
pattern DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT :: DisplayEventTypeEXT
type EXT_DISPLAY_CONTROL_SPEC_VERSION = 1
pattern EXT_DISPLAY_CONTROL_SPEC_VERSION :: forall a. Integral a => a
type EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control"
pattern EXT_DISPLAY_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkSurfaceCounterFlagBitsEXT - Surface-relative counter types
--
-- See Also
--
-- VK_EXT_display_surface_counter, SurfaceCounterFlagsEXT,
-- getSwapchainCounterEXT
newtype SurfaceCounterFlagBitsEXT
SurfaceCounterFlagBitsEXT :: Flags -> SurfaceCounterFlagBitsEXT
-- | SURFACE_COUNTER_VBLANK_BIT_EXT specifies a counter incrementing
-- once every time a vertical blanking period occurs on the display
-- associated with the surface.
pattern SURFACE_COUNTER_VBLANK_BIT_EXT :: SurfaceCounterFlagBitsEXT
type SurfaceCounterFlagsEXT = SurfaceCounterFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_display_control.DisplayEventTypeEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_display_control.DeviceEventTypeEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.DisplayPowerInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_display_control.DisplayPowerStateEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT
-- | Name
--
-- VK_EXT_directfb_surface - instance extension
--
-- VK_EXT_directfb_surface
--
--
-- - Name String VK_EXT_directfb_surface
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 347
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_surface
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-06-16
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
--
--
-- Description
--
-- The VK_EXT_directfb_surface extension is an instance
-- extension. It provides a mechanism to create a SurfaceKHR
-- object (defined by the VK_KHR_surface extension) that refers
-- to a DirectFB IDirectFBSurface, as well as a query to determine
-- support for rendering via DirectFB.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-06-16 (Nicolas Caramelli)
--
--
-- See Also
--
-- DirectFBSurfaceCreateFlagsEXT,
-- DirectFBSurfaceCreateInfoEXT, createDirectFBSurfaceEXT,
-- getPhysicalDeviceDirectFBPresentationSupportEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_directfb_surface
-- | vkCreateDirectFBSurfaceEXT - Create a SurfaceKHR object for a
-- DirectFB surface
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_directfb_surface, AllocationCallbacks,
-- DirectFBSurfaceCreateInfoEXT, Instance,
-- SurfaceKHR
createDirectFBSurfaceEXT :: forall io. MonadIO io => Instance -> DirectFBSurfaceCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
-- | vkGetPhysicalDeviceDirectFBPresentationSupportEXT - Query physical
-- device for presentation with DirectFB
--
-- Description
--
-- This platform-specific function can be called prior to creating
-- a surface.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_directfb_surface, PhysicalDevice
getPhysicalDeviceDirectFBPresentationSupportEXT :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> ("dfb" ::: Ptr IDirectFB) -> io Bool
-- | VkDirectFBSurfaceCreateInfoEXT - Structure specifying parameters of a
-- newly created DirectFB surface object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_directfb_surface, DirectFBSurfaceCreateFlagsEXT,
-- StructureType, createDirectFBSurfaceEXT
data DirectFBSurfaceCreateInfoEXT
DirectFBSurfaceCreateInfoEXT :: DirectFBSurfaceCreateFlagsEXT -> Ptr IDirectFB -> Ptr IDirectFBSurface -> DirectFBSurfaceCreateInfoEXT
-- | flags is reserved for future use.
--
-- flags must be 0
[$sel:flags:DirectFBSurfaceCreateInfoEXT] :: DirectFBSurfaceCreateInfoEXT -> DirectFBSurfaceCreateFlagsEXT
-- | dfb is a pointer to the IDirectFB main interface of
-- DirectFB.
--
-- dfb must point to a valid DirectFB IDirectFB
[$sel:dfb:DirectFBSurfaceCreateInfoEXT] :: DirectFBSurfaceCreateInfoEXT -> Ptr IDirectFB
-- | surface is a pointer to a IDirectFBSurface surface
-- interface.
--
-- surface must point to a valid DirectFB
-- IDirectFBSurface
[$sel:surface:DirectFBSurfaceCreateInfoEXT] :: DirectFBSurfaceCreateInfoEXT -> Ptr IDirectFBSurface
-- | VkDirectFBSurfaceCreateFlagsEXT - Reserved for future use
--
-- Description
--
-- DirectFBSurfaceCreateFlagsEXT is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_directfb_surface, DirectFBSurfaceCreateInfoEXT
newtype DirectFBSurfaceCreateFlagsEXT
DirectFBSurfaceCreateFlagsEXT :: Flags -> DirectFBSurfaceCreateFlagsEXT
type EXT_DIRECTFB_SURFACE_SPEC_VERSION = 1
pattern EXT_DIRECTFB_SURFACE_SPEC_VERSION :: forall a. Integral a => a
type EXT_DIRECTFB_SURFACE_EXTENSION_NAME = "VK_EXT_directfb_surface"
pattern EXT_DIRECTFB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data IDirectFB
data IDirectFBSurface
-- | VkSurfaceKHR - Opaque handle to a surface object
--
-- Description
--
-- The VK_KHR_surface extension declares the SurfaceKHR
-- object, and provides a function for destroying SurfaceKHR
-- objects. Separate platform-specific extensions each provide a function
-- for creating a SurfaceKHR object for the respective platform.
-- From the application’s perspective this is an opaque handle, just like
-- the handles of other Vulkan objects.
--
-- See Also
--
-- VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR,
-- SwapchainCreateInfoKHR, createAndroidSurfaceKHR,
-- createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR,
-- createHeadlessSurfaceEXT, createIOSSurfaceMVK,
-- createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR,
-- getPhysicalDevicePresentRectanglesKHR,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR
newtype SurfaceKHR
SurfaceKHR :: Word64 -> SurfaceKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateFlagsEXT
-- | Name
--
-- VK_EXT_direct_mode_display - instance extension
--
-- VK_EXT_direct_mode_display
--
--
-- - Name String VK_EXT_direct_mode_display
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 89
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Pierre Boudier,
-- NVIDIA
- James Jones, NVIDIA
- Damien Leone,
-- NVIDIA
- Pierre-Loup Griffais, Valve
- Liam Middlebrook,
-- NVIDIA
--
--
-- Description
--
-- This is extension, along with related platform extensions, allows
-- applications to take exclusive control of displays associated with a
-- native windowing system. This is especially useful for virtual reality
-- applications that wish to hide HMDs (head mounted displays) from the
-- native platform’s display management system, desktop, and/or other
-- applications.
--
-- New Commands
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should this extension and its related platform-specific extensions
-- leverage VK_KHR_display, or provide separate equivalent
-- interfaces.
--
-- RESOLVED: Use VK_KHR_display concepts and objects.
-- VK_KHR_display can be used to enumerate all displays on the
-- system, including those attached to/in use by a window system or
-- native platform, but VK_KHR_display_swapchain will fail to
-- create a swapchain on in-use displays. This extension and its
-- platform-specific children will allow applications to grab in-use
-- displays away from window systems and/or native platforms, allowing
-- them to be used with VK_KHR_display_swapchain.
--
-- 2) Are separate calls needed to acquire displays and enable direct
-- mode?
--
-- RESOLVED: No, these operations happen in one combined command.
-- Acquiring a display puts it into direct mode.
--
-- Version History
--
--
-- - Revision 1, 2016-12-13 (James Jones)
--
--
-- See Also
--
-- releaseDisplayEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_direct_mode_display
-- | vkReleaseDisplayEXT - Release access to an acquired VkDisplayKHR
--
-- Return Codes
--
--
--
-- See Also
--
-- VK_EXT_direct_mode_display, DisplayKHR,
-- PhysicalDevice
releaseDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> io ()
type EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1
pattern EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
type EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display"
pattern EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | Name
--
-- VK_EXT_debug_utils - instance extension
--
-- VK_EXT_debug_utils
--
--
-- - Name String VK_EXT_debug_utils
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 129
-- - Revision 2
-- - Extension and Version Dependencies
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-04-03
--
--
--
-- - Revision 2
-- - IP Status No known IP claims.
-- - Dependencies
- This extension is written
-- against version 1.0 of the Vulkan API.
- Requires
-- ObjectType
-- - Contributors
- Mark Young,
-- LunarG
- Baldur Karlsson
- Ian Elliott,
-- Google
- Courtney Goeltzenleuchter, Google
- Karl Schultz,
-- LunarG
- Mark Lobodzinski, LunarG
- Mike Schuchardt,
-- LunarG
- Jaakko Konttinen, AMD
- Dan Ginsburg, Valve
-- Software
- Rolando Olivares, Epic Games
- Dan Baker, Oxide
-- Games
- Kyle Spagnoli, NVIDIA
- Jon Ashburn,
-- LunarG
- Piers Daniell, NVIDIA
--
--
-- Description
--
-- Due to the nature of the Vulkan interface, there is very little error
-- information available to the developer and application. By using the
-- VK_EXT_debug_utils extension, developers can obtain
-- more information. When combined with validation layers, even more
-- detailed feedback on the application’s use of Vulkan will be provided.
--
-- This extension provides the following capabilities:
--
--
-- - The ability to create a debug messenger which will pass along
-- debug messages to an application supplied callback.
-- - The ability to identify specific Vulkan objects using a name or
-- tag to improve tracking.
-- - The ability to identify specific sections within a Queue or
-- CommandBuffer using labels to aid organization and offline
-- analysis in external tools.
--
--
-- The main difference between this extension and
-- VK_EXT_debug_report and VK_EXT_debug_marker is that
-- those extensions use DebugReportObjectTypeEXT to identify
-- objects. This extension uses the core ObjectType in place of
-- DebugReportObjectTypeEXT. The primary reason for this move is
-- that no future object type handle enumeration values will be added to
-- DebugReportObjectTypeEXT since the creation of
-- ObjectType.
--
-- In addition, this extension combines the functionality of both
-- VK_EXT_debug_report and VK_EXT_debug_marker by
-- allowing object name and debug markers (now called labels) to be
-- returned to the application’s callback function. This should assist in
-- clarifying the details of a debug message including: what objects are
-- involved and potentially which location within a Queue or
-- CommandBuffer the message occurred.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Function Pointers
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- Example 1
--
-- VK_EXT_debug_utils allows an application to register multiple
-- callbacks with any Vulkan component wishing to report debug
-- information. Some callbacks may log the information to a file, others
-- may cause a debug break point or other application defined behavior.
-- An application can register callbacks even when no validation
-- layers are enabled, but they will only be called for loader and, if
-- implemented, driver events.
--
-- To capture events that occur while creating or destroying an instance
-- an application can link a
-- DebugUtilsMessengerCreateInfoEXT structure to the
-- pNext element of the InstanceCreateInfo structure
-- given to createInstance.
--
-- Example uses: Create three callback objects. One will log errors and
-- warnings to the debug console using Windows
-- OutputDebugString. The second will cause the debugger to
-- break at that callback when an error happens and the third will log
-- warnings to stdout.
--
--
-- extern VkInstance instance;
-- VkResult res;
-- VkDebugUtilsMessengerEXT cb1, cb2, cb3;
--
-- // Must call extension functions through a function pointer:
-- PFN_vkCreateDebugUtilsMessengerEXT pfnCreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT");
-- PFN_vkDestroyDebugUtilsMessengerEXT pfnDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT");
--
-- VkDebugUtilsMessengerCreateInfoEXT callback1 = {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, // sType
-- NULL, // pNext
-- 0, // flags
-- VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | // messageSeverity
-- VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
-- VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | // messageType
-- VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
-- myOutputDebugString, // pfnUserCallback
-- NULL // pUserData
-- };
-- res = pfnCreateDebugUtilsMessengerEXT(instance, &callback1, NULL, &cb1);
-- if (res != VK_SUCCESS) {
-- // Do error handling for VK_ERROR_OUT_OF_MEMORY
-- }
--
-- callback1.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT;
-- callback1.pfnUserCallback = myDebugBreak;
-- callback1.pUserData = NULL;
-- res = pfnCreateDebugUtilsMessengerEXT(instance, &callback1, NULL, &cb2);
-- if (res != VK_SUCCESS) {
-- // Do error handling for VK_ERROR_OUT_OF_MEMORY
-- }
--
-- VkDebugUtilsMessengerCreateInfoEXT callback3 = {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, // sType
-- NULL, // pNext
-- 0, // flags
-- VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT, // messageSeverity
-- VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | // messageType
-- VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
-- mystdOutLogger, // pfnUserCallback
-- NULL // pUserData
-- };
-- res = pfnCreateDebugUtilsMessengerEXT(instance, &callback3, NULL, &cb3);
-- if (res != VK_SUCCESS) {
-- // Do error handling for VK_ERROR_OUT_OF_MEMORY
-- }
--
-- ...
--
-- // Remove callbacks when cleaning up
-- pfnDestroyDebugUtilsMessengerEXT(instance, cb1, NULL);
-- pfnDestroyDebugUtilsMessengerEXT(instance, cb2, NULL);
-- pfnDestroyDebugUtilsMessengerEXT(instance, cb3, NULL);
--
--
-- Example 2
--
-- Associate a name with an image, for easier debugging in external tools
-- or with validation layers that can print a friendly name when
-- referring to objects in error messages.
--
--
-- extern VkInstance instance;
-- extern VkDevice device;
-- extern VkImage image;
--
-- // Must call extension functions through a function pointer:
-- PFN_vkSetDebugUtilsObjectNameEXT pfnSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)vkGetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT");
--
-- // Set a name on the image
-- const VkDebugUtilsObjectNameInfoEXT imageNameInfo =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT, // sType
-- NULL, // pNext
-- VK_OBJECT_TYPE_IMAGE, // objectType
-- (uint64_t)image, // objectHandle
-- "Brick Diffuse Texture", // pObjectName
-- };
--
-- pfnSetDebugUtilsObjectNameEXT(device, &imageNameInfo);
--
-- // A subsequent error might print:
-- // Image 'Brick Diffuse Texture' (0xc0dec0dedeadbeef) is used in a
-- // command buffer with no memory bound to it.
--
--
-- Example 3
--
-- Annotating regions of a workload with naming information so that
-- offline analysis tools can display a more usable visualization of the
-- commands submitted.
--
--
-- extern VkInstance instance;
-- extern VkCommandBuffer commandBuffer;
--
-- // Must call extension functions through a function pointer:
-- PFN_vkQueueBeginDebugUtilsLabelEXT pfnQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)vkGetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT");
-- PFN_vkQueueEndDebugUtilsLabelEXT pfnQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)vkGetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT");
-- PFN_vkCmdBeginDebugUtilsLabelEXT pfnCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)vkGetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT");
-- PFN_vkCmdEndDebugUtilsLabelEXT pfnCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)vkGetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT");
-- PFN_vkCmdInsertDebugUtilsLabelEXT pfnCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)vkGetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT");
--
-- // Describe the area being rendered
-- const VkDebugUtilsLabelEXT houseLabel =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, // sType
-- NULL, // pNext
-- "Brick House", // pLabelName
-- { 1.0f, 0.0f, 0.0f, 1.0f }, // color
-- };
--
-- // Start an annotated group of calls under the 'Brick House' name
-- pfnCmdBeginDebugUtilsLabelEXT(commandBuffer, &houseLabel);
-- {
-- // A mutable structure for each part being rendered
-- VkDebugUtilsLabelEXT housePartLabel =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, // sType
-- NULL, // pNext
-- NULL, // pLabelName
-- { 0.0f, 0.0f, 0.0f, 0.0f }, // color
-- };
--
-- // Set the name and insert the marker
-- housePartLabel.pLabelName = "Walls";
-- pfnCmdInsertDebugUtilsLabelEXT(commandBuffer, &housePartLabel);
--
-- // Insert the drawcall for the walls
-- vkCmdDrawIndexed(commandBuffer, 1000, 1, 0, 0, 0);
--
-- // Insert a recursive region for two sets of windows
-- housePartLabel.pLabelName = "Windows";
-- pfnCmdBeginDebugUtilsLabelEXT(commandBuffer, &housePartLabel);
-- {
-- vkCmdDrawIndexed(commandBuffer, 75, 6, 1000, 0, 0);
-- vkCmdDrawIndexed(commandBuffer, 100, 2, 1450, 0, 0);
-- }
-- pfnCmdEndDebugUtilsLabelEXT(commandBuffer);
--
-- housePartLabel.pLabelName = "Front Door";
-- pfnCmdInsertDebugUtilsLabelEXT(commandBuffer, &housePartLabel);
--
-- vkCmdDrawIndexed(commandBuffer, 350, 1, 1650, 0, 0);
--
-- housePartLabel.pLabelName = "Roof";
-- pfnCmdInsertDebugUtilsLabelEXT(commandBuffer, &housePartLabel);
--
-- vkCmdDrawIndexed(commandBuffer, 500, 1, 2000, 0, 0);
-- }
-- // End the house annotation started above
-- pfnCmdEndDebugUtilsLabelEXT(commandBuffer);
--
-- // Do other work
--
-- vkEndCommandBuffer(commandBuffer);
--
-- // Describe the queue being used
-- const VkDebugUtilsLabelEXT queueLabel =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, // sType
-- NULL, // pNext
-- "Main Render Work", // pLabelName
-- { 0.0f, 1.0f, 0.0f, 1.0f }, // color
-- };
--
-- // Identify the queue label region
-- pfnQueueBeginDebugUtilsLabelEXT(queue, &queueLabel);
--
-- // Submit the work for the main render thread
-- const VkCommandBuffer cmd_bufs[] = {commandBuffer};
-- VkSubmitInfo submit_info = {.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
-- .pNext = NULL,
-- .waitSemaphoreCount = 0,
-- .pWaitSemaphores = NULL,
-- .pWaitDstStageMask = NULL,
-- .commandBufferCount = 1,
-- .pCommandBuffers = cmd_bufs,
-- .signalSemaphoreCount = 0,
-- .pSignalSemaphores = NULL};
-- vkQueueSubmit(queue, 1, &submit_info, fence);
--
-- // End the queue label region
-- pfnQueueEndDebugUtilsLabelEXT(queue);
--
--
-- Issues
--
-- 1) Should we just name this extension VK_EXT_debug_report2
--
-- RESOLVED: No. There is enough additional changes to the
-- structures to break backwards compatibility. So, a new name was
-- decided that would not indicate any interaction with the previous
-- extension.
--
-- 2) Will validation layers immediately support all the new features.
--
-- RESOLVED: Not immediately. As one can imagine, there is a lot
-- of work involved with converting the validation layer logging over to
-- the new functionality. Basic logging, as seen in the origin
-- VK_EXT_debug_report extension will be made available
-- immediately. However, adding the labels and object names will take
-- time. Since the priority for Khronos at this time is to continue
-- focusing on Valid Usage statements, it may take a while before the new
-- functionality is fully exposed.
--
-- 3) If the validation layers will not expose the new functionality
-- immediately, then what is the point of this extension?
--
-- RESOLVED: We needed a replacement for
-- VK_EXT_debug_report because the
-- DebugReportObjectTypeEXT enumeration will no longer be updated
-- and any new objects will need to be debugged using the new
-- functionality provided by this extension.
--
-- 4) Should this extension be split into two separate parts (1 extension
-- that is an instance extension providing the callback functionality,
-- and another device extension providing the general debug marker and
-- annotation functionality)?
--
-- RESOLVED: No, the functionality for this extension is too
-- closely related. If we did split up the extension, where would the
-- structures and enums live, and how would you define that the device
-- behavior in the instance extension is really only valid if the device
-- extension is enabled, and the functionality is passed in. It is
-- cleaner to just define this all as an instance extension, plus it
-- allows the application to enable all debug functionality provided with
-- one enable string during createInstance.
--
-- Version History
--
--
-- - Revision 1, 2017-09-14 (Mark Young and all listed
-- Contributors)
- Initial draft, based on
-- VK_EXT_debug_report and VK_EXT_debug_marker in
-- addition to previous feedback supplied from various companies
-- including Valve, Epic, and Oxide games.
--
--
--
-- - Revision 2, 2020-04-03 (Mark Young and Piers
-- Daniell)
- Updated to allow either NULL or an empty
-- string to be passed in for pObjectName in
-- DebugUtilsObjectNameInfoEXT, because the loader and various
-- drivers support NULL already.
--
--
-- See Also
--
-- PFN_vkDebugUtilsMessengerCallbackEXT,
-- DebugUtilsLabelEXT,
-- DebugUtilsMessageSeverityFlagBitsEXT,
-- DebugUtilsMessageSeverityFlagsEXT,
-- DebugUtilsMessageTypeFlagBitsEXT,
-- DebugUtilsMessageTypeFlagsEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCallbackDataFlagsEXT,
-- DebugUtilsMessengerCreateFlagsEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsMessengerEXT, DebugUtilsObjectNameInfoEXT,
-- DebugUtilsObjectTagInfoEXT, cmdBeginDebugUtilsLabelEXT,
-- cmdEndDebugUtilsLabelEXT, cmdInsertDebugUtilsLabelEXT,
-- createDebugUtilsMessengerEXT,
-- destroyDebugUtilsMessengerEXT,
-- queueBeginDebugUtilsLabelEXT,
-- queueEndDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT,
-- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT,
-- submitDebugUtilsMessageEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_debug_utils
-- | vkSetDebugUtilsObjectNameEXT - Give a user-friendly name to an object
--
-- Valid Usage
--
--
--
--
-- - pNameInfo->objectHandle must not be
-- NULL_HANDLE
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to pNameInfo->objectHandle must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsObjectNameInfoEXT,
-- Device
setDebugUtilsObjectNameEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io ()
-- | vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to pTagInfo->objectHandle must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsObjectTagInfoEXT,
-- Device
setDebugUtilsObjectTagEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io ()
-- | vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsLabelEXT, Queue
queueBeginDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
-- | vkQueueEndDebugUtilsLabelEXT - Close a queue debug label region
--
-- Description
--
-- The calls to queueBeginDebugUtilsLabelEXT and
-- queueEndDebugUtilsLabelEXT must be matched and balanced.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, Queue
queueEndDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> io ()
-- | vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsLabelEXT, Queue
queueInsertDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
-- | vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label
-- region
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pLabelInfo must be a valid pointer to a valid
-- DebugUtilsLabelEXT structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, CommandBuffer,
-- DebugUtilsLabelEXT
cmdBeginDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginDebugUtilsLabelEXT and cmdEndDebugUtilsLabelEXT
--
-- Note that cmdEndDebugUtilsLabelEXT is *not* called if an
-- exception is thrown by the inner action.
cmdUseDebugUtilsLabelEXT :: forall io r. MonadIO io => CommandBuffer -> DebugUtilsLabelEXT -> io r -> io r
-- | vkCmdEndDebugUtilsLabelEXT - Close a command buffer label region
--
-- Description
--
-- An application may open a debug label region in one command
-- buffer and close it in another, or otherwise split debug label regions
-- across multiple command buffers or multiple queue submissions. When
-- viewed from the linear series of submissions to a single queue, the
-- calls to cmdBeginDebugUtilsLabelEXT and
-- cmdEndDebugUtilsLabelEXT must be matched and balanced.
--
-- There can be problems reporting command buffer debug labels
-- during the recording process because command buffers may be
-- recorded out of sequence with the resulting execution order. Since the
-- recording order may be different, a solitary command buffer
-- may have an inconsistent view of the debug label regions by
-- itself. Therefore, if an issue occurs during the recording of a
-- command buffer, and the environment requires returning debug labels,
-- the implementation may return only those labels it is aware of.
-- This is true even if the implementation is aware of only the debug
-- labels within the command buffer being actively recorded.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, CommandBuffer
cmdEndDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> io ()
-- | vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pLabelInfo must be a valid pointer to a valid
-- DebugUtilsLabelEXT structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_utils, CommandBuffer,
-- DebugUtilsLabelEXT
cmdInsertDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
-- | vkCreateDebugUtilsMessengerEXT - Create a debug messenger object
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- The application must ensure that
-- createDebugUtilsMessengerEXT is not executed in parallel with
-- any Vulkan command that is also called with instance or child
-- of instance as the dispatchable argument.
--
-- See Also
--
-- VK_EXT_debug_utils, AllocationCallbacks,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsMessengerEXT, Instance
createDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugUtilsMessengerEXT
-- | A convenience wrapper to make a compatible pair of calls to
-- createDebugUtilsMessengerEXT and
-- destroyDebugUtilsMessengerEXT
--
-- To ensure that destroyDebugUtilsMessengerEXT 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.
withDebugUtilsMessengerEXT :: forall io r. MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> Maybe AllocationCallbacks -> (io DebugUtilsMessengerEXT -> (DebugUtilsMessengerEXT -> io ()) -> r) -> r
-- | vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- messenger was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- messenger was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - If messenger is not NULL_HANDLE,
-- messenger must be a valid
-- DebugUtilsMessengerEXT handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If messenger is a valid handle, it must have been
-- created, allocated, or retrieved from instance
--
--
-- Host Synchronization
--
--
-- - Host access to messenger must be externally
-- synchronized
--
--
-- The application must ensure that
-- destroyDebugUtilsMessengerEXT is not executed in parallel with
-- any Vulkan command that is also called with instance or child
-- of instance as the dispatchable argument.
--
-- See Also
--
-- VK_EXT_debug_utils, AllocationCallbacks,
-- DebugUtilsMessengerEXT, Instance
destroyDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream
--
-- Description
--
-- The call will propagate through the layers and generate callback(s) as
-- indicated by the message’s flags. The parameters are passed on to the
-- callback in addition to the pUserData value that was defined
-- at the time the messenger was registered.
--
-- Valid Usage
--
--
-- - The objectType member of each element of
-- pCallbackData->pObjects must not be
-- OBJECT_TYPE_UNKNOWN
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- See Also
--
-- VK_EXT_debug_utils,
-- DebugUtilsMessageSeverityFlagBitsEXT,
-- DebugUtilsMessageTypeFlagsEXT,
-- DebugUtilsMessengerCallbackDataEXT, Instance
submitDebugUtilsMessageEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> DebugUtilsMessengerCallbackDataEXT -> io ()
-- | VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give
-- to an object
--
-- Description
--
-- Applications may change the name associated with an object
-- simply by calling setDebugUtilsObjectNameEXT again with a new
-- string. If pObjectName is either NULL or an empty
-- string, then any previously set name is removed.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - objectType must be a valid ObjectType
-- value
-- - If pObjectName is not NULL, pObjectName
-- must be a null-terminated UTF-8 string
--
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessengerCallbackDataEXT,
-- ObjectType, StructureType,
-- setDebugUtilsObjectNameEXT
data DebugUtilsObjectNameInfoEXT
DebugUtilsObjectNameInfoEXT :: ObjectType -> Word64 -> Maybe ByteString -> DebugUtilsObjectNameInfoEXT
-- | objectType is a ObjectType specifying the type of the
-- object to be named.
[$sel:objectType:DebugUtilsObjectNameInfoEXT] :: DebugUtilsObjectNameInfoEXT -> ObjectType
-- | objectHandle is the object to be named.
[$sel:objectHandle:DebugUtilsObjectNameInfoEXT] :: DebugUtilsObjectNameInfoEXT -> Word64
-- | pObjectName is either NULL or a null-terminated
-- UTF-8 string specifying the name to apply to objectHandle.
[$sel:objectName:DebugUtilsObjectNameInfoEXT] :: DebugUtilsObjectNameInfoEXT -> Maybe ByteString
-- | VkDebugUtilsObjectTagInfoEXT - Specify parameters of a tag to attach
-- to an object
--
-- Description
--
-- The tagName parameter gives a name or identifier to the type
-- of data being tagged. This can be used by debugging layers to easily
-- filter for only data that can be used by that implementation.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_debug_utils, ObjectType, StructureType,
-- setDebugUtilsObjectTagEXT
data DebugUtilsObjectTagInfoEXT
DebugUtilsObjectTagInfoEXT :: ObjectType -> Word64 -> Word64 -> Word64 -> Ptr () -> DebugUtilsObjectTagInfoEXT
-- | objectType is a ObjectType specifying the type of the
-- object to be named.
--
-- objectType must not be OBJECT_TYPE_UNKNOWN
--
-- objectType must be a valid ObjectType value
[$sel:objectType:DebugUtilsObjectTagInfoEXT] :: DebugUtilsObjectTagInfoEXT -> ObjectType
-- | objectHandle is the object to be tagged.
--
-- objectHandle must be a valid Vulkan handle of the type
-- associated with objectType as defined in the and Vulkan
-- Handle Relationship table
[$sel:objectHandle:DebugUtilsObjectTagInfoEXT] :: DebugUtilsObjectTagInfoEXT -> Word64
-- | tagName is a numerical identifier of the tag.
[$sel:tagName:DebugUtilsObjectTagInfoEXT] :: DebugUtilsObjectTagInfoEXT -> Word64
-- | tagSize is the number of bytes of data to attach to the
-- object.
--
-- tagSize must be greater than 0
[$sel:tagSize:DebugUtilsObjectTagInfoEXT] :: DebugUtilsObjectTagInfoEXT -> Word64
-- | pTag is a pointer to an array of tagSize bytes
-- containing the data to be associated with the object.
--
-- pTag must be a valid pointer to an array of
-- tagSize bytes
[$sel:tag:DebugUtilsObjectTagInfoEXT] :: DebugUtilsObjectTagInfoEXT -> Ptr ()
-- | VkDebugUtilsLabelEXT - Specify parameters of a label region
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessengerCallbackDataEXT,
-- StructureType, cmdBeginDebugUtilsLabelEXT,
-- cmdInsertDebugUtilsLabelEXT,
-- queueBeginDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT
data DebugUtilsLabelEXT
DebugUtilsLabelEXT :: ByteString -> (Float, Float, Float, Float) -> DebugUtilsLabelEXT
-- | pLabelName is a pointer to a null-terminated UTF-8 string
-- containing the name of the label.
--
-- pLabelName must be a null-terminated UTF-8 string
[$sel:labelName:DebugUtilsLabelEXT] :: DebugUtilsLabelEXT -> ByteString
-- | color is an optional RGBA color value that can be associated
-- with the label. A particular implementation may choose to
-- ignore this color value. The values contain RGBA values in order, in
-- the range 0.0 to 1.0. If all elements in color are set to 0.0
-- then it is ignored.
[$sel:color:DebugUtilsLabelEXT] :: DebugUtilsLabelEXT -> (Float, Float, Float, Float)
-- | VkDebugUtilsMessengerCreateInfoEXT - Structure specifying parameters
-- of a newly created debug messenger
--
-- Description
--
-- For each DebugUtilsMessengerEXT that is created the
-- DebugUtilsMessengerCreateInfoEXT::messageSeverity and
-- DebugUtilsMessengerCreateInfoEXT::messageType
-- determine when that
-- DebugUtilsMessengerCreateInfoEXT::pfnUserCallback is
-- called. The process to determine if the user’s
-- pfnUserCallback is triggered when an event occurs is as
-- follows:
--
--
-- - The implementation will perform a bitwise AND of the event’s
-- DebugUtilsMessageSeverityFlagBitsEXT with the
-- messageSeverity provided during creation of the
-- DebugUtilsMessengerEXT object.
- If the value is 0, the
-- message is skipped.
-- - The implementation will perform bitwise AND of the event’s
-- DebugUtilsMessageTypeFlagBitsEXT with the messageType
-- provided during the creation of the DebugUtilsMessengerEXT
-- object.
- If the value is 0, the message is
-- skipped.
-- - The callback will trigger a debug message for the current
-- event
--
--
-- The callback will come directly from the component that detected the
-- event, unless some other layer intercepts the calls for its own
-- purposes (filter them in a different way, log to a system error log,
-- etc.).
--
-- An application can receive multiple callbacks if multiple
-- DebugUtilsMessengerEXT objects are created. A callback will
-- always be executed in the same thread as the originating Vulkan call.
--
-- A callback can be called from multiple threads simultaneously
-- (if the application is making Vulkan calls from multiple threads).
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- PFN_vkDebugUtilsMessengerCallbackEXT,
-- VK_EXT_debug_utils, DebugUtilsMessageSeverityFlagsEXT,
-- DebugUtilsMessageTypeFlagsEXT,
-- DebugUtilsMessengerCreateFlagsEXT, StructureType,
-- createDebugUtilsMessengerEXT
data DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessageSeverityFlagsEXT -> DebugUtilsMessageTypeFlagsEXT -> PFN_vkDebugUtilsMessengerCallbackEXT -> Ptr () -> DebugUtilsMessengerCreateInfoEXT
-- | flags is 0 and is reserved for future use.
--
-- flags must be 0
[$sel:flags:DebugUtilsMessengerCreateInfoEXT] :: DebugUtilsMessengerCreateInfoEXT -> DebugUtilsMessengerCreateFlagsEXT
-- | messageSeverity is a bitmask of
-- DebugUtilsMessageSeverityFlagBitsEXT specifying which severity
-- of event(s) will cause this callback to be called.
--
-- messageSeverity must be a valid combination of
-- DebugUtilsMessageSeverityFlagBitsEXT values
--
-- messageSeverity must not be 0
[$sel:messageSeverity:DebugUtilsMessengerCreateInfoEXT] :: DebugUtilsMessengerCreateInfoEXT -> DebugUtilsMessageSeverityFlagsEXT
-- | messageType is a bitmask of
-- DebugUtilsMessageTypeFlagBitsEXT specifying which type of
-- event(s) will cause this callback to be called.
--
-- messageType must be a valid combination of
-- DebugUtilsMessageTypeFlagBitsEXT values
--
-- messageType must not be 0
[$sel:messageType:DebugUtilsMessengerCreateInfoEXT] :: DebugUtilsMessengerCreateInfoEXT -> DebugUtilsMessageTypeFlagsEXT
-- | pfnUserCallback is the application callback function to call.
--
-- pfnUserCallback must be a valid
-- PFN_vkDebugUtilsMessengerCallbackEXT
--
-- pfnUserCallback must be a valid
-- PFN_vkDebugUtilsMessengerCallbackEXT value
[$sel:pfnUserCallback:DebugUtilsMessengerCreateInfoEXT] :: DebugUtilsMessengerCreateInfoEXT -> PFN_vkDebugUtilsMessengerCallbackEXT
-- | pUserData is user data to be passed to the callback.
[$sel:userData:DebugUtilsMessengerCreateInfoEXT] :: DebugUtilsMessengerCreateInfoEXT -> Ptr ()
-- | VkDebugUtilsMessengerCallbackDataEXT - Structure specifying parameters
-- returned to the callback
--
-- Description
--
-- Note
--
-- This structure should only be considered valid during the lifetime of
-- the triggered callback.
--
-- Since adding queue and command buffer labels behaves like pushing and
-- popping onto a stack, the order of both pQueueLabels and
-- pCmdBufLabels is based on the order the labels were defined.
-- The result is that the first label in either pQueueLabels or
-- pCmdBufLabels will be the first defined (and therefore the
-- oldest) while the last label in each list will be the most recent.
--
-- Note
--
-- pQueueLabels will only be non-NULL if one of the
-- objects in pObjects can be related directly to a defined
-- Queue which has had one or more labels associated with it.
--
-- Likewise, pCmdBufLabels will only be non-NULL if one
-- of the objects in pObjects can be related directly to a
-- defined CommandBuffer which has had one or more labels
-- associated with it. Additionally, while command buffer labels allow
-- for beginning and ending across different command buffers, the debug
-- messaging framework cannot guarantee that labels in
-- pCmdBufLables will contain those defined outside of the
-- associated command buffer. This is partially due to the fact that the
-- association of one command buffer with another may not have been
-- defined at the time the debug message is triggered.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - If pMessageIdName is not NULL,
-- pMessageIdName must be a null-terminated UTF-8
-- string
-- - pMessage must be a null-terminated UTF-8
-- string
-- - If queueLabelCount is not 0,
-- pQueueLabels must be a valid pointer to an array of
-- queueLabelCount valid DebugUtilsLabelEXT
-- structures
-- - If cmdBufLabelCount is not 0,
-- pCmdBufLabels must be a valid pointer to an array of
-- cmdBufLabelCount valid DebugUtilsLabelEXT
-- structures
-- - If objectCount is not 0, pObjects
-- must be a valid pointer to an array of objectCount
-- valid DebugUtilsObjectNameInfoEXT structures
--
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataFlagsEXT,
-- DebugUtilsObjectNameInfoEXT, StructureType,
-- submitDebugUtilsMessageEXT
data DebugUtilsMessengerCallbackDataEXT
DebugUtilsMessengerCallbackDataEXT :: DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe ByteString -> Int32 -> ByteString -> Vector DebugUtilsLabelEXT -> Vector DebugUtilsLabelEXT -> Vector DebugUtilsObjectNameInfoEXT -> DebugUtilsMessengerCallbackDataEXT
-- | flags is 0 and is reserved for future use.
[$sel:flags:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> DebugUtilsMessengerCallbackDataFlagsEXT
-- | pMessageIdName is a null-terminated string that identifies
-- the particular message ID that is associated with the provided
-- message. If the message corresponds to a validation layer message,
-- then this string may contain the portion of the Vulkan specification
-- that is believed to have been violated.
[$sel:messageIdName:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> Maybe ByteString
-- | messageIdNumber is the ID number of the triggering message.
-- If the message corresponds to a validation layer message, then this
-- number is related to the internal number associated with the message
-- being triggered.
[$sel:messageIdNumber:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> Int32
-- | pMessage is a null-terminated string detailing the trigger
-- conditions.
[$sel:message:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> ByteString
-- | pQueueLabels is NULL or a pointer to an array of
-- DebugUtilsLabelEXT active in the current Queue at the
-- time the callback was triggered. Refer to Queue Labels for more
-- information.
[$sel:queueLabels:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> Vector DebugUtilsLabelEXT
-- | pCmdBufLabels is NULL or a pointer to an array of
-- DebugUtilsLabelEXT active in the current CommandBuffer
-- at the time the callback was triggered. Refer to Command Buffer
-- Labels for more information.
[$sel:cmdBufLabels:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> Vector DebugUtilsLabelEXT
-- | pObjects is a pointer to an array of
-- DebugUtilsObjectNameInfoEXT objects related to the detected
-- issue. The array is roughly in order or importance, but the 0th
-- element is always guaranteed to be the most important object for this
-- message.
[$sel:objects:DebugUtilsMessengerCallbackDataEXT] :: DebugUtilsMessengerCallbackDataEXT -> Vector DebugUtilsObjectNameInfoEXT
-- | VkDebugUtilsMessengerCreateFlagsEXT - Reserved for future use
--
-- Description
--
-- DebugUtilsMessengerCreateFlagsEXT is a bitmask type for setting
-- a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessengerCreateInfoEXT
newtype DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT :: Flags -> DebugUtilsMessengerCreateFlagsEXT
-- | VkDebugUtilsMessengerCallbackDataFlagsEXT - Reserved for future use
--
-- Description
--
-- DebugUtilsMessengerCallbackDataFlagsEXT is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessengerCallbackDataEXT
newtype DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT :: Flags -> DebugUtilsMessengerCallbackDataFlagsEXT
type DebugUtilsMessageSeverityFlagsEXT = DebugUtilsMessageSeverityFlagBitsEXT
-- | VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which
-- severities of events cause a debug messenger callback
--
-- Description
--
-- Note
--
-- The values of DebugUtilsMessageSeverityFlagBitsEXT are sorted
-- based on severity. The higher the flag value, the more severe the
-- message. This allows for simple boolean operation comparisons when
-- looking at DebugUtilsMessageSeverityFlagBitsEXT values.
--
-- For example:
--
--
-- if (messageSeverity >= VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) {
-- // Do something for warnings and errors
-- }
--
--
-- In addition, space has been left between the enums to allow for later
-- addition of new severities in between the existing values.
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessageSeverityFlagsEXT,
-- submitDebugUtilsMessageEXT
newtype DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT :: Flags -> DebugUtilsMessageSeverityFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT specifies the most
-- verbose output indicating all diagnostic messages from the Vulkan
-- loader, layers, and drivers should be captured.
pattern DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT specifies an
-- informational message such as resource details that may be handy when
-- debugging an application.
pattern DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT specifies use of
-- Vulkan that may expose an app bug. Such cases may not be
-- immediately harmful, such as a fragment shader outputting to a
-- location with no attachment. Other cases may point to behavior
-- that is almost certainly bad when unintended such as using an image
-- whose memory has not been filled. In general if you see a warning but
-- you know that the behavior is intended/desired, then simply ignore the
-- warning.
pattern DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT specifies that the
-- application has violated a valid usage condition of the specification.
pattern DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
type DebugUtilsMessageTypeFlagsEXT = DebugUtilsMessageTypeFlagBitsEXT
-- | VkDebugUtilsMessageTypeFlagBitsEXT - Bitmask specifying which types of
-- events cause a debug messenger callback
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessageTypeFlagsEXT
newtype DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT :: Flags -> DebugUtilsMessageTypeFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT specifies that some
-- general event has occurred. This is typically a non-specification,
-- non-performance event.
pattern DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT specifies that
-- something has occurred during validation against the Vulkan
-- specification that may indicate invalid behavior.
pattern DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
-- | DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT specifies a
-- potentially non-optimal use of Vulkan, e.g. using
-- cmdClearColorImage when setting
-- AttachmentDescription::loadOp to
-- ATTACHMENT_LOAD_OP_CLEAR would have worked.
pattern DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
-- | PFN_vkDebugUtilsMessengerCallbackEXT - Application-defined debug
-- messenger callback function
--
-- Description
--
-- The callback returns a Bool32, which is interpreted in a
-- layer-specified manner. The application should always return
-- FALSE. The TRUE value is reserved for use in layer
-- development.
--
-- Valid Usage
--
--
-- - The callback must not make calls to any Vulkan
-- commands
--
--
-- See Also
--
-- VK_EXT_debug_utils, DebugUtilsMessengerCreateInfoEXT
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT
type FN_vkDebugUtilsMessengerCallbackEXT = DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO Bool32
type EXT_DEBUG_UTILS_SPEC_VERSION = 2
pattern EXT_DEBUG_UTILS_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"
pattern EXT_DEBUG_UTILS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object
--
-- Description
--
-- The debug messenger will provide detailed feedback on the
-- application’s use of Vulkan when events of interest occur. When an
-- event of interest does occur, the debug messenger will submit a debug
-- message to the debug callback that was provided during its creation.
-- Additionally, the debug messenger is responsible with filtering out
-- debug messages that the callback is not interested in and will only
-- provide desired debug messages.
--
-- See Also
--
-- VK_EXT_debug_utils, createDebugUtilsMessengerEXT,
-- destroyDebugUtilsMessengerEXT
newtype DebugUtilsMessengerEXT
DebugUtilsMessengerEXT :: Word64 -> DebugUtilsMessengerEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsLabelEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageTypeFlagBitsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessageSeverityFlagBitsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCallbackDataFlagsEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateFlagsEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsLabelEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsLabelEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsLabelEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT
-- | Name
--
-- VK_EXT_debug_report - instance extension
--
-- VK_EXT_debug_report
--
--
-- - Name String VK_EXT_debug_report
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 12
-- - Revision 10
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_EXT_debug_utils extension
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-12-14
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Courtney Goeltzenleuchter,
-- LunarG
- Dan Ginsburg, Valve
- Jon Ashburn,
-- LunarG
- Mark Lobodzinski, LunarG
--
--
-- Description
--
-- Due to the nature of the Vulkan interface, there is very little error
-- information available to the developer and application. By enabling
-- optional validation layers and using the VK_EXT_debug_report
-- extension, developers can obtain much more detailed feedback on
-- the application’s use of Vulkan. This extension defines a way for
-- layers and the implementation to call back to the application for
-- events of interest to the application.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Function Pointers
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- Examples
--
-- VK_EXT_debug_report allows an application to register
-- multiple callbacks with the validation layers. Some callbacks may log
-- the information to a file, others may cause a debug break point or
-- other application defined behavior. An application can register
-- callbacks even when no validation layers are enabled, but they will
-- only be called for loader and, if implemented, driver events.
--
-- To capture events that occur while creating or destroying an instance
-- an application can link a
-- DebugReportCallbackCreateInfoEXT structure to the
-- pNext element of the InstanceCreateInfo structure
-- given to createInstance.
--
-- Example uses: Create three callback objects. One will log errors and
-- warnings to the debug console using Windows
-- OutputDebugString. The second will cause the debugger to
-- break at that callback when an error happens and the third will log
-- warnings to stdout.
--
--
-- VkResult res;
-- VkDebugReportCallbackEXT cb1, cb2, cb3;
--
-- VkDebugReportCallbackCreateInfoEXT callback1 = {
-- VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType
-- NULL, // pNext
-- VK_DEBUG_REPORT_ERROR_BIT_EXT | // flags
-- VK_DEBUG_REPORT_WARNING_BIT_EXT,
-- myOutputDebugString, // pfnCallback
-- NULL // pUserData
-- };
-- res = vkCreateDebugReportCallbackEXT(instance, &callback1, &cb1);
-- if (res != VK_SUCCESS)
--
--
-- callback.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT;
-- callback.pfnCallback = myDebugBreak;
-- callback.pUserData = NULL;
-- res = vkCreateDebugReportCallbackEXT(instance, &callback, &cb2);
-- if (res != VK_SUCCESS)
--
--
-- VkDebugReportCallbackCreateInfoEXT callback3 = {
-- VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType
-- NULL, // pNext
-- VK_DEBUG_REPORT_WARNING_BIT_EXT, // flags
-- mystdOutLogger, // pfnCallback
-- NULL // pUserData
-- };
-- res = vkCreateDebugReportCallbackEXT(instance, &callback3, &cb3);
-- if (res != VK_SUCCESS)
--
--
-- ...
--
--
-- vkDestroyDebugReportCallbackEXT(instance, cb1);
-- vkDestroyDebugReportCallbackEXT(instance, cb2);
-- vkDestroyDebugReportCallbackEXT(instance, cb3);
--
--
-- Note
--
-- In the initial release of the VK_EXT_debug_report extension,
-- the token STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT was used.
-- Starting in version 2 of the extension branch,
-- STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT is used
-- instead for consistency with Vulkan naming rules. The older enum is
-- still available for backwards compatibility.
--
-- Note
--
-- In the initial release of the VK_EXT_debug_report extension,
-- the token DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT was used.
-- Starting in version 8 of the extension branch,
-- DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT is used
-- instead for consistency with Vulkan naming rules. The older enum is
-- still available for backwards compatibility.
--
-- Issues
--
-- 1) What is the hierarchy / seriousness of the message flags? E.g.
-- ERROR > WARN > PERF_WARN …
--
-- RESOLVED: There is no specific hierarchy. Each bit is
-- independent and should be checked via bitwise AND. For example:
--
--
-- if (localFlags & VK_DEBUG_REPORT_ERROR_BIT_EXT) {
-- process error message
-- }
-- if (localFlags & VK_DEBUG_REPORT_DEBUG_BIT_EXT) {
-- process debug message
-- }
--
--
-- The validation layers do use them in a hierarchical way
-- (ERROR > WARN > PERF, WARN
-- > DEBUG > INFO) and they (at least at the time
-- of this writing) only set one bit at a time. But it is not a
-- requirement of this extension.
--
-- It is possible that a layer may intercept and change, or augment the
-- flags with extension values the application’s debug report handler may
-- not be familiar with, so it is important to treat each flag
-- independently.
--
-- 2) Should there be a VU requiring
-- DebugReportCallbackCreateInfoEXT::flags to be
-- non-zero?
--
-- RESOLVED: It may not be very useful, but we do not need VU
-- statement requiring the
-- DebugReportCallbackCreateInfoEXT::msgFlags at
-- create-time to be non-zero. One can imagine that apps may prefer it as
-- it allows them to set the mask as desired - including nothing - at
-- runtime without having to check.
--
-- 3) What is the difference between DEBUG_REPORT_DEBUG_BIT_EXT
-- and DEBUG_REPORT_INFORMATION_BIT_EXT?
--
-- RESOLVED: DEBUG_REPORT_DEBUG_BIT_EXT specifies
-- information that could be useful debugging the Vulkan implementation
-- itself.
--
-- 4) How do you compare handles returned by the debug_report callback to
-- the application’s handles?
--
-- RESOLVED: Due to the different nature of dispatchable and
-- nondispatchable handles there is no generic way (that we know of) that
-- works for common compilers with 32bit, 64bit, C and C++. We recommend
-- applications use the same cast that the validation layers use:
--
-- +
--
--
-- reinterpret_cast<uint64_t &>(dispatchableHandle)
-- (uint64_t)(nondispatchableHandle)
--
--
-- + This does require that the app treat dispatchable and
-- nondispatchable handles differently.
--
-- Version History
--
--
-- - Revision 1, 2015-05-20 (Courtney Goetzenleuchter)
- Initial
-- draft, based on LunarG KHR spec, other KHR specs
--
--
--
-- - Revision 2, 2016-02-16 (Courtney Goetzenleuchter)
- Update
-- usage, documentation
-- - Revision 3, 2016-06-14 (Courtney Goetzenleuchter)
- Update
-- VK_EXT_DEBUG_REPORT_SPEC_VERSION to indicate added support for
-- vkCreateInstance and vkDestroyInstance
-- - Revision 4, 2016-12-08 (Mark Lobodzinski)
- Added
-- Display_KHR, DisplayModeKHR extension objects
- Added
-- ObjectTable_NVX, IndirectCommandsLayout_NVX extension
-- objects
- Bumped spec revision
- Retroactively added
-- version history
-- - Revision 5, 2017-01-31 (Baldur Karlsson)
-- - Revision 6, 2017-01-31 (Baldur Karlsson)
- Added
-- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT
-- - Revision 7, 2017-04-20 (Courtney Goeltzenleuchter)
- Clarify
-- wording and address questions from developers.
-- - Revision 8, 2017-04-21 (Courtney Goeltzenleuchter)
- Remove
-- unused enum VkDebugReportErrorEXT
-- - Revision 9, 2017-09-12 (Tobias Hector)
- Added interactions
-- with Vulkan 1.1
-- - Revision 10, 2020-12-14 (Courtney Goetzenleuchter)
- Add
-- issue 4 discussing matching handles returned by the extension, based
-- on suggestion in public issue 368.
--
--
-- See Also
--
-- PFN_vkDebugReportCallbackEXT,
-- DebugReportCallbackCreateInfoEXT,
-- DebugReportCallbackEXT, DebugReportFlagBitsEXT,
-- DebugReportFlagsEXT, DebugReportObjectTypeEXT,
-- createDebugReportCallbackEXT, debugReportMessageEXT,
-- destroyDebugReportCallbackEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_debug_report
-- | vkCreateDebugReportCallbackEXT - Create a debug report callback object
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_debug_report, AllocationCallbacks,
-- DebugReportCallbackCreateInfoEXT,
-- DebugReportCallbackEXT, Instance
createDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugReportCallbackEXT
-- | A convenience wrapper to make a compatible pair of calls to
-- createDebugReportCallbackEXT and
-- destroyDebugReportCallbackEXT
--
-- To ensure that destroyDebugReportCallbackEXT 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.
withDebugReportCallbackEXT :: forall io r. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r) -> r
-- | vkDestroyDebugReportCallbackEXT - Destroy a debug report callback
-- object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when callback
-- was created, a compatible set of callbacks must be provided
-- here
--
--
--
-- - If no AllocationCallbacks were provided when
-- callback was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - If callback is not NULL_HANDLE, callback
-- must be a valid DebugReportCallbackEXT handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If callback is a valid handle, it must have been
-- created, allocated, or retrieved from instance
--
--
-- Host Synchronization
--
--
-- - Host access to callback must be externally
-- synchronized
--
--
-- See Also
--
-- VK_EXT_debug_report, AllocationCallbacks,
-- DebugReportCallbackEXT, Instance
destroyDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkDebugReportMessageEXT - Inject a message into a debug stream
--
-- Description
--
-- The call will propagate through the layers and generate callback(s) as
-- indicated by the message’s flags. The parameters are passed on to the
-- callback in addition to the pUserData value that was defined
-- at the time the callback was registered.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - instance must be a valid Instance
-- handle
--
--
--
-- - flags must be a valid combination of
-- DebugReportFlagBitsEXT values
-- - flags must not be 0
-- - objectType must be a valid
-- DebugReportObjectTypeEXT value
-- - pLayerPrefix must be a null-terminated UTF-8
-- string
-- - pMessage must be a null-terminated UTF-8
-- string
--
--
-- See Also
--
-- VK_EXT_debug_report, DebugReportFlagsEXT,
-- DebugReportObjectTypeEXT, Instance
debugReportMessageEXT :: forall io. MonadIO io => Instance -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: Word64) -> ("messageCode" ::: Int32) -> ("layerPrefix" ::: ByteString) -> ("message" ::: ByteString) -> io ()
pattern STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT :: StructureType
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: DebugReportObjectTypeEXT
-- | VkDebugReportCallbackCreateInfoEXT - Structure specifying parameters
-- of a newly created debug report callback
--
-- Description
--
-- For each DebugReportCallbackEXT that is created the
-- DebugReportCallbackCreateInfoEXT::flags determine when
-- that DebugReportCallbackCreateInfoEXT::pfnCallback is
-- called. When an event happens, the implementation will do a bitwise
-- AND of the event’s DebugReportFlagBitsEXT flags to each
-- DebugReportCallbackEXT object’s flags. For each non-zero result
-- the corresponding callback will be called. The callback will come
-- directly from the component that detected the event, unless some other
-- layer intercepts the calls for its own purposes (filter them in a
-- different way, log to a system error log, etc.).
--
-- An application may receive multiple callbacks if multiple
-- DebugReportCallbackEXT objects were created. A callback will
-- always be executed in the same thread as the originating Vulkan call.
--
-- A callback may be called from multiple threads simultaneously (if the
-- application is making Vulkan calls from multiple threads).
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- PFN_vkDebugReportCallbackEXT, VK_EXT_debug_report,
-- DebugReportFlagsEXT, StructureType,
-- createDebugReportCallbackEXT
data DebugReportCallbackCreateInfoEXT
DebugReportCallbackCreateInfoEXT :: DebugReportFlagsEXT -> PFN_vkDebugReportCallbackEXT -> Ptr () -> DebugReportCallbackCreateInfoEXT
-- | flags is a bitmask of DebugReportFlagBitsEXT
-- specifying which event(s) will cause this callback to be called.
--
-- flags must be a valid combination of
-- DebugReportFlagBitsEXT values
[$sel:flags:DebugReportCallbackCreateInfoEXT] :: DebugReportCallbackCreateInfoEXT -> DebugReportFlagsEXT
-- | pfnCallback is the application callback function to call.
--
-- pfnCallback must be a valid
-- PFN_vkDebugReportCallbackEXT value
[$sel:pfnCallback:DebugReportCallbackCreateInfoEXT] :: DebugReportCallbackCreateInfoEXT -> PFN_vkDebugReportCallbackEXT
-- | pUserData is user data to be passed to the callback.
[$sel:userData:DebugReportCallbackCreateInfoEXT] :: DebugReportCallbackCreateInfoEXT -> Ptr ()
type DebugReportFlagsEXT = DebugReportFlagBitsEXT
-- | VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a
-- debug report callback
--
-- See Also
--
-- VK_EXT_debug_report, DebugReportFlagsEXT
newtype DebugReportFlagBitsEXT
DebugReportFlagBitsEXT :: Flags -> DebugReportFlagBitsEXT
-- | DEBUG_REPORT_INFORMATION_BIT_EXT specifies an informational
-- message such as resource details that may be handy when debugging an
-- application.
pattern DEBUG_REPORT_INFORMATION_BIT_EXT :: DebugReportFlagBitsEXT
-- | DEBUG_REPORT_WARNING_BIT_EXT specifies use of Vulkan that
-- may expose an app bug. Such cases may not be immediately
-- harmful, such as a fragment shader outputting to a location with no
-- attachment. Other cases may point to behavior that is almost
-- certainly bad when unintended such as using an image whose memory has
-- not been filled. In general if you see a warning but you know that the
-- behavior is intended/desired, then simply ignore the warning.
pattern DEBUG_REPORT_WARNING_BIT_EXT :: DebugReportFlagBitsEXT
-- | DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT specifies a
-- potentially non-optimal use of Vulkan, e.g. using
-- cmdClearColorImage when setting
-- AttachmentDescription::loadOp to
-- ATTACHMENT_LOAD_OP_CLEAR would have worked.
pattern DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: DebugReportFlagBitsEXT
-- | DEBUG_REPORT_ERROR_BIT_EXT specifies that the application has
-- violated a valid usage condition of the specification.
pattern DEBUG_REPORT_ERROR_BIT_EXT :: DebugReportFlagBitsEXT
-- | DEBUG_REPORT_DEBUG_BIT_EXT specifies diagnostic information
-- from the implementation and layers.
pattern DEBUG_REPORT_DEBUG_BIT_EXT :: DebugReportFlagBitsEXT
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
-- | PFN_vkDebugReportCallbackEXT - Application-defined debug report
-- callback function
--
-- Description
--
-- The callback must not call
-- destroyDebugReportCallbackEXT.
--
-- The callback returns a Bool32, which is interpreted in a
-- layer-specified manner. The application should always return
-- FALSE. The TRUE value is reserved for use in layer
-- development.
--
-- object must be a Vulkan object or NULL_HANDLE.
-- If objectType is not
-- DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT and object is not
-- NULL_HANDLE, object must be a Vulkan object of
-- the corresponding type associated with objectType as defined
-- in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types.
--
-- See Also
--
-- VK_EXT_debug_report, DebugReportCallbackCreateInfoEXT
type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT
type FN_vkDebugReportCallbackEXT = DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> ("pUserData" ::: Ptr ()) -> IO Bool32
type EXT_DEBUG_REPORT_SPEC_VERSION = 10
pattern EXT_DEBUG_REPORT_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report"
pattern EXT_DEBUG_REPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDebugReportCallbackEXT - Opaque handle to a debug report callback
-- object
--
-- See Also
--
-- VK_EXT_debug_report, createDebugReportCallbackEXT,
-- destroyDebugReportCallbackEXT
newtype DebugReportCallbackEXT
DebugReportCallbackEXT :: Word64 -> DebugReportCallbackEXT
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance Data.Bits.Bits Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance GHC.Classes.Ord Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
instance GHC.Read.Read Vulkan.Extensions.VK_EXT_debug_report.DebugReportFlagBitsEXT
-- | Name
--
-- VK_NVX_binary_import - device extension
--
-- VK_NVX_binary_import
--
--
-- - Name String VK_NVX_binary_import
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 30
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-04-09
--
--
--
-- - Contributors
- Eric Werness,
-- NVIDIA
- Liam Middlebrook, NVIDIA
--
--
-- Description
--
-- This extension allows applications to import CuBIN binaries and
-- execute them.
--
-- Note
--
-- There is currently no specification language written for this
-- extension. The links to APIs defined by the extension are to stubs
-- that only include generated content such as API declarations and
-- implicit valid usage statements.
--
-- New Object Types
--
--
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Stub API References
--
-- There is currently no specification language written for this type.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
--
--
-- There is currently no specification language written for this type.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
--
--
-- There is currently no specification language written for this command.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- VkResult vkCreateCuFunctionNVX(
-- VkDevice device,
-- const VkCuFunctionCreateInfoNVX* pCreateInfo,
-- const VkAllocationCallbacks* pAllocator,
-- VkCuFunctionNVX* pFunction);
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- There is currently no specification language written for this type.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- typedef struct VkCuFunctionCreateInfoNVX {
-- VkStructureType sType;
-- const void* pNext;
-- VkCuModuleNVX module;
-- const char* pName;
-- } VkCuFunctionCreateInfoNVX;
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - module must be a valid CuModuleNVX
-- handle
-- - pName must be a null-terminated UTF-8 string
--
--
-- There is currently no specification language written for this command.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- void vkDestroyCuFunctionNVX(
-- VkDevice device,
-- VkCuFunctionNVX function,
-- const VkAllocationCallbacks* pAllocator);
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - function must be a valid CuFunctionNVX
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - function must have been created, allocated, or
-- retrieved from device
--
--
-- There is currently no specification language written for this command.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- VkResult vkCreateCuModuleNVX(
-- VkDevice device,
-- const VkCuModuleCreateInfoNVX* pCreateInfo,
-- const VkAllocationCallbacks* pAllocator,
-- VkCuModuleNVX* pModule);
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- CuModuleCreateInfoNVX structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pModule must be a valid pointer to a
-- CuModuleNVX handle
--
--
-- Return Codes
--
--
--
--
--
-- There is currently no specification language written for this type.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- typedef struct VkCuModuleCreateInfoNVX {
-- VkStructureType sType;
-- const void* pNext;
-- size_t dataSize;
-- const void* pData;
-- } VkCuModuleCreateInfoNVX;
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - dataSize must be greater than 0
--
--
-- There is currently no specification language written for this command.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- void vkDestroyCuModuleNVX(
-- VkDevice device,
-- VkCuModuleNVX module,
-- const VkAllocationCallbacks* pAllocator);
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - module must be a valid CuModuleNVX
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - module must have been created, allocated, or
-- retrieved from device
--
--
-- There is currently no specification language written for this command.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- void vkCmdCuLaunchKernelNVX(
-- VkCommandBuffer commandBuffer,
-- const VkCuLaunchInfoNVX* pLaunchInfo);
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pLaunchInfo must be a valid pointer to a valid
-- CuLaunchInfoNVX structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- There is currently no specification language written for this type.
-- This section acts only as placeholder and to avoid dead links in the
-- specification and reference pages.
--
--
-- // Provided by VK_NVX_binary_import
-- typedef struct VkCuLaunchInfoNVX {
-- VkStructureType sType;
-- const void* pNext;
-- VkCuFunctionNVX function;
-- uint32_t gridDimX;
-- uint32_t gridDimY;
-- uint32_t gridDimZ;
-- uint32_t blockDimX;
-- uint32_t blockDimY;
-- uint32_t blockDimZ;
-- uint32_t sharedMemBytes;
-- size_t paramCount;
-- const void* const * pParams;
-- size_t extraCount;
-- const void* const * pExtras;
-- } VkCuLaunchInfoNVX;
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - function must be a valid CuFunctionNVX
-- handle
-- - pParams must be a valid pointer to an array of
-- paramCount bytes
-- - pExtras must be a valid pointer to an array of
-- extraCount bytes
-- - paramCount must be greater than 0
-- - extraCount must be greater than 0
--
--
-- Version History
--
--
-- - Revision 1, 2021-04-09 (Eric Werness)
--
--
-- See Also
--
-- CuFunctionCreateInfoNVX, CuFunctionNVX,
-- CuLaunchInfoNVX, CuModuleCreateInfoNVX,
-- CuModuleNVX, cmdCuLaunchKernelNVX,
-- createCuFunctionNVX, createCuModuleNVX,
-- destroyCuFunctionNVX, destroyCuModuleNVX
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NVX_binary_import
-- | vkCreateCuModuleNVX - Stub description of vkCreateCuModuleNVX
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- CuModuleCreateInfoNVX structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pModule must be a valid pointer to a
-- CuModuleNVX handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NVX_binary_import, AllocationCallbacks,
-- CuModuleCreateInfoNVX, CuModuleNVX, Device
createCuModuleNVX :: forall io. MonadIO io => Device -> CuModuleCreateInfoNVX -> ("allocator" ::: Maybe AllocationCallbacks) -> io CuModuleNVX
-- | A convenience wrapper to make a compatible pair of calls to
-- createCuModuleNVX and destroyCuModuleNVX
--
-- To ensure that destroyCuModuleNVX 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.
withCuModuleNVX :: forall io r. MonadIO io => Device -> CuModuleCreateInfoNVX -> Maybe AllocationCallbacks -> (io CuModuleNVX -> (CuModuleNVX -> io ()) -> r) -> r
-- | vkCreateCuFunctionNVX - Stub description of vkCreateCuFunctionNVX
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NVX_binary_import, AllocationCallbacks,
-- CuFunctionCreateInfoNVX, CuFunctionNVX, Device
createCuFunctionNVX :: forall io. MonadIO io => Device -> CuFunctionCreateInfoNVX -> ("allocator" ::: Maybe AllocationCallbacks) -> io CuFunctionNVX
-- | A convenience wrapper to make a compatible pair of calls to
-- createCuFunctionNVX and destroyCuFunctionNVX
--
-- To ensure that destroyCuFunctionNVX 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.
withCuFunctionNVX :: forall io r. MonadIO io => Device -> CuFunctionCreateInfoNVX -> Maybe AllocationCallbacks -> (io CuFunctionNVX -> (CuFunctionNVX -> io ()) -> r) -> r
-- | vkDestroyCuModuleNVX - Stub description of vkDestroyCuModuleNVX
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - module must be a valid CuModuleNVX
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - module must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_NVX_binary_import, AllocationCallbacks,
-- CuModuleNVX, Device
destroyCuModuleNVX :: forall io. MonadIO io => Device -> CuModuleNVX -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkDestroyCuFunctionNVX - Stub description of vkDestroyCuFunctionNVX
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - function must be a valid CuFunctionNVX
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - function must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_NVX_binary_import, AllocationCallbacks,
-- CuFunctionNVX, Device
destroyCuFunctionNVX :: forall io. MonadIO io => Device -> CuFunctionNVX -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkCmdCuLaunchKernelNVX - Stub description of vkCmdCuLaunchKernelNVX
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pLaunchInfo must be a valid pointer to a valid
-- CuLaunchInfoNVX structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NVX_binary_import, CommandBuffer,
-- CuLaunchInfoNVX
cmdCuLaunchKernelNVX :: forall io. MonadIO io => CommandBuffer -> CuLaunchInfoNVX -> io ()
-- | VkCuModuleCreateInfoNVX - Stub description of VkCuModuleCreateInfoNVX
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_binary_import, StructureType,
-- createCuModuleNVX
data CuModuleCreateInfoNVX
CuModuleCreateInfoNVX :: Word64 -> Ptr () -> CuModuleCreateInfoNVX
-- | dataSize must be greater than 0
[$sel:dataSize:CuModuleCreateInfoNVX] :: CuModuleCreateInfoNVX -> Word64
-- | pData must be a valid pointer to an array of
-- dataSize bytes
[$sel:data':CuModuleCreateInfoNVX] :: CuModuleCreateInfoNVX -> Ptr ()
-- | VkCuFunctionCreateInfoNVX - Stub description of
-- VkCuFunctionCreateInfoNVX
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_binary_import, CuModuleNVX, StructureType,
-- createCuFunctionNVX
data CuFunctionCreateInfoNVX
CuFunctionCreateInfoNVX :: CuModuleNVX -> ByteString -> CuFunctionCreateInfoNVX
-- | module must be a valid CuModuleNVX handle
[$sel:module':CuFunctionCreateInfoNVX] :: CuFunctionCreateInfoNVX -> CuModuleNVX
-- | pName must be a null-terminated UTF-8 string
[$sel:name:CuFunctionCreateInfoNVX] :: CuFunctionCreateInfoNVX -> ByteString
-- | VkCuLaunchInfoNVX - Stub description of VkCuLaunchInfoNVX
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NVX_binary_import, CuFunctionNVX,
-- StructureType, cmdCuLaunchKernelNVX
data CuLaunchInfoNVX
CuLaunchInfoNVX :: CuFunctionNVX -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Vector (Ptr ()) -> Vector (Ptr ()) -> CuLaunchInfoNVX
-- | function must be a valid CuFunctionNVX handle
[$sel:function:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> CuFunctionNVX
[$sel:gridDimX:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:gridDimY:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:gridDimZ:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:blockDimX:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:blockDimY:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:blockDimZ:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
[$sel:sharedMemBytes:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Word32
-- | pParams must be a valid pointer to an array of
-- paramCount bytes
[$sel:params:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Vector (Ptr ())
-- | pExtras must be a valid pointer to an array of
-- extraCount bytes
[$sel:extras:CuLaunchInfoNVX] :: CuLaunchInfoNVX -> Vector (Ptr ())
type NVX_BINARY_IMPORT_SPEC_VERSION = 1
pattern NVX_BINARY_IMPORT_SPEC_VERSION :: forall a. Integral a => a
type NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import"
pattern NVX_BINARY_IMPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkCuModuleNVX - Stub description of VkCuModuleNVX
--
-- See Also
--
-- VK_NVX_binary_import, CuFunctionCreateInfoNVX,
-- createCuModuleNVX, destroyCuModuleNVX
newtype CuModuleNVX
CuModuleNVX :: Word64 -> CuModuleNVX
-- | VkCuFunctionNVX - Stub description of VkCuFunctionNVX
--
-- See Also
--
-- VK_NVX_binary_import, CuLaunchInfoNVX,
-- createCuFunctionNVX, destroyCuFunctionNVX
newtype CuFunctionNVX
CuFunctionNVX :: Word64 -> CuFunctionNVX
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_binary_import.CuModuleCreateInfoNVX
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX
instance GHC.Show.Show Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NVX_binary_import.CuModuleCreateInfoNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NVX_binary_import.CuModuleCreateInfoNVX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NVX_binary_import.CuModuleCreateInfoNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NVX_binary_import.CuModuleCreateInfoNVX
-- | Name
--
-- VK_KHR_acceleration_structure - device extension
--
-- VK_KHR_acceleration_structure
--
--
-- - Name String
-- VK_KHR_acceleration_structure
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 151
-- - Revision 13
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires
-- VK_EXT_descriptor_indexing
- Requires
-- VK_KHR_buffer_device_address
- Requires
-- VK_KHR_deferred_host_operations
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-30
--
--
--
-- - Contributors
- Samuel Bourasseau,
-- Adobe
- Matthäus Chajdas, AMD
- Greg Grebe,
-- AMD
- Nicolai Hähnle, AMD
- Tobias Hector,
-- AMD
- Dave Oldcorn, AMD
- Skyler Saleh,
-- AMD
- Mathieu Robart, Arm
- Marius Bjorge, Arm
- Tom
-- Olson, Arm
- Sebastian Tafuri, EA
- Henrik Rydgard,
-- Embark
- Juan Cañada, Epic Games
- Patrick Kelly, Epic
-- Games
- Yuriy O’Donnell, Epic Games
- Michael Doggett,
-- Facebook/Oculus
- Ricardo Garcia, Igalia
- Andrew Garrard,
-- Imagination
- Don Scorgie, Imagination
- Dae Kim,
-- Imagination
- Joshua Barczak, Intel
- Slawek Grajewski,
-- Intel
- Jeff Bolz, NVIDIA
- Pascal Gautron,
-- NVIDIA
- Daniel Koch, NVIDIA
- Christoph Kubisch,
-- NVIDIA
- Ashwin Lele, NVIDIA
- Robert Stepinski,
-- NVIDIA
- Martin Stich, NVIDIA
- Nuno Subtil,
-- NVIDIA
- Eric Werness, NVIDIA
- Jon Leech,
-- Khronos
- Jeroen van Schijndel, OTOY
- Juul Joosten,
-- OTOY
- Alex Bourd, Qualcomm
- Roman Larionov,
-- Qualcomm
- David McAllister, Qualcomm
- Lewis Gordon,
-- Samsung
- Ralph Potter, Samsung
- Jasper Bekkers, Traverse
-- Research
- Jesse Barker, Unity
- Baldur Karlsson,
-- Valve
--
--
-- Description
--
-- In order to be efficient, rendering techniques such as ray tracing
-- need a quick way to identify which primitives may be intersected by a
-- ray traversing the geometries. Acceleration structures are the most
-- common way to represent the geometry spatially sorted, in order to
-- quickly identify such potential intersections.
--
-- This extension adds new functionalities:
--
--
-- - Acceleration structure objects and build commands
-- - Structures to describe geometry inputs to acceleration structure
-- builds
-- - Acceleration structure copy commands
--
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Unions
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- Issues
--
--
-- - How does this extension differ from VK_NV_ray_tracing?
--
--
-- DISCUSSION:
--
-- The following is a summary of the main functional differences between
-- VK_KHR_acceleration_structure and VK_NV_ray_tracing:
--
--
--
--
-- - Can you give a more detailed comparision of differences and
-- similarities between VK_NV_ray_tracing and
-- VK_KHR_acceleration_structure?
--
--
-- DISCUSSION:
--
-- The following is a more detailed comparision of which commands,
-- structures, and enums are aliased, changed, or removed.
--
--
-- - Aliased functionality — enums, structures, and commands that are
-- considered equivalent:
-- - Changed enums, structures, and commands:
-- - Added enums, structures and
-- commands:
--
--
--
-- - What are the changes between the public provisional
-- (VK_KHR_ray_tracing v8) release and the internal provisional
-- (VK_KHR_ray_tracing v9) release?
--
--
--
-- - added geometryFlags to
-- VkAccelerationStructureCreateGeometryTypeInfoKHR (later
-- reworked to obsolete this)
-- - added minAccelerationStructureScratchOffsetAlignment
-- property to VkPhysicalDeviceRayTracingPropertiesKHR
-- - fix naming and return enum from
-- getDeviceAccelerationStructureCompatibilityKHR
-- - Require Vulkan 1.1
-- - added creation time capture and replay flags
-- - change cmdBuildAccelerationStructuresIndirectKHR to use
-- buffer device address for indirect parameter
-- - make VK_KHR_deferred_host_operations an interaction
-- instead of a required extension (later went back on this)
-- - renamed VkAccelerationStructureBuildOffsetInfoKHR to
-- AccelerationStructureBuildRangeInfoKHR
-- - Re-unify geometry description between build and
-- create
-- - Fix ppGeometries ambiguity, add pGeometries
- remove
-- geometryArrayOfPointers member of
-- VkAccelerationStructureBuildGeometryInfoKHR
- disambiguate two
-- meanings of ppGeometries by explicitly adding
-- pGeometries to the
-- AccelerationStructureBuildGeometryInfoKHR structure and require
-- one of them be NULL
-- - added nullDescriptor support for acceleration
-- structures
-- - changed the update member of
-- AccelerationStructureBuildGeometryInfoKHR from a bool to the
-- mode BuildAccelerationStructureModeKHR enum which
-- allows future extensibility in update types
-- - Clarify deferred host ops for pipeline
-- creation
-- - Change acceleration structure build to always be
-- sized
--
--
--
-- - What are the changes between the internal provisional
-- (VK_KHR_ray_tracing v9) release and the final
-- (VK_KHR_acceleration_structure v11) release?
--
--
--
-- - refactor VK_KHR_ray_tracing into 3 extensions, enabling
-- implementation flexibility and decoupling ray query support from ray
-- pipelines:
- VK_KHR_acceleration_structure (for
-- acceleration structure
-- operations)
- VK_KHR_ray_tracing_pipeline (for ray
-- tracing pipeline and shader stages)
- VK_KHR_ray_query
-- (for ray queries in existing shader stages)
-- - clarify buffer usage flags for ray
-- tracing
-- - add max primitive counts (ppMaxPrimitiveCounts) to
-- cmdBuildAccelerationStructuresIndirectKHR
-- - Allocate acceleration structures from VkBuffers and add a
-- mode to constrain the device address
-- - move GEOMETRY_TYPE_INSTANCES_KHR to main enum instead of
-- being added via extension
-- - make build commands more consistent - all now build multiple
-- acceleration structures and are named plurally
-- (cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR,
-- buildAccelerationStructuresKHR)
-- - add interactions with
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT for
-- acceleration structures, including a new feature
-- (descriptorBindingAccelerationStructureUpdateAfterBind) and 3
-- new properties (maxPerStageDescriptorAccelerationStructures,
-- maxPerStageDescriptorUpdateAfterBindAccelerationStructures,
-- maxDescriptorSetUpdateAfterBindAccelerationStructures)
-- - extension is no longer provisional
-- - define synchronization requirements for builds, traces, and
-- copies
-- - define synchronization requirements for AS build inputs and
-- indirect build buffer
--
--
--
-- - What is ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR for?
--
--
-- RESOLVED: It is primarily intended for API layering. In DXR,
-- the acceleration structure is basically just a buffer in a special
-- layout, and you do not know at creation time whether it will be used
-- as a top or bottom level acceleration structure. We thus added a
-- generic acceleration structure type whose type is unknown at creation
-- time, but is specified at build time instead. Applications which are
-- written directly for Vulkan should not use it.
--
-- Version History
--
--
-- - Revision 1, 2019-12-05 (Members of the Vulkan Ray Tracing
-- TSG)
- Internal revisions (forked from
-- VK_NV_ray_tracing)
--
--
--
-- - Revision 2, 2019-12-20 (Daniel Koch, Eric Werness)
- Add
-- const version of DeviceOrHostAddress (!3515)
- Add VU to clarify
-- that only handles in the current pipeline are valid
-- (!3518)
- Restore some missing VUs and add in-place update
-- language (#1902, !3522)
- rename
-- VkAccelerationStructureInstanceKHR member from accelerationStructure
-- to accelerationStructureReference to better match its type
-- (!3523)
- Allow VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS for
-- pipeline creation if shader group handles cannot be reused
-- (!3523)
- update documentation for the
-- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS error code and add missing
-- documentation for new return codes from
-- VK_KHR_deferred_host_operations (!3523)
- list new query types
-- for VK_KHR_ray_tracing (!3523)
- Fix VU statements for
-- VkAccelerationStructureGeometryKHR referring to correct union members
-- and update to use more current wording (!3523)
-- - Revision 3, 2020-01-10 (Daniel Koch, Jon Leech, Christoph
-- Kubisch)
- Fix 'instance of' and 'that/which contains/defines'
-- markup issues (!3528)
- factor out VK_KHR_pipeline_library as
-- stand-alone extension (!3540)
- Resolve Vulkan-hpp issues
-- (!3543)
- add missing require for
-- VkGeometryInstanceFlagsKHR
- de-alias
-- VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV since the KHR
-- structure is no longer equivalent
- add len to pDataSize
-- attribute for
-- vkWriteAccelerationStructuresPropertiesKHR
-- - Revision 4, 2020-01-23 (Daniel Koch, Eric Werness)
- Improve
-- vkWriteAccelerationStructuresPropertiesKHR, add return value and VUs
-- (#1947)
- Clarify language to allow multiple raygen shaders
-- (#1959)
- Various editorial feedback (!3556)
- Add
-- language to help deal with looped self-intersecting fans
-- (#1901)
- Change vkCmdTraceRays{Indirect}KHR args to pointers
-- (!3559)
- Add scratch address validation language (#1941,
-- !3551)
- Fix definition and add hierarchy information for shader
-- call scope (#1977, !3571)
-- - Revision 5, 2020-02-04 (Eric Werness, Jeff Bolz, Daniel
-- Koch)
- remove vestigial accelerationStructureUUID
-- (!3582)
- update definition of repack instructions and improve
-- memory model interactions (#1910, #1913, !3584)
- Fix wrong
-- sType for VkPhysicalDeviceRayTracingFeaturesKHR (#1988)
- Use
-- provisional SPIR-V capabilities (#1987)
- require
-- rayTraversalPrimitiveCulling if rayQuery is supported
-- (#1927)
- Miss shaders do not have object parameters
-- (!3592)
- Fix missing required types in XML
-- (!3592)
- clarify matching conditions for update
-- (!3592)
- add goal that host and device builds be similar
-- (!3592)
- clarify that maxPrimitiveCount limit should
-- apply to triangles and AABBs (!3592)
- Require alignment for
-- instance arrayOfPointers (!3592)
- Zero is a valid value for
-- instance flags (!3592)
- Add some alignment VUs that got lost in
-- refactoring (!3592)
- Recommend TMin epsilon rather than culling
-- (!3592)
- Get angle from dot product not cross product
-- (!3592)
- Clarify that AH can access the payload and attributes
-- (!3592)
- Match DXR behavior for inactive primitive definition
-- (!3592)
- Use a more generic term than degenerate for inactive
-- to avoid confusion (!3592)
-- - Revision 6, 2020-02-20 (Daniel Koch)
- fix some dangling NV
-- references (#1996)
- rename VkCmdTraceRaysIndirectCommandKHR to
-- VkTraceRaysIndirectCommandKHR (!3607)
- update contributor list
-- (!3611)
- use uint64_t instead of
-- VkAccelerationStructureReferenceKHR in
-- VkAccelerationStructureInstanceKHR (#2004)
-- - Revision 7, 2020-02-28 (Tobias Hector)
- remove HitTKHR
-- SPIR-V builtin (spirv/spirv-extensions#7)
-- - Revision 8, 2020-03-06 (Tobias Hector, Dae Kim, Daniel Koch, Jeff
-- Bolz, Eric Werness)
- explicitly state that Tmax is updated when
-- new closest intersection is accepted (#2020,!3536)
- Made
-- references to min and max t values consistent (!3644)
- finish
-- enumerating differences relative to VK_NV_ray_tracing in issues (1)
-- and (2) (#1974,!3642)
- fix formatting in some math equations
-- (!3642)
- Restrict the Hit Kind operand of
-- OpReportIntersectionKHR to 7-bits
-- (spirv/spirv-extensions#8,!3646)
- Say ray tracing
-- 'should' be watertight (#2008,!3631)
- Clarify memory
-- requirements for ray tracing buffers (#2005,!3649)
- Add
-- callable size limits (#1997,!3652)
-- - Revision 9, 2020-04-15 (Eric Werness, Daniel Koch, Tobias Hector,
-- Joshua Barczak)
- Add geometry flags to acceleration structure
-- creation (!3672)
- add build scratch memory alignment
-- (minAccelerationStructureScratchOffsetAlignment)
-- (#2065,!3725)
- fix naming and return enum from
-- vkGetDeviceAccelerationStructureCompatibilityKHR
-- (#2051,!3726)
- require SPIR-V 1.4 (#2096,!3777)
- added
-- creation time capture/replay flags (#2104,!3774)
- require
-- Vulkan 1.1 (#2133,!3806)
- use device addresses instead of
-- VkBuffers for ray tracing commands (#2074,!3815)
- add
-- interactions with Vulkan 1.2 and VK_KHR_vulkan_memory_model
-- (#2133,!3830)
- make VK_KHR_pipeline_library an interaction
-- instead of required (2108,!3830)
- make
-- VK_KHR_deferred_host_operations an interaction instead of required
-- (#2045,!3830)
- removed maxCallableSize and added explicit stack
-- size management for ray pipelines
-- (#1997,!3817,!3772,!3844)
- improved documentation for
-- VkAccelerationStructureVersionInfoKHR (#2135,3835)
- rename
-- VkAccelerationStructureBuildOffsetInfoKHR to
-- VkAccelerationStructureBuildRangeInfoKHR
-- (#2058,!3754)
- Re-unify geometry description between build and
-- create (!3754)
- Fix ppGeometries ambiguity, add pGeometries
-- (#2032,!3811)
- add interactions with VK_EXT_robustness2 and
-- allow nullDescriptor support for acceleration structures
-- (#1920,!3848)
- added future extensibility for AS updates
-- (#2114,!3849)
- Fix VU for dispatchrays and add a limit on the
-- size of the full grid (#2160,!3851)
- Add
-- shaderGroupHandleAlignment property (#2180,!3875)
- Clarify
-- deferred host ops for pipeline creation (#2067,!3813)
- Change
-- acceleration structure build to always be sized
-- (2197,#2198,!3854,!3883,!3880)
-- - Revision 10, 2020-07-03 (Mathieu Robart, Daniel Koch, Eric
-- Werness, Tobias Hector)
- Decomposition of the specification,
-- from VK_KHR_ray_tracing to VK_KHR_acceleration_structure
-- (#1918,!3912)
- clarify buffer usage flags for ray tracing
-- (#2181,!3939)
- add max primitive counts to build indirect
-- command (#2233,!3944)
- Allocate acceleration structures from
-- VkBuffers and add a mode to constrain the device address
-- (#2131,!3936)
- Move VK_GEOMETRY_TYPE_INSTANCES_KHR to main enum
-- (#2243,!3952)
- make build commands more consistent
-- (#2247,!3958)
- add interactions with UPDATE_AFTER_BIND
-- (#2128,!3986)
- correct and expand build command VUs
-- (!4020)
- fix copy command VUs (!4018)
- added various
-- alignment requirements (#2229,!3943)
- fix valid usage for
-- arrays of geometryCount items (#2198,!4010)
- define what is
-- allowed to change on RTAS updates and relevant VUs
-- (#2177,!3961)
-- - Revision 11, 2020-11-12 (Eric Werness, Josh Barczak, Daniel Koch,
-- Tobias Hector)
- de-alias NV and KHR acceleration structure types
-- and associated commands (#2271,!4035)
- specify alignment for
-- host copy commands (#2273,!4037)
- document
-- FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
- specify
-- that acceleration structures are non-linear (#2289,!4068)
- add
-- several missing VUs for strides, vertexFormat, and indexType
-- (#2315,!4069)
- restore VUs for
-- VkAccelerationStructureBuildGeometryInfoKHR (#2337,!4098)
- ban
-- multi-instance memory for host operations (#2324,!4102)
- allow
-- dstAccelerationStructure to be null for
-- vkGetAccelerationStructureBuildSizesKHR (#2330,!4111)
- more
-- build VU cleanup (4130)
- specify host endianness for AS
-- serialization (#2261,!4136)
- add invertible transform matrix VU
-- (#1710,!4140)
- require geometryCount to be 1 for TLAS builds
-- (!4145)
- improved validity conditions for build addresses
-- (#4142)
- add single statement SPIR-V VUs, build limit VUs
-- (!4158)
- document limits for vertex and aabb strides
-- (#2390,!4184)
- specify that
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR applies to
-- AS copies (4173)
- define sync for AS build inputs and indirect
-- buffer (#2407,!4208)
-- - Revision 12, 2021-08-06 (Samuel Bourasseau)
- rename
-- VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
-- VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR (keep previous as
-- alias).
- Clarify description and add note.
-- - Revision 13, 2021-09-30 (Jon Leech)
- Add interaction with
-- VK_KHR_format_feature_flags2 to
-- vk.xml
--
--
-- See Also
--
-- AabbPositionsKHR,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildRangeInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureBuildTypeKHR,
-- AccelerationStructureCompatibilityKHR,
-- AccelerationStructureCreateFlagBitsKHR,
-- AccelerationStructureCreateFlagsKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInstanceKHR,
-- AccelerationStructureKHR, AccelerationStructureTypeKHR,
-- AccelerationStructureVersionInfoKHR,
-- BuildAccelerationStructureFlagBitsKHR,
-- BuildAccelerationStructureFlagsKHR,
-- BuildAccelerationStructureModeKHR,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureModeKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- DeviceOrHostAddressConstKHR, DeviceOrHostAddressKHR,
-- GeometryFlagBitsKHR, GeometryFlagsKHR,
-- GeometryInstanceFlagBitsKHR, GeometryInstanceFlagsKHR,
-- GeometryTypeKHR,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- TransformMatrixKHR,
-- WriteDescriptorSetAccelerationStructureKHR,
-- buildAccelerationStructuresKHR,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureToMemoryKHR,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createAccelerationStructureKHR,
-- destroyAccelerationStructureKHR,
-- getAccelerationStructureBuildSizesKHR,
-- getAccelerationStructureDeviceAddressKHR,
-- getDeviceAccelerationStructureCompatibilityKHR,
-- writeAccelerationStructuresPropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_acceleration_structure
-- | vkDestroyAccelerationStructureKHR - Destroy an acceleration structure
-- object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to
-- accelerationStructure must have completed
-- execution
--
--
--
-- - If AllocationCallbacks were provided when
-- accelerationStructure was created, a compatible set of
-- callbacks must be provided here
-- - If no AllocationCallbacks were provided when
-- accelerationStructure was created, pAllocator
-- must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If accelerationStructure is not NULL_HANDLE,
-- accelerationStructure must be a valid
-- AccelerationStructureKHR handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If accelerationStructure is a valid handle, it
-- must have been created, allocated, or retrieved from
-- device
--
--
-- Host Synchronization
--
--
-- - Host access to accelerationStructure must be
-- externally synchronized
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- AllocationCallbacks, Device
destroyAccelerationStructureKHR :: forall io. MonadIO io => Device -> AccelerationStructureKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkCmdCopyAccelerationStructureKHR - Copy an acceleration structure
--
-- Description
--
-- This command copies the pInfo->src acceleration structure
-- to the pInfo->dst acceleration structure in the manner
-- specified by pInfo->mode.
--
-- Accesses to pInfo->src and pInfo->dst
-- must be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
-- ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR as appropriate.
--
-- Valid Usage
--
--
-- - The buffer used to create pInfo->src
-- must be bound to device memory
--
--
--
-- - The buffer used to create pInfo->dst
-- must be bound to device memory
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pInfo must be a valid pointer to a valid
-- CopyAccelerationStructureInfoKHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure, CommandBuffer,
-- CopyAccelerationStructureInfoKHR
cmdCopyAccelerationStructureKHR :: forall io. MonadIO io => CommandBuffer -> CopyAccelerationStructureInfoKHR -> io ()
-- | vkCopyAccelerationStructureKHR - Copy an acceleration structure on the
-- host
--
-- Description
--
-- This command fulfills the same task as
-- cmdCopyAccelerationStructureKHR but is executed by the host.
--
-- Valid Usage
--
--
--
--
-- - Any previous deferred operation that was associated with
-- deferredOperation must be complete
-- - The buffer used to create pInfo->src
-- must be bound to host-visible device memory
-- - The buffer used to create pInfo->dst
-- must be bound to host-visible device memory
-- - The ::accelerationStructureHostCommands feature must
-- be enabled
-- - The buffer used to create pInfo->src
-- must be bound to memory that was not allocated with multiple
-- instances
-- - The buffer used to create pInfo->dst
-- must be bound to memory that was not allocated with multiple
-- instances
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- CopyAccelerationStructureInfoKHR, DeferredOperationKHR,
-- Device
copyAccelerationStructureKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> CopyAccelerationStructureInfoKHR -> io Result
-- | vkCmdCopyAccelerationStructureToMemoryKHR - Copy an acceleration
-- structure to device memory
--
-- Description
--
-- Accesses to pInfo->src must be synchronized
-- with the PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
-- pipeline stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR. Accesses to the
-- buffer indicated by pInfo->dst.deviceAddress must
-- be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of ACCESS_TRANSFER_WRITE_BIT.
--
-- This command produces the same results as
-- copyAccelerationStructureToMemoryKHR, but writes its result to
-- a device address, and is executed on the device rather than the host.
-- The output may not necessarily be bit-for-bit identical, but it
-- can be equally used by either
-- cmdCopyMemoryToAccelerationStructureKHR or
-- copyMemoryToAccelerationStructureKHR.
--
-- The defined header structure for the serialized data consists of:
--
--
--
-- The corresponding handles matching the values returned by
-- getAccelerationStructureDeviceAddressKHR or
-- getAccelerationStructureHandleNV are tightly packed in the
-- buffer following the count. The application is expected to store a
-- mapping between those handles and the original application-generated
-- bottom-level acceleration structures to provide when deserializing.
-- The serialized data is written to the buffer (or read from the buffer)
-- according to the host endianness.
--
-- Valid Usage
--
--
-- - pInfo->dst.deviceAddress must be a valid device
-- address for a buffer bound to device memory
--
--
--
-- - pInfo->dst.deviceAddress must be aligned to
-- 256 bytes
-- - If the buffer pointed to by pInfo->dst.deviceAddress
-- is non-sparse then it must be bound completely and contiguously
-- to a single DeviceMemory object
-- - The buffer used to create pInfo->src
-- must be bound to device memory
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure, CommandBuffer,
-- CopyAccelerationStructureToMemoryInfoKHR
cmdCopyAccelerationStructureToMemoryKHR :: forall io. MonadIO io => CommandBuffer -> CopyAccelerationStructureToMemoryInfoKHR -> io ()
-- | vkCopyAccelerationStructureToMemoryKHR - Serialize an acceleration
-- structure on the host
--
-- Description
--
-- This command fulfills the same task as
-- cmdCopyAccelerationStructureToMemoryKHR but is executed by the
-- host.
--
-- This command produces the same results as
-- cmdCopyAccelerationStructureToMemoryKHR, but writes its result
-- directly to a host pointer, and is executed on the host rather than
-- the device. The output may not necessarily be bit-for-bit
-- identical, but it can be equally used by either
-- cmdCopyMemoryToAccelerationStructureKHR or
-- copyMemoryToAccelerationStructureKHR.
--
-- Valid Usage
--
--
--
--
-- - Any previous deferred operation that was associated with
-- deferredOperation must be complete
-- - The buffer used to create pInfo->src
-- must be bound to host-visible device memory
-- - pInfo->dst.hostAddress must be a valid host
-- pointer
-- - pInfo->dst.hostAddress must be aligned to 16
-- bytes
-- - The ::accelerationStructureHostCommands feature must
-- be enabled
-- - The buffer used to create pInfo->src
-- must be bound to memory that was not allocated with multiple
-- instances
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- DeferredOperationKHR, Device
copyAccelerationStructureToMemoryKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> CopyAccelerationStructureToMemoryInfoKHR -> io Result
-- | vkCmdCopyMemoryToAccelerationStructureKHR - Copy device memory to an
-- acceleration structure
--
-- Description
--
-- Accesses to pInfo->dst must be synchronized
-- with the PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
-- pipeline stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR. Accesses to the
-- buffer indicated by pInfo->src.deviceAddress must
-- be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of ACCESS_TRANSFER_READ_BIT.
--
-- This command can accept acceleration structures produced by either
-- cmdCopyAccelerationStructureToMemoryKHR or
-- copyAccelerationStructureToMemoryKHR.
--
-- The structure provided as input to deserialize is as described in
-- cmdCopyAccelerationStructureToMemoryKHR, with any acceleration
-- structure handles filled in with the newly-queried handles to bottom
-- level acceleration structures created before deserialization. These do
-- not need to be built at deserialize time, but must be created.
--
-- Valid Usage
--
--
-- - pInfo->src.deviceAddress must be a valid device
-- address for a buffer bound to device memory
--
--
--
-- - pInfo->src.deviceAddress must be aligned to
-- 256 bytes
-- - If the buffer pointed to by pInfo->src.deviceAddress
-- is non-sparse then it must be bound completely and contiguously
-- to a single DeviceMemory object
-- - The buffer used to create pInfo->dst
-- must be bound to device memory
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure, CommandBuffer,
-- CopyMemoryToAccelerationStructureInfoKHR
cmdCopyMemoryToAccelerationStructureKHR :: forall io. MonadIO io => CommandBuffer -> CopyMemoryToAccelerationStructureInfoKHR -> io ()
-- | vkCopyMemoryToAccelerationStructureKHR - Deserialize an acceleration
-- structure on the host
--
-- Description
--
-- This command fulfills the same task as
-- cmdCopyMemoryToAccelerationStructureKHR but is executed by the
-- host.
--
-- This command can accept acceleration structures produced by either
-- cmdCopyAccelerationStructureToMemoryKHR or
-- copyAccelerationStructureToMemoryKHR.
--
-- Valid Usage
--
--
--
--
-- - Any previous deferred operation that was associated with
-- deferredOperation must be complete
-- - pInfo->src.hostAddress must be a valid host
-- pointer
-- - pInfo->src.hostAddress must be aligned to 16
-- bytes
-- - The buffer used to create pInfo->dst
-- must be bound to host-visible device memory
-- - The ::accelerationStructureHostCommands feature must
-- be enabled
-- - The buffer used to create pInfo->dst
-- must be bound to memory that was not allocated with multiple
-- instances
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- DeferredOperationKHR, Device
copyMemoryToAccelerationStructureKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> CopyMemoryToAccelerationStructureInfoKHR -> io Result
-- | vkCmdWriteAccelerationStructuresPropertiesKHR - Write acceleration
-- structure result parameters to query results.
--
-- Description
--
-- Accesses to any of the acceleration structures listed in
-- pAccelerationStructures must be synchronized
-- with the PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
-- pipeline stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR.
--
--
--
-- Valid Usage
--
--
-- - queryPool must have been created with a
-- queryType matching queryType
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pAccelerationStructures must be a valid pointer to
-- an array of accelerationStructureCount valid
-- AccelerationStructureKHR handles
-- - queryType must be a valid QueryType
-- value
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - accelerationStructureCount must be greater than
-- 0
-- - Each of commandBuffer, queryPool, and the
-- elements of pAccelerationStructures must have been
-- created, allocated, or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- CommandBuffer, QueryPool, QueryType
cmdWriteAccelerationStructuresPropertiesKHR :: forall io. MonadIO io => CommandBuffer -> ("accelerationStructures" ::: Vector AccelerationStructureKHR) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> io ()
-- | vkWriteAccelerationStructuresPropertiesKHR - Query acceleration
-- structure meta-data on the host
--
-- Description
--
-- This command fulfills the same task as
-- cmdWriteAccelerationStructuresPropertiesKHR but is executed by
-- the host.
--
-- Valid Usage
--
--
-- - All acceleration structures in pAccelerationStructures
-- must have been built prior to the execution of this
-- command
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAccelerationStructures must be a valid pointer to
-- an array of accelerationStructureCount valid
-- AccelerationStructureKHR handles
-- - queryType must be a valid QueryType
-- value
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - accelerationStructureCount must be greater than
-- 0
-- - dataSize must be greater than 0
-- - Each element of pAccelerationStructures must have
-- been created, allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- Device, QueryType
writeAccelerationStructuresPropertiesKHR :: forall io. MonadIO io => Device -> ("accelerationStructures" ::: Vector AccelerationStructureKHR) -> QueryType -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> ("stride" ::: Word64) -> io ()
-- | vkGetDeviceAccelerationStructureCompatibilityKHR - Check if a
-- serialized acceleration structure is compatible with the current
-- device
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureCompatibilityKHR,
-- AccelerationStructureVersionInfoKHR, Device
getDeviceAccelerationStructureCompatibilityKHR :: forall io. MonadIO io => Device -> AccelerationStructureVersionInfoKHR -> io AccelerationStructureCompatibilityKHR
-- | vkCreateAccelerationStructureKHR - Create a new acceleration structure
-- object
--
-- Description
--
-- Similar to other objects in Vulkan, the acceleration structure
-- creation merely creates an object with a specific “shape”. The type
-- and quantity of geometry that can be built into an acceleration
-- structure is determined by the parameters of
-- AccelerationStructureCreateInfoKHR.
--
-- Populating the data in the object after allocating and binding memory
-- is done with commands such as
-- cmdBuildAccelerationStructuresKHR,
-- buildAccelerationStructuresKHR,
-- cmdCopyAccelerationStructureKHR, and
-- copyAccelerationStructureKHR.
--
-- The input buffers passed to acceleration structure build commands will
-- be referenced by the implementation for the duration of the command.
-- After the command completes, the acceleration structure may
-- hold a reference to any acceleration structure specified by an active
-- instance contained therein. Apart from this referencing, acceleration
-- structures must be fully self-contained. The application
-- may re-use or free any memory which was used by the command as
-- an input or as scratch without affecting the results of ray traversal.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureKHR, AllocationCallbacks,
-- Device
createAccelerationStructureKHR :: forall a io. (Extendss AccelerationStructureCreateInfoKHR a, PokeChain a, MonadIO io) => Device -> AccelerationStructureCreateInfoKHR a -> ("allocator" ::: Maybe AllocationCallbacks) -> io AccelerationStructureKHR
-- | A convenience wrapper to make a compatible pair of calls to
-- createAccelerationStructureKHR and
-- destroyAccelerationStructureKHR
--
-- To ensure that destroyAccelerationStructureKHR 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.
withAccelerationStructureKHR :: forall a io r. (Extendss AccelerationStructureCreateInfoKHR a, PokeChain a, MonadIO io) => Device -> AccelerationStructureCreateInfoKHR a -> Maybe AllocationCallbacks -> (io AccelerationStructureKHR -> (AccelerationStructureKHR -> io ()) -> r) -> r
-- | vkCmdBuildAccelerationStructuresKHR - Build an acceleration structure
--
-- Description
--
-- The cmdBuildAccelerationStructuresKHR command provides the
-- ability to initiate multiple acceleration structures builds, however
-- there is no ordering or synchronization implied between any of the
-- individual acceleration structure builds.
--
-- Note
--
-- This means that an application cannot build a top-level
-- acceleration structure in the same
-- cmdBuildAccelerationStructuresKHR call as the associated
-- bottom-level or instance acceleration structures are being built.
-- There also cannot be any memory aliasing between any
-- acceleration structure memories or scratch memories being used by any
-- of the builds.
--
-- Accesses to the acceleration structure scratch buffers as identified
-- by the
-- AccelerationStructureBuildGeometryInfoKHR::scratchData
-- buffer device addresses must be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
-- ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR. Similarly for
-- accesses to each
-- AccelerationStructureBuildGeometryInfoKHR::srcAccelerationStructure
-- and
-- AccelerationStructureBuildGeometryInfoKHR::dstAccelerationStructure.
--
-- Accesses to other input buffers as identified by any used values of
-- AccelerationStructureGeometryMotionTrianglesDataNV::vertexData,
-- AccelerationStructureGeometryTrianglesDataKHR::vertexData,
-- AccelerationStructureGeometryTrianglesDataKHR::indexData,
-- AccelerationStructureGeometryTrianglesDataKHR::transformData,
-- AccelerationStructureGeometryAabbsDataKHR::data, and
-- AccelerationStructureGeometryInstancesDataKHR::data
-- must be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of ACCESS_SHADER_READ_BIT.
--
-- Valid Usage
--
--
--
--
-- - If the srcAccelerationStructure member of any element of
-- pInfos is not NULL_HANDLE, the
-- srcAccelerationStructure member must be a valid
-- AccelerationStructureKHR handle
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must not be
-- NULL_HANDLE
-- - The srcAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must be a valid AccelerationStructureKHR
-- handle
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, inactive
-- primitives in its srcAccelerationStructure member
-- must not be made active
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, active
-- primitives in its srcAccelerationStructure member must
-- not be made inactive
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- srcAccelerationStructure member of any other element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, which is accessed
-- by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- dstAccelerationStructure member of any other element of
-- pInfos, which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- scratchData member of any element of pInfos
-- (including the same element), which is accessed by this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the scratchData
-- member of any other element of pInfos, which is accessed by
-- this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the
-- srcAccelerationStructure member of any element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the
-- same element), which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing any acceleration
-- structure referenced by the geometry.instances.data member of
-- any element of pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos, which is accessed by this
-- command
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must have previously
-- been constructed with
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR set in
-- AccelerationStructureBuildGeometryInfoKHR::flags in
-- the build
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure and
-- dstAccelerationStructure members must either be the
-- same AccelerationStructureKHR, or not have any memory
-- aliasing
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- geometryCount member must have the same value which
-- was specified when srcAccelerationStructure was last
-- built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- type member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- geometryType member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.vertexFormat member must have the
-- same value which was specified when srcAccelerationStructure
-- was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.maxVertex member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.indexType member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was NULL
-- when srcAccelerationStructure was last built, then it
-- must be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was not
-- NULL when srcAccelerationStructure was last built,
-- then it must not be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, and
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR, then the value of each index referenced
-- must be the same as the corresponding index value when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, its primitiveCount member must have
-- the same value which was specified when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, if the corresponding geometry uses indices, its
-- firstVertex member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, the corresponding
-- ppBuildRangeInfos[i][j].primitiveCount must
-- be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount
-- - For each element of pInfos, the buffer used to
-- create its dstAccelerationStructure member must be
-- bound to device memory
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR the
-- buffer used to create its srcAccelerationStructure
-- member must be bound to device memory
-- - For each element of pInfos, the buffer used to
-- create each acceleration structure referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR
-- must be bound to device memory
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR, all addresses
-- between pInfos[i].scratchData.deviceAddress and
-- pInfos[i].scratchData.deviceAddress + N - 1
-- must be in the buffer device address range of the same buffer,
-- where N is given by the buildScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, all addresses
-- between pInfos[i].scratchData.deviceAddress and
-- pInfos[i].scratchData.deviceAddress + N - 1
-- must be in the buffer device address range of the same buffer,
-- where N is given by the updateScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - The buffers from which the buffer device addresses for all of the
-- geometry.triangles.vertexData,
-- geometry.triangles.indexData,
-- geometry.triangles.transformData,
-- geometry.aabbs.data, and geometry.instances.data
-- members of all pInfos[i].pGeometries and
-- pInfos[i].ppGeometries are queried must have
-- been created with the
-- BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-- usage flag
-- - The buffer from which the buffer device address
-- pInfos[i].scratchData.deviceAddress is queried
-- must have been created with
-- BUFFER_USAGE_STORAGE_BUFFER_BIT usage flag
-- - For each element of pInfos, its
-- scratchData.deviceAddress member must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For each element of pInfos, if
-- scratchData.deviceAddress is the address of a non-sparse
-- buffer then it must be bound completely and contiguously to a
-- single DeviceMemory object
-- - For each element of pInfos, its
-- scratchData.deviceAddress member must be a multiple of
-- PhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR,
-- geometry.triangles.vertexData.deviceAddress must be a
-- valid device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.vertexData.deviceAddress is the address of
-- a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR,
-- geometry.triangles.vertexData.deviceAddress must be
-- aligned to the size in bytes of the smallest component of the format
-- in vertexFormat
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR,
-- geometry.triangles.indexData.deviceAddress must be a
-- valid device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR, if
-- geometry.triangles.indexData.deviceAddress is the address of
-- a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, and with
-- geometry.triangles.indexType not equal to
-- INDEX_TYPE_NONE_KHR,
-- geometry.triangles.indexData.deviceAddress must be
-- aligned to the size in bytes of the type in indexType
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is not
-- 0, it must be a valid device address obtained from
-- getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is the address
-- of a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is not
-- 0, it must be aligned to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR,
-- geometry.aabbs.data.deviceAddress must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR, if
-- geometry.aabbs.data.deviceAddress is the address of a
-- non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR,
-- geometry.aabbs.data.deviceAddress must be aligned to
-- 8 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is FALSE,
-- geometry.instances.data.deviceAddress must be aligned
-- to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is TRUE,
-- geometry.instances.data.deviceAddress must be aligned
-- to 8 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is TRUE, each element of
-- geometry.instances.data.deviceAddress in device memory
-- must be aligned to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR,
-- geometry.instances.data.deviceAddress must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.instances.data.deviceAddress is the address of a
-- non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, each
-- AccelerationStructureInstanceKHR::accelerationStructureReference
-- value in geometry.instances.data.deviceAddress must be
-- a valid device address containing a value obtained from
-- getAccelerationStructureDeviceAddressKHR
-- - For each pInfos[i], dstAccelerationStructure
-- must have been created with a value of
-- AccelerationStructureCreateInfoKHR::size greater than
-- or equal to the memory size required by the build operation, as
-- returned by getAccelerationStructureBuildSizesKHR with
-- pBuildInfo = pInfos[i] and with each element of the
-- pMaxPrimitiveCounts array greater than or equal to the
-- equivalent ppBuildRangeInfos[i][j].primitiveCount
-- values for j in
-- [0,pInfos[i].geometryCount)
-- - Each element of ppBuildRangeInfos[i] must be a
-- valid pointer to an array of pInfos[i].geometryCount
-- AccelerationStructureBuildRangeInfoKHR structures
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildRangeInfoKHR, CommandBuffer
cmdBuildAccelerationStructuresKHR :: forall io. MonadIO io => CommandBuffer -> ("infos" ::: Vector AccelerationStructureBuildGeometryInfoKHR) -> ("buildRangeInfos" ::: Vector (Vector AccelerationStructureBuildRangeInfoKHR)) -> io ()
-- | vkCmdBuildAccelerationStructuresIndirectKHR - Build an acceleration
-- structure with some parameters provided on the device
--
-- Description
--
-- Accesses to acceleration structures, scratch buffers, vertex buffers,
-- index buffers, and instance buffers must be synchronized as with
-- cmdBuildAccelerationStructuresKHR.
--
-- Accesses to any element of pIndirectDeviceAddresses
-- must be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of
-- ACCESS_INDIRECT_COMMAND_READ_BIT.
--
-- Valid Usage
--
--
--
--
-- - If the srcAccelerationStructure member of any element of
-- pInfos is not NULL_HANDLE, the
-- srcAccelerationStructure member must be a valid
-- AccelerationStructureKHR handle
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must not be
-- NULL_HANDLE
-- - The srcAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must be a valid AccelerationStructureKHR
-- handle
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, inactive
-- primitives in its srcAccelerationStructure member
-- must not be made active
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, active
-- primitives in its srcAccelerationStructure member must
-- not be made inactive
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- srcAccelerationStructure member of any other element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, which is accessed
-- by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- dstAccelerationStructure member of any other element of
-- pInfos, which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- scratchData member of any element of pInfos
-- (including the same element), which is accessed by this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the scratchData
-- member of any other element of pInfos, which is accessed by
-- this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the
-- srcAccelerationStructure member of any element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the
-- same element), which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing any acceleration
-- structure referenced by the geometry.instances.data member of
-- any element of pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos, which is accessed by this
-- command
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must have previously
-- been constructed with
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR set in
-- AccelerationStructureBuildGeometryInfoKHR::flags in
-- the build
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure and
-- dstAccelerationStructure members must either be the
-- same AccelerationStructureKHR, or not have any memory
-- aliasing
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- geometryCount member must have the same value which
-- was specified when srcAccelerationStructure was last
-- built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- type member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- geometryType member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.vertexFormat member must have the
-- same value which was specified when srcAccelerationStructure
-- was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.maxVertex member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.indexType member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was NULL
-- when srcAccelerationStructure was last built, then it
-- must be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was not
-- NULL when srcAccelerationStructure was last built,
-- then it must not be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, and
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR, then the value of each index referenced
-- must be the same as the corresponding index value when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, its primitiveCount member must have
-- the same value which was specified when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, if the corresponding geometry uses indices, its
-- firstVertex member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, the corresponding
-- ppMaxPrimitiveCounts[i][j] must be less than or equal
-- to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount
-- - For each element of pInfos, the buffer used to
-- create its dstAccelerationStructure member must be
-- bound to device memory
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR the
-- buffer used to create its srcAccelerationStructure
-- member must be bound to device memory
-- - For each element of pInfos, the buffer used to
-- create each acceleration structure referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR
-- must be bound to device memory
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR, all addresses
-- between pInfos[i].scratchData.deviceAddress and
-- pInfos[i].scratchData.deviceAddress + N - 1
-- must be in the buffer device address range of the same buffer,
-- where N is given by the buildScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, all addresses
-- between pInfos[i].scratchData.deviceAddress and
-- pInfos[i].scratchData.deviceAddress + N - 1
-- must be in the buffer device address range of the same buffer,
-- where N is given by the updateScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - The buffers from which the buffer device addresses for all of the
-- geometry.triangles.vertexData,
-- geometry.triangles.indexData,
-- geometry.triangles.transformData,
-- geometry.aabbs.data, and geometry.instances.data
-- members of all pInfos[i].pGeometries and
-- pInfos[i].ppGeometries are queried must have
-- been created with the
-- BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-- usage flag
-- - The buffer from which the buffer device address
-- pInfos[i].scratchData.deviceAddress is queried
-- must have been created with
-- BUFFER_USAGE_STORAGE_BUFFER_BIT usage flag
-- - For each element of pInfos, its
-- scratchData.deviceAddress member must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For each element of pInfos, if
-- scratchData.deviceAddress is the address of a non-sparse
-- buffer then it must be bound completely and contiguously to a
-- single DeviceMemory object
-- - For each element of pInfos, its
-- scratchData.deviceAddress member must be a multiple of
-- PhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR,
-- geometry.triangles.vertexData.deviceAddress must be a
-- valid device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.vertexData.deviceAddress is the address of
-- a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR,
-- geometry.triangles.vertexData.deviceAddress must be
-- aligned to the size in bytes of the smallest component of the format
-- in vertexFormat
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR,
-- geometry.triangles.indexData.deviceAddress must be a
-- valid device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR, if
-- geometry.triangles.indexData.deviceAddress is the address of
-- a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, and with
-- geometry.triangles.indexType not equal to
-- INDEX_TYPE_NONE_KHR,
-- geometry.triangles.indexData.deviceAddress must be
-- aligned to the size in bytes of the type in indexType
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is not
-- 0, it must be a valid device address obtained from
-- getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is the address
-- of a non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.deviceAddress is not
-- 0, it must be aligned to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR,
-- geometry.aabbs.data.deviceAddress must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR, if
-- geometry.aabbs.data.deviceAddress is the address of a
-- non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR,
-- geometry.aabbs.data.deviceAddress must be aligned to
-- 8 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is FALSE,
-- geometry.instances.data.deviceAddress must be aligned
-- to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is TRUE,
-- geometry.instances.data.deviceAddress must be aligned
-- to 8 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.arrayOfPointers is TRUE, each element of
-- geometry.instances.data.deviceAddress in device memory
-- must be aligned to 16 bytes
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR,
-- geometry.instances.data.deviceAddress must be a valid
-- device address obtained from getBufferDeviceAddress
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, if
-- geometry.instances.data.deviceAddress is the address of a
-- non-sparse buffer then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, each
-- AccelerationStructureInstanceKHR::accelerationStructureReference
-- value in geometry.instances.data.deviceAddress must be
-- a valid device address containing a value obtained from
-- getAccelerationStructureDeviceAddressKHR
-- - For any element of pIndirectDeviceAddresses, if the
-- buffer from which it was queried is non-sparse then it must be
-- bound completely and contiguously to a single DeviceMemory
-- object
-- - For any element of pIndirectDeviceAddresses[i], all
-- device addresses between pIndirectDeviceAddresses[i] and
-- pIndirectDeviceAddresses[i] +
-- (pInfos[i].geometryCount ×
-- pIndirectStrides[i]) - 1 must be in the buffer device
-- address range of the same buffer
-- - For any element of pIndirectDeviceAddresses, the buffer
-- from which it was queried must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - Each element of pIndirectDeviceAddresses must be a
-- multiple of 4
-- - Each element of pIndirectStrides must be a
-- multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - The ::accelerationStructureIndirectBuild feature
-- must be enabled
-- - Each AccelerationStructureBuildRangeInfoKHR structure
-- referenced by any element of pIndirectDeviceAddresses
-- must be a valid AccelerationStructureBuildRangeInfoKHR
-- structure
-- - pInfos[i].dstAccelerationStructure must
-- have been created with a value of
-- AccelerationStructureCreateInfoKHR::size greater than
-- or equal to the memory size required by the build operation, as
-- returned by getAccelerationStructureBuildSizesKHR with
-- pBuildInfo = pInfos[i] and
-- pMaxPrimitiveCounts = ppMaxPrimitiveCounts[i]
-- - Each ppMaxPrimitiveCounts[i][j] must be greater
-- than or equal to the the primitiveCount value specified by
-- the AccelerationStructureBuildRangeInfoKHR structure located at
-- pIndirectDeviceAddresses[i] + (j ×
-- pIndirectStrides[i])
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pInfos must be a valid pointer to an array of
-- infoCount valid
-- AccelerationStructureBuildGeometryInfoKHR structures
-- - pIndirectDeviceAddresses must be a valid pointer
-- to an array of infoCount DeviceAddress values
-- - pIndirectStrides must be a valid pointer to an
-- array of infoCount uint32_t values
-- - ppMaxPrimitiveCounts must be a valid pointer to an
-- array of infoCount uint32_t values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - infoCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- CommandBuffer, DeviceAddress
cmdBuildAccelerationStructuresIndirectKHR :: forall io. MonadIO io => CommandBuffer -> ("infos" ::: Vector AccelerationStructureBuildGeometryInfoKHR) -> ("indirectDeviceAddresses" ::: Vector DeviceAddress) -> ("indirectStrides" ::: Vector Word32) -> ("maxPrimitiveCounts" ::: Vector (Vector Word32)) -> io ()
-- | vkBuildAccelerationStructuresKHR - Build an acceleration structure on
-- the host
--
-- Description
--
-- This command fulfills the same task as
-- cmdBuildAccelerationStructuresKHR but is executed by the host.
--
-- The buildAccelerationStructuresKHR command provides the ability
-- to initiate multiple acceleration structures builds, however there is
-- no ordering or synchronization implied between any of the individual
-- acceleration structure builds.
--
-- Note
--
-- This means that an application cannot build a top-level
-- acceleration structure in the same
-- buildAccelerationStructuresKHR call as the associated
-- bottom-level or instance acceleration structures are being built.
-- There also cannot be any memory aliasing between any
-- acceleration structure memories or scratch memories being used by any
-- of the builds.
--
-- Valid Usage
--
--
--
--
-- - If the srcAccelerationStructure member of any element of
-- pInfos is not NULL_HANDLE, the
-- srcAccelerationStructure member must be a valid
-- AccelerationStructureKHR handle
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must not be
-- NULL_HANDLE
-- - The srcAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be the same acceleration structure as
-- the dstAccelerationStructure member of any other element of
-- pInfos
-- - The dstAccelerationStructure member of any element of
-- pInfos must be a valid AccelerationStructureKHR
-- handle
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its type member
-- is ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, its
-- dstAccelerationStructure member must have been created
-- with a value of
-- AccelerationStructureCreateInfoKHR::type equal to
-- either ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR or
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, inactive
-- primitives in its srcAccelerationStructure member
-- must not be made active
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, active
-- primitives in its srcAccelerationStructure member must
-- not be made inactive
-- - The dstAccelerationStructure member of any element of
-- pInfos must not be referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- srcAccelerationStructure member of any other element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, which is accessed
-- by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- dstAccelerationStructure member of any other element of
-- pInfos, which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing the
-- scratchData member of any element of pInfos
-- (including the same element), which is accessed by this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the scratchData
-- member of any other element of pInfos, which is accessed by
-- this command
-- - The range of memory backing the scratchData member of any
-- element of pInfos that is accessed by this command
-- must not overlap the memory backing the
-- srcAccelerationStructure member of any element of
-- pInfos with a mode equal to
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the
-- same element), which is accessed by this command
-- - The range of memory backing the dstAccelerationStructure
-- member of any element of pInfos that is accessed by this
-- command must not overlap the memory backing any acceleration
-- structure referenced by the geometry.instances.data member of
-- any element of pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR in any
-- other element of pInfos, which is accessed by this
-- command
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure member must have previously
-- been constructed with
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR set in
-- AccelerationStructureBuildGeometryInfoKHR::flags in
-- the build
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- srcAccelerationStructure and
-- dstAccelerationStructure members must either be the
-- same AccelerationStructureKHR, or not have any memory
-- aliasing
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- geometryCount member must have the same value which
-- was specified when srcAccelerationStructure was last
-- built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its
-- type member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- geometryType member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, its
-- flags member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.vertexFormat member must have the
-- same value which was specified when srcAccelerationStructure
-- was last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.maxVertex member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, its
-- geometry.triangles.indexType member must have the same
-- value which was specified when srcAccelerationStructure was
-- last built
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was NULL
-- when srcAccelerationStructure was last built, then it
-- must be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, if its
-- geometry.triangles.transformData address was not
-- NULL when srcAccelerationStructure was last built,
-- then it must not be NULL
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
-- AccelerationStructureGeometryKHR structure referred to by its
-- pGeometries or ppGeometries members, if
-- geometryType is GEOMETRY_TYPE_TRIANGLES_KHR, and
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR, then the value of each index referenced
-- must be the same as the corresponding index value when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, its primitiveCount member must have
-- the same value which was specified when
-- srcAccelerationStructure was last built
-- - For each AccelerationStructureBuildRangeInfoKHR referenced
-- by this command, if the corresponding geometry uses indices, its
-- firstVertex member must have the same value which was
-- specified when srcAccelerationStructure was last built
-- - For each element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, the corresponding
-- ppBuildRangeInfos[i][j].primitiveCount must
-- be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount
-- - For each pInfos[i], dstAccelerationStructure
-- must have been created with a value of
-- AccelerationStructureCreateInfoKHR::size greater than
-- or equal to the memory size required by the build operation, as
-- returned by getAccelerationStructureBuildSizesKHR with
-- pBuildInfo = pInfos[i] and with each element of the
-- pMaxPrimitiveCounts array greater than or equal to the
-- equivalent ppBuildRangeInfos[i][j].primitiveCount
-- values for j in
-- [0,pInfos[i].geometryCount)
-- - Each element of ppBuildRangeInfos[i] must be a
-- valid pointer to an array of pInfos[i].geometryCount
-- AccelerationStructureBuildRangeInfoKHR structures
-- - If deferredOperation is not NULL_HANDLE, it
-- must be a valid DeferredOperationKHR object
-- - Any previous deferred operation that was associated with
-- deferredOperation must be complete
-- - For each element of pInfos, the buffer used to
-- create its dstAccelerationStructure member must be
-- bound to host-visible device memory
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR the
-- buffer used to create its srcAccelerationStructure
-- member must be bound to host-visible device memory
-- - For each element of pInfos, the buffer used to
-- create each acceleration structure referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR
-- must be bound to host-visible device memory
-- - The ::accelerationStructureHostCommands feature must
-- be enabled
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR, all addresses
-- between pInfos[i].scratchData.hostAddress and
-- pInfos[i].scratchData.hostAddress + N - 1
-- must be valid host memory, where N is given by the
-- buildScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - If pInfos[i].mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, all addresses
-- between pInfos[i].scratchData.hostAddress and
-- pInfos[i].scratchData.hostAddress + N - 1
-- must be valid host memory, where N is given by the
-- updateScratchSize member of the
-- AccelerationStructureBuildSizesInfoKHR structure returned from
-- a call to getAccelerationStructureBuildSizesKHR with an
-- identical AccelerationStructureBuildGeometryInfoKHR structure
-- and primitive count
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR,
-- geometry.triangles.vertexData.hostAddress must be a
-- valid host address
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.indexType is not
-- INDEX_TYPE_NONE_KHR,
-- geometry.triangles.indexData.hostAddress must be a
-- valid host address
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_TRIANGLES_KHR, if
-- geometry.triangles.transformData.hostAddress is not
-- 0, it must be a valid host address
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_AABBS_KHR,
-- geometry.aabbs.data.hostAddress must be a valid host
-- address
-- - For each element of pInfos, the buffer used to
-- create its dstAccelerationStructure member must be
-- bound to memory that was not allocated with multiple instances
-- - For each element of pInfos, if its mode member
-- is BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR the
-- buffer used to create its srcAccelerationStructure
-- member must be bound to memory that was not allocated with
-- multiple instances
-- - For each element of pInfos, the buffer used to
-- create each acceleration structure referenced by the
-- geometry.instances.data member of any element of
-- pGeometries or ppGeometries with a
-- geometryType of GEOMETRY_TYPE_INSTANCES_KHR
-- must be bound to memory that was not allocated with multiple
-- instances
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR,
-- geometry.instances.data.hostAddress must be a valid
-- host address
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR, each
-- AccelerationStructureInstanceKHR::accelerationStructureReference
-- value in geometry.instances.data.hostAddress must be a valid
-- AccelerationStructureKHR object
-- - For any element of pInfos[i].pGeometries or
-- pInfos[i].ppGeometries with a geometryType
-- of GEOMETRY_TYPE_INSTANCES_KHR with
-- BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV set, each
-- accelerationStructureReference in any structure in
-- AccelerationStructureMotionInstanceNV value in
-- geometry.instances.data.hostAddress must be a valid
-- AccelerationStructureKHR object
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildRangeInfoKHR,
-- DeferredOperationKHR, Device
buildAccelerationStructuresKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> ("infos" ::: Vector AccelerationStructureBuildGeometryInfoKHR) -> ("buildRangeInfos" ::: Vector (Vector AccelerationStructureBuildRangeInfoKHR)) -> io Result
-- | vkGetAccelerationStructureDeviceAddressKHR - Query an address of a
-- acceleration structure
--
-- Description
--
-- The 64-bit return value is an address of the acceleration structure,
-- which can be used for device and shader operations that involve
-- acceleration structures, such as ray traversal and acceleration
-- structure building.
--
-- If the acceleration structure was created with a non-zero value of
-- AccelerationStructureCreateInfoKHR::deviceAddress, the
-- return value will be the same address.
--
-- If the acceleration structure was created with a type of
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR, the returned address
-- must be consistent with the relative offset to other
-- acceleration structures with type
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR allocated with the same
-- Buffer. That is, the difference in returned addresses between
-- the two must be the same as the difference in offsets provided
-- at acceleration structure creation.
--
-- Note
--
-- The acceleration structure device address may be different from
-- the buffer device address corresponding to the acceleration
-- structure’s start offset in its storage buffer for acceleration
-- structure types other than
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureDeviceAddressInfoKHR, Device
getAccelerationStructureDeviceAddressKHR :: forall io. MonadIO io => Device -> AccelerationStructureDeviceAddressInfoKHR -> io DeviceAddress
-- | vkGetAccelerationStructureBuildSizesKHR - Retrieve the required size
-- for an acceleration structure
--
-- Description
--
-- The srcAccelerationStructure,
-- dstAccelerationStructure, and mode members of
-- pBuildInfo are ignored. Any DeviceOrHostAddressKHR
-- members of pBuildInfo are ignored by this command, except
-- that the hostAddress member of
-- AccelerationStructureGeometryTrianglesDataKHR::transformData
-- will be examined to check if it is NULL.
--
-- An acceleration structure created with the
-- accelerationStructureSize returned by this command supports
-- any build or update with a
-- AccelerationStructureBuildGeometryInfoKHR structure and array
-- of AccelerationStructureBuildRangeInfoKHR structures subject to
-- the following properties:
--
--
-- - The build command is a host build command, and buildType
-- is ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR or
-- ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
-- - The build command is a device build command, and
-- buildType is
-- ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR or
-- ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
-- - For AccelerationStructureBuildGeometryInfoKHR:
- Its
-- type, and flags members are equal to
-- pBuildInfo->type andm pBuildInfo->flags,
-- respectively.
- geometryCount is less than or equal to
-- pBuildInfo->geometryCount.
- For each element of
-- either pGeometries or ppGeometries at a given index,
-- its geometryType member is equal to
-- pBuildInfo->geometryType.
- For each element of
-- either pGeometries or ppGeometries at a given index,
-- with a geometryType member equal to
-- GEOMETRY_TYPE_TRIANGLES_KHR, the vertexFormat and
-- indexType members of geometry.triangles are equal to
-- the corresponding members of the same element in
-- pBuildInfo.
- For each element of either
-- pGeometries or ppGeometries at a given index, with a
-- geometryType member equal to
-- GEOMETRY_TYPE_TRIANGLES_KHR, the maxVertex member of
-- geometry.triangles is less than or equal to the corresponding
-- member of the same element in pBuildInfo.
- For each
-- element of either pGeometries or ppGeometries at a
-- given index, with a geometryType member equal to
-- GEOMETRY_TYPE_TRIANGLES_KHR, if the applicable address in the
-- transformData member of geometry.triangles is not
-- NULL, the corresponding transformData.hostAddress
-- parameter in pBuildInfo is not NULL.
-- - For each AccelerationStructureBuildRangeInfoKHR
-- corresponding to the
-- AccelerationStructureBuildGeometryInfoKHR:
- Its
-- primitiveCount member is less than or equal to the
-- corresponding element of pMaxPrimitiveCounts.
--
--
-- Similarly, the updateScratchSize value will support any build
-- command specifying the
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR mode
-- under the above conditions, and the buildScratchSize value
-- will support any build command specifying the
-- BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR mode under
-- the above conditions.
--
-- Valid Usage
--
--
--
--
-- - If device was created with multiple physical devices,
-- then the bufferDeviceAddressMultiDevice feature must be
-- enabled
-- - If pBuildInfo->geometryCount is not 0,
-- pMaxPrimitiveCounts must be a valid pointer to an
-- array of pBuildInfo->geometryCount uint32_t
-- values
-- - If pBuildInfo->pGeometries or
-- pBuildInfo->ppGeometries has a geometryType of
-- GEOMETRY_TYPE_INSTANCES_KHR, each
-- pMaxPrimitiveCounts[i] must be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureBuildTypeKHR, Device
getAccelerationStructureBuildSizesKHR :: forall io. MonadIO io => Device -> AccelerationStructureBuildTypeKHR -> ("buildInfo" ::: AccelerationStructureBuildGeometryInfoKHR) -> ("maxPrimitiveCounts" ::: Vector Word32) -> io ("sizeInfo" ::: AccelerationStructureBuildSizesInfoKHR)
pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | VkWriteDescriptorSetAccelerationStructureKHR - Structure specifying
-- acceleration structure descriptor information
--
-- Valid Usage
--
--
-- - accelerationStructureCount must be equal to
-- descriptorCount in the extended structure
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pAccelerationStructures must be a valid pointer to
-- an array of accelerationStructureCount valid or
-- NULL_HANDLE AccelerationStructureKHR handles
-- - accelerationStructureCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- StructureType
data WriteDescriptorSetAccelerationStructureKHR
WriteDescriptorSetAccelerationStructureKHR :: Vector AccelerationStructureKHR -> WriteDescriptorSetAccelerationStructureKHR
-- | pAccelerationStructures is a pointer to an array of
-- AccelerationStructureKHR structures specifying the acceleration
-- structures to update.
[$sel:accelerationStructures:WriteDescriptorSetAccelerationStructureKHR] :: WriteDescriptorSetAccelerationStructureKHR -> Vector AccelerationStructureKHR
-- | VkPhysicalDeviceAccelerationStructureFeaturesKHR - Structure
-- describing the acceleration structure features that can be supported
-- by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceAccelerationStructureFeaturesKHR structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceAccelerationStructureFeaturesKHR can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, Bool32,
-- StructureType
data PhysicalDeviceAccelerationStructureFeaturesKHR
PhysicalDeviceAccelerationStructureFeaturesKHR :: Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceAccelerationStructureFeaturesKHR
-- | accelerationStructure indicates whether the implementation
-- supports the acceleration structure functionality. See Acceleration
-- Structures.
[$sel:accelerationStructure:PhysicalDeviceAccelerationStructureFeaturesKHR] :: PhysicalDeviceAccelerationStructureFeaturesKHR -> Bool
-- | accelerationStructureCaptureReplay indicates whether the
-- implementation supports saving and reusing acceleration structure
-- device addresses, e.g. for trace capture and replay.
[$sel:accelerationStructureCaptureReplay:PhysicalDeviceAccelerationStructureFeaturesKHR] :: PhysicalDeviceAccelerationStructureFeaturesKHR -> Bool
-- | accelerationStructureIndirectBuild indicates whether the
-- implementation supports indirect acceleration structure build
-- commands, e.g. cmdBuildAccelerationStructuresIndirectKHR.
[$sel:accelerationStructureIndirectBuild:PhysicalDeviceAccelerationStructureFeaturesKHR] :: PhysicalDeviceAccelerationStructureFeaturesKHR -> Bool
-- | accelerationStructureHostCommands indicates whether the
-- implementation supports host side acceleration structure commands,
-- e.g. buildAccelerationStructuresKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- writeAccelerationStructuresPropertiesKHR.
[$sel:accelerationStructureHostCommands:PhysicalDeviceAccelerationStructureFeaturesKHR] :: PhysicalDeviceAccelerationStructureFeaturesKHR -> Bool
-- | descriptorBindingAccelerationStructureUpdateAfterBind
-- indicates whether the implementation supports updating acceleration
-- structure descriptors after a set is bound. If this feature is not
-- enabled, DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must
-- not be used with DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR.
[$sel:descriptorBindingAccelerationStructureUpdateAfterBind:PhysicalDeviceAccelerationStructureFeaturesKHR] :: PhysicalDeviceAccelerationStructureFeaturesKHR -> Bool
-- | VkPhysicalDeviceAccelerationStructurePropertiesKHR - Properties of the
-- physical device for acceleration structure
--
-- Description
--
-- Due to the fact that the geometry, instance, and primitive counts are
-- specified at acceleration structure creation as 32-bit values,
-- maxGeometryCount, maxInstanceCount, and
-- maxPrimitiveCount must not exceed 232-1.
--
-- If the PhysicalDeviceAccelerationStructurePropertiesKHR
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Limits specified by this structure must match those specified
-- with the same name in PhysicalDeviceRayTracingPropertiesNV.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, StructureType
data PhysicalDeviceAccelerationStructurePropertiesKHR
PhysicalDeviceAccelerationStructurePropertiesKHR :: Word64 -> Word64 -> Word64 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceAccelerationStructurePropertiesKHR
-- | maxGeometryCount is the maximum number of geometries in the
-- bottom level acceleration structure.
[$sel:maxGeometryCount:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word64
-- | maxInstanceCount is the maximum number of instances in the
-- top level acceleration structure.
[$sel:maxInstanceCount:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word64
-- | maxPrimitiveCount is the maximum number of triangles or AABBs
-- in all geometries in the bottom level acceleration structure.
[$sel:maxPrimitiveCount:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word64
-- | maxPerStageDescriptorAccelerationStructures is the maximum
-- number of acceleration structure bindings that can be
-- accessible to a single shader stage in a pipeline layout. Descriptor
-- bindings with a descriptor type of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR count against this
-- limit. Only descriptor bindings in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit.
[$sel:maxPerStageDescriptorAccelerationStructures:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word32
-- | maxPerStageDescriptorUpdateAfterBindAccelerationStructures is
-- similar to maxPerStageDescriptorAccelerationStructures but
-- counts descriptor bindings from descriptor sets created with or
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindAccelerationStructures:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word32
-- | maxDescriptorSetAccelerationStructures is the maximum number
-- of acceleration structure descriptors that can be included in
-- descriptor bindings in a pipeline layout across all pipeline shader
-- stages and descriptor set numbers. Descriptor bindings with a
-- descriptor type of DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR
-- count against this limit. Only descriptor bindings in descriptor set
-- layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit.
[$sel:maxDescriptorSetAccelerationStructures:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word32
-- | maxDescriptorSetUpdateAfterBindAccelerationStructures is
-- similar to maxDescriptorSetAccelerationStructures but counts
-- descriptor bindings from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindAccelerationStructures:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word32
-- | minAccelerationStructureScratchOffsetAlignment is the minimum
-- required alignment, in bytes, for scratch data passed in to an
-- acceleration structure build command. The value must be a power
-- of two.
[$sel:minAccelerationStructureScratchOffsetAlignment:PhysicalDeviceAccelerationStructurePropertiesKHR] :: PhysicalDeviceAccelerationStructurePropertiesKHR -> Word32
-- | VkAccelerationStructureGeometryTrianglesDataKHR - Structure specifying
-- a triangle geometry in a bottom-level acceleration structure
--
-- Description
--
-- Note
--
-- Unlike the stride for vertex buffers in
-- VertexInputBindingDescription for graphics pipelines which must
-- not exceed maxVertexInputBindingStride, vertexStride
-- for acceleration structure geometry is instead restricted to being a
-- 32-bit value.
--
-- Valid Usage
--
--
-- - vertexStride must be a multiple of the size in
-- bytes of the smallest component of vertexFormat
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureGeometryDataKHR,
-- DeviceOrHostAddressConstKHR, DeviceSize, Format,
-- IndexType, StructureType
data AccelerationStructureGeometryTrianglesDataKHR (es :: [Type])
AccelerationStructureGeometryTrianglesDataKHR :: Chain es -> Format -> DeviceOrHostAddressConstKHR -> DeviceSize -> Word32 -> IndexType -> DeviceOrHostAddressConstKHR -> DeviceOrHostAddressConstKHR -> AccelerationStructureGeometryTrianglesDataKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> Chain es
-- | vertexFormat is the Format of each vertex element.
[$sel:vertexFormat:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> Format
-- | vertexData is a device or host address to memory containing
-- vertex data for this geometry.
[$sel:vertexData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> DeviceOrHostAddressConstKHR
-- | vertexStride is the stride in bytes between each vertex.
[$sel:vertexStride:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> DeviceSize
-- | maxVertex is the highest index of a vertex that will be
-- addressed by a build command using this structure.
[$sel:maxVertex:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> Word32
-- | indexType is the IndexType of each index element.
[$sel:indexType:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> IndexType
-- | indexData is a device or host address to memory containing
-- index data for this geometry.
[$sel:indexData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> DeviceOrHostAddressConstKHR
-- | transformData is a device or host address to memory
-- containing an optional reference to a TransformMatrixKHR
-- structure describing a transformation from the space in which the
-- vertices in this geometry are described to the space in which the
-- acceleration structure is defined.
[$sel:transformData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR (es :: [Type]) -> DeviceOrHostAddressConstKHR
-- | VkAccelerationStructureGeometryAabbsDataKHR - Structure specifying
-- axis-aligned bounding box geometry in a bottom-level acceleration
-- structure
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureGeometryDataKHR,
-- DeviceOrHostAddressConstKHR, DeviceSize,
-- StructureType
data AccelerationStructureGeometryAabbsDataKHR
AccelerationStructureGeometryAabbsDataKHR :: DeviceOrHostAddressConstKHR -> DeviceSize -> AccelerationStructureGeometryAabbsDataKHR
-- | data is a device or host address to memory containing
-- AabbPositionsKHR structures containing position data for each
-- axis-aligned bounding box in the geometry.
[$sel:data':AccelerationStructureGeometryAabbsDataKHR] :: AccelerationStructureGeometryAabbsDataKHR -> DeviceOrHostAddressConstKHR
-- | stride is the stride in bytes between each entry in
-- data. The stride must be a multiple of 8.
--
-- stride must be a multiple of 8
--
-- stride must be less than or equal to 232-1
[$sel:stride:AccelerationStructureGeometryAabbsDataKHR] :: AccelerationStructureGeometryAabbsDataKHR -> DeviceSize
-- | VkAccelerationStructureGeometryInstancesDataKHR - Structure specifying
-- a geometry consisting of instances of other acceleration structures
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureGeometryDataKHR, Bool32,
-- DeviceOrHostAddressConstKHR, StructureType
data AccelerationStructureGeometryInstancesDataKHR
AccelerationStructureGeometryInstancesDataKHR :: Bool -> DeviceOrHostAddressConstKHR -> AccelerationStructureGeometryInstancesDataKHR
-- | arrayOfPointers specifies whether data is used as an
-- array of addresses or just an array.
[$sel:arrayOfPointers:AccelerationStructureGeometryInstancesDataKHR] :: AccelerationStructureGeometryInstancesDataKHR -> Bool
-- | data is either the address of an array of device or host
-- addresses referencing individual
-- AccelerationStructureInstanceKHR structures or packed motion
-- instance information as described in motion instances if
-- arrayOfPointers is TRUE, or the address of an array of
-- AccelerationStructureInstanceKHR or
-- AccelerationStructureMotionInstanceNV structures. Addresses and
-- AccelerationStructureInstanceKHR structures are tightly packed.
-- AccelerationStructureMotionInstanceNV structures have a stride
-- of 160 bytes.
[$sel:data':AccelerationStructureGeometryInstancesDataKHR] :: AccelerationStructureGeometryInstancesDataKHR -> DeviceOrHostAddressConstKHR
-- | VkAccelerationStructureGeometryKHR - Structure specifying geometries
-- to be built into an acceleration structure
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureGeometryDataKHR, GeometryFlagsKHR,
-- GeometryTypeKHR, StructureType
data AccelerationStructureGeometryKHR
AccelerationStructureGeometryKHR :: GeometryTypeKHR -> AccelerationStructureGeometryDataKHR -> GeometryFlagsKHR -> AccelerationStructureGeometryKHR
-- | geometryType describes which type of geometry this
-- AccelerationStructureGeometryKHR refers to.
[$sel:geometryType:AccelerationStructureGeometryKHR] :: AccelerationStructureGeometryKHR -> GeometryTypeKHR
-- | geometry is a AccelerationStructureGeometryDataKHR
-- union describing the geometry data for the relevant geometry type.
[$sel:geometry:AccelerationStructureGeometryKHR] :: AccelerationStructureGeometryKHR -> AccelerationStructureGeometryDataKHR
-- | flags is a bitmask of GeometryFlagBitsKHR values
-- describing additional properties of how the geometry should be built.
[$sel:flags:AccelerationStructureGeometryKHR] :: AccelerationStructureGeometryKHR -> GeometryFlagsKHR
-- | VkAccelerationStructureBuildGeometryInfoKHR - Structure specifying the
-- geometry data used to build an acceleration structure
--
-- Description
--
-- Only one of pGeometries or ppGeometries can
-- be a valid pointer, the other must be NULL. Each
-- element of the non-NULL array describes the data used to
-- build each acceleration structure geometry.
--
-- The index of each element of the pGeometries or
-- ppGeometries members of
-- AccelerationStructureBuildGeometryInfoKHR is used as the
-- /geometry index/ during ray traversal. The geometry index is available
-- in ray shaders via the RayGeometryIndexKHR built-in, and is
-- used to determine hit and intersection shaders executed during
-- traversal. The geometry index is available to ray queries via the
-- OpRayQueryGetIntersectionGeometryIndexKHR instruction.
--
-- Setting BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV in
-- flags indicates that this build is a motion top level
-- acceleration structure. A motion top level uses instances of format
-- AccelerationStructureMotionInstanceNV if
-- AccelerationStructureGeometryInstancesDataKHR::arrayOfPointers
-- is FALSE.
--
-- If
-- AccelerationStructureGeometryInstancesDataKHR::arrayOfPointers
-- is TRUE, the pointer for any given element of the array of
-- instance pointers consists of 4 bits of
-- AccelerationStructureMotionInstanceTypeNV in the low 4 bits of
-- the pointer identifying the type of structure at the pointer. The
-- device address accessed is the value in the array with the low 4 bits
-- set to zero. The structure at the pointer is one of
-- AccelerationStructureInstanceKHR,
-- AccelerationStructureMatrixMotionInstanceNV or
-- AccelerationStructureSRTMotionInstanceNV, depending on the type
-- value encoded in the low 4 bits.
--
-- A top level acceleration structure with either motion instances or
-- vertex motion in its instances must set
-- BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV in flags.
--
-- Members srcAccelerationStructure and
-- dstAccelerationStructure may be the same or different
-- for an update operation (when mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR). If they are the
-- same, the update happens in-place. Otherwise, the target acceleration
-- structure is updated and the source is not modified.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - type must be a valid
-- AccelerationStructureTypeKHR value
-- - flags must be a valid combination of
-- BuildAccelerationStructureFlagBitsKHR values
-- - If geometryCount is not 0, and
-- pGeometries is not NULL, pGeometries
-- must be a valid pointer to an array of geometryCount
-- valid AccelerationStructureGeometryKHR structures
-- - If geometryCount is not 0, and
-- ppGeometries is not NULL, ppGeometries
-- must be a valid pointer to an array of geometryCount
-- valid pointers to valid AccelerationStructureGeometryKHR
-- structures
-- - Both of dstAccelerationStructure, and
-- srcAccelerationStructure that are valid handles of
-- non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureKHR, AccelerationStructureTypeKHR,
-- BuildAccelerationStructureFlagsKHR,
-- BuildAccelerationStructureModeKHR,
-- DeviceOrHostAddressKHR, StructureType,
-- buildAccelerationStructuresKHR,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR,
-- getAccelerationStructureBuildSizesKHR
data AccelerationStructureBuildGeometryInfoKHR
AccelerationStructureBuildGeometryInfoKHR :: AccelerationStructureTypeKHR -> BuildAccelerationStructureFlagsKHR -> BuildAccelerationStructureModeKHR -> AccelerationStructureKHR -> AccelerationStructureKHR -> Vector AccelerationStructureGeometryKHR -> DeviceOrHostAddressKHR -> AccelerationStructureBuildGeometryInfoKHR
-- | type is a AccelerationStructureTypeKHR value
-- specifying the type of acceleration structure being built.
[$sel:type':AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> AccelerationStructureTypeKHR
-- | flags is a bitmask of
-- BuildAccelerationStructureFlagBitsKHR specifying additional
-- parameters of the acceleration structure.
[$sel:flags:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> BuildAccelerationStructureFlagsKHR
-- | mode is a BuildAccelerationStructureModeKHR value
-- specifying the type of operation to perform.
[$sel:mode:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> BuildAccelerationStructureModeKHR
-- | srcAccelerationStructure is a pointer to an existing
-- acceleration structure that is to be used to update the dst
-- acceleration structure when mode is
-- BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR.
[$sel:srcAccelerationStructure:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> AccelerationStructureKHR
-- | dstAccelerationStructure is a pointer to the target
-- acceleration structure for the build.
[$sel:dstAccelerationStructure:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> AccelerationStructureKHR
-- | pGeometries is a pointer to an array of
-- AccelerationStructureGeometryKHR structures.
[$sel:geometries:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> Vector AccelerationStructureGeometryKHR
-- | scratchData is the device or host address to memory that will
-- be used as scratch memory for the build.
[$sel:scratchData:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> DeviceOrHostAddressKHR
-- | VkAccelerationStructureBuildRangeInfoKHR - Structure specifying build
-- offsets and counts for acceleration structure builds
--
-- Description
--
-- The primitive count and primitive offset are interpreted differently
-- depending on the GeometryTypeKHR used:
--
--
--
-- Valid Usage
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- buildAccelerationStructuresKHR,
-- cmdBuildAccelerationStructuresKHR
data AccelerationStructureBuildRangeInfoKHR
AccelerationStructureBuildRangeInfoKHR :: Word32 -> Word32 -> Word32 -> Word32 -> AccelerationStructureBuildRangeInfoKHR
-- | primitiveCount defines the number of primitives for a
-- corresponding acceleration structure geometry.
[$sel:primitiveCount:AccelerationStructureBuildRangeInfoKHR] :: AccelerationStructureBuildRangeInfoKHR -> Word32
-- | primitiveOffset defines an offset in bytes into the memory
-- where primitive data is defined.
[$sel:primitiveOffset:AccelerationStructureBuildRangeInfoKHR] :: AccelerationStructureBuildRangeInfoKHR -> Word32
-- | firstVertex is the index of the first vertex to build from
-- for triangle geometry.
[$sel:firstVertex:AccelerationStructureBuildRangeInfoKHR] :: AccelerationStructureBuildRangeInfoKHR -> Word32
-- | transformOffset defines an offset in bytes into the memory
-- where a transform matrix is defined.
[$sel:transformOffset:AccelerationStructureBuildRangeInfoKHR] :: AccelerationStructureBuildRangeInfoKHR -> Word32
-- | VkAccelerationStructureCreateInfoKHR - Structure specifying the
-- parameters of a newly created acceleration structure object
--
-- Description
--
-- If deviceAddress is zero, no specific address is requested.
--
-- If deviceAddress is not zero, deviceAddress
-- must be an address retrieved from an identically created
-- acceleration structure on the same implementation. The acceleration
-- structure must also be placed on an identically created
-- buffer and at the same offset.
--
-- Applications should avoid creating acceleration structures with
-- application-provided addresses and implementation-provided addresses
-- in the same process, to reduce the likelihood of
-- ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR errors.
--
-- Note
--
-- The expected usage for this is that a trace capture/replay tool will
-- add the BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT flag to
-- all buffers that use BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
-- and will add BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT to all
-- buffers used as storage for an acceleration structure where
-- deviceAddress is not zero. This also means that the tool will
-- need to add MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT to memory
-- allocations to allow the flag to be set where the application may not
-- have otherwise required it. During capture the tool will save the
-- queried opaque device addresses in the trace. During replay, the
-- buffers will be created specifying the original address so any address
-- values stored in the trace data will remain valid.
--
-- Implementations are expected to separate such buffers in the GPU
-- address space so normal allocations will avoid using these addresses.
-- Apps/tools should avoid mixing app-provided and
-- implementation-provided addresses for buffers created with
-- BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, to avoid
-- address space allocation conflicts.
--
-- Applications should create an acceleration structure with a
-- specific AccelerationStructureTypeKHR other than
-- ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR.
--
-- If the acceleration structure will be the target of a build operation,
-- the required size for an acceleration structure can be queried
-- with getAccelerationStructureBuildSizesKHR. If the acceleration
-- structure is going to be the target of a compacting copy,
-- cmdWriteAccelerationStructuresPropertiesKHR or
-- writeAccelerationStructuresPropertiesKHR can be used to
-- obtain the compacted size required.
--
-- If the acceleration structure will be the target of a build operation
-- with BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV it must
-- include ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV in
-- flags and include AccelerationStructureMotionInfoNV as
-- an extension structure in pNext with the number of instances
-- as metadata for the object.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureCreateFlagsKHR,
-- AccelerationStructureTypeKHR, Buffer,
-- DeviceAddress, DeviceSize, StructureType,
-- createAccelerationStructureKHR
data AccelerationStructureCreateInfoKHR (es :: [Type])
AccelerationStructureCreateInfoKHR :: Chain es -> AccelerationStructureCreateFlagsKHR -> Buffer -> DeviceSize -> DeviceSize -> AccelerationStructureTypeKHR -> DeviceAddress -> AccelerationStructureCreateInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> Chain es
-- | createFlags is a bitmask of
-- AccelerationStructureCreateFlagBitsKHR specifying additional
-- creation parameters of the acceleration structure.
[$sel:createFlags:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> AccelerationStructureCreateFlagsKHR
-- | buffer is the buffer on which the acceleration structure will
-- be stored.
[$sel:buffer:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> Buffer
-- | offset is an offset in bytes from the base address of the
-- buffer at which the acceleration structure will be stored, and
-- must be a multiple of 256.
[$sel:offset:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> DeviceSize
-- | size is the size required for the acceleration structure.
[$sel:size:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> DeviceSize
-- | type is a AccelerationStructureTypeKHR value
-- specifying the type of acceleration structure that will be created.
[$sel:type':AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> AccelerationStructureTypeKHR
-- | deviceAddress is the device address requested for the
-- acceleration structure if the
-- accelerationStructureCaptureReplay feature is being used.
[$sel:deviceAddress:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR (es :: [Type]) -> DeviceAddress
-- | VkAabbPositionsKHR - Structure specifying two opposing corners of an
-- axis-aligned bounding box
--
-- Valid Usage
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing
data AabbPositionsKHR
AabbPositionsKHR :: Float -> Float -> Float -> Float -> Float -> Float -> AabbPositionsKHR
-- | minX is the x position of one opposing corner of a bounding
-- box.
--
-- minX must be less than or equal to maxX
[$sel:minX:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | minY is the y position of one opposing corner of a bounding
-- box.
--
-- minY must be less than or equal to maxY
[$sel:minY:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | minZ is the z position of one opposing corner of a bounding
-- box.
--
-- minZ must be less than or equal to maxZ
[$sel:minZ:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxX is the x position of the other opposing corner of a
-- bounding box.
[$sel:maxX:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxY is the y position of the other opposing corner of a
-- bounding box.
[$sel:maxY:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxZ is the z position of the other opposing corner of a
-- bounding box.
[$sel:maxZ:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | VkTransformMatrixKHR - Structure specifying a 3x4 affine
-- transformation matrix
--
-- Valid Usage
--
--
-- - The first three columns of matrix must define an
-- invertible 3x3 matrix
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureInstanceKHR,
-- AccelerationStructureMatrixMotionInstanceNV
data TransformMatrixKHR
TransformMatrixKHR :: (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> TransformMatrixKHR
[$sel:matrixRow0:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow1:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow2:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
-- | VkAccelerationStructureInstanceKHR - Structure specifying a single
-- acceleration structure instance for building into an acceleration
-- structure geometry
--
-- Description
--
-- The C language specification does not define the ordering of
-- bit-fields, but in practice, this struct produces the correct layout
-- with existing compilers. The intended bit pattern is for the
-- following:
--
-- If a compiler produces code that diverges from that pattern,
-- applications must employ another method to set values according
-- to the correct bit pattern.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureMotionInstanceDataNV,
-- GeometryInstanceFlagsKHR, TransformMatrixKHR
data AccelerationStructureInstanceKHR
AccelerationStructureInstanceKHR :: TransformMatrixKHR -> Word32 -> Word32 -> Word32 -> GeometryInstanceFlagsKHR -> Word64 -> AccelerationStructureInstanceKHR
-- | transform is a TransformMatrixKHR structure describing
-- a transformation to be applied to the acceleration structure.
[$sel:transform:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> TransformMatrixKHR
-- | instanceCustomIndex is a 24-bit user-specified index value
-- accessible to ray shaders in the InstanceCustomIndexKHR
-- built-in.
--
-- instanceCustomIndex and mask occupy the same memory
-- as if a single uint32_t was specified in their place
--
--
-- - instanceCustomIndex occupies the 24 least significant
-- bits of that memory
-- - mask occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceCustomIndex:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | mask is an 8-bit visibility mask for the geometry. The
-- instance may only be hit if Cull Mask & instance.mask
-- != 0
[$sel:mask:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | instanceShaderBindingTableRecordOffset is a 24-bit offset
-- used in calculating the hit shader binding table index.
--
-- instanceShaderBindingTableRecordOffset and flags
-- occupy the same memory as if a single uint32_t was specified
-- in their place
--
--
-- - instanceShaderBindingTableRecordOffset occupies the 24
-- least significant bits of that memory
-- - flags occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceShaderBindingTableRecordOffset:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | flags is an 8-bit mask of GeometryInstanceFlagBitsKHR
-- values to apply to this instance.
--
-- flags must be a valid combination of
-- GeometryInstanceFlagBitsKHR values
[$sel:flags:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> GeometryInstanceFlagsKHR
-- | accelerationStructureReference is either:
--
--
[$sel:accelerationStructureReference:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word64
-- | VkAccelerationStructureDeviceAddressInfoKHR - Structure specifying the
-- acceleration structure to query an address for
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- StructureType, getAccelerationStructureDeviceAddressKHR
data AccelerationStructureDeviceAddressInfoKHR
AccelerationStructureDeviceAddressInfoKHR :: AccelerationStructureKHR -> AccelerationStructureDeviceAddressInfoKHR
-- | accelerationStructure specifies the acceleration structure
-- whose address is being queried.
--
-- accelerationStructure must be a valid
-- AccelerationStructureKHR handle
[$sel:accelerationStructure:AccelerationStructureDeviceAddressInfoKHR] :: AccelerationStructureDeviceAddressInfoKHR -> AccelerationStructureKHR
-- | VkAccelerationStructureVersionInfoKHR - Acceleration structure version
-- information
--
-- Description
--
-- Note
--
-- pVersionData is a pointer to an array of
-- 2*UUID_SIZE uint8_t values instead of two
-- UUID_SIZE arrays as the expected use case for this member is to
-- be pointed at the header of an previously serialized acceleration
-- structure (via cmdCopyAccelerationStructureToMemoryKHR or
-- copyAccelerationStructureToMemoryKHR) that is loaded in memory.
-- Using arrays would necessitate extra memory copies of the UUIDs.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, StructureType,
-- getDeviceAccelerationStructureCompatibilityKHR
data AccelerationStructureVersionInfoKHR
AccelerationStructureVersionInfoKHR :: ByteString -> AccelerationStructureVersionInfoKHR
-- | pVersionData is a pointer to the version header of an
-- acceleration structure as defined in
-- cmdCopyAccelerationStructureToMemoryKHR
--
-- pVersionData must be a valid pointer to an array of
-- <math> uint8_t values
[$sel:versionData:AccelerationStructureVersionInfoKHR] :: AccelerationStructureVersionInfoKHR -> ByteString
-- | VkCopyAccelerationStructureInfoKHR - Parameters for copying an
-- acceleration structure
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- CopyAccelerationStructureModeKHR, StructureType,
-- cmdCopyAccelerationStructureKHR,
-- copyAccelerationStructureKHR
data CopyAccelerationStructureInfoKHR
CopyAccelerationStructureInfoKHR :: AccelerationStructureKHR -> AccelerationStructureKHR -> CopyAccelerationStructureModeKHR -> CopyAccelerationStructureInfoKHR
-- | src is the source acceleration structure for the copy.
[$sel:src:CopyAccelerationStructureInfoKHR] :: CopyAccelerationStructureInfoKHR -> AccelerationStructureKHR
-- | dst is the target acceleration structure for the copy.
[$sel:dst:CopyAccelerationStructureInfoKHR] :: CopyAccelerationStructureInfoKHR -> AccelerationStructureKHR
-- | mode is a CopyAccelerationStructureModeKHR value
-- specifying additional operations to perform during the copy.
[$sel:mode:CopyAccelerationStructureInfoKHR] :: CopyAccelerationStructureInfoKHR -> CopyAccelerationStructureModeKHR
-- | VkCopyAccelerationStructureToMemoryInfoKHR - Parameters for
-- serializing an acceleration structure
--
-- Valid Usage
--
--
-- - The source acceleration structure src must have
-- been constructed prior to the execution of this command
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- CopyAccelerationStructureModeKHR,
-- DeviceOrHostAddressKHR, StructureType,
-- cmdCopyAccelerationStructureToMemoryKHR,
-- copyAccelerationStructureToMemoryKHR
data CopyAccelerationStructureToMemoryInfoKHR
CopyAccelerationStructureToMemoryInfoKHR :: AccelerationStructureKHR -> DeviceOrHostAddressKHR -> CopyAccelerationStructureModeKHR -> CopyAccelerationStructureToMemoryInfoKHR
-- | src is the source acceleration structure for the copy
[$sel:src:CopyAccelerationStructureToMemoryInfoKHR] :: CopyAccelerationStructureToMemoryInfoKHR -> AccelerationStructureKHR
-- | dst is the device or host address to memory which is the
-- target for the copy
[$sel:dst:CopyAccelerationStructureToMemoryInfoKHR] :: CopyAccelerationStructureToMemoryInfoKHR -> DeviceOrHostAddressKHR
-- | mode is a CopyAccelerationStructureModeKHR value
-- specifying additional operations to perform during the copy.
[$sel:mode:CopyAccelerationStructureToMemoryInfoKHR] :: CopyAccelerationStructureToMemoryInfoKHR -> CopyAccelerationStructureModeKHR
-- | VkCopyMemoryToAccelerationStructureInfoKHR - Parameters for
-- deserializing an acceleration structure
--
-- Valid Usage
--
--
-- - The source memory pointed to by src must contain
-- data previously serialized using
-- cmdCopyAccelerationStructureToMemoryKHR, potentially modified
-- to relocate acceleration structure references as described in that
-- command
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, AccelerationStructureKHR,
-- CopyAccelerationStructureModeKHR,
-- DeviceOrHostAddressConstKHR, StructureType,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- copyMemoryToAccelerationStructureKHR
data CopyMemoryToAccelerationStructureInfoKHR
CopyMemoryToAccelerationStructureInfoKHR :: DeviceOrHostAddressConstKHR -> AccelerationStructureKHR -> CopyAccelerationStructureModeKHR -> CopyMemoryToAccelerationStructureInfoKHR
-- | src is the device or host address to memory containing the
-- source data for the copy.
[$sel:src:CopyMemoryToAccelerationStructureInfoKHR] :: CopyMemoryToAccelerationStructureInfoKHR -> DeviceOrHostAddressConstKHR
-- | dst is the target acceleration structure for the copy.
[$sel:dst:CopyMemoryToAccelerationStructureInfoKHR] :: CopyMemoryToAccelerationStructureInfoKHR -> AccelerationStructureKHR
-- | mode is a CopyAccelerationStructureModeKHR value
-- specifying additional operations to perform during the copy.
[$sel:mode:CopyMemoryToAccelerationStructureInfoKHR] :: CopyMemoryToAccelerationStructureInfoKHR -> CopyAccelerationStructureModeKHR
-- | VkAccelerationStructureBuildSizesInfoKHR - Structure specifying build
-- sizes for an acceleration structure
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, DeviceSize,
-- StructureType, getAccelerationStructureBuildSizesKHR
data AccelerationStructureBuildSizesInfoKHR
AccelerationStructureBuildSizesInfoKHR :: DeviceSize -> DeviceSize -> DeviceSize -> AccelerationStructureBuildSizesInfoKHR
-- | accelerationStructureSize is the size in bytes required in a
-- AccelerationStructureKHR for a build or update operation.
[$sel:accelerationStructureSize:AccelerationStructureBuildSizesInfoKHR] :: AccelerationStructureBuildSizesInfoKHR -> DeviceSize
-- | updateScratchSize is the size in bytes required in a scratch
-- buffer for an update operation.
[$sel:updateScratchSize:AccelerationStructureBuildSizesInfoKHR] :: AccelerationStructureBuildSizesInfoKHR -> DeviceSize
-- | buildScratchSize is the size in bytes required in a scratch
-- buffer for a build operation.
[$sel:buildScratchSize:AccelerationStructureBuildSizesInfoKHR] :: AccelerationStructureBuildSizesInfoKHR -> DeviceSize
data DeviceOrHostAddressKHR
DeviceAddress :: DeviceAddress -> DeviceOrHostAddressKHR
HostAddress :: Ptr () -> DeviceOrHostAddressKHR
data DeviceOrHostAddressConstKHR
DeviceAddressConst :: DeviceAddress -> DeviceOrHostAddressConstKHR
HostAddressConst :: Ptr () -> DeviceOrHostAddressConstKHR
data AccelerationStructureGeometryDataKHR
Triangles :: SomeStruct AccelerationStructureGeometryTrianglesDataKHR -> AccelerationStructureGeometryDataKHR
Aabbs :: AccelerationStructureGeometryAabbsDataKHR -> AccelerationStructureGeometryDataKHR
Instances :: AccelerationStructureGeometryInstancesDataKHR -> AccelerationStructureGeometryDataKHR
type GeometryInstanceFlagsKHR = GeometryInstanceFlagBitsKHR
-- | VkGeometryInstanceFlagBitsKHR - Instance flag bits
--
-- Description
--
-- GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR and
-- GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR must not be used
-- in the same flag.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- GeometryInstanceFlagsKHR
newtype GeometryInstanceFlagBitsKHR
GeometryInstanceFlagBitsKHR :: Flags -> GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR disables
-- face culling for this instance.
pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR indicates that
-- the facing determination for geometry in this instance is
-- inverted. Because the facing is determined in object space, an
-- instance transform does not change the winding, but a geometry
-- transform does.
pattern GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR causes this instance to
-- act as though GEOMETRY_OPAQUE_BIT_KHR were specified on all
-- geometries referenced by this instance. This behavior can be
-- overridden by the SPIR-V NoOpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR causes this instance
-- to act as though GEOMETRY_OPAQUE_BIT_KHR were not specified on
-- all geometries referenced by this instance. This behavior can
-- be overridden by the SPIR-V OpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
type GeometryFlagsKHR = GeometryFlagBitsKHR
-- | VkGeometryFlagBitsKHR - Bitmask specifying additional parameters for a
-- geometry
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- GeometryFlagsKHR
newtype GeometryFlagBitsKHR
GeometryFlagBitsKHR :: Flags -> GeometryFlagBitsKHR
-- | GEOMETRY_OPAQUE_BIT_KHR indicates that this geometry does not
-- invoke the any-hit shaders even if present in a hit group.
pattern GEOMETRY_OPAQUE_BIT_KHR :: GeometryFlagBitsKHR
-- | GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR indicates that
-- the implementation must only call the any-hit shader a single
-- time for each primitive in this geometry. If this bit is absent an
-- implementation may invoke the any-hit shader more than once for
-- this geometry.
pattern GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: GeometryFlagBitsKHR
type BuildAccelerationStructureFlagsKHR = BuildAccelerationStructureFlagBitsKHR
-- | VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying
-- additional parameters for acceleration structure builds
--
-- Description
--
-- Note
--
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
-- may take more time and memory than a normal build, and so
-- should only be used when those features are needed.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- BuildAccelerationStructureFlagsKHR
newtype BuildAccelerationStructureFlagBitsKHR
BuildAccelerationStructureFlagBitsKHR :: Flags -> BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates
-- that the specified acceleration structure can be updated with a
-- mode of BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
-- in AccelerationStructureBuildGeometryInfoKHR or an
-- update of TRUE in
-- cmdBuildAccelerationStructureNV .
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR indicates
-- that the specified acceleration structure can act as the source
-- for a copy acceleration structure command with mode of
-- COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR to produce a
-- compacted acceleration structure.
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize trace performance over build time.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize build time over trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR indicates that
-- this acceleration structure should minimize the size of the
-- scratch memory and the final result acceleration structure,
-- potentially at the expense of build time or trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
type AccelerationStructureCreateFlagsKHR = AccelerationStructureCreateFlagBitsKHR
-- | VkAccelerationStructureCreateFlagBitsKHR - Bitmask specifying
-- additional creation parameters for acceleration structure
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureCreateFlagsKHR
newtype AccelerationStructureCreateFlagBitsKHR
AccelerationStructureCreateFlagBitsKHR :: Flags -> AccelerationStructureCreateFlagBitsKHR
-- |
-- ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
-- specifies that the acceleration structure’s address can be
-- saved and reused on a subsequent run.
pattern ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: AccelerationStructureCreateFlagBitsKHR
pattern ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV :: AccelerationStructureCreateFlagBitsKHR
-- | VkCopyAccelerationStructureModeKHR - Acceleration structure copy mode
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- cmdCopyAccelerationStructureNV
newtype CopyAccelerationStructureModeKHR
CopyAccelerationStructureModeKHR :: Int32 -> CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR creates a direct
-- copy of the acceleration structure specified in src into the
-- one specified by dst. The dst acceleration structure
-- must have been created with the same parameters as
-- src. If src contains references to other
-- acceleration structures, dst will reference the same
-- acceleration structures.
pattern COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more
-- compact version of an acceleration structure src into
-- dst. The acceleration structure dst must have
-- been created with a size at least as large as that returned by
-- cmdWriteAccelerationStructuresPropertiesKHR or
-- writeAccelerationStructuresPropertiesKHR after the build of the
-- acceleration structure specified by src. If src
-- contains references to other acceleration structures, dst
-- will reference the same acceleration structures.
pattern COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR serializes the
-- acceleration structure to a semi-opaque format which can be reloaded
-- on a compatible implementation.
pattern COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR deserializes
-- the semi-opaque serialization format in the buffer to the acceleration
-- structure.
pattern COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: CopyAccelerationStructureModeKHR
-- | VkBuildAccelerationStructureModeKHR - Enum specifying the type of
-- build operation to perform
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR
newtype BuildAccelerationStructureModeKHR
BuildAccelerationStructureModeKHR :: Int32 -> BuildAccelerationStructureModeKHR
-- | BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR specifies that the
-- destination acceleration structure will be built using the specified
-- geometries.
pattern BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR :: BuildAccelerationStructureModeKHR
-- | BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR specifies that the
-- destination acceleration structure will be built using data in a
-- source acceleration structure, updated by the specified geometries.
pattern BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR :: BuildAccelerationStructureModeKHR
-- | VkAccelerationStructureTypeKHR - Type of acceleration structure
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureInfoNV
newtype AccelerationStructureTypeKHR
AccelerationStructureTypeKHR :: Int32 -> AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR is a top-level
-- acceleration structure containing instance data referring to
-- bottom-level acceleration structures.
pattern ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR is a bottom-level
-- acceleration structure containing the AABBs or geometry to be
-- intersected.
pattern ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR is an acceleration
-- structure whose type is determined at build time used for special
-- circumstances.
pattern ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR :: AccelerationStructureTypeKHR
-- | VkGeometryTypeKHR - Enum specifying which type of geometry is provided
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureGeometryKHR, GeometryNV
newtype GeometryTypeKHR
GeometryTypeKHR :: Int32 -> GeometryTypeKHR
-- | GEOMETRY_TYPE_TRIANGLES_KHR specifies a geometry type
-- consisting of triangles.
pattern GEOMETRY_TYPE_TRIANGLES_KHR :: GeometryTypeKHR
-- | GEOMETRY_TYPE_AABBS_KHR specifies a geometry type consisting of
-- axis-aligned bounding boxes.
pattern GEOMETRY_TYPE_AABBS_KHR :: GeometryTypeKHR
-- | GEOMETRY_TYPE_INSTANCES_KHR specifies a geometry type
-- consisting of acceleration structure instances.
pattern GEOMETRY_TYPE_INSTANCES_KHR :: GeometryTypeKHR
-- | VkAccelerationStructureBuildTypeKHR - Acceleration structure build
-- type
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- getAccelerationStructureBuildSizesKHR
newtype AccelerationStructureBuildTypeKHR
AccelerationStructureBuildTypeKHR :: Int32 -> AccelerationStructureBuildTypeKHR
-- | ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR requests the memory
-- requirement for operations performed by the host.
pattern ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: AccelerationStructureBuildTypeKHR
-- | ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR requests the
-- memory requirement for operations performed by the device.
pattern ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: AccelerationStructureBuildTypeKHR
-- | ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR requests
-- the memory requirement for operations performed by either the host, or
-- the device.
pattern ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: AccelerationStructureBuildTypeKHR
-- | VkAccelerationStructureCompatibilityKHR - Acceleration structure
-- compatibility
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- getDeviceAccelerationStructureCompatibilityKHR
newtype AccelerationStructureCompatibilityKHR
AccelerationStructureCompatibilityKHR :: Int32 -> AccelerationStructureCompatibilityKHR
-- | ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR if the
-- pVersionData version acceleration structure is compatible
-- with device.
pattern ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR :: AccelerationStructureCompatibilityKHR
-- | ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR if the
-- pVersionData version acceleration structure is not compatible
-- with device.
pattern ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR :: AccelerationStructureCompatibilityKHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13
pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: forall a. Integral a => a
type KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure"
pattern KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkAccelerationStructureKHR - Opaque handle to an acceleration
-- structure object
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureDeviceAddressInfoKHR,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- WriteDescriptorSetAccelerationStructureKHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- createAccelerationStructureKHR,
-- destroyAccelerationStructureKHR,
-- writeAccelerationStructuresPropertiesKHR
newtype AccelerationStructureKHR
AccelerationStructureKHR :: Word64 -> AccelerationStructureKHR
-- | VkDeferredOperationKHR - A deferred operation
--
-- Description
--
-- This handle refers to a tracking structure which manages the execution
-- state for a deferred command.
--
-- See Also
--
-- VK_KHR_deferred_host_operations,
-- buildAccelerationStructuresKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createDeferredOperationKHR,
-- createRayTracingPipelinesKHR, deferredOperationJoinKHR,
-- destroyDeferredOperationKHR,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR
newtype DeferredOperationKHR
DeferredOperationKHR :: Word64 -> DeferredOperationKHR
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryDataKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.WriteDescriptorSetAccelerationStructureKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryAabbsDataKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureInstanceKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureVersionInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureToMemoryInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.CopyMemoryToAccelerationStructureInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCompatibilityKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildTypeKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureModeKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureToMemoryInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureToMemoryInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.CopyMemoryToAccelerationStructureInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.CopyMemoryToAccelerationStructureInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureInstanceKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureInstanceKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureInstanceKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureInstanceKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryDataKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryDataKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryAabbsDataKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryAabbsDataKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureVersionInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureVersionInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureVersionInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.WriteDescriptorSetAccelerationStructureKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.WriteDescriptorSetAccelerationStructureKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.WriteDescriptorSetAccelerationStructureKHR
-- | Name
--
-- VK_NV_ray_tracing_motion_blur - device extension
--
-- VK_NV_ray_tracing_motion_blur
--
--
-- - Name String
-- VK_NV_ray_tracing_motion_blur
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 328
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_ray_tracing_pipeline
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-16
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Eric Werness,
-- NVIDIA
- Ashwin Lele, NVIDIA
--
--
-- Description
--
-- Ray tracing support in the API provides an efficient mechanism to
-- intersect rays against static geometry, but rendering algorithms often
-- want to support motion, which is more efficiently supported with
-- motion-specific algorithms. This extension adds a set of mechanisms to
-- support fast tracing of moving geometry:
--
--
-- - A ray pipeline trace call which takes a time parameter
-- - Flags to enable motion support in an acceleration structure
-- - Support for time-varying vertex positions in a geometry
-- - Motion instances to move existing instances over time
--
--
-- The motion represented here is parameterized across a normalized
-- timestep between 0.0 and 1.0. A motion trace using
-- OpTraceRayMotionNV provides a time within that normalized
-- range to be used when intersecting that ray with geometry. The
-- geometry can be provided with motion by a combination of adding a
-- second vertex position for time of 1.0 using
-- AccelerationStructureGeometryMotionTrianglesDataNV and
-- providing multiple transforms in the instance using
-- AccelerationStructureMotionInstanceNV.
--
-- New Structures
--
--
--
--
--
-- New Unions
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - What size is VkAccelerationStructureMotionInstanceNV?
--
--
--
-- - Added a note on the structure size and made the stride explicit in
-- the language.
--
--
--
-- - Allow arrayOfPointers for motion TLAS?
--
--
--
-- - Yes, with a packed encoding to minimize the amount of data sent
-- for metadata.
--
--
-- Version History
--
--
-- - Revision 1, 2020-06-16 (Eric Werness, Ashwin Lele)
- Initial
-- external release
--
--
-- See Also
--
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureMatrixMotionInstanceNV,
-- AccelerationStructureMotionInfoFlagsNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureMotionInstanceDataNV,
-- AccelerationStructureMotionInstanceFlagsNV,
-- AccelerationStructureMotionInstanceNV,
-- AccelerationStructureMotionInstanceTypeNV,
-- AccelerationStructureSRTMotionInstanceNV,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV, SRTDataNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_ray_tracing_motion_blur
-- | VkPhysicalDeviceRayTracingMotionBlurFeaturesNV - Structure describing
-- the ray tracing motion blur features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceRayTracingMotionBlurFeaturesNV structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur, Bool32,
-- StructureType
data PhysicalDeviceRayTracingMotionBlurFeaturesNV
PhysicalDeviceRayTracingMotionBlurFeaturesNV :: Bool -> Bool -> PhysicalDeviceRayTracingMotionBlurFeaturesNV
-- | rayTracingMotionBlur indicates whether the implementation
-- supports the motion blur feature.
[$sel:rayTracingMotionBlur:PhysicalDeviceRayTracingMotionBlurFeaturesNV] :: PhysicalDeviceRayTracingMotionBlurFeaturesNV -> Bool
-- | rayTracingMotionBlurPipelineTraceRaysIndirect indicates
-- whether the implementation supports indirect ray tracing commands with
-- the motion blur feature enabled.
[$sel:rayTracingMotionBlurPipelineTraceRaysIndirect:PhysicalDeviceRayTracingMotionBlurFeaturesNV] :: PhysicalDeviceRayTracingMotionBlurFeaturesNV -> Bool
-- | VkAccelerationStructureGeometryMotionTrianglesDataNV - Structure
-- specifying vertex motion in a bottom-level acceleration structure
--
-- Description
--
-- If AccelerationStructureGeometryMotionTrianglesDataNV is
-- included in the pNext chain of a
-- AccelerationStructureGeometryTrianglesDataKHR structure, the
-- basic vertex positions are used for the position of the triangles in
-- the geometry at time 0.0 and the vertexData in
-- AccelerationStructureGeometryMotionTrianglesDataNV is used for
-- the vertex positions at time 1.0, with positions linearly interpolated
-- at intermediate times.
--
-- Indexing for AccelerationStructureGeometryMotionTrianglesDataNV
-- vertexData is equivalent to the basic vertex position data.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- DeviceOrHostAddressConstKHR, StructureType
data AccelerationStructureGeometryMotionTrianglesDataNV
AccelerationStructureGeometryMotionTrianglesDataNV :: DeviceOrHostAddressConstKHR -> AccelerationStructureGeometryMotionTrianglesDataNV
-- | vertexData is a pointer to vertex data for this geometry at
-- time 1.0
[$sel:vertexData:AccelerationStructureGeometryMotionTrianglesDataNV] :: AccelerationStructureGeometryMotionTrianglesDataNV -> DeviceOrHostAddressConstKHR
-- | VkAccelerationStructureMotionInfoNV - Structure specifying the
-- parameters of a newly created acceleration structure object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInfoFlagsNV, StructureType
data AccelerationStructureMotionInfoNV
AccelerationStructureMotionInfoNV :: Word32 -> AccelerationStructureMotionInfoFlagsNV -> AccelerationStructureMotionInfoNV
-- | maxInstances is the maximum number of instances that
-- may be used in the motion top-level acceleration structure.
[$sel:maxInstances:AccelerationStructureMotionInfoNV] :: AccelerationStructureMotionInfoNV -> Word32
-- | flags is 0 and reserved for future use.
--
-- flags must be 0
[$sel:flags:AccelerationStructureMotionInfoNV] :: AccelerationStructureMotionInfoNV -> AccelerationStructureMotionInfoFlagsNV
-- | VkSRTDataNV - Structure specifying a transform in SRT decomposition
--
-- Description
--
-- This transform decomposition consists of three elements. The first is
-- a matrix S, consisting of a scale, shear, and translation, usually
-- used to define the pivot point of the following rotation. This matrix
-- is constructed from the parameters above by:
--
-- [S = left( begin{matrix} sx & a & b & pvx -- 0 & sy
-- & c & pvy -- 0 & 0 & sz & pvz
data SRTDataNV
SRTDataNV :: Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> SRTDataNV
-- | sx is the x component of the scale of the transform
[$sel:sx:SRTDataNV] :: SRTDataNV -> Float
-- | a is one component of the shear for the transform
[$sel:a:SRTDataNV] :: SRTDataNV -> Float
-- | b is one component of the shear for the transform
[$sel:b:SRTDataNV] :: SRTDataNV -> Float
-- | pvx is the x component of the pivot point of the transform
[$sel:pvx:SRTDataNV] :: SRTDataNV -> Float
-- | sy is the y component of the scale of the transform
[$sel:sy:SRTDataNV] :: SRTDataNV -> Float
-- | c is one component of the shear for the transform
[$sel:c:SRTDataNV] :: SRTDataNV -> Float
-- | pvy is the y component of the pivot point of the transform
[$sel:pvy:SRTDataNV] :: SRTDataNV -> Float
-- | sz is the z component of the scale of the transform
[$sel:sz:SRTDataNV] :: SRTDataNV -> Float
-- | pvz is the z component of the pivot point of the transform
[$sel:pvz:SRTDataNV] :: SRTDataNV -> Float
-- | qx is the x component of the rotation quaternion
[$sel:qx:SRTDataNV] :: SRTDataNV -> Float
-- | qy is the y component of the rotation quaternion
[$sel:qy:SRTDataNV] :: SRTDataNV -> Float
-- | qz is the z component of the rotation quaternion
[$sel:qz:SRTDataNV] :: SRTDataNV -> Float
-- | qw is the w component of the rotation quaternion
[$sel:qw:SRTDataNV] :: SRTDataNV -> Float
-- | tx is the x component of the post-rotation translation
[$sel:tx:SRTDataNV] :: SRTDataNV -> Float
-- | ty is the y component of the post-rotation translation
[$sel:ty:SRTDataNV] :: SRTDataNV -> Float
-- | tz is the z component of the post-rotation translation
[$sel:tz:SRTDataNV] :: SRTDataNV -> Float
-- | VkAccelerationStructureSRTMotionInstanceNV - Structure specifying a
-- single acceleration structure SRT motion instance for building into an
-- acceleration structure geometry
--
-- Description
--
-- The C language specification does not define the ordering of
-- bit-fields, but in practice, this struct produces the correct layout
-- with existing compilers. The intended bit pattern is for the
-- following:
--
-- If a compiler produces code that diverges from that pattern,
-- applications must employ another method to set values according
-- to the correct bit pattern.
--
-- The transform for a SRT motion instance at a point in time is derived
-- from component-wise linear interpolation of the two SRT transforms.
-- That is, for a time in [0,1] the resulting transform is
--
--
-- - transformT0 × (1 - time) + transformT1
-- × time
--
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInstanceDataNV,
-- GeometryInstanceFlagsKHR, SRTDataNV
data AccelerationStructureSRTMotionInstanceNV
AccelerationStructureSRTMotionInstanceNV :: SRTDataNV -> SRTDataNV -> Word32 -> Word32 -> Word32 -> GeometryInstanceFlagsKHR -> Word64 -> AccelerationStructureSRTMotionInstanceNV
-- | transformT0 is a SRTDataNV structure describing a
-- transformation to be applied to the acceleration structure at time 0.
[$sel:transformT0:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> SRTDataNV
-- | transformT1 is a SRTDataNV structure describing a
-- transformation to be applied to the acceleration structure at time 1.
[$sel:transformT1:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> SRTDataNV
-- | instanceCustomIndex is a 24-bit user-specified index value
-- accessible to ray shaders in the InstanceCustomIndexKHR
-- built-in.
--
-- instanceCustomIndex and mask occupy the same memory
-- as if a single uint32_t was specified in their place
--
--
-- - instanceCustomIndex occupies the 24 least significant
-- bits of that memory
-- - mask occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceCustomIndex:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> Word32
-- | mask is an 8-bit visibility mask for the geometry. The
-- instance may only be hit if Cull Mask & instance.mask
-- != 0
[$sel:mask:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> Word32
-- | instanceShaderBindingTableRecordOffset is a 24-bit offset
-- used in calculating the hit shader binding table index.
--
-- instanceShaderBindingTableRecordOffset and flags
-- occupy the same memory as if a single uint32_t was specified
-- in their place
--
--
-- - instanceShaderBindingTableRecordOffset occupies the 24
-- least significant bits of that memory
-- - flags occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceShaderBindingTableRecordOffset:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> Word32
-- | flags is an 8-bit mask of GeometryInstanceFlagBitsKHR
-- values to apply to this instance.
--
-- flags must be a valid combination of
-- GeometryInstanceFlagBitsKHR values
[$sel:flags:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> GeometryInstanceFlagsKHR
-- | accelerationStructureReference is either:
--
--
[$sel:accelerationStructureReference:AccelerationStructureSRTMotionInstanceNV] :: AccelerationStructureSRTMotionInstanceNV -> Word64
-- | VkAccelerationStructureMatrixMotionInstanceNV - Structure specifying a
-- single acceleration structure matrix motion instance for building into
-- an acceleration structure geometry
--
-- Description
--
-- The C language specification does not define the ordering of
-- bit-fields, but in practice, this struct produces the correct layout
-- with existing compilers. The intended bit pattern is for the
-- following:
--
-- If a compiler produces code that diverges from that pattern,
-- applications must employ another method to set values according
-- to the correct bit pattern.
--
-- The transform for a matrix motion instance at a point in time is
-- derived by component-wise linear interpolation of the two transforms.
-- That is, for a time in [0,1] the resulting transform is
--
--
-- - transformT0 × (1 - time) + transformT1
-- × time
--
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInstanceDataNV,
-- GeometryInstanceFlagsKHR, TransformMatrixKHR
data AccelerationStructureMatrixMotionInstanceNV
AccelerationStructureMatrixMotionInstanceNV :: TransformMatrixKHR -> TransformMatrixKHR -> Word32 -> Word32 -> Word32 -> GeometryInstanceFlagsKHR -> Word64 -> AccelerationStructureMatrixMotionInstanceNV
-- | transformT0 is a TransformMatrixKHR structure
-- describing a transformation to be applied to the acceleration
-- structure at time 0.
[$sel:transformT0:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> TransformMatrixKHR
-- | transformT1 is a TransformMatrixKHR structure
-- describing a transformation to be applied to the acceleration
-- structure at time 1.
[$sel:transformT1:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> TransformMatrixKHR
-- | instanceCustomIndex is a 24-bit user-specified index value
-- accessible to ray shaders in the InstanceCustomIndexKHR
-- built-in.
--
-- instanceCustomIndex and mask occupy the same memory
-- as if a single uint32_t was specified in their place
--
--
-- - instanceCustomIndex occupies the 24 least significant
-- bits of that memory
-- - mask occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceCustomIndex:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> Word32
-- | mask is an 8-bit visibility mask for the geometry. The
-- instance may only be hit if Cull Mask & instance.mask
-- != 0
[$sel:mask:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> Word32
-- | instanceShaderBindingTableRecordOffset is a 24-bit offset
-- used in calculating the hit shader binding table index.
--
-- instanceShaderBindingTableRecordOffset and flags
-- occupy the same memory as if a single uint32_t was specified
-- in their place
--
--
-- - instanceShaderBindingTableRecordOffset occupies the 24
-- least significant bits of that memory
-- - flags occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceShaderBindingTableRecordOffset:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> Word32
-- | flags is an 8-bit mask of GeometryInstanceFlagBitsKHR
-- values to apply to this instance.
--
-- flags must be a valid combination of
-- GeometryInstanceFlagBitsKHR values
[$sel:flags:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> GeometryInstanceFlagsKHR
-- | accelerationStructureReference is either:
--
--
[$sel:accelerationStructureReference:AccelerationStructureMatrixMotionInstanceNV] :: AccelerationStructureMatrixMotionInstanceNV -> Word64
-- | VkAccelerationStructureMotionInstanceNV - Structure specifying a
-- single acceleration structure motion instance for building into an
-- acceleration structure geometry
--
-- Description
--
-- Note
--
-- If writing this other than with a standard C compiler, note that the
-- final structure should be 152 bytes in size.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInstanceDataNV,
-- AccelerationStructureMotionInstanceFlagsNV,
-- AccelerationStructureMotionInstanceTypeNV
data AccelerationStructureMotionInstanceNV
AccelerationStructureMotionInstanceNV :: AccelerationStructureMotionInstanceTypeNV -> AccelerationStructureMotionInstanceFlagsNV -> AccelerationStructureMotionInstanceDataNV -> AccelerationStructureMotionInstanceNV
-- | type is a AccelerationStructureMotionInstanceTypeNV
-- enumerant identifying which type of motion instance this is and which
-- type of the union is valid.
[$sel:type':AccelerationStructureMotionInstanceNV] :: AccelerationStructureMotionInstanceNV -> AccelerationStructureMotionInstanceTypeNV
-- | flags is currently unused, but is required to keep natural
-- alignment of data.
[$sel:flags:AccelerationStructureMotionInstanceNV] :: AccelerationStructureMotionInstanceNV -> AccelerationStructureMotionInstanceFlagsNV
-- | data is a AccelerationStructureMotionInstanceDataNV
-- containing motion instance data for this instance.
[$sel:data':AccelerationStructureMotionInstanceNV] :: AccelerationStructureMotionInstanceNV -> AccelerationStructureMotionInstanceDataNV
data AccelerationStructureMotionInstanceDataNV
StaticInstance :: AccelerationStructureInstanceKHR -> AccelerationStructureMotionInstanceDataNV
MatrixMotionInstance :: AccelerationStructureMatrixMotionInstanceNV -> AccelerationStructureMotionInstanceDataNV
SrtMotionInstance :: AccelerationStructureSRTMotionInstanceNV -> AccelerationStructureMotionInstanceDataNV
-- | VkAccelerationStructureMotionInfoFlagsNV - Reserved for future use
--
-- Description
--
-- AccelerationStructureMotionInfoFlagsNV is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInfoNV
newtype AccelerationStructureMotionInfoFlagsNV
AccelerationStructureMotionInfoFlagsNV :: Flags -> AccelerationStructureMotionInfoFlagsNV
-- | VkAccelerationStructureMotionInstanceFlagsNV - Reserved for future use
--
-- Description
--
-- AccelerationStructureMotionInstanceFlagsNV is a bitmask type
-- for setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInstanceNV
newtype AccelerationStructureMotionInstanceFlagsNV
AccelerationStructureMotionInstanceFlagsNV :: Flags -> AccelerationStructureMotionInstanceFlagsNV
-- | VkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type
-- of acceleration structure motion instance data for building into an
-- acceleration structure geometry
--
-- See Also
--
-- VK_NV_ray_tracing_motion_blur,
-- AccelerationStructureMotionInstanceNV
newtype AccelerationStructureMotionInstanceTypeNV
AccelerationStructureMotionInstanceTypeNV :: Int32 -> AccelerationStructureMotionInstanceTypeNV
-- | ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV specifies
-- that the instance is a static instance with no instance motion.
pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV :: AccelerationStructureMotionInstanceTypeNV
-- | ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV
-- specifies that the instance is a motion instance with motion specified
-- by interpolation between two matrices.
pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV :: AccelerationStructureMotionInstanceTypeNV
-- | ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
-- specifies that the instance is a motion instance with motion specified
-- by interpolation in the SRT decomposition.
pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV :: AccelerationStructureMotionInstanceTypeNV
type NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1
pattern NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION :: forall a. Integral a => a
type NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur"
pattern NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkTransformMatrixKHR - Structure specifying a 3x4 affine
-- transformation matrix
--
-- Valid Usage
--
--
-- - The first three columns of matrix must define an
-- invertible 3x3 matrix
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureInstanceKHR,
-- AccelerationStructureMatrixMotionInstanceNV
data TransformMatrixKHR
TransformMatrixKHR :: (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> TransformMatrixKHR
[$sel:matrixRow0:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow1:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow2:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
-- | VkAccelerationStructureInstanceKHR - Structure specifying a single
-- acceleration structure instance for building into an acceleration
-- structure geometry
--
-- Description
--
-- The C language specification does not define the ordering of
-- bit-fields, but in practice, this struct produces the correct layout
-- with existing compilers. The intended bit pattern is for the
-- following:
--
-- If a compiler produces code that diverges from that pattern,
-- applications must employ another method to set values according
-- to the correct bit pattern.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureMotionInstanceDataNV,
-- GeometryInstanceFlagsKHR, TransformMatrixKHR
data AccelerationStructureInstanceKHR
AccelerationStructureInstanceKHR :: TransformMatrixKHR -> Word32 -> Word32 -> Word32 -> GeometryInstanceFlagsKHR -> Word64 -> AccelerationStructureInstanceKHR
-- | transform is a TransformMatrixKHR structure describing
-- a transformation to be applied to the acceleration structure.
[$sel:transform:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> TransformMatrixKHR
-- | instanceCustomIndex is a 24-bit user-specified index value
-- accessible to ray shaders in the InstanceCustomIndexKHR
-- built-in.
--
-- instanceCustomIndex and mask occupy the same memory
-- as if a single uint32_t was specified in their place
--
--
-- - instanceCustomIndex occupies the 24 least significant
-- bits of that memory
-- - mask occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceCustomIndex:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | mask is an 8-bit visibility mask for the geometry. The
-- instance may only be hit if Cull Mask & instance.mask
-- != 0
[$sel:mask:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | instanceShaderBindingTableRecordOffset is a 24-bit offset
-- used in calculating the hit shader binding table index.
--
-- instanceShaderBindingTableRecordOffset and flags
-- occupy the same memory as if a single uint32_t was specified
-- in their place
--
--
-- - instanceShaderBindingTableRecordOffset occupies the 24
-- least significant bits of that memory
-- - flags occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceShaderBindingTableRecordOffset:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | flags is an 8-bit mask of GeometryInstanceFlagBitsKHR
-- values to apply to this instance.
--
-- flags must be a valid combination of
-- GeometryInstanceFlagBitsKHR values
[$sel:flags:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> GeometryInstanceFlagsKHR
-- | accelerationStructureReference is either:
--
--
[$sel:accelerationStructureReference:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word64
data DeviceOrHostAddressConstKHR
DeviceAddressConst :: DeviceAddress -> DeviceOrHostAddressConstKHR
HostAddressConst :: Ptr () -> DeviceOrHostAddressConstKHR
-- | VkGeometryInstanceFlagBitsKHR - Instance flag bits
--
-- Description
--
-- GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR and
-- GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR must not be used
-- in the same flag.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- GeometryInstanceFlagsKHR
newtype GeometryInstanceFlagBitsKHR
GeometryInstanceFlagBitsKHR :: Flags -> GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR disables
-- face culling for this instance.
pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR indicates that
-- the facing determination for geometry in this instance is
-- inverted. Because the facing is determined in object space, an
-- instance transform does not change the winding, but a geometry
-- transform does.
pattern GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR causes this instance to
-- act as though GEOMETRY_OPAQUE_BIT_KHR were specified on all
-- geometries referenced by this instance. This behavior can be
-- overridden by the SPIR-V NoOpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR causes this instance
-- to act as though GEOMETRY_OPAQUE_BIT_KHR were not specified on
-- all geometries referenced by this instance. This behavior can
-- be overridden by the SPIR-V OpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
type GeometryInstanceFlagsKHR = GeometryInstanceFlagBitsKHR
-- | VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying
-- additional parameters for acceleration structure builds
--
-- Description
--
-- Note
--
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
-- may take more time and memory than a normal build, and so
-- should only be used when those features are needed.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- BuildAccelerationStructureFlagsKHR
newtype BuildAccelerationStructureFlagBitsKHR
BuildAccelerationStructureFlagBitsKHR :: Flags -> BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates
-- that the specified acceleration structure can be updated with a
-- mode of BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
-- in AccelerationStructureBuildGeometryInfoKHR or an
-- update of TRUE in
-- cmdBuildAccelerationStructureNV .
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR indicates
-- that the specified acceleration structure can act as the source
-- for a copy acceleration structure command with mode of
-- COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR to produce a
-- compacted acceleration structure.
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize trace performance over build time.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize build time over trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR indicates that
-- this acceleration structure should minimize the size of the
-- scratch memory and the final result acceleration structure,
-- potentially at the expense of build time or trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
type BuildAccelerationStructureFlagsKHR = BuildAccelerationStructureFlagBitsKHR
-- | VkAccelerationStructureCreateFlagBitsKHR - Bitmask specifying
-- additional creation parameters for acceleration structure
--
-- See Also
--
-- VK_KHR_acceleration_structure,
-- AccelerationStructureCreateFlagsKHR
newtype AccelerationStructureCreateFlagBitsKHR
AccelerationStructureCreateFlagBitsKHR :: Flags -> AccelerationStructureCreateFlagBitsKHR
-- |
-- ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
-- specifies that the acceleration structure’s address can be
-- saved and reused on a subsequent run.
pattern ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: AccelerationStructureCreateFlagBitsKHR
pattern ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV :: AccelerationStructureCreateFlagBitsKHR
type AccelerationStructureCreateFlagsKHR = AccelerationStructureCreateFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceDataNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureGeometryMotionTrianglesDataNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureSRTMotionInstanceNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceFlagsNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoFlagsNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceDataNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureSRTMotionInstanceNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureSRTMotionInstanceNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureSRTMotionInstanceNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureSRTMotionInstanceNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.SRTDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureGeometryMotionTrianglesDataNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureGeometryMotionTrianglesDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV
-- | Name
--
-- VK_KHR_format_feature_flags2 - device extension
--
-- VK_KHR_format_feature_flags2
--
--
-- - Name String
-- VK_KHR_format_feature_flags2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 361
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-07-01
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Lionel Landwerlin,
-- Intel
- Jason Ekstrand, Intel
- Tobias Hector,
-- AMD
- Spencer Fricke, Samsung Electronics
- Graeme Leese,
-- Broadcom
- Jan-Harald Fredriksen, ARM
--
--
-- Description
--
-- This extension adds a new FormatFeatureFlagBits2KHR 64bits
-- format feature flag type to extend the existing
-- FormatFeatureFlagBits which is limited to 31 flags. At the time
-- of this writing 29 bits of FormatFeatureFlagBits are already
-- used.
--
-- Because FormatProperties2 is already defined to extend the
-- Vulkan 1.0 getPhysicalDeviceFormatProperties entry point, this
-- extension defines a new FormatProperties3KHR to extend the
-- FormatProperties.
--
-- On top of replicating all the bits from FormatFeatureFlagBits,
-- FormatFeatureFlagBits2KHR adds the following bits :
--
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-07-21 (Lionel Landwerlin)
--
--
-- See Also
--
-- FormatFeatureFlagBits2KHR, FormatFeatureFlags2KHR,
-- FormatProperties3KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_format_feature_flags2
-- | VkFormatProperties3KHR - Structure specifying image format properties
--
-- Description
--
-- The bits reported in linearTilingFeatures,
-- optimalTilingFeatures and bufferFeatures must
-- include the bits reported in the corresponding fields of
-- FormatProperties2::formatProperties.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_format_feature_flags2, FormatFeatureFlags2KHR,
-- StructureType
data FormatProperties3KHR
FormatProperties3KHR :: FormatFeatureFlags2KHR -> FormatFeatureFlags2KHR -> FormatFeatureFlags2KHR -> FormatProperties3KHR
-- | linearTilingFeatures is a bitmask of
-- FormatFeatureFlagBits2KHR specifying features supported by
-- images created with a tiling parameter of
-- IMAGE_TILING_LINEAR.
[$sel:linearTilingFeatures:FormatProperties3KHR] :: FormatProperties3KHR -> FormatFeatureFlags2KHR
-- | optimalTilingFeatures is a bitmask of
-- FormatFeatureFlagBits2KHR specifying features supported by
-- images created with a tiling parameter of
-- IMAGE_TILING_OPTIMAL.
[$sel:optimalTilingFeatures:FormatProperties3KHR] :: FormatProperties3KHR -> FormatFeatureFlags2KHR
-- | bufferFeatures is a bitmask of
-- FormatFeatureFlagBits2KHR specifying features supported by
-- buffers.
[$sel:bufferFeatures:FormatProperties3KHR] :: FormatProperties3KHR -> FormatFeatureFlags2KHR
type KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1
pattern KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2"
pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR
-- | Name
--
-- VK_EXT_debug_marker - device extension
--
-- VK_EXT_debug_marker
--
--
-- - Name String VK_EXT_debug_marker
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 23
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_debug_report
-- - Deprecation state
- Promoted to
-- VK_EXT_debug_utils extension
-- - Special Use
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-01-31
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Baldur Karlsson
- Dan
-- Ginsburg, Valve
- Jon Ashburn, LunarG
- Kyle Spagnoli,
-- NVIDIA
--
--
-- Description
--
-- The VK_EXT_debug_marker extension is a device extension. It
-- introduces concepts of object naming and tagging, for better tracking
-- of Vulkan objects, as well as additional commands for recording
-- annotations of named sections of a workload to aid organization and
-- offline analysis in external tools.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- Example 1
--
-- Associate a name with an image, for easier debugging in external tools
-- or with validation layers that can print a friendly name when
-- referring to objects in error messages.
--
--
-- extern VkDevice device;
-- extern VkImage image;
--
-- // Must call extension functions through a function pointer:
-- PFN_vkDebugMarkerSetObjectNameEXT pfnDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT");
--
-- // Set a name on the image
-- const VkDebugMarkerObjectNameInfoEXT imageNameInfo =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT, // sType
-- NULL, // pNext
-- VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, // objectType
-- (uint64_t)image, // object
-- "Brick Diffuse Texture", // pObjectName
-- };
--
-- pfnDebugMarkerSetObjectNameEXT(device, &imageNameInfo);
--
-- // A subsequent error might print:
-- // Image 'Brick Diffuse Texture' (0xc0dec0dedeadbeef) is used in a
-- // command buffer with no memory bound to it.
--
--
-- Example 2
--
-- Annotating regions of a workload with naming information so that
-- offline analysis tools can display a more usable visualisation of the
-- commands submitted.
--
--
-- extern VkDevice device;
-- extern VkCommandBuffer commandBuffer;
--
-- // Must call extension functions through a function pointer:
-- PFN_vkCmdDebugMarkerBeginEXT pfnCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT");
-- PFN_vkCmdDebugMarkerEndEXT pfnCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT");
-- PFN_vkCmdDebugMarkerInsertEXT pfnCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT");
--
-- // Describe the area being rendered
-- const VkDebugMarkerMarkerInfoEXT houseMarker =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT, // sType
-- NULL, // pNext
-- "Brick House", // pMarkerName
-- { 1.0f, 0.0f, 0.0f, 1.0f }, // color
-- };
--
-- // Start an annotated group of calls under the 'Brick House' name
-- pfnCmdDebugMarkerBeginEXT(commandBuffer, &houseMarker);
-- {
-- // A mutable structure for each part being rendered
-- VkDebugMarkerMarkerInfoEXT housePartMarker =
-- {
-- VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT, // sType
-- NULL, // pNext
-- NULL, // pMarkerName
-- { 0.0f, 0.0f, 0.0f, 0.0f }, // color
-- };
--
-- // Set the name and insert the marker
-- housePartMarker.pMarkerName = "Walls";
-- pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker);
--
-- // Insert the drawcall for the walls
-- vkCmdDrawIndexed(commandBuffer, 1000, 1, 0, 0, 0);
--
-- // Insert a recursive region for two sets of windows
-- housePartMarker.pMarkerName = "Windows";
-- pfnCmdDebugMarkerBeginEXT(commandBuffer, &housePartMarker);
-- {
-- vkCmdDrawIndexed(commandBuffer, 75, 6, 1000, 0, 0);
-- vkCmdDrawIndexed(commandBuffer, 100, 2, 1450, 0, 0);
-- }
-- pfnCmdDebugMarkerEndEXT(commandBuffer);
--
-- housePartMarker.pMarkerName = "Front Door";
-- pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker);
--
-- vkCmdDrawIndexed(commandBuffer, 350, 1, 1650, 0, 0);
--
-- housePartMarker.pMarkerName = "Roof";
-- pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker);
--
-- vkCmdDrawIndexed(commandBuffer, 500, 1, 2000, 0, 0);
-- }
-- // End the house annotation started above
-- pfnCmdDebugMarkerEndEXT(commandBuffer);
--
--
-- Issues
--
-- 1) Should the tag or name for an object be specified using the
-- pNext parameter in the object’s Vk*CreateInfo
-- structure?
--
-- RESOLVED: No. While this fits with other Vulkan patterns and
-- would allow more type safety and future proofing against future
-- objects, it has notable downsides. In particular passing the name at
-- Vk*CreateInfo time does not allow renaming, prevents late
-- binding of naming information, and does not allow naming of implicitly
-- created objects such as queues and swapchain images.
--
-- 2) Should the command annotation functions
-- cmdDebugMarkerBeginEXT and cmdDebugMarkerEndEXT support
-- the ability to specify a color?
--
-- RESOLVED: Yes. The functions have been expanded to take an
-- optional color which can be used at will by implementations consuming
-- the command buffer annotations in their visualisation.
--
-- 3) Should the functions added in this extension accept an extensible
-- structure as their parameter for a more flexible API, as opposed to
-- direct function parameters? If so, which functions?
--
-- RESOLVED: Yes. All functions have been modified to take a
-- structure type with extensible pNext pointer, to allow future
-- extensions to add additional annotation information in the same
-- commands.
--
-- Version History
--
--
-- - Revision 1, 2016-02-24 (Baldur Karlsson)
- Initial draft,
-- based on LunarG marker spec
--
--
--
-- - Revision 2, 2016-02-26 (Baldur Karlsson)
- Renamed Dbg to
-- DebugMarker in function names
- Allow markers in secondary
-- command buffers under certain circumstances
- Minor language
-- tweaks and edits
-- - Revision 3, 2016-04-23 (Baldur Karlsson)
- Reorganise spec
-- layout to closer match desired organisation
- Added optional
-- color to markers (both regions and inserted labels)
- Changed
-- functions to take extensible structs instead of direct function
-- parameters
-- - Revision 4, 2017-01-31 (Baldur Karlsson)
- Added explicit
-- dependency on VK_EXT_debug_report
- Moved definition of
-- DebugReportObjectTypeEXT to debug report chapter.
- Fixed
-- typo in dates in revision history
--
--
-- See Also
--
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, DebugReportObjectTypeEXT,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerEndEXT,
-- cmdDebugMarkerInsertEXT, debugMarkerSetObjectNameEXT,
-- debugMarkerSetObjectTagEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_debug_marker
-- | vkDebugMarkerSetObjectNameEXT - Give a user-friendly name to an object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to pNameInfo->object must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_debug_marker, DebugMarkerObjectNameInfoEXT,
-- Device
debugMarkerSetObjectNameEXT :: forall io. MonadIO io => Device -> DebugMarkerObjectNameInfoEXT -> io ()
-- | vkDebugMarkerSetObjectTagEXT - Attach arbitrary data to an object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to pTagInfo->object must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_debug_marker, DebugMarkerObjectTagInfoEXT,
-- Device
debugMarkerSetObjectTagEXT :: forall io. MonadIO io => Device -> DebugMarkerObjectTagInfoEXT -> io ()
-- | vkCmdDebugMarkerBeginEXT - Open a command buffer marker region
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_marker, CommandBuffer,
-- DebugMarkerMarkerInfoEXT
cmdDebugMarkerBeginEXT :: forall io. MonadIO io => CommandBuffer -> DebugMarkerMarkerInfoEXT -> io ()
-- | vkCmdDebugMarkerEndEXT - Close a command buffer marker region
--
-- Description
--
-- An application may open a marker region in one command buffer
-- and close it in another, or otherwise split marker regions across
-- multiple command buffers or multiple queue submissions. When viewed
-- from the linear series of submissions to a single queue, the calls to
-- cmdDebugMarkerBeginEXT and cmdDebugMarkerEndEXT
-- must be matched and balanced.
--
-- Valid Usage
--
--
--
--
-- - If commandBuffer is a secondary command buffer, there
-- must be an outstanding cmdDebugMarkerBeginEXT command
-- recorded to commandBuffer that has not previously been ended
-- by a call to cmdDebugMarkerEndEXT
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_marker, CommandBuffer
cmdDebugMarkerEndEXT :: forall io. MonadIO io => CommandBuffer -> io ()
-- | vkCmdDebugMarkerInsertEXT - Insert a marker label into a command
-- buffer
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_debug_marker, CommandBuffer,
-- DebugMarkerMarkerInfoEXT
cmdDebugMarkerInsertEXT :: forall io. MonadIO io => CommandBuffer -> DebugMarkerMarkerInfoEXT -> io ()
-- | VkDebugMarkerObjectNameInfoEXT - Specify parameters of a name to give
-- to an object
--
-- Description
--
-- Applications may change the name associated with an object
-- simply by calling debugMarkerSetObjectNameEXT again with a new
-- string. To remove a previously set name, pObjectName
-- should be set to an empty string.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_debug_marker, DebugReportObjectTypeEXT,
-- StructureType, debugMarkerSetObjectNameEXT
data DebugMarkerObjectNameInfoEXT
DebugMarkerObjectNameInfoEXT :: DebugReportObjectTypeEXT -> Word64 -> ByteString -> DebugMarkerObjectNameInfoEXT
-- | objectType is a DebugReportObjectTypeEXT specifying
-- the type of the object to be named.
--
-- objectType must not be
-- DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
--
-- objectType must be a valid
-- DebugReportObjectTypeEXT value
[$sel:objectType:DebugMarkerObjectNameInfoEXT] :: DebugMarkerObjectNameInfoEXT -> DebugReportObjectTypeEXT
-- | object is the object to be named.
--
-- object must not be NULL_HANDLE
--
-- object must be a Vulkan object of the type associated
-- with objectType as defined in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types
[$sel:object:DebugMarkerObjectNameInfoEXT] :: DebugMarkerObjectNameInfoEXT -> Word64
-- | pObjectName is a null-terminated UTF-8 string specifying the
-- name to apply to object.
--
-- pObjectName must be a null-terminated UTF-8 string
[$sel:objectName:DebugMarkerObjectNameInfoEXT] :: DebugMarkerObjectNameInfoEXT -> ByteString
-- | VkDebugMarkerObjectTagInfoEXT - Specify parameters of a tag to attach
-- to an object
--
-- Description
--
-- The tagName parameter gives a name or identifier to the type
-- of data being tagged. This can be used by debugging layers to easily
-- filter for only data that can be used by that implementation.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_debug_marker, DebugReportObjectTypeEXT,
-- StructureType, debugMarkerSetObjectTagEXT
data DebugMarkerObjectTagInfoEXT
DebugMarkerObjectTagInfoEXT :: DebugReportObjectTypeEXT -> Word64 -> Word64 -> Word64 -> Ptr () -> DebugMarkerObjectTagInfoEXT
-- | objectType is a DebugReportObjectTypeEXT specifying
-- the type of the object to be named.
--
-- objectType must not be
-- DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
--
-- objectType must be a valid
-- DebugReportObjectTypeEXT value
[$sel:objectType:DebugMarkerObjectTagInfoEXT] :: DebugMarkerObjectTagInfoEXT -> DebugReportObjectTypeEXT
-- | object is the object to be tagged.
--
-- object must not be NULL_HANDLE
--
-- object must be a Vulkan object of the type associated
-- with objectType as defined in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types
[$sel:object:DebugMarkerObjectTagInfoEXT] :: DebugMarkerObjectTagInfoEXT -> Word64
-- | tagName is a numerical identifier of the tag.
[$sel:tagName:DebugMarkerObjectTagInfoEXT] :: DebugMarkerObjectTagInfoEXT -> Word64
-- | tagSize is the number of bytes of data to attach to the
-- object.
--
-- tagSize must be greater than 0
[$sel:tagSize:DebugMarkerObjectTagInfoEXT] :: DebugMarkerObjectTagInfoEXT -> Word64
-- | pTag is a pointer to an array of tagSize bytes
-- containing the data to be associated with the object.
--
-- pTag must be a valid pointer to an array of
-- tagSize bytes
[$sel:tag:DebugMarkerObjectTagInfoEXT] :: DebugMarkerObjectTagInfoEXT -> Ptr ()
-- | VkDebugMarkerMarkerInfoEXT - Specify parameters of a command buffer
-- marker region
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_debug_marker, StructureType,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerInsertEXT
data DebugMarkerMarkerInfoEXT
DebugMarkerMarkerInfoEXT :: ByteString -> (Float, Float, Float, Float) -> DebugMarkerMarkerInfoEXT
-- | pMarkerName is a pointer to a null-terminated UTF-8 string
-- containing the name of the marker.
--
-- pMarkerName must be a null-terminated UTF-8 string
[$sel:markerName:DebugMarkerMarkerInfoEXT] :: DebugMarkerMarkerInfoEXT -> ByteString
-- | color is an optional RGBA color value that can be
-- associated with the marker. A particular implementation may
-- choose to ignore this color value. The values contain RGBA values in
-- order, in the range 0.0 to 1.0. If all elements in color are
-- set to 0.0 then it is ignored.
[$sel:color:DebugMarkerMarkerInfoEXT] :: DebugMarkerMarkerInfoEXT -> (Float, Float, Float, Float)
type EXT_DEBUG_MARKER_SPEC_VERSION = 4
pattern EXT_DEBUG_MARKER_SPEC_VERSION :: forall a. Integral a => a
type EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker"
pattern EXT_DEBUG_MARKER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectNameInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerMarkerInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerMarkerInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerMarkerInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerMarkerInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectNameInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectNameInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectNameInfoEXT
-- | Name
--
-- VK_EXT_acquire_xlib_display - instance extension
--
-- VK_EXT_acquire_xlib_display
--
--
-- - Name String
-- VK_EXT_acquire_xlib_display
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 90
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_direct_mode_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-12-13
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Dave Airlie, Red
-- Hat
- Pierre Boudier, NVIDIA
- James Jones,
-- NVIDIA
- Damien Leone, NVIDIA
- Pierre-Loup Griffais,
-- Valve
- Liam Middlebrook, NVIDIA
- Daniel Vetter,
-- Intel
--
--
-- Description
--
-- This extension allows an application to take exclusive control on a
-- display currently associated with an X11 screen. When control is
-- acquired, the display will be deassociated from the X11 screen until
-- control is released or the specified display connection is closed.
-- Essentially, the X11 screen will behave as if the monitor has been
-- unplugged until control is released.
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should acquireXlibDisplayEXT take an RandR display ID, or a
-- Vulkan display handle as input?
--
-- RESOLVED: A Vulkan display handle. Otherwise there would be no
-- way to specify handles to displays that had been prevented from being
-- included in the X11 display list by some native platform or
-- vendor-specific mechanism.
--
-- 2) How does an application figure out which RandR display corresponds
-- to a Vulkan display?
--
-- RESOLVED: A new function, getRandROutputDisplayEXT, is
-- introduced for this purpose.
--
-- 3) Should getRandROutputDisplayEXT be part of this extension,
-- or a general Vulkan / RandR or Vulkan / Xlib extension?
--
-- RESOLVED: To avoid yet another extension, include it in this
-- extension.
--
-- Version History
--
--
-- - Revision 1, 2016-12-13 (James Jones)
--
--
-- See Also
--
-- acquireXlibDisplayEXT, getRandROutputDisplayEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_acquire_xlib_display
-- | vkAcquireXlibDisplayEXT - Acquire access to a VkDisplayKHR using Xlib
--
-- Description
--
-- All permissions necessary to control the display are granted to the
-- Vulkan instance associated with physicalDevice until the
-- display is released or the X11 connection specified by dpy is
-- terminated. Permission to access the display may be temporarily
-- revoked during periods when the X11 server from which control was
-- acquired itself loses access to display. During such periods,
-- operations which require access to the display must fail with
-- an approriate error code. If the X11 server associated with
-- dpy does not own display, or if permission to access
-- it has already been acquired by another entity, the call must
-- return the error code ERROR_INITIALIZATION_FAILED.
--
-- Note
--
-- One example of when an X11 server loses access to a display is when it
-- loses ownership of its virtual terminal.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_acquire_xlib_display, DisplayKHR,
-- PhysicalDevice
acquireXlibDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("dpy" ::: Ptr Display) -> DisplayKHR -> io ()
-- | vkGetRandROutputDisplayEXT - Query the VkDisplayKHR corresponding to
-- an X11 RandR Output
--
-- Description
--
-- If there is no DisplayKHR corresponding to rrOutput on
-- physicalDevice, NULL_HANDLE must be returned in
-- pDisplay.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_acquire_xlib_display, DisplayKHR,
-- PhysicalDevice
getRandROutputDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("dpy" ::: Ptr Display) -> RROutput -> io DisplayKHR
type EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1
pattern EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
type EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display"
pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type RROutput = Word64
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
type Display = Ptr ()
-- | Name
--
-- VK_EXT_acquire_drm_display - instance extension
--
-- VK_EXT_acquire_drm_display
--
--
-- - Name String VK_EXT_acquire_drm_display
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 286
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_direct_mode_display
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Simon Zeni, Status Holdings,
-- Ltd.
--
--
-- Description
--
-- This extension allows an application to take exclusive control of a
-- display using the Direct Rendering Manager (DRM) interface. When
-- acquired, the display will be under full control of the application
-- until the display is either released or the connector is unplugged.
--
-- New Commands
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2021-05-11 (Simon Zeni)
--
--
-- See Also
--
-- acquireDrmDisplayEXT, getDrmDisplayEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_acquire_drm_display
-- | vkAcquireDrmDisplayEXT - Acquire access to a VkDisplayKHR using DRM
--
-- Description
--
-- All permissions necessary to control the display are granted to the
-- Vulkan instance associated with the provided physicalDevice
-- until the display is either released or the connector is unplugged.
-- The provided drmFd must correspond to the one owned by the
-- physicalDevice. If not, the error code ERROR_UNKNOWN
-- must be returned. The DRM FD must have DRM master permissions. If any
-- error is encountered during the acquisition of the display, the call
-- must return the error code ERROR_INITIALIZATION_FAILED.
--
-- The provided DRM fd should not be closed before the display is
-- released, attempting to do it may result in undefined behaviour.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_acquire_drm_display, DisplayKHR,
-- PhysicalDevice
acquireDrmDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("drmFd" ::: Int32) -> DisplayKHR -> io ()
-- | vkGetDrmDisplayEXT - Query the VkDisplayKHR corresponding to a DRM
-- connector ID
--
-- Description
--
-- If there is no DisplayKHR corresponding to the
-- connectorId on the physicalDevice, the returning
-- display must be set to NULL_HANDLE. The provided
-- drmFd must correspond to the one owned by the
-- physicalDevice. If not, the error code ERROR_UNKNOWN
-- must be returned. Master permissions are not required, because the
-- file descriptor is just used for information gathering purposes. The
-- given connectorId must be a resource owned by the provided
-- drmFd. If not, the error code ERROR_UNKNOWN must be
-- returned. If any error is encountered during the identification of the
-- display, the call must return the error code
-- ERROR_INITIALIZATION_FAILED.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_acquire_drm_display, DisplayKHR,
-- PhysicalDevice
getDrmDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("drmFd" ::: Int32) -> ("connectorId" ::: Word32) -> io DisplayKHR
type EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1
pattern EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
type EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display"
pattern EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDisplayKHR - Opaque handle to a display object
--
-- See Also
--
-- VK_KHR_display, DisplayPlanePropertiesKHR,
-- DisplayPropertiesKHR, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDisplayModeKHR, displayPowerControlEXT,
-- getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- registerDisplayEventEXT, releaseDisplayEXT
newtype DisplayKHR
DisplayKHR :: Word64 -> DisplayKHR
-- | Name
--
-- VK_AMD_display_native_hdr - device extension
--
-- VK_AMD_display_native_hdr
--
--
-- - Name String VK_AMD_display_native_hdr
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 214
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_get_surface_capabilities2
- Requires
-- VK_KHR_swapchain
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-12-18
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Matthaeus G. Chajdas,
-- AMD
- Aaron Hagan, AMD
- Aric Cyr, AMD
- Timothy
-- Lottes, AMD
- Derrick Owens, AMD
- Daniel Rakos,
-- AMD
--
--
-- Description
--
-- This extension introduces the following display native HDR features to
-- Vulkan:
--
--
-- - A new ColorSpaceKHR enum for setting the native display
-- colorspace. For example, this color space would be set by the
-- swapchain to use the native color space in Freesync2 displays.
-- - Local dimming control
--
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Examples
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2018-12-18 (Daniel Rakos)
--
--
-- See Also
--
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- setLocalDimmingAMD
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_AMD_display_native_hdr
-- | vkSetLocalDimmingAMD - Set Local Dimming
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - swapChain must be a valid SwapchainKHR
-- handle
-- - Both of device, and swapChain must have
-- been created, allocated, or retrieved from the same
-- Instance
--
--
-- Valid Usage
--
--
--
-- See Also
--
-- VK_AMD_display_native_hdr, Bool32, Device,
-- SwapchainKHR
setLocalDimmingAMD :: forall io. MonadIO io => Device -> SwapchainKHR -> ("localDimmingEnable" ::: Bool) -> io ()
-- | VkDisplayNativeHdrSurfaceCapabilitiesAMD - Structure describing
-- display native HDR specific capabilities of a surface
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_AMD_display_native_hdr, Bool32, StructureType
data DisplayNativeHdrSurfaceCapabilitiesAMD
DisplayNativeHdrSurfaceCapabilitiesAMD :: Bool -> DisplayNativeHdrSurfaceCapabilitiesAMD
-- | localDimmingSupport specifies whether the surface supports
-- local dimming. If this is TRUE,
-- SwapchainDisplayNativeHdrCreateInfoAMD can be used to
-- explicitly enable or disable local dimming for the surface. Local
-- dimming may also be overriden by setLocalDimmingAMD during the
-- lifetime of the swapchain.
[$sel:localDimmingSupport:DisplayNativeHdrSurfaceCapabilitiesAMD] :: DisplayNativeHdrSurfaceCapabilitiesAMD -> Bool
-- | VkSwapchainDisplayNativeHdrCreateInfoAMD - Structure specifying
-- display native HDR parameters of a newly created swapchain object
--
-- Description
--
-- If the pNext chain of SwapchainCreateInfoKHR does not
-- include this structure, the default value for
-- localDimmingEnable is TRUE, meaning local dimming is
-- initially enabled for the swapchain.
--
-- Valid Usage (Implicit)
--
--
--
-- Valid Usage
--
--
--
-- See Also
--
-- VK_AMD_display_native_hdr, Bool32, StructureType
data SwapchainDisplayNativeHdrCreateInfoAMD
SwapchainDisplayNativeHdrCreateInfoAMD :: Bool -> SwapchainDisplayNativeHdrCreateInfoAMD
-- | localDimmingEnable specifies whether local dimming is enabled
-- for the swapchain.
[$sel:localDimmingEnable:SwapchainDisplayNativeHdrCreateInfoAMD] :: SwapchainDisplayNativeHdrCreateInfoAMD -> Bool
type AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION = 1
pattern AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION :: forall a. Integral a => a
type AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr"
pattern AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkSwapchainKHR - Opaque handle to a swapchain object
--
-- Description
--
-- A swapchain is an abstraction for an array of presentable images that
-- are associated with a surface. The presentable images are represented
-- by Image objects created by the platform. One image (which
-- can be an array image for multiview/stereoscopic-3D surfaces)
-- is displayed at a time, but multiple images can be queued for
-- presentation. An application renders to the image, and then queues the
-- image for presentation to the surface.
--
-- A native window cannot be associated with more than one
-- non-retired swapchain at a time. Further, swapchains cannot be
-- created for native windows that have a non-Vulkan graphics API surface
-- associated with them.
--
-- Note
--
-- The presentation engine is an abstraction for the platform’s
-- compositor or display engine.
--
-- The presentation engine may be synchronous or asynchronous with
-- respect to the application and/or logical device.
--
-- Some implementations may use the device’s graphics queue or
-- dedicated presentation hardware to perform presentation.
--
-- The presentable images of a swapchain are owned by the presentation
-- engine. An application can acquire use of a presentable image
-- from the presentation engine. Use of a presentable image must
-- occur only after the image is returned by acquireNextImageKHR,
-- and before it is released by queuePresentKHR. This includes
-- transitioning the image layout and rendering commands.
--
-- An application can acquire use of a presentable image with
-- acquireNextImageKHR. After acquiring a presentable image and
-- before modifying it, the application must use a synchronization
-- primitive to ensure that the presentation engine has finished reading
-- from the image. The application can then transition the image’s
-- layout, queue rendering commands to it, etc. Finally, the application
-- presents the image with queuePresentKHR, which releases the
-- acquisition of the image.
--
-- The presentation engine controls the order in which presentable images
-- are acquired for use by the application.
--
-- Note
--
-- This allows the platform to handle situations which require
-- out-of-order return of images after presentation. At the same time, it
-- allows the application to generate command buffers referencing all of
-- the images in the swapchain at initialization time, rather than in its
-- main loop.
--
-- See Also
--
-- VK_KHR_swapchain, AcquireNextImageInfoKHR,
-- BindImageMemorySwapchainInfoKHR,
-- ImageSwapchainCreateInfoKHR, PresentInfoKHR,
-- SwapchainCreateInfoKHR,
-- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR,
-- createSharedSwapchainsKHR, createSwapchainKHR,
-- destroySwapchainKHR, getPastPresentationTimingGOOGLE,
-- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT,
-- getSwapchainImagesKHR, getSwapchainStatusKHR,
-- queuePresentKHR, releaseFullScreenExclusiveModeEXT,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- waitForPresentKHR
newtype SwapchainKHR
SwapchainKHR :: Word64 -> SwapchainKHR
-- | VkColorSpaceKHR - Supported color space of the presentation engine
--
-- Description
--
-- Note
--
-- In the initial release of the VK_KHR_surface and
-- VK_KHR_swapchain extensions, the token
-- COLORSPACE_SRGB_NONLINEAR_KHR was used. Starting in the
-- 2016-05-13 updates to the extension branches, matching release 1.0.13
-- of the core API specification, COLOR_SPACE_SRGB_NONLINEAR_KHR
-- is used instead for consistency with Vulkan naming rules. The older
-- enum is still available for backwards compatibility.
--
-- Note
--
-- In older versions of this extension
-- COLOR_SPACE_DISPLAY_P3_LINEAR_EXT was misnamed
-- COLOR_SPACE_DCI_P3_LINEAR_EXT. This has been updated to
-- indicate that it uses RGB color encoding, not XYZ. The old name is
-- deprecated but is maintained for backwards compatibility.
--
-- The color components of non-linear color space swap chain images
-- must have had the appropriate transfer function applied. The
-- color space selected for the swap chain image will not affect the
-- processing of data written into the image by the implementation.
-- Vulkan requires that all implementations support the sRGB transfer
-- function by use of an SRGB pixel format. Other transfer functions,
-- such as SMPTE 170M or SMPTE2084, can be performed by the
-- application shader. This extension defines enums for
-- ColorSpaceKHR that correspond to the following color spaces:
--
-- TODO: table
--
-- Color Spaces and Attributes
--
-- The transfer functions are described in the “Transfer Functions”
-- chapter of the Khronos Data Format Specification.
--
-- Except Display-P3 OETF, which is:
--
-- [begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} -
-- 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L &
-- text{for} 0 leq L < 0.0030186
newtype ColorSpaceKHR
ColorSpaceKHR :: Int32 -> ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_LINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_SRGB_NONLINEAR_KHR specifies support for the sRGB
-- color space.
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_NATIVE_AMD specifies support for the
-- display’s native color space. This matches the color space
-- expectations of AMD’s FreeSync2 standard, for displays supporting it.
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT specifies support for
-- the extended sRGB color space to be displayed using an sRGB EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_PASS_THROUGH_EXT specifies that color components
-- are used “as is”. This is intended to allow applications to supply
-- data for color spaces not described here.
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_NONLINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using the Gamma 2.2 EOTF.
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_ADOBERGB_LINEAR_EXT specifies support for the
-- AdobeRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_HLG_EXT specifies support for the HDR10
-- (BT2020 color space) to be displayed using the Hybrid Log Gamma (HLG)
-- EOTF.
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DOLBYVISION_EXT specifies support for the Dolby
-- Vision (BT2020 color space), proprietary encoding, to be displayed
-- using the SMPTE ST2084 EOTF.
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_HDR10_ST2084_EXT specifies support for the HDR10
-- (BT2020 color) space to be displayed using the SMPTE ST2084 Perceptual
-- Quantizer (PQ) EOTF.
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT2020_LINEAR_EXT specifies support for the BT2020
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_NONLINEAR_EXT specifies support for the BT709
-- color space to be displayed using the SMPTE 170M EOTF.
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_BT709_LINEAR_EXT specifies support for the BT709
-- color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DCI_P3_NONLINEAR_EXT specifies support for the
-- DCI-P3 color space to be displayed using the DCI-P3 EOTF. Note that
-- values in such an image are interpreted as XYZ encoded color data by
-- the presentation engine.
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT specifies support for the
-- extended sRGB color space to be displayed using a linear EOTF.
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
-- | COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT specifies support for the
-- Display-P3 color space to be displayed using an sRGB-like EOTF
-- (defined below).
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
instance GHC.Show.Show Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
instance Foreign.Storable.Storable Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD
module Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template
-- | vkCreateDescriptorUpdateTemplate - Create a new descriptor update
-- template
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, AllocationCallbacks,
-- DescriptorUpdateTemplate,
-- DescriptorUpdateTemplateCreateInfo, Device
createDescriptorUpdateTemplate :: forall io. MonadIO io => Device -> DescriptorUpdateTemplateCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io DescriptorUpdateTemplate
-- | A convenience wrapper to make a compatible pair of calls to
-- createDescriptorUpdateTemplate and
-- destroyDescriptorUpdateTemplate
--
-- To ensure that destroyDescriptorUpdateTemplate 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.
withDescriptorUpdateTemplate :: forall io r. MonadIO io => Device -> DescriptorUpdateTemplateCreateInfo -> Maybe AllocationCallbacks -> (io DescriptorUpdateTemplate -> (DescriptorUpdateTemplate -> io ()) -> r) -> r
-- | vkDestroyDescriptorUpdateTemplate - Destroy a descriptor update
-- template object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- descriptorUpdateTemplate was created, a compatible set of
-- callbacks must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- descriptorUpdateTemplate was created, pAllocator
-- must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If descriptorUpdateTemplate is not NULL_HANDLE,
-- descriptorUpdateTemplate must be a valid
-- DescriptorUpdateTemplate handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If descriptorUpdateTemplate is a valid handle, it
-- must have been created, allocated, or retrieved from
-- device
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorUpdateTemplate must be
-- externally synchronized
--
--
-- See Also
--
-- VK_VERSION_1_1, AllocationCallbacks,
-- DescriptorUpdateTemplate, Device
destroyDescriptorUpdateTemplate :: forall io. MonadIO io => Device -> DescriptorUpdateTemplate -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkUpdateDescriptorSetWithTemplate - Update the contents of a
-- descriptor set object using an update template
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - descriptorSet must be a valid DescriptorSet
-- handle
-- - descriptorUpdateTemplate must be a valid
-- DescriptorUpdateTemplate handle
-- - descriptorUpdateTemplate must have been created,
-- allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorSet must be externally
-- synchronized
--
--
-- API example
--
--
-- struct AppBufferView {
-- VkBufferView bufferView;
-- uint32_t applicationRelatedInformation;
-- };
--
-- struct AppDataStructure
-- {
-- VkDescriptorImageInfo imageInfo; // a single image info
-- VkDescriptorBufferInfo bufferInfoArray[3]; // 3 buffer infos in an array
-- AppBufferView bufferView[2]; // An application defined structure containing a bufferView
-- // ... some more application related data
-- };
--
-- const VkDescriptorUpdateTemplateEntry descriptorUpdateTemplateEntries[] =
-- {
-- // binding to a single image descriptor
-- {
-- 0, // binding
-- 0, // dstArrayElement
-- 1, // descriptorCount
-- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, // descriptorType
-- offsetof(AppDataStructure, imageInfo), // offset
-- 0 // stride is not required if descriptorCount is 1
-- },
--
-- // binding to an array of buffer descriptors
-- {
-- 1, // binding
-- 0, // dstArrayElement
-- 3, // descriptorCount
-- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, // descriptorType
-- offsetof(AppDataStructure, bufferInfoArray), // offset
-- sizeof(VkDescriptorBufferInfo) // stride, descriptor buffer infos are compact
-- },
--
-- // binding to an array of buffer views
-- {
-- 2, // binding
-- 0, // dstArrayElement
-- 2, // descriptorCount
-- VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, // descriptorType
-- offsetof(AppDataStructure, bufferView) +
-- offsetof(AppBufferView, bufferView), // offset
-- sizeof(AppBufferView) // stride, bufferViews do not have to be compact
-- },
-- };
--
-- // create a descriptor update template for descriptor set updates
-- const VkDescriptorUpdateTemplateCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, // sType
-- NULL, // pNext
-- 0, // flags
-- 3, // descriptorUpdateEntryCount
-- descriptorUpdateTemplateEntries, // pDescriptorUpdateEntries
-- VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, // templateType
-- myLayout, // descriptorSetLayout
-- 0, // pipelineBindPoint, ignored by given templateType
-- 0, // pipelineLayout, ignored by given templateType
-- 0, // set, ignored by given templateType
-- };
--
-- VkDescriptorUpdateTemplate myDescriptorUpdateTemplate;
-- myResult = vkCreateDescriptorUpdateTemplate(
-- myDevice,
-- &createInfo,
-- NULL,
-- &myDescriptorUpdateTemplate);
--
-- AppDataStructure appData;
--
-- // fill appData here or cache it in your engine
-- vkUpdateDescriptorSetWithTemplate(myDevice, myDescriptorSet, myDescriptorUpdateTemplate, &appData);
--
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorSet,
-- DescriptorUpdateTemplate, Device
updateDescriptorSetWithTemplate :: forall io. MonadIO io => Device -> DescriptorSet -> DescriptorUpdateTemplate -> ("data" ::: Ptr ()) -> io ()
-- | VkDescriptorUpdateTemplateEntry - Describes a single descriptor update
-- of the descriptor update template
--
-- Valid Usage
--
--
-- - dstBinding must be a valid binding in the
-- descriptor set layout implicitly specified when using a descriptor
-- update template to update descriptors
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorType,
-- DescriptorUpdateTemplateCreateInfo
data DescriptorUpdateTemplateEntry
DescriptorUpdateTemplateEntry :: Word32 -> Word32 -> Word32 -> DescriptorType -> Word64 -> Word64 -> DescriptorUpdateTemplateEntry
-- | dstBinding is the descriptor binding to update when using
-- this descriptor update template.
[$sel:dstBinding:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> Word32
-- | dstArrayElement is the starting element in the array
-- belonging to dstBinding. If the descriptor binding identified
-- by dstBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- dstArrayElement specifies the starting byte offset to update.
[$sel:dstArrayElement:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> Word32
-- | descriptorCount is the number of descriptors to update. If
-- descriptorCount is greater than the number of remaining array
-- elements in the destination binding, those affect consecutive bindings
-- in a manner similar to WriteDescriptorSet above. If the
-- descriptor binding identified by dstBinding has a descriptor
-- type of DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- descriptorCount specifies the number of bytes to update and
-- the remaining array elements in the destination binding refer to the
-- remaining number of bytes in it.
[$sel:descriptorCount:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> Word32
-- | descriptorType is a DescriptorType specifying the type
-- of the descriptor.
[$sel:descriptorType:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> DescriptorType
-- | offset is the offset in bytes of the first binding in the raw
-- data structure.
[$sel:offset:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> Word64
-- | stride is the stride in bytes between two consecutive array
-- elements of the descriptor update informations in the raw data
-- structure. The actual pointer ptr for each array element j of update
-- entry i is computed using the following formula:
--
--
-- const char *ptr = (const char *)pData + pDescriptorUpdateEntries[i].offset + j * pDescriptorUpdateEntries[i].stride
--
--
-- The stride is useful in case the bindings are stored in structs along
-- with other data. If descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then the value of
-- stride is ignored and the stride is assumed to be 1,
-- i.e. the descriptor update information for them is always specified as
-- a contiguous range.
[$sel:stride:DescriptorUpdateTemplateEntry] :: DescriptorUpdateTemplateEntry -> Word64
-- | VkDescriptorUpdateTemplateCreateInfo - Structure specifying parameters
-- of a newly created descriptor update template
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - pDescriptorUpdateEntries must be a valid pointer
-- to an array of descriptorUpdateEntryCount valid
-- DescriptorUpdateTemplateEntry structures
-- - templateType must be a valid
-- DescriptorUpdateTemplateType value
-- - descriptorUpdateEntryCount must be greater than
-- 0
-- - Both of descriptorSetLayout, and pipelineLayout
-- that are valid handles of non-ignored parameters must have been
-- created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorSetLayout,
-- DescriptorUpdateTemplateCreateFlags,
-- DescriptorUpdateTemplateEntry,
-- DescriptorUpdateTemplateType, PipelineBindPoint,
-- PipelineLayout, StructureType,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR
data DescriptorUpdateTemplateCreateInfo
DescriptorUpdateTemplateCreateInfo :: DescriptorUpdateTemplateCreateFlags -> Vector DescriptorUpdateTemplateEntry -> DescriptorUpdateTemplateType -> DescriptorSetLayout -> PipelineBindPoint -> PipelineLayout -> Word32 -> DescriptorUpdateTemplateCreateInfo
-- | flags is reserved for future use.
[$sel:flags:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> DescriptorUpdateTemplateCreateFlags
-- | pDescriptorUpdateEntries is a pointer to an array of
-- DescriptorUpdateTemplateEntry structures describing the
-- descriptors to be updated by the descriptor update template.
[$sel:descriptorUpdateEntries:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> Vector DescriptorUpdateTemplateEntry
-- | templateType Specifies the type of the descriptor update
-- template. If set to
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET it can
-- only be used to update descriptor sets with a fixed
-- descriptorSetLayout. If set to
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR it
-- can only be used to push descriptor sets using the provided
-- pipelineBindPoint, pipelineLayout, and set
-- number.
[$sel:templateType:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> DescriptorUpdateTemplateType
-- | descriptorSetLayout is the descriptor set layout used to
-- build the descriptor update template. All descriptor sets which are
-- going to be updated through the newly created descriptor update
-- template must be created with a layout that matches (is the
-- same as, or defined identically to) this layout. This parameter is
-- ignored if templateType is not
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET.
[$sel:descriptorSetLayout:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> DescriptorSetLayout
-- | pipelineBindPoint is a PipelineBindPoint indicating
-- the type of the pipeline that will use the descriptors. This parameter
-- is ignored if templateType is not
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
[$sel:pipelineBindPoint:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> PipelineBindPoint
-- | pipelineLayout is a PipelineLayout object used to
-- program the bindings. This parameter is ignored if
-- templateType is not
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
[$sel:pipelineLayout:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> PipelineLayout
-- | set is the set number of the descriptor set in the pipeline
-- layout that will be updated. This parameter is ignored if
-- templateType is not
-- DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
[$sel:set:DescriptorUpdateTemplateCreateInfo] :: DescriptorUpdateTemplateCreateInfo -> Word32
-- | VkDescriptorUpdateTemplate - Opaque handle to a descriptor update
-- template
--
-- See Also
--
-- VK_VERSION_1_1, cmdPushDescriptorSetWithTemplateKHR,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorUpdateTemplate
DescriptorUpdateTemplate :: Word64 -> DescriptorUpdateTemplate
-- | VkDescriptorUpdateTemplateCreateFlags - Reserved for future use
--
-- Description
--
-- DescriptorUpdateTemplateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorUpdateTemplateCreateInfo
newtype DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags :: Flags -> DescriptorUpdateTemplateCreateFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkDescriptorUpdateTemplateType - Indicates the valid usage of the
-- descriptor update template
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorUpdateTemplateCreateInfo
newtype DescriptorUpdateTemplateType
DescriptorUpdateTemplateType :: Int32 -> DescriptorUpdateTemplateType
-- | DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET specifies that
-- the descriptor update template will be used for descriptor set updates
-- only.
pattern DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: DescriptorUpdateTemplateType
-- | DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR specifies
-- that the descriptor update template will be used for push descriptor
-- updates only.
pattern DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR :: DescriptorUpdateTemplateType
-- | VkObjectType - Specify an enumeration to track object handle types
--
-- Description
--
-- '
--
-- TODO: table
--
-- ObjectType and Vulkan Handle Relationship
--
-- See Also
--
-- VK_VERSION_1_0, DebugUtilsObjectNameInfoEXT,
-- DebugUtilsObjectTagInfoEXT,
-- DeviceMemoryReportCallbackDataEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype ObjectType
ObjectType :: Int32 -> ObjectType
pattern OBJECT_TYPE_UNKNOWN :: ObjectType
pattern OBJECT_TYPE_INSTANCE :: ObjectType
pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
pattern OBJECT_TYPE_DEVICE :: ObjectType
pattern OBJECT_TYPE_QUEUE :: ObjectType
pattern OBJECT_TYPE_SEMAPHORE :: ObjectType
pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType
pattern OBJECT_TYPE_FENCE :: ObjectType
pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType
pattern OBJECT_TYPE_BUFFER :: ObjectType
pattern OBJECT_TYPE_IMAGE :: ObjectType
pattern OBJECT_TYPE_EVENT :: ObjectType
pattern OBJECT_TYPE_QUERY_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType
pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType
pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
pattern OBJECT_TYPE_RENDER_PASS :: ObjectType
pattern OBJECT_TYPE_PIPELINE :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
pattern OBJECT_TYPE_SAMPLER :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType
pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType
pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
pattern OBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
pattern OBJECT_TYPE_CU_MODULE_NVX :: ObjectType
pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry
module Vulkan.Core10.PipelineLayout
-- | vkCreatePipelineLayout - Creates a new pipeline layout object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- PipelineLayout, PipelineLayoutCreateInfo
createPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayoutCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineLayout
-- | A convenience wrapper to make a compatible pair of calls to
-- createPipelineLayout and destroyPipelineLayout
--
-- To ensure that destroyPipelineLayout 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.
withPipelineLayout :: forall io r. MonadIO io => Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> (io PipelineLayout -> (PipelineLayout -> io ()) -> r) -> r
-- | vkDestroyPipelineLayout - Destroy a pipeline layout object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- pipelineLayout was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- pipelineLayout was created, pAllocator must
-- be NULL
-- - pipelineLayout must not have been passed to any
-- vkCmd* command for any command buffers that are still in the
-- recording state when destroyPipelineLayout is
-- called
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipelineLayout is not NULL_HANDLE,
-- pipelineLayout must be a valid PipelineLayout
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If pipelineLayout is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to pipelineLayout must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- PipelineLayout
destroyPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkPushConstantRange - Structure specifying a push constant range
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, PipelineLayoutCreateInfo,
-- ShaderStageFlags
data PushConstantRange
PushConstantRange :: ShaderStageFlags -> Word32 -> Word32 -> PushConstantRange
-- | stageFlags is a set of stage flags describing the shader
-- stages that will access a range of push constants. If a particular
-- stage is not included in the range, then accessing members of that
-- range of push constants from the corresponding shader stage will
-- return undefined values.
--
-- stageFlags must be a valid combination of
-- ShaderStageFlagBits values
--
-- stageFlags must not be 0
[$sel:stageFlags:PushConstantRange] :: PushConstantRange -> ShaderStageFlags
-- | offset and size are the start offset and size,
-- respectively, consumed by the range. Both offset and
-- size are in units of bytes and must be a multiple of
-- 4. The layout of the push constant variables is specified in the
-- shader.
--
-- offset must be less than
-- PhysicalDeviceLimits::maxPushConstantsSize
--
-- offset must be a multiple of 4
[$sel:offset:PushConstantRange] :: PushConstantRange -> Word32
-- | size must be greater than 0
--
-- size must be a multiple of 4
--
-- size must be less than or equal to
-- PhysicalDeviceLimits::maxPushConstantsSize minus
-- offset
[$sel:size:PushConstantRange] :: PushConstantRange -> Word32
-- | VkPipelineLayoutCreateInfo - Structure specifying the parameters of a
-- newly created pipeline layout object
--
-- Valid Usage
--
--
--
--
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of DESCRIPTOR_TYPE_SAMPLER and
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorSamplers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER and
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorUniformBuffers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER and
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorSampledImages
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, and
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorStorageImages
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible to any given shader
-- stage across all elements of pSetLayouts must be less
-- than or equal to
-- PhysicalDeviceLimits::maxPerStageDescriptorInputAttachments
-- - The total number of bindings in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT accessible to any
-- given shader stage across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceInlineUniformBlockPropertiesEXT::maxPerStageDescriptorInlineUniformBlocks
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_SAMPLER and
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSamplers
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER and
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindUniformBuffers
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER and
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageBuffers
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSampledImages
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, and
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given
-- shader stage across all elements of pSetLayouts must
-- be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageImages
-- - The total number of descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible to any given shader
-- stage across all elements of pSetLayouts must be less
-- than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindInputAttachments
-- - The total number of bindings with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT accessible to any
-- given shader stage across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceInlineUniformBlockPropertiesEXT::maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of DESCRIPTOR_TYPE_SAMPLER and
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetSamplers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetUniformBuffers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetUniformBuffersDynamic
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetStorageBuffers
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetStorageBuffersDynamic
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetSampledImages
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, and
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetStorageImages
-- - The total number of descriptors in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceLimits::maxDescriptorSetInputAttachments
-- - The total number of bindings in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceInlineUniformBlockPropertiesEXT::maxDescriptorSetInlineUniformBlocks
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_SAMPLER and
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSamplers
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffers
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffers
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSampledImages
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, and
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageImages
-- - The total number of descriptors of the type
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible across all shader
-- stages and across all elements of pSetLayouts must be
-- less than or equal to
-- PhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindInputAttachments
-- - The total number of bindings with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceInlineUniformBlockPropertiesEXT::maxDescriptorSetUpdateAfterBindInlineUniformBlocks
-- - Any two elements of pPushConstantRanges must not
-- include the same stage in stageFlags
-- - pSetLayouts must not contain more than one
-- descriptor set layout that was created with
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set
-- - The total number of bindings in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any
-- given shader stage across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorAccelerationStructures
-- - The total number of bindings with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any
-- given shader stage across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorUpdateAfterBindAccelerationStructures
-- - The total number of bindings in descriptor set layouts created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across
-- all shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetAccelerationStructures
-- - The total number of bindings with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across
-- all shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetUpdateAfterBindAccelerationStructures
-- - The total number of bindings with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV accessible across all
-- shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- PhysicalDeviceRayTracingPropertiesNV::maxDescriptorSetAccelerationStructures
-- - The total number of pImmutableSamplers created with
-- flags containing SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT across
-- all shader stages and across all elements of pSetLayouts
-- must be less than or equal to
-- ::maxDescriptorSetSubsampledSamplers
-- - Any element of pSetLayouts must not have been
-- created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE bit
-- set
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - If setLayoutCount is not 0, pSetLayouts
-- must be a valid pointer to an array of setLayoutCount
-- valid DescriptorSetLayout handles
-- - If pushConstantRangeCount is not 0,
-- pPushConstantRanges must be a valid pointer to an
-- array of pushConstantRangeCount valid
-- PushConstantRange structures
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayout,
-- PipelineLayoutCreateFlags, PushConstantRange,
-- StructureType, createPipelineLayout
data PipelineLayoutCreateInfo
PipelineLayoutCreateInfo :: PipelineLayoutCreateFlags -> Vector DescriptorSetLayout -> Vector PushConstantRange -> PipelineLayoutCreateInfo
-- | flags is reserved for future use.
[$sel:flags:PipelineLayoutCreateInfo] :: PipelineLayoutCreateInfo -> PipelineLayoutCreateFlags
-- | pSetLayouts is a pointer to an array of
-- DescriptorSetLayout objects.
[$sel:setLayouts:PipelineLayoutCreateInfo] :: PipelineLayoutCreateInfo -> Vector DescriptorSetLayout
-- | pPushConstantRanges is a pointer to an array of
-- PushConstantRange structures defining a set of push constant
-- ranges for use in a single pipeline layout. In addition to descriptor
-- set layouts, a pipeline layout also describes how many push constants
-- can be accessed by each stage of the pipeline.
--
-- Note
--
-- Push constants represent a high speed path to modify constant data in
-- pipelines that is expected to outperform memory-backed resource
-- updates.
[$sel:pushConstantRanges:PipelineLayoutCreateInfo] :: PipelineLayoutCreateInfo -> Vector PushConstantRange
-- | VkPipelineLayout - Opaque handle to a pipeline layout object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- GraphicsPipelineCreateInfo,
-- IndirectCommandsLayoutTokenNV,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindDescriptorSets,
-- cmdPushConstants, cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR,
-- createPipelineLayout, destroyPipelineLayout
newtype PipelineLayout
PipelineLayout :: Word64 -> PipelineLayout
instance GHC.Classes.Eq Vulkan.Core10.PipelineLayout.PushConstantRange
instance GHC.Show.Show Vulkan.Core10.PipelineLayout.PushConstantRange
instance GHC.Show.Show Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.PipelineLayout.PushConstantRange
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.PipelineLayout.PushConstantRange
instance Foreign.Storable.Storable Vulkan.Core10.PipelineLayout.PushConstantRange
instance Vulkan.Zero.Zero Vulkan.Core10.PipelineLayout.PushConstantRange
module Vulkan.Core10.PipelineCache
-- | vkCreatePipelineCache - Creates a new pipeline cache
--
-- Description
--
-- Note
--
-- Applications can track and manage the total host memory size of
-- a pipeline cache object using the pAllocator. Applications
-- can limit the amount of data retrieved from a pipeline cache
-- object in getPipelineCacheData. Implementations should
-- not internally limit the total number of entries added to a pipeline
-- cache object or the total host memory consumed.
--
-- Once created, a pipeline cache can be passed to the
-- createGraphicsPipelines createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, and createComputePipelines
-- commands. If the pipeline cache passed into these commands is not
-- NULL_HANDLE, the implementation will query it for possible
-- reuse opportunities and update it with new content. The use of the
-- pipeline cache object in these commands is internally synchronized,
-- and the same pipeline cache object can be used in multiple
-- threads simultaneously.
--
-- If flags of pCreateInfo includes
-- PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT, all
-- commands that modify the returned pipeline cache object must be
-- externally synchronized.
--
-- Note
--
-- Implementations should make every effort to limit any critical
-- sections to the actual accesses to the cache, which is expected to be
-- significantly shorter than the duration of the
-- vkCreate*Pipelines commands.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- PipelineCache, PipelineCacheCreateInfo
createPipelineCache :: forall io. MonadIO io => Device -> PipelineCacheCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineCache
-- | A convenience wrapper to make a compatible pair of calls to
-- createPipelineCache and destroyPipelineCache
--
-- To ensure that destroyPipelineCache 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.
withPipelineCache :: forall io r. MonadIO io => Device -> PipelineCacheCreateInfo -> Maybe AllocationCallbacks -> (io PipelineCache -> (PipelineCache -> io ()) -> r) -> r
-- | vkDestroyPipelineCache - Destroy a pipeline cache object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- pipelineCache was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- pipelineCache was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipelineCache is not NULL_HANDLE,
-- pipelineCache must be a valid PipelineCache
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If pipelineCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to pipelineCache must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- PipelineCache
destroyPipelineCache :: forall io. MonadIO io => Device -> PipelineCache -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetPipelineCacheData - Get the data store from a pipeline cache
--
-- Description
--
-- If pData is NULL, then the maximum size of the data
-- that can be retrieved from the pipeline cache, in bytes, is
-- returned in pDataSize. Otherwise, pDataSize
-- must point to a variable set by the user to the size of the
-- buffer, in bytes, pointed to by pData, and on return the
-- variable is overwritten with the amount of data actually written to
-- pData. If pDataSize is less than the maximum size
-- that can be retrieved by the pipeline cache, at most
-- pDataSize bytes will be written to pData, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all of the pipeline cache was returned.
--
-- Any data written to pData is valid and can be provided
-- as the pInitialData member of the
-- PipelineCacheCreateInfo structure passed to
-- createPipelineCache.
--
-- Two calls to getPipelineCacheData with the same parameters
-- must retrieve the same data unless a command that modifies the
-- contents of the cache is called between them.
--
-- The initial bytes written to pData must be a header as
-- described in the Pipeline Cache Header section.
--
-- If pDataSize is less than what is necessary to store this
-- header, nothing will be written to pData and zero will be
-- written to pDataSize.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipelineCache must be a valid PipelineCache
-- handle
-- - pDataSize must be a valid pointer to a
-- size_t value
-- - If the value referenced by pDataSize is not 0,
-- and pData is not NULL, pData must be
-- a valid pointer to an array of pDataSize bytes
-- - pipelineCache must have been created, allocated,
-- or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, PipelineCache
getPipelineCacheData :: forall io. MonadIO io => Device -> PipelineCache -> io (Result, "data" ::: ByteString)
-- | vkMergePipelineCaches - Combine the data stores of pipeline caches
--
-- Description
--
-- Note
--
-- The details of the merge operation are implementation-dependent, but
-- implementations should merge the contents of the specified
-- pipelines and prune duplicate entries.
--
-- Valid Usage
--
--
-- - dstCache must not appear in the list of source
-- caches
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - dstCache must be a valid PipelineCache
-- handle
-- - pSrcCaches must be a valid pointer to an array of
-- srcCacheCount valid PipelineCache handles
-- - srcCacheCount must be greater than 0
-- - dstCache must have been created, allocated, or
-- retrieved from device
-- - Each element of pSrcCaches must have been created,
-- allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to dstCache must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, PipelineCache
mergePipelineCaches :: forall io. MonadIO io => Device -> ("dstCache" ::: PipelineCache) -> ("srcCaches" ::: Vector PipelineCache) -> io ()
-- | VkPipelineCacheCreateInfo - Structure specifying parameters of a newly
-- created pipeline cache
--
-- Valid Usage
--
--
-- - If initialDataSize is not 0, it must be
-- equal to the size of pInitialData, as returned by
-- getPipelineCacheData when pInitialData was originally
-- retrieved
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be a valid combination of
-- PipelineCacheCreateFlagBits values
-- - If initialDataSize is not 0,
-- pInitialData must be a valid pointer to an array of
-- initialDataSize bytes
--
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCacheCreateFlags,
-- StructureType, createPipelineCache
data PipelineCacheCreateInfo
PipelineCacheCreateInfo :: PipelineCacheCreateFlags -> Word64 -> Ptr () -> PipelineCacheCreateInfo
-- | flags is a bitmask of PipelineCacheCreateFlagBits
-- specifying the behavior of the pipeline cache.
[$sel:flags:PipelineCacheCreateInfo] :: PipelineCacheCreateInfo -> PipelineCacheCreateFlags
-- | initialDataSize is the number of bytes in
-- pInitialData. If initialDataSize is zero, the
-- pipeline cache will initially be empty.
[$sel:initialDataSize:PipelineCacheCreateInfo] :: PipelineCacheCreateInfo -> Word64
-- | pInitialData is a pointer to previously retrieved pipeline
-- cache data. If the pipeline cache data is incompatible (as defined
-- below) with the device, the pipeline cache will be initially empty. If
-- initialDataSize is zero, pInitialData is ignored.
[$sel:initialData:PipelineCacheCreateInfo] :: PipelineCacheCreateInfo -> Ptr ()
-- | VkPipelineCache - Opaque handle to a pipeline cache object
--
-- See Also
--
-- VK_VERSION_1_0, createComputePipelines,
-- createGraphicsPipelines, createPipelineCache,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipelineCache,
-- getPipelineCacheData, mergePipelineCaches
newtype PipelineCache
PipelineCache :: Word64 -> PipelineCache
-- | VkPipelineCacheCreateFlagBits - Bitmask specifying the behavior of the
-- pipeline cache
--
-- See Also
--
-- VK_EXT_pipeline_creation_cache_control,
-- PipelineCacheCreateFlags
newtype PipelineCacheCreateFlagBits
PipelineCacheCreateFlagBits :: Flags -> PipelineCacheCreateFlagBits
-- | PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT specifies
-- that all commands that modify the created PipelineCache will be
-- externally synchronized. When set, the implementation
-- may skip any unnecessary processing needed to support
-- simultaneous modification from multiple threads where allowed.
pattern PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT :: PipelineCacheCreateFlagBits
type PipelineCacheCreateFlags = PipelineCacheCreateFlagBits
instance GHC.Show.Show Vulkan.Core10.PipelineCache.PipelineCacheCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.PipelineCache.PipelineCacheCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.PipelineCache.PipelineCacheCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.PipelineCache.PipelineCacheCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.PipelineCache.PipelineCacheCreateInfo
module Vulkan.Core10.MemoryManagement
-- | vkGetBufferMemoryRequirements - Returns the memory requirements for
-- specified Vulkan object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, Device,
-- MemoryRequirements
getBufferMemoryRequirements :: forall io. MonadIO io => Device -> Buffer -> io MemoryRequirements
-- | vkBindBufferMemory - Bind device memory to a buffer object
--
-- Description
--
-- bindBufferMemory is equivalent to passing the same parameters
-- through BindBufferMemoryInfo to bindBufferMemory2.
--
-- Valid Usage
--
--
-- - buffer must not already be backed by a memory
-- object
--
--
--
-- - buffer must not have been created with any sparse
-- memory binding flags
-- - memoryOffset must be less than the size of
-- memory
-- - memory must have been allocated using one of the
-- memory types allowed in the memoryTypeBits member of the
-- MemoryRequirements structure returned from a call to
-- getBufferMemoryRequirements with buffer
-- - memoryOffset must be an integer multiple of the
-- alignment member of the MemoryRequirements structure
-- returned from a call to getBufferMemoryRequirements with
-- buffer
-- - The size member of the MemoryRequirements
-- structure returned from a call to getBufferMemoryRequirements
-- with buffer must be less than or equal to the size of
-- memory minus memoryOffset
-- - If buffer requires a dedicated allocation (as reported by
-- getBufferMemoryRequirements2 in
-- MemoryDedicatedRequirements::requiresDedicatedAllocation
-- for buffer), memory must have been allocated
-- with MemoryDedicatedAllocateInfo::buffer equal to
-- buffer
-- - If the MemoryAllocateInfo provided when memory was
-- allocated included a MemoryDedicatedAllocateInfo structure in
-- its pNext chain, and
-- MemoryDedicatedAllocateInfo::buffer was not
-- NULL_HANDLE, then buffer must equal
-- MemoryDedicatedAllocateInfo::buffer, and
-- memoryOffset must be zero
-- - If buffer was created with the
-- BUFFER_CREATE_PROTECTED_BIT bit set, the buffer must be
-- bound to a memory object allocated with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If buffer was created with the
-- BUFFER_CREATE_PROTECTED_BIT bit not set, the buffer must
-- not be bound to a memory object allocated with a memory type that
-- reports MEMORY_PROPERTY_PROTECTED_BIT
-- - If buffer was created with
-- DedicatedAllocationBufferCreateInfoNV::dedicatedAllocation
-- equal to TRUE, memory must have been allocated
-- with DedicatedAllocationMemoryAllocateInfoNV::buffer
-- equal to a buffer handle created with identical creation parameters to
-- buffer and memoryOffset must be zero
-- - If the value of
-- ExportMemoryAllocateInfo::handleTypes used to allocate
-- memory is not 0, it must include at least one
-- of the handles set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If memory was allocated by a memory import operation,
-- that is not ImportAndroidHardwareBufferInfoANDROID with a
-- non-NULL buffer value, the external handle type of
-- the imported memory must also have been set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If memory was allocated with the
-- ImportAndroidHardwareBufferInfoANDROID memory import operation
-- with a non-NULL buffer value,
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- must also have been set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If the
-- PhysicalDeviceBufferDeviceAddressFeatures::bufferDeviceAddress
-- feature is enabled and buffer was created with the
-- BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT bit set, memory
-- must have been allocated with the
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT bit set
-- - If buffer was created with
-- BufferCollectionBufferCreateInfoFUCHSIA chained to
-- BufferCreateInfo::pNext, memory must
-- be allocated with a ImportMemoryBufferCollectionFUCHSIA chained
-- to MemoryAllocateInfo::pNext
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - buffer must be a valid Buffer handle
-- - memory must be a valid DeviceMemory
-- handle
-- - buffer must have been created, allocated, or
-- retrieved from device
-- - memory must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to buffer must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, Device,
-- DeviceMemory, DeviceSize
bindBufferMemory :: forall io. MonadIO io => Device -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> io ()
-- | vkGetImageMemoryRequirements - Returns the memory requirements for
-- specified Vulkan object
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - image must be a valid Image handle
-- - pMemoryRequirements must be a valid pointer to a
-- MemoryRequirements structure
-- - image must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Image,
-- MemoryRequirements
getImageMemoryRequirements :: forall io. MonadIO io => Device -> Image -> io MemoryRequirements
-- | vkBindImageMemory - Bind device memory to an image object
--
-- Description
--
-- bindImageMemory is equivalent to passing the same parameters
-- through BindImageMemoryInfo to bindImageMemory2.
--
-- Valid Usage
--
--
-- - image must not already be backed by a memory
-- object
--
--
--
-- - image must not have been created with any sparse
-- memory binding flags
-- - memoryOffset must be less than the size of
-- memory
-- - If image requires a dedicated allocation (as reported by
-- getImageMemoryRequirements2 in
-- MemoryDedicatedRequirements::requiresDedicatedAllocation
-- for image), memory must have been created
-- with MemoryDedicatedAllocateInfo::image equal to
-- image
-- - If the dedicated allocation image aliasing feature is not
-- enabled, and the MemoryAllocateInfo provided when
-- memory was allocated included a
-- MemoryDedicatedAllocateInfo structure in its pNext
-- chain, and MemoryDedicatedAllocateInfo::image was not
-- NULL_HANDLE, then image must equal
-- MemoryDedicatedAllocateInfo::image and
-- memoryOffset must be zero
-- - If the dedicated allocation image aliasing feature is
-- enabled, and the MemoryAllocateInfo provided when
-- memory was allocated included a
-- MemoryDedicatedAllocateInfo structure in its pNext
-- chain, and MemoryDedicatedAllocateInfo::image was not
-- NULL_HANDLE, then memoryOffset must be zero,
-- and image must be either equal to
-- MemoryDedicatedAllocateInfo::image or an image that
-- was created using the same parameters in ImageCreateInfo, with
-- the exception that extent and arrayLayers may
-- differ subject to the following restrictions: every dimension in the
-- extent parameter of the image being bound must be
-- equal to or smaller than the original image for which the allocation
-- was created; and the arrayLayers parameter of the image being
-- bound must be equal to or smaller than the original image for
-- which the allocation was created
-- - If image was created with the IMAGE_CREATE_PROTECTED_BIT
-- bit set, the image must be bound to a memory object allocated
-- with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If image was created with the IMAGE_CREATE_PROTECTED_BIT
-- bit not set, the image must not be bound to a memory object
-- created with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If image was created with
-- DedicatedAllocationImageCreateInfoNV::dedicatedAllocation
-- equal to TRUE, memory must have been created
-- with DedicatedAllocationMemoryAllocateInfoNV::image
-- equal to an image handle created with identical creation parameters to
-- image and memoryOffset must be zero
-- - If the value of
-- ExportMemoryAllocateInfo::handleTypes used to allocate
-- memory is not 0, it must include at least one
-- of the handles set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - If memory was created by a memory import operation, that
-- is not ImportAndroidHardwareBufferInfoANDROID with a
-- non-NULL buffer value, the external handle type of
-- the imported memory must also have been set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - If memory was created with the
-- ImportAndroidHardwareBufferInfoANDROID memory import operation
-- with a non-NULL buffer value,
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- must also have been set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - image must not have been created with the
-- IMAGE_CREATE_DISJOINT_BIT set
-- - memory must have been allocated using one of the
-- memory types allowed in the memoryTypeBits member of the
-- MemoryRequirements structure returned from a call to
-- getImageMemoryRequirements with image
-- - memoryOffset must be an integer multiple of the
-- alignment member of the MemoryRequirements structure
-- returned from a call to getImageMemoryRequirements with
-- image
-- - The difference of the size of memory and
-- memoryOffset must be greater than or equal to the
-- size member of the MemoryRequirements structure
-- returned from a call to getImageMemoryRequirements with the
-- same image
-- - If image was created with
-- BufferCollectionImageCreateInfoFUCHSIA chained to
-- ImageCreateInfo::pNext, memory must be
-- allocated with a ImportMemoryBufferCollectionFUCHSIA chained to
-- MemoryAllocateInfo::pNext
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - image must be a valid Image handle
-- - memory must be a valid DeviceMemory
-- handle
-- - image must have been created, allocated, or
-- retrieved from device
-- - memory must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to image must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, DeviceMemory,
-- DeviceSize, Image
bindImageMemory :: forall io. MonadIO io => Device -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> io ()
-- | VkMemoryRequirements - Structure specifying memory requirements
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize, MemoryRequirements2,
-- getBufferMemoryRequirements, getImageMemoryRequirements
data MemoryRequirements
MemoryRequirements :: DeviceSize -> DeviceSize -> Word32 -> MemoryRequirements
-- | size is the size, in bytes, of the memory allocation
-- required for the resource.
[$sel:size:MemoryRequirements] :: MemoryRequirements -> DeviceSize
-- | alignment is the alignment, in bytes, of the offset within
-- the allocation required for the resource.
[$sel:alignment:MemoryRequirements] :: MemoryRequirements -> DeviceSize
-- | memoryTypeBits is a bitmask and contains one bit set for
-- every supported memory type for the resource. Bit i is set if
-- and only if the memory type i in the
-- PhysicalDeviceMemoryProperties structure for the physical
-- device is supported for the resource.
[$sel:memoryTypeBits:MemoryRequirements] :: MemoryRequirements -> Word32
-- | VkDeviceMemory - Opaque handle to a device memory object
--
-- See Also
--
-- VK_VERSION_1_0, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryInfo, BindImageMemoryInfo,
-- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA, SparseImageMemoryBind,
-- SparseMemoryBind, VkVideoBindMemoryKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory,
-- bindBufferMemory, bindImageMemory, freeMemory,
-- getDeviceMemoryCommitment, getMemoryWin32HandleNV,
-- mapMemory, setDeviceMemoryPriorityEXT,
-- unmapMemory
newtype DeviceMemory
DeviceMemory :: Word64 -> DeviceMemory
instance GHC.Classes.Eq Vulkan.Core10.MemoryManagement.MemoryRequirements
instance GHC.Show.Show Vulkan.Core10.MemoryManagement.MemoryRequirements
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.MemoryManagement.MemoryRequirements
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.MemoryManagement.MemoryRequirements
instance Foreign.Storable.Storable Vulkan.Core10.MemoryManagement.MemoryRequirements
instance Vulkan.Zero.Zero Vulkan.Core10.MemoryManagement.MemoryRequirements
module Vulkan.Core10.LayerDiscovery
-- | vkEnumerateInstanceLayerProperties - Returns up to requested number of
-- global layer properties
--
-- Description
--
-- If pProperties is NULL, then the number of layer
-- properties available is returned in pPropertyCount.
-- Otherwise, pPropertyCount must point to a variable set
-- by the user to the number of elements in the pProperties
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pProperties. If
-- pPropertyCount is less than the number of layer properties
-- available, at most pPropertyCount structures will be written,
-- and INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available properties were returned.
--
-- The list of available layers may change at any time due to actions
-- outside of the Vulkan implementation, so two calls to
-- enumerateInstanceLayerProperties with the same parameters
-- may return different results, or retrieve different
-- pPropertyCount values or pProperties contents. Once
-- an instance has been created, the layers enabled for that instance
-- will continue to be enabled and valid for the lifetime of that
-- instance, even if some of them become unavailable for future
-- instances.
--
-- Valid Usage (Implicit)
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
--
--
--
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount LayerProperties structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, LayerProperties
enumerateInstanceLayerProperties :: forall io. MonadIO io => io (Result, "properties" ::: Vector LayerProperties)
-- | vkEnumerateDeviceLayerProperties - Returns properties of available
-- physical device layers
--
-- Description
--
-- If pProperties is NULL, then the number of layer
-- properties available is returned in pPropertyCount.
-- Otherwise, pPropertyCount must point to a variable set
-- by the user to the number of elements in the pProperties
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pProperties. If
-- pPropertyCount is less than the number of layer properties
-- available, at most pPropertyCount structures will be written,
-- and INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available properties were returned.
--
-- The list of layers enumerated by enumerateDeviceLayerProperties
-- must be exactly the sequence of layers enabled for the
-- instance. The members of LayerProperties for each enumerated
-- layer must be the same as the properties when the layer was
-- enumerated by enumerateInstanceLayerProperties.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount LayerProperties structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, LayerProperties, PhysicalDevice
enumerateDeviceLayerProperties :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector LayerProperties)
-- | VkLayerProperties - Structure specifying layer properties
--
-- See Also
--
-- VK_VERSION_1_0, enumerateDeviceLayerProperties,
-- enumerateInstanceLayerProperties
data LayerProperties
LayerProperties :: ByteString -> Word32 -> Word32 -> ByteString -> LayerProperties
-- | layerName is an array of MAX_EXTENSION_NAME_SIZE
-- char containing a null-terminated UTF-8 string which is the
-- name of the layer. Use this name in the ppEnabledLayerNames
-- array passed in the InstanceCreateInfo structure to enable this
-- layer for an instance.
[$sel:layerName:LayerProperties] :: LayerProperties -> ByteString
-- | specVersion is the Vulkan version the layer was written to,
-- encoded as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-coreversions-versionnumbers.
[$sel:specVersion:LayerProperties] :: LayerProperties -> Word32
-- | implementationVersion is the version of this layer. It is an
-- integer, increasing with backward compatible changes.
[$sel:implementationVersion:LayerProperties] :: LayerProperties -> Word32
-- | description is an array of MAX_DESCRIPTION_SIZE
-- char containing a null-terminated UTF-8 string which provides
-- additional details that can be used by the application to
-- identify the layer.
[$sel:description:LayerProperties] :: LayerProperties -> ByteString
instance GHC.Show.Show Vulkan.Core10.LayerDiscovery.LayerProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.LayerDiscovery.LayerProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.LayerDiscovery.LayerProperties
instance Foreign.Storable.Storable Vulkan.Core10.LayerDiscovery.LayerProperties
instance Vulkan.Zero.Zero Vulkan.Core10.LayerDiscovery.LayerProperties
module Vulkan.Core10.ExtensionDiscovery
-- | vkEnumerateInstanceExtensionProperties - Returns up to requested
-- number of global extension properties
--
-- Description
--
-- When pLayerName parameter is NULL, only extensions
-- provided by the Vulkan implementation or by implicitly enabled layers
-- are returned. When pLayerName is the name of a layer, the
-- instance extensions provided by that layer are returned.
--
-- If pProperties is NULL, then the number of
-- extensions properties available is returned in
-- pPropertyCount. Otherwise, pPropertyCount
-- must point to a variable set by the user to the number of
-- elements in the pProperties array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pProperties. If pPropertyCount is less than the
-- number of extension properties available, at most
-- pPropertyCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available properties were returned.
--
-- Because the list of available layers may change externally between
-- calls to enumerateInstanceExtensionProperties, two calls may
-- retrieve different results if a pLayerName is available in
-- one call but not in another. The extensions supported by a layer may
-- also change between two calls, e.g. if the layer implementation is
-- replaced by a different version between those calls.
--
-- Implementations must not advertise any pair of extensions that
-- cannot be enabled together due to behavioral differences, or any
-- extension that cannot be enabled against the advertised version.
--
-- Valid Usage (Implicit)
--
--
-- - If pLayerName is not NULL, pLayerName
-- must be a null-terminated UTF-8 string
--
--
--
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount ExtensionProperties structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ExtensionProperties
enumerateInstanceExtensionProperties :: forall io. MonadIO io => ("layerName" ::: Maybe ByteString) -> io (Result, "properties" ::: Vector ExtensionProperties)
-- | vkEnumerateDeviceExtensionProperties - Returns properties of available
-- physical device extensions
--
-- Description
--
-- When pLayerName parameter is NULL, only extensions
-- provided by the Vulkan implementation or by implicitly enabled layers
-- are returned. When pLayerName is the name of a layer, the
-- device extensions provided by that layer are returned.
--
-- Implementations must not advertise any pair of extensions that
-- cannot be enabled together due to behavioral differences, or any
-- extension that cannot be enabled against the advertised version.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pLayerName is not NULL, pLayerName
-- must be a null-terminated UTF-8 string
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount ExtensionProperties structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ExtensionProperties,
-- PhysicalDevice
enumerateDeviceExtensionProperties :: forall io. MonadIO io => PhysicalDevice -> ("layerName" ::: Maybe ByteString) -> io (Result, "properties" ::: Vector ExtensionProperties)
-- | VkExtensionProperties - Structure specifying an extension properties
--
-- See Also
--
-- VK_VERSION_1_0, VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- enumerateDeviceExtensionProperties,
-- enumerateInstanceExtensionProperties
data ExtensionProperties
ExtensionProperties :: ByteString -> Word32 -> ExtensionProperties
-- | extensionName is an array of MAX_EXTENSION_NAME_SIZE
-- char containing a null-terminated UTF-8 string which is the
-- name of the extension.
[$sel:extensionName:ExtensionProperties] :: ExtensionProperties -> ByteString
-- | specVersion is the version of this extension. It is an
-- integer, incremented with backward compatible changes.
[$sel:specVersion:ExtensionProperties] :: ExtensionProperties -> Word32
instance GHC.Show.Show Vulkan.Core10.ExtensionDiscovery.ExtensionProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.ExtensionDiscovery.ExtensionProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.ExtensionDiscovery.ExtensionProperties
instance Foreign.Storable.Storable Vulkan.Core10.ExtensionDiscovery.ExtensionProperties
instance Vulkan.Zero.Zero Vulkan.Core10.ExtensionDiscovery.ExtensionProperties
module Vulkan.Core10.Event
-- | vkCreateEvent - Create a new event object
--
-- Description
--
-- When created, the event object is in the unsignaled state.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- EventCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pEvent must be a valid pointer to a Event
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Event, EventCreateInfo
createEvent :: forall io. MonadIO io => Device -> EventCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io Event
-- | A convenience wrapper to make a compatible pair of calls to
-- createEvent and destroyEvent
--
-- To ensure that destroyEvent 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.
withEvent :: forall io r. MonadIO io => Device -> EventCreateInfo -> Maybe AllocationCallbacks -> (io Event -> (Event -> io ()) -> r) -> r
-- | vkDestroyEvent - Destroy an event object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to event must
-- have completed execution
--
--
--
-- - If AllocationCallbacks were provided when event
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when event
-- was created, pAllocator must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If event is not NULL_HANDLE, event
-- must be a valid Event handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If event is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to event must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Event
destroyEvent :: forall io. MonadIO io => Device -> Event -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetEventStatus - Retrieve the status of an event object
--
-- Description
--
-- Upon success, getEventStatus returns the state of the event
-- object with the following return codes:
--
-- TODO: table
--
-- Event Object Status Codes
--
-- If a cmdSetEvent or cmdResetEvent command is in a
-- command buffer that is in the pending state, then the value
-- returned by this command may immediately be out of date.
--
-- The state of an event can be updated by the host. The state of
-- the event is immediately changed, and subsequent calls to
-- getEventStatus will return the new state. If an event is
-- already in the requested state, then updating it to the same state has
-- no effect.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Event
getEventStatus :: forall io. MonadIO io => Device -> Event -> io Result
-- | vkSetEvent - Set an event to signaled state
--
-- Description
--
-- When setEvent is executed on the host, it defines an /event
-- signal operation/ which sets the event to the signaled state.
--
-- If event is already in the signaled state when
-- setEvent is executed, then setEvent has no effect, and
-- no event signal operation occurs.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - event must be a valid Event handle
-- - event must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to event must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Event
setEvent :: forall io. MonadIO io => Device -> Event -> io ()
-- | vkResetEvent - Reset an event to non-signaled state
--
-- Description
--
-- When resetEvent is executed on the host, it defines an /event
-- unsignal operation/ which resets the event to the unsignaled state.
--
-- If event is already in the unsignaled state when
-- resetEvent is executed, then resetEvent has no effect,
-- and no event unsignal operation occurs.
--
-- Valid Usage
--
--
-- - There must be an execution dependency between
-- resetEvent and the execution of any cmdWaitEvents that
-- includes event in its pEvents parameter
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - event must be a valid Event handle
-- - event must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to event must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Event
resetEvent :: forall io. MonadIO io => Device -> Event -> io ()
-- | VkEventCreateInfo - Structure specifying parameters of a newly created
-- event
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, EventCreateFlags, StructureType,
-- createEvent
data EventCreateInfo
EventCreateInfo :: EventCreateFlags -> EventCreateInfo
-- | flags is a bitmask of EventCreateFlagBits defining
-- additional creation parameters.
--
-- flags must be a valid combination of
-- EventCreateFlagBits values
[$sel:flags:EventCreateInfo] :: EventCreateInfo -> EventCreateFlags
-- | VkEvent - Opaque handle to an event object
--
-- See Also
--
-- VK_VERSION_1_0, cmdResetEvent, cmdResetEvent2KHR,
-- cmdSetEvent, cmdSetEvent2KHR, cmdWaitEvents,
-- cmdWaitEvents2KHR, createEvent, destroyEvent,
-- getEventStatus, resetEvent, setEvent
newtype Event
Event :: Word64 -> Event
-- | VkEventCreateFlagBits - Event creation flag bits
--
-- See Also
--
-- VK_VERSION_1_0, EventCreateFlags
newtype EventCreateFlagBits
EventCreateFlagBits :: Flags -> EventCreateFlagBits
-- | EVENT_CREATE_DEVICE_ONLY_BIT_KHR specifies that host event
-- commands will not be used with this event.
pattern EVENT_CREATE_DEVICE_ONLY_BIT_KHR :: EventCreateFlagBits
type EventCreateFlags = EventCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Event.EventCreateInfo
instance GHC.Show.Show Vulkan.Core10.Event.EventCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Event.EventCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Event.EventCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.Event.EventCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.Event.EventCreateInfo
module Vulkan.Core10.CommandPool
-- | vkCreateCommandPool - Create a new command pool object
--
-- Valid Usage
--
--
-- - pCreateInfo->queueFamilyIndex must be the index
-- of a queue family available in the logical device device
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- CommandPoolCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pCommandPool must be a valid pointer to a
-- CommandPool handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, CommandPool,
-- CommandPoolCreateInfo, Device
createCommandPool :: forall io. MonadIO io => Device -> CommandPoolCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io CommandPool
-- | A convenience wrapper to make a compatible pair of calls to
-- createCommandPool and destroyCommandPool
--
-- To ensure that destroyCommandPool 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.
withCommandPool :: forall io r. MonadIO io => Device -> CommandPoolCreateInfo -> Maybe AllocationCallbacks -> (io CommandPool -> (CommandPool -> io ()) -> r) -> r
-- | vkDestroyCommandPool - Destroy a command pool object
--
-- Description
--
-- When a pool is destroyed, all command buffers allocated from the pool
-- are freed.
--
-- Any primary command buffer allocated from another CommandPool
-- that is in the recording or executable state and has a
-- secondary command buffer allocated from commandPool recorded
-- into it, becomes invalid.
--
-- Valid Usage
--
--
--
--
-- - If AllocationCallbacks were provided when
-- commandPool was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- commandPool was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If commandPool is not NULL_HANDLE,
-- commandPool must be a valid CommandPool
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If commandPool is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to commandPool must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, CommandPool,
-- Device
destroyCommandPool :: forall io. MonadIO io => Device -> CommandPool -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkResetCommandPool - Reset a command pool
--
-- Description
--
-- Resetting a command pool recycles all of the resources from all of the
-- command buffers allocated from the command pool back to the command
-- pool. All command buffers that have been allocated from the command
-- pool are put in the initial state.
--
-- Any primary command buffer allocated from another CommandPool
-- that is in the recording or executable state and has a
-- secondary command buffer allocated from commandPool recorded
-- into it, becomes invalid.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - commandPool must be a valid CommandPool
-- handle
-- - flags must be a valid combination of
-- CommandPoolResetFlagBits values
-- - commandPool must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to commandPool must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandPool,
-- CommandPoolResetFlags, Device
resetCommandPool :: forall io. MonadIO io => Device -> CommandPool -> CommandPoolResetFlags -> io ()
-- | VkCommandPoolCreateInfo - Structure specifying parameters of a newly
-- created command pool
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolCreateFlags,
-- StructureType, createCommandPool
data CommandPoolCreateInfo
CommandPoolCreateInfo :: CommandPoolCreateFlags -> Word32 -> CommandPoolCreateInfo
-- | flags is a bitmask of CommandPoolCreateFlagBits
-- indicating usage behavior for the pool and command buffers allocated
-- from it.
[$sel:flags:CommandPoolCreateInfo] :: CommandPoolCreateInfo -> CommandPoolCreateFlags
-- | queueFamilyIndex designates a queue family as described in
-- section Queue Family Properties. All command buffers allocated
-- from this command pool must be submitted on queues from the
-- same queue family.
[$sel:queueFamilyIndex:CommandPoolCreateInfo] :: CommandPoolCreateInfo -> Word32
-- | VkCommandPool - Opaque handle to a command pool object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo,
-- createCommandPool, destroyCommandPool,
-- freeCommandBuffers, resetCommandPool,
-- trimCommandPool, trimCommandPoolKHR
newtype CommandPool
CommandPool :: Word64 -> CommandPool
-- | VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a
-- command pool
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolCreateFlags
newtype CommandPoolCreateFlagBits
CommandPoolCreateFlagBits :: Flags -> CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_TRANSIENT_BIT specifies that command
-- buffers allocated from the pool will be short-lived, meaning that they
-- will be reset or freed in a relatively short timeframe. This flag
-- may be used by the implementation to control memory allocation
-- behavior within the pool.
pattern COMMAND_POOL_CREATE_TRANSIENT_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT allows any command
-- buffer allocated from a pool to be individually reset to the
-- initial state; either by calling resetCommandBuffer, or
-- via the implicit reset when calling beginCommandBuffer. If this
-- flag is not set on a pool, then resetCommandBuffer must
-- not be called for any command buffer allocated from that pool.
pattern COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: CommandPoolCreateFlagBits
-- | COMMAND_POOL_CREATE_PROTECTED_BIT specifies that command
-- buffers allocated from the pool are protected command buffers.
pattern COMMAND_POOL_CREATE_PROTECTED_BIT :: CommandPoolCreateFlagBits
type CommandPoolCreateFlags = CommandPoolCreateFlagBits
-- | VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command
-- pool reset
--
-- See Also
--
-- VK_VERSION_1_0, CommandPoolResetFlags
newtype CommandPoolResetFlagBits
CommandPoolResetFlagBits :: Flags -> CommandPoolResetFlagBits
-- | COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT specifies that
-- resetting a command pool recycles all of the resources from the
-- command pool back to the system.
pattern COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: CommandPoolResetFlagBits
type CommandPoolResetFlags = CommandPoolResetFlagBits
instance GHC.Classes.Eq Vulkan.Core10.CommandPool.CommandPoolCreateInfo
instance GHC.Show.Show Vulkan.Core10.CommandPool.CommandPoolCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandPool.CommandPoolCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandPool.CommandPoolCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.CommandPool.CommandPoolCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.CommandPool.CommandPoolCreateInfo
module Vulkan.Core10.BufferView
-- | vkCreateBufferView - Create a new buffer view object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- BufferViewCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pView must be a valid pointer to a
-- BufferView handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, BufferView,
-- BufferViewCreateInfo, Device
createBufferView :: forall io. MonadIO io => Device -> BufferViewCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io BufferView
-- | A convenience wrapper to make a compatible pair of calls to
-- createBufferView and destroyBufferView
--
-- To ensure that destroyBufferView 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.
withBufferView :: forall io r. MonadIO io => Device -> BufferViewCreateInfo -> Maybe AllocationCallbacks -> (io BufferView -> (BufferView -> io ()) -> r) -> r
-- | vkDestroyBufferView - Destroy a buffer view object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to bufferView
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- bufferView was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- bufferView was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If bufferView is not NULL_HANDLE,
-- bufferView must be a valid BufferView
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If bufferView is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to bufferView must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, BufferView,
-- Device
destroyBufferView :: forall io. MonadIO io => Device -> BufferView -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkBufferViewCreateInfo - Structure specifying parameters of a newly
-- created buffer view
--
-- Valid Usage
--
--
-- - offset must be less than the size of
-- buffer
--
--
--
-- - If range is not equal to WHOLE_SIZE,
-- range must be greater than 0
-- - If range is not equal to WHOLE_SIZE,
-- range must be an integer multiple of the texel block
-- size of format
-- - If range is not equal to WHOLE_SIZE, the number of
-- texel buffer elements given by (⌊range / (texel block size)⌋
-- × (texels per block)) where texel block size and texels per block are
-- as defined in the Compatible Formats table for format,
-- must be less than or equal to
-- PhysicalDeviceLimits::maxTexelBufferElements
-- - If range is not equal to WHOLE_SIZE, the sum of
-- offset and range must be less than or equal
-- to the size of buffer
-- - If range is equal to WHOLE_SIZE, the number of
-- texel buffer elements given by (⌊(size - offset) / (texel
-- block size)⌋ × (texels per block)) where size is the size of
-- buffer, and texel block size and texels per block are as
-- defined in the Compatible Formats table for format,
-- must be less than or equal to
-- PhysicalDeviceLimits::maxTexelBufferElements
-- - buffer must have been created with a
-- usage value containing at least one of
-- BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or
-- BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT
-- - If buffer was created with usage containing
-- BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, format
-- must be supported for uniform texel buffers, as specified by
-- the FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT flag in
-- FormatProperties::bufferFeatures returned by
-- getPhysicalDeviceFormatProperties
-- - If buffer was created with usage containing
-- BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, format
-- must be supported for storage texel buffers, as specified by
-- the FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT flag in
-- FormatProperties::bufferFeatures returned by
-- getPhysicalDeviceFormatProperties
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If the texelBufferAlignment feature is not enabled,
-- offset must be a multiple of
-- PhysicalDeviceLimits::minTexelBufferOffsetAlignment
-- - If the texelBufferAlignment feature is enabled and if
-- buffer was created with usage containing
-- BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, offset
-- must be a multiple of the lesser of
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT::storageTexelBufferOffsetAlignmentBytes
-- or, if
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT::storageTexelBufferOffsetSingleTexelAlignment
-- is TRUE, the size of a texel of the requested format.
-- If the size of a texel is a multiple of three bytes, then the size of
-- a single component of format is used instead
-- - If the texelBufferAlignment feature is enabled and if
-- buffer was created with usage containing
-- BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, offset
-- must be a multiple of the lesser of
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT::uniformTexelBufferOffsetAlignmentBytes
-- or, if
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT::uniformTexelBufferOffsetSingleTexelAlignment
-- is TRUE, the size of a texel of the requested format.
-- If the size of a texel is a multiple of three bytes, then the size of
-- a single component of format is used instead
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - buffer must be a valid Buffer handle
-- - format must be a valid Format value
--
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, BufferViewCreateFlags,
-- DeviceSize, Format, StructureType,
-- createBufferView
data BufferViewCreateInfo
BufferViewCreateInfo :: BufferViewCreateFlags -> Buffer -> Format -> DeviceSize -> DeviceSize -> BufferViewCreateInfo
-- | flags is reserved for future use.
[$sel:flags:BufferViewCreateInfo] :: BufferViewCreateInfo -> BufferViewCreateFlags
-- | buffer is a Buffer on which the view will be created.
[$sel:buffer:BufferViewCreateInfo] :: BufferViewCreateInfo -> Buffer
-- | format is a Format describing the format of the data
-- elements in the buffer.
[$sel:format:BufferViewCreateInfo] :: BufferViewCreateInfo -> Format
-- | offset is an offset in bytes from the base address of the
-- buffer. Accesses to the buffer view from shaders use addressing that
-- is relative to this starting offset.
[$sel:offset:BufferViewCreateInfo] :: BufferViewCreateInfo -> DeviceSize
-- | range is a size in bytes of the buffer view. If
-- range is equal to WHOLE_SIZE, the range from
-- offset to the end of the buffer is used. If WHOLE_SIZE
-- is used and the remaining size of the buffer is not a multiple of the
-- texel block size of format, the nearest smaller
-- multiple is used.
[$sel:range:BufferViewCreateInfo] :: BufferViewCreateInfo -> DeviceSize
-- | VkBufferView - Opaque handle to a buffer view object
--
-- See Also
--
-- VK_VERSION_1_0, WriteDescriptorSet,
-- createBufferView, destroyBufferView
newtype BufferView
BufferView :: Word64 -> BufferView
-- | VkBufferViewCreateFlags - Reserved for future use
--
-- Description
--
-- BufferViewCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, BufferViewCreateInfo
newtype BufferViewCreateFlags
BufferViewCreateFlags :: Flags -> BufferViewCreateFlags
instance GHC.Classes.Eq Vulkan.Core10.BufferView.BufferViewCreateInfo
instance GHC.Show.Show Vulkan.Core10.BufferView.BufferViewCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.BufferView.BufferViewCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.BufferView.BufferViewCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.BufferView.BufferViewCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.BufferView.BufferViewCreateInfo
module Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities
-- | vkGetPhysicalDeviceExternalSemaphoreProperties - Function for querying
-- external semaphore handle capabilities.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreProperties,
-- PhysicalDevice, PhysicalDeviceExternalSemaphoreInfo
getPhysicalDeviceExternalSemaphoreProperties :: forall a io. (Extendss PhysicalDeviceExternalSemaphoreInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceExternalSemaphoreInfo a -> io ExternalSemaphoreProperties
-- | VkPhysicalDeviceExternalSemaphoreInfo - Structure specifying semaphore
-- creation parameters.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreHandleTypeFlagBits,
-- StructureType,
-- getPhysicalDeviceExternalSemaphoreProperties,
-- getPhysicalDeviceExternalSemaphorePropertiesKHR
data PhysicalDeviceExternalSemaphoreInfo (es :: [Type])
PhysicalDeviceExternalSemaphoreInfo :: Chain es -> ExternalSemaphoreHandleTypeFlagBits -> PhysicalDeviceExternalSemaphoreInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceExternalSemaphoreInfo] :: PhysicalDeviceExternalSemaphoreInfo (es :: [Type]) -> Chain es
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the external semaphore handle type for which
-- capabilities will be returned.
[$sel:handleType:PhysicalDeviceExternalSemaphoreInfo] :: PhysicalDeviceExternalSemaphoreInfo (es :: [Type]) -> ExternalSemaphoreHandleTypeFlagBits
-- | VkExternalSemaphoreProperties - Structure describing supported
-- external semaphore handle features
--
-- Description
--
-- If handleType is not supported by the implementation, then
-- ExternalSemaphoreProperties::externalSemaphoreFeatures
-- will be set to zero.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreFeatureFlags,
-- ExternalSemaphoreHandleTypeFlags, StructureType,
-- getPhysicalDeviceExternalSemaphoreProperties,
-- getPhysicalDeviceExternalSemaphorePropertiesKHR
data ExternalSemaphoreProperties
ExternalSemaphoreProperties :: ExternalSemaphoreHandleTypeFlags -> ExternalSemaphoreHandleTypeFlags -> ExternalSemaphoreFeatureFlags -> ExternalSemaphoreProperties
-- | exportFromImportedHandleTypes is a bitmask of
-- ExternalSemaphoreHandleTypeFlagBits specifying which types of
-- imported handle handleType can be exported from.
[$sel:exportFromImportedHandleTypes:ExternalSemaphoreProperties] :: ExternalSemaphoreProperties -> ExternalSemaphoreHandleTypeFlags
-- | compatibleHandleTypes is a bitmask of
-- ExternalSemaphoreHandleTypeFlagBits specifying handle types
-- which can be specified at the same time as handleType
-- when creating a semaphore.
[$sel:compatibleHandleTypes:ExternalSemaphoreProperties] :: ExternalSemaphoreProperties -> ExternalSemaphoreHandleTypeFlags
-- | externalSemaphoreFeatures is a bitmask of
-- ExternalSemaphoreFeatureFlagBits describing the features of
-- handleType.
[$sel:externalSemaphoreFeatures:ExternalSemaphoreProperties] :: ExternalSemaphoreProperties -> ExternalSemaphoreFeatureFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkExternalSemaphoreHandleTypeFlagBits - Bitmask of valid external
-- semaphore handle types
--
-- Description
--
-- Note
--
-- Handles of type EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
-- generated by the implementation may represent either Linux Sync Files
-- or Android Fences at the implementation’s discretion. Applications
-- should only use operations defined for both types of file
-- descriptors, unless they know via means external to Vulkan the type of
-- the file descriptor, or are prepared to deal with the system-defined
-- operation failures resulting from using the wrong type.
--
-- Some external semaphore handle types can only be shared within the
-- same underlying physical device and/or the same driver version, as
-- defined in the following table:
--
-- TODO: table
--
-- External semaphore handle types compatibility
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreHandleTypeFlags,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- PhysicalDeviceExternalSemaphoreInfo,
-- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA
newtype ExternalSemaphoreHandleTypeFlagBits
ExternalSemaphoreHandleTypeFlagBits :: Flags -> ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT specifies a POSIX
-- file descriptor handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It must be compatible with
-- the POSIX system calls dup, dup2, close,
-- and the non-standard system call dup3. Additionally, it
-- must be transportable over a socket using an
-- SCM_RIGHTS control message. It owns a reference to the
-- underlying synchronization primitive represented by its Vulkan
-- semaphore object.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT specifies an NT
-- handle that has only limited valid usage outside of Vulkan and other
-- compatible APIs. It must be compatible with the functions
-- DuplicateHandle, CloseHandle,
-- CompareObjectHandles, GetHandleInformation, and
-- SetHandleInformation. It owns a reference to the underlying
-- synchronization primitive represented by its Vulkan semaphore object.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT specifies a
-- global share handle that has only limited valid usage outside of
-- Vulkan and other compatible APIs. It is not compatible with any native
-- APIs. It does not own a reference to the underlying synchronization
-- primitive represented by its Vulkan semaphore object, and will
-- therefore become invalid when all Vulkan semaphore objects associated
-- with it are destroyed.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT specifies an NT
-- handle returned by ID3D12Device::CreateSharedHandle
-- referring to a Direct3D 12 fence, or
-- ID3D11Device5::createFence referring to a Direct3D 11
-- fence. It owns a reference to the underlying synchronization primitive
-- associated with the Direct3D fence.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT specifies a POSIX
-- file descriptor handle to a Linux Sync File or Android Fence object.
-- It can be used with any native API accepting a valid sync file or
-- fence as input. It owns a reference to the underlying synchronization
-- primitive associated with the file descriptor. Implementations which
-- support importing this handle type must accept any type of sync
-- or fence FD supported by the native system they are running on.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: ExternalSemaphoreHandleTypeFlagBits
-- | EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
-- specifies a handle to a Zircon event object. It can be used with any
-- native API that accepts a Zircon event handle. Zircon event handles
-- are created with ZX_RIGHTS_BASIC and
-- ZX_RIGHTS_SIGNAL rights. Vulkan on Fuchsia uses only the
-- ZX_EVENT_SIGNALED bit when signaling or waiting.
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA :: ExternalSemaphoreHandleTypeFlagBits
type ExternalSemaphoreHandleTypeFlags = ExternalSemaphoreHandleTypeFlagBits
-- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of
-- an external semaphore handle type
--
-- See Also
--
-- VK_VERSION_1_1, ExternalSemaphoreFeatureFlags
newtype ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits :: Flags -> ExternalSemaphoreFeatureFlagBits
-- | EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT specifies that
-- handles of this type can be exported from Vulkan semaphore
-- objects.
pattern EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
-- | EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT specifies that
-- handles of this type can be imported as Vulkan semaphore
-- objects.
pattern EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
type ExternalSemaphoreFeatureFlags = ExternalSemaphoreFeatureFlagBits
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es)
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.PhysicalDeviceExternalSemaphoreInfo es)
-- | Name
--
-- VK_KHR_external_semaphore_capabilities - instance extension
--
-- VK_KHR_external_semaphore_capabilities
--
--
-- - Name String
-- VK_KHR_external_semaphore_capabilities
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 77
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-20
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
--
--
-- Description
--
-- An application may wish to reference device semaphores in multiple
-- Vulkan logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension provides a set of capability queries and
-- handle definitions that allow an application to determine what types
-- of “external” semaphore handles an implementation supports for a given
-- set of use cases.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-20 (James Jones)
--
--
-- See Also
--
-- LUID_SIZE_KHR, ExternalSemaphoreFeatureFlagBitsKHR,
-- ExternalSemaphoreFeatureFlagsKHR,
-- ExternalSemaphoreHandleTypeFlagBitsKHR,
-- ExternalSemaphoreHandleTypeFlagsKHR,
-- ExternalSemaphorePropertiesKHR,
-- PhysicalDeviceExternalSemaphoreInfoKHR,
-- PhysicalDeviceIDPropertiesKHR,
-- getPhysicalDeviceExternalSemaphorePropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_semaphore_capabilities
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR :: StructureType
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR :: ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR :: ExternalSemaphoreHandleTypeFlagBits
pattern EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR :: ExternalSemaphoreFeatureFlagBits
pattern EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR :: ExternalSemaphoreFeatureFlagBits
getPhysicalDeviceExternalSemaphorePropertiesKHR :: forall (a :: [Type]) io. (Extendss PhysicalDeviceExternalSemaphoreInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceExternalSemaphoreInfo a -> io ExternalSemaphoreProperties
type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags
type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags
type ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits
type ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits
type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo
type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties
type KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1
pattern KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities"
pattern KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: StructureType
pattern LUID_SIZE_KHR :: Integral a => a
module Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2
-- | vkBindBufferMemory2 - Bind device memory to buffer objects
--
-- Description
--
-- On some implementations, it may be more efficient to batch
-- memory bindings into a single command.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, BindBufferMemoryInfo, Device
bindBufferMemory2 :: forall io. MonadIO io => Device -> ("bindInfos" ::: Vector (SomeStruct BindBufferMemoryInfo)) -> io ()
-- | vkBindImageMemory2 - Bind device memory to image objects
--
-- Description
--
-- On some implementations, it may be more efficient to batch
-- memory bindings into a single command.
--
-- Valid Usage
--
--
--
--
-- - pBindInfos must not refer to the same image
-- subresource more than once
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pBindInfos must be a valid pointer to an array of
-- bindInfoCount valid BindImageMemoryInfo
-- structures
-- - bindInfoCount must be greater than 0
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, BindImageMemoryInfo, Device
bindImageMemory2 :: forall io. MonadIO io => Device -> ("bindInfos" ::: Vector (SomeStruct BindImageMemoryInfo)) -> io ()
-- | VkBindBufferMemoryInfo - Structure specifying how to bind a buffer to
-- memory
--
-- Valid Usage
--
--
-- - buffer must not already be backed by a memory
-- object
--
--
--
-- - buffer must not have been created with any sparse
-- memory binding flags
-- - memoryOffset must be less than the size of
-- memory
-- - memory must have been allocated using one of the
-- memory types allowed in the memoryTypeBits member of the
-- MemoryRequirements structure returned from a call to
-- getBufferMemoryRequirements with buffer
-- - memoryOffset must be an integer multiple of the
-- alignment member of the MemoryRequirements structure
-- returned from a call to getBufferMemoryRequirements with
-- buffer
-- - The size member of the MemoryRequirements
-- structure returned from a call to getBufferMemoryRequirements
-- with buffer must be less than or equal to the size of
-- memory minus memoryOffset
-- - If buffer requires a dedicated allocation (as reported by
-- getBufferMemoryRequirements2 in
-- MemoryDedicatedRequirements::requiresDedicatedAllocation
-- for buffer), memory must have been allocated
-- with MemoryDedicatedAllocateInfo::buffer equal to
-- buffer
-- - If the MemoryAllocateInfo provided when memory was
-- allocated included a MemoryDedicatedAllocateInfo structure in
-- its pNext chain, and
-- MemoryDedicatedAllocateInfo::buffer was not
-- NULL_HANDLE, then buffer must equal
-- MemoryDedicatedAllocateInfo::buffer, and
-- memoryOffset must be zero
-- - If buffer was created with the
-- BUFFER_CREATE_PROTECTED_BIT bit set, the buffer must be
-- bound to a memory object allocated with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If buffer was created with the
-- BUFFER_CREATE_PROTECTED_BIT bit not set, the buffer must
-- not be bound to a memory object allocated with a memory type that
-- reports MEMORY_PROPERTY_PROTECTED_BIT
-- - If buffer was created with
-- DedicatedAllocationBufferCreateInfoNV::dedicatedAllocation
-- equal to TRUE, memory must have been allocated
-- with DedicatedAllocationMemoryAllocateInfoNV::buffer
-- equal to a buffer handle created with identical creation parameters to
-- buffer and memoryOffset must be zero
-- - If the value of
-- ExportMemoryAllocateInfo::handleTypes used to allocate
-- memory is not 0, it must include at least one
-- of the handles set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If memory was allocated by a memory import operation,
-- that is not ImportAndroidHardwareBufferInfoANDROID with a
-- non-NULL buffer value, the external handle type of
-- the imported memory must also have been set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If memory was allocated with the
-- ImportAndroidHardwareBufferInfoANDROID memory import operation
-- with a non-NULL buffer value,
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- must also have been set in
-- ExternalMemoryBufferCreateInfo::handleTypes when
-- buffer was created
-- - If the
-- PhysicalDeviceBufferDeviceAddressFeatures::bufferDeviceAddress
-- feature is enabled and buffer was created with the
-- BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT bit set, memory
-- must have been allocated with the
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT bit set
-- - If buffer was created with
-- BufferCollectionBufferCreateInfoFUCHSIA chained to
-- BufferCreateInfo::pNext, memory must
-- be allocated with a ImportMemoryBufferCollectionFUCHSIA chained
-- to MemoryAllocateInfo::pNext
-- - If the pNext chain includes a
-- BindBufferMemoryDeviceGroupInfo structure, all instances of
-- memory specified by
-- BindBufferMemoryDeviceGroupInfo::pDeviceIndices
-- must have been allocated
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of BindBufferMemoryDeviceGroupInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - buffer must be a valid Buffer handle
-- - memory must be a valid DeviceMemory
-- handle
-- - Both of buffer, and memory must have been
-- created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_1, Buffer, DeviceMemory,
-- DeviceSize, StructureType, bindBufferMemory2,
-- bindBufferMemory2KHR
data BindBufferMemoryInfo (es :: [Type])
BindBufferMemoryInfo :: Chain es -> Buffer -> DeviceMemory -> DeviceSize -> BindBufferMemoryInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:BindBufferMemoryInfo] :: BindBufferMemoryInfo (es :: [Type]) -> Chain es
-- | buffer is the buffer to be attached to memory.
[$sel:buffer:BindBufferMemoryInfo] :: BindBufferMemoryInfo (es :: [Type]) -> Buffer
-- | memory is a DeviceMemory object describing the device
-- memory to attach.
[$sel:memory:BindBufferMemoryInfo] :: BindBufferMemoryInfo (es :: [Type]) -> DeviceMemory
-- | memoryOffset is the start offset of the region of
-- memory which is to be bound to the buffer. The number of
-- bytes returned in the MemoryRequirements::size member
-- in memory, starting from memoryOffset bytes, will be
-- bound to the specified buffer.
[$sel:memoryOffset:BindBufferMemoryInfo] :: BindBufferMemoryInfo (es :: [Type]) -> DeviceSize
-- | VkBindImageMemoryInfo - Structure specifying how to bind an image to
-- memory
--
-- Valid Usage
--
--
-- - image must not already be backed by a memory
-- object
--
--
--
-- - image must not have been created with any sparse
-- memory binding flags
-- - memoryOffset must be less than the size of
-- memory
-- - If image requires a dedicated allocation (as reported by
-- getImageMemoryRequirements2 in
-- MemoryDedicatedRequirements::requiresDedicatedAllocation
-- for image), memory must have been created
-- with MemoryDedicatedAllocateInfo::image equal to
-- image
-- - If the dedicated allocation image aliasing feature is not
-- enabled, and the MemoryAllocateInfo provided when
-- memory was allocated included a
-- MemoryDedicatedAllocateInfo structure in its pNext
-- chain, and MemoryDedicatedAllocateInfo::image was not
-- NULL_HANDLE, then image must equal
-- MemoryDedicatedAllocateInfo::image and
-- memoryOffset must be zero
-- - If the dedicated allocation image aliasing feature is
-- enabled, and the MemoryAllocateInfo provided when
-- memory was allocated included a
-- MemoryDedicatedAllocateInfo structure in its pNext
-- chain, and MemoryDedicatedAllocateInfo::image was not
-- NULL_HANDLE, then memoryOffset must be zero,
-- and image must be either equal to
-- MemoryDedicatedAllocateInfo::image or an image that
-- was created using the same parameters in ImageCreateInfo, with
-- the exception that extent and arrayLayers may
-- differ subject to the following restrictions: every dimension in the
-- extent parameter of the image being bound must be
-- equal to or smaller than the original image for which the allocation
-- was created; and the arrayLayers parameter of the image being
-- bound must be equal to or smaller than the original image for
-- which the allocation was created
-- - If image was created with the IMAGE_CREATE_PROTECTED_BIT
-- bit set, the image must be bound to a memory object allocated
-- with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If image was created with the IMAGE_CREATE_PROTECTED_BIT
-- bit not set, the image must not be bound to a memory object
-- created with a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If image was created with
-- DedicatedAllocationImageCreateInfoNV::dedicatedAllocation
-- equal to TRUE, memory must have been created
-- with DedicatedAllocationMemoryAllocateInfoNV::image
-- equal to an image handle created with identical creation parameters to
-- image and memoryOffset must be zero
-- - If the value of
-- ExportMemoryAllocateInfo::handleTypes used to allocate
-- memory is not 0, it must include at least one
-- of the handles set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - If memory was created by a memory import operation, that
-- is not ImportAndroidHardwareBufferInfoANDROID with a
-- non-NULL buffer value, the external handle type of
-- the imported memory must also have been set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - If memory was created with the
-- ImportAndroidHardwareBufferInfoANDROID memory import operation
-- with a non-NULL buffer value,
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- must also have been set in
-- ExternalMemoryImageCreateInfo::handleTypes when
-- image was created
-- - If the pNext chain does not include a
-- BindImagePlaneMemoryInfo structure, memory must
-- have been allocated using one of the memory types allowed in the
-- memoryTypeBits member of the MemoryRequirements
-- structure returned from a call to getImageMemoryRequirements2
-- with image
-- - If the pNext chain does not include a
-- BindImagePlaneMemoryInfo structure, memoryOffset
-- must be an integer multiple of the alignment member of
-- the MemoryRequirements structure returned from a call to
-- getImageMemoryRequirements2 with image
-- - If the pNext chain does not include a
-- BindImagePlaneMemoryInfo structure, the difference of the size
-- of memory and memoryOffset must be greater
-- than or equal to the size member of the
-- MemoryRequirements structure returned from a call to
-- getImageMemoryRequirements2 with the same image
-- - If the pNext chain includes a
-- BindImagePlaneMemoryInfo structure, image must
-- have been created with the IMAGE_CREATE_DISJOINT_BIT bit
-- set
-- - If the pNext chain includes a
-- BindImagePlaneMemoryInfo structure, memory must
-- have been allocated using one of the memory types allowed in the
-- memoryTypeBits member of the MemoryRequirements
-- structure returned from a call to getImageMemoryRequirements2
-- with image and where
-- BindImagePlaneMemoryInfo::planeAspect corresponds to
-- the ImagePlaneMemoryRequirementsInfo::planeAspect in
-- the ImageMemoryRequirementsInfo2 structure’s pNext
-- chain
-- - If the pNext chain includes a
-- BindImagePlaneMemoryInfo structure, memoryOffset
-- must be an integer multiple of the alignment member of
-- the MemoryRequirements structure returned from a call to
-- getImageMemoryRequirements2 with image and where
-- BindImagePlaneMemoryInfo::planeAspect corresponds to
-- the ImagePlaneMemoryRequirementsInfo::planeAspect in
-- the ImageMemoryRequirementsInfo2 structure’s pNext
-- chain
-- - If the pNext chain includes a
-- BindImagePlaneMemoryInfo structure, the difference of the size
-- of memory and memoryOffset must be greater
-- than or equal to the size member of the
-- MemoryRequirements structure returned from a call to
-- getImageMemoryRequirements2 with the same image and
-- where BindImagePlaneMemoryInfo::planeAspect
-- corresponds to the
-- ImagePlaneMemoryRequirementsInfo::planeAspect in the
-- ImageMemoryRequirementsInfo2 structure’s pNext
-- chain
-- - If the pNext chain includes a
-- BindImageMemoryDeviceGroupInfo structure, all instances of
-- memory specified by
-- BindImageMemoryDeviceGroupInfo::pDeviceIndices
-- must have been allocated
-- - If the pNext chain includes a
-- BindImageMemoryDeviceGroupInfo structure, and
-- BindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount
-- is not zero, then image must have been created with
-- the IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set
-- - If the pNext chain includes a
-- BindImageMemoryDeviceGroupInfo structure, all elements of
-- BindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions
-- must be valid rectangles contained within the dimensions of
-- image
-- - If the pNext chain includes a
-- BindImageMemoryDeviceGroupInfo structure, the union of the
-- areas of all elements of
-- BindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions
-- that correspond to the same instance of image must
-- cover the entire image
-- - If image was created with a valid swapchain handle in
-- ImageSwapchainCreateInfoKHR::swapchain, then the
-- pNext chain must include a
-- BindImageMemorySwapchainInfoKHR structure containing the same
-- swapchain handle
-- - If the pNext chain includes a
-- BindImageMemorySwapchainInfoKHR structure, memory
-- must be NULL_HANDLE
-- - If the pNext chain does not include a
-- BindImageMemorySwapchainInfoKHR structure, memory
-- must be a valid DeviceMemory handle
--
--
-- 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 BindImageMemoryDeviceGroupInfo,
-- BindImageMemorySwapchainInfoKHR, or
-- BindImagePlaneMemoryInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - image must be a valid Image handle
-- - Both of image, and memory that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_1, DeviceMemory, DeviceSize,
-- Image, StructureType, bindImageMemory2,
-- bindImageMemory2KHR
data BindImageMemoryInfo (es :: [Type])
BindImageMemoryInfo :: Chain es -> Image -> DeviceMemory -> DeviceSize -> BindImageMemoryInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:BindImageMemoryInfo] :: BindImageMemoryInfo (es :: [Type]) -> Chain es
-- | image is the image to be attached to memory.
[$sel:image:BindImageMemoryInfo] :: BindImageMemoryInfo (es :: [Type]) -> Image
-- | memory is a DeviceMemory object describing the device
-- memory to attach.
[$sel:memory:BindImageMemoryInfo] :: BindImageMemoryInfo (es :: [Type]) -> DeviceMemory
-- | memoryOffset is the start offset of the region of
-- memory which is to be bound to the image. The number of bytes
-- returned in the MemoryRequirements::size member in
-- memory, starting from memoryOffset bytes, will be
-- bound to the specified image.
[$sel:memoryOffset:BindImageMemoryInfo] :: BindImageMemoryInfo (es :: [Type]) -> DeviceSize
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo es)
-- | Name
--
-- VK_KHR_bind_memory2 - device extension
--
-- VK_KHR_bind_memory2
--
--
-- - Name String VK_KHR_bind_memory2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 158
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Tobias Hector, Imagination Technologies
--
--
-- Description
--
-- This extension provides versions of bindBufferMemory and
-- bindImageMemory that allow multiple bindings to be performed at
-- once, and are extensible.
--
-- This extension also introduces IMAGE_CREATE_ALIAS_BIT_KHR,
-- which allows “identical” images that alias the same memory to
-- interpret the contents consistently, even across image layout changes.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-05-19 (Tobias Hector)
- Pulled bind memory
-- functions into their own extension
--
--
-- See Also
--
-- BindBufferMemoryInfoKHR, BindImageMemoryInfoKHR,
-- bindBufferMemory2KHR, bindImageMemory2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_bind_memory2
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR :: StructureType
pattern IMAGE_CREATE_ALIAS_BIT_KHR :: ImageCreateFlagBits
bindBufferMemory2KHR :: MonadIO io => Device -> ("bindInfos" ::: Vector (SomeStruct BindBufferMemoryInfo)) -> io ()
bindImageMemory2KHR :: MonadIO io => Device -> ("bindInfos" ::: Vector (SomeStruct BindImageMemoryInfo)) -> io ()
type BindBufferMemoryInfoKHR = BindBufferMemoryInfo
type BindImageMemoryInfoKHR = BindImageMemoryInfo
type KHR_BIND_MEMORY_2_SPEC_VERSION = 1
pattern KHR_BIND_MEMORY_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2"
pattern KHR_BIND_MEMORY_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.SparseResourceMemoryManagement
-- | vkGetImageSparseMemoryRequirements - Query the memory requirements for
-- a sparse image
--
-- Description
--
-- If pSparseMemoryRequirements is NULL, then the
-- number of sparse memory requirements available is returned in
-- pSparseMemoryRequirementCount. Otherwise,
-- pSparseMemoryRequirementCount must point to a variable
-- set by the user to the number of elements in the
-- pSparseMemoryRequirements array, and on return the variable
-- is overwritten with the number of structures actually written to
-- pSparseMemoryRequirements. If
-- pSparseMemoryRequirementCount is less than the number of
-- sparse memory requirements available, at most
-- pSparseMemoryRequirementCount structures will be written.
--
-- If the image was not created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT then
-- pSparseMemoryRequirementCount will be set to zero and
-- pSparseMemoryRequirements will not be written to.
--
-- Note
--
-- It is legal for an implementation to report a larger value in
-- MemoryRequirements::size than would be obtained by
-- adding together memory sizes for all
-- SparseImageMemoryRequirements returned by
-- getImageSparseMemoryRequirements. This may occur when
-- the implementation requires unused padding in the address range
-- describing the resource.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - image must be a valid Image handle
-- - pSparseMemoryRequirementCount must be a valid
-- pointer to a uint32_t value
-- - If the value referenced by pSparseMemoryRequirementCount
-- is not 0, and pSparseMemoryRequirements is not
-- NULL, pSparseMemoryRequirements must be a
-- valid pointer to an array of pSparseMemoryRequirementCount
-- SparseImageMemoryRequirements structures
-- - image must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Image,
-- SparseImageMemoryRequirements
getImageSparseMemoryRequirements :: forall io. MonadIO io => Device -> Image -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements)
-- | vkGetPhysicalDeviceSparseImageFormatProperties - Retrieve properties
-- of an image format applied to sparse images
--
-- Description
--
-- If pProperties is NULL, then the number of sparse
-- format properties available is returned in pPropertyCount.
-- Otherwise, pPropertyCount must point to a variable set
-- by the user to the number of elements in the pProperties
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pProperties. If
-- pPropertyCount is less than the number of sparse format
-- properties available, at most pPropertyCount structures will
-- be written.
--
-- If IMAGE_CREATE_SPARSE_RESIDENCY_BIT is not supported for the
-- given arguments, pPropertyCount will be set to zero upon
-- return, and no data will be written to pProperties.
--
-- Multiple aspects are returned for depth/stencil images that are
-- implemented as separate planes by the implementation. The depth and
-- stencil data planes each have unique
-- SparseImageFormatProperties data.
--
-- Depth/stencil images with depth and stencil data interleaved into a
-- single plane will return a single SparseImageFormatProperties
-- structure with the aspectMask set to
-- IMAGE_ASPECT_DEPTH_BIT | IMAGE_ASPECT_STENCIL_BIT.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - format must be a valid Format value
-- - type must be a valid ImageType value
-- - samples must be a valid SampleCountFlagBits
-- value
-- - usage must be a valid combination of
-- ImageUsageFlagBits values
-- - usage must not be 0
-- - tiling must be a valid ImageTiling
-- value
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount SparseImageFormatProperties
-- structures
--
--
-- See Also
--
-- VK_VERSION_1_0, Format, ImageTiling,
-- ImageType, ImageUsageFlags, PhysicalDevice,
-- SampleCountFlagBits, SparseImageFormatProperties
getPhysicalDeviceSparseImageFormatProperties :: forall io. MonadIO io => PhysicalDevice -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> io ("properties" ::: Vector SparseImageFormatProperties)
-- | vkQueueBindSparse - Bind device memory to a sparse resource object
--
-- Description
--
-- queueBindSparse is a queue submission command, with each
-- batch defined by an element of pBindInfo as a
-- BindSparseInfo structure. Batches begin execution in the order
-- they appear in pBindInfo, but may complete out of
-- order.
--
-- Within a batch, a given range of a resource must not be bound
-- more than once. Across batches, if a range is to be bound to one
-- allocation and offset and then to another allocation and offset, then
-- the application must guarantee (usually using semaphores) that
-- the binding operations are executed in the correct order, as well as
-- to order binding operations against the execution of command buffer
-- submissions.
--
-- As no operation to queueBindSparse causes any pipeline stage to
-- access memory, synchronization primitives used in this command
-- effectively only define execution dependencies.
--
-- Additional information about fence and semaphore operation is
-- described in the synchronization chapter.
--
-- Valid Usage
--
--
-- - If fence is not NULL_HANDLE, fence
-- must be unsignaled
--
--
--
-- - If fence is not NULL_HANDLE, fence
-- must not be associated with any other queue command that has
-- not yet completed execution on that queue
-- - Each element of the pSignalSemaphores member of each
-- element of pBindInfo must be unsignaled when the
-- semaphore signal operation it defines is executed on the device
-- - When a semaphore wait operation referring to a binary semaphore
-- defined by any element of the pWaitSemaphores member of any
-- element of pBindInfo executes on queue, there
-- must be no other queues waiting on the same semaphore
-- - All elements of the pWaitSemaphores member of all
-- elements of the pBindInfo parameter referring to a binary
-- semaphore must be semaphores that are signaled, or have
-- semaphore signal operations previously submitted for
-- execution
-- - All elements of the pWaitSemaphores member of all
-- elements of pBindInfo created with a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY must reference a semaphore signal
-- operation that has been submitted for execution and any semaphore
-- signal operations on which it depends (if any) must have also
-- been submitted for execution
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - If bindInfoCount is not 0, pBindInfo
-- must be a valid pointer to an array of bindInfoCount
-- valid BindSparseInfo structures
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - The queue must support sparse binding
-- operations
-- - Both of fence, and queue that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to queue must be externally
-- synchronized
--
--
--
-- - Host access to pBindInfo[].pBufferBinds[].buffer
-- must be externally synchronized
-- - Host access to pBindInfo[].pImageOpaqueBinds[].image
-- must be externally synchronized
-- - Host access to pBindInfo[].pImageBinds[].image
-- must be externally synchronized
-- - Host access to fence must be externally
-- synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, BindSparseInfo, Fence,
-- Queue
queueBindSparse :: forall io. MonadIO io => Queue -> ("bindInfo" ::: Vector (SomeStruct BindSparseInfo)) -> Fence -> io ()
-- | VkSparseImageFormatProperties - Structure specifying sparse image
-- format properties
--
-- See Also
--
-- VK_VERSION_1_0, Extent3D, ImageAspectFlags,
-- SparseImageFormatFlags, SparseImageFormatProperties2,
-- SparseImageMemoryRequirements,
-- getPhysicalDeviceSparseImageFormatProperties
data SparseImageFormatProperties
SparseImageFormatProperties :: ImageAspectFlags -> Extent3D -> SparseImageFormatFlags -> SparseImageFormatProperties
-- | aspectMask is a bitmask ImageAspectFlagBits specifying
-- which aspects of the image the properties apply to.
[$sel:aspectMask:SparseImageFormatProperties] :: SparseImageFormatProperties -> ImageAspectFlags
-- | imageGranularity is the width, height, and depth of the
-- sparse image block in texels or compressed texel blocks.
[$sel:imageGranularity:SparseImageFormatProperties] :: SparseImageFormatProperties -> Extent3D
-- | flags is a bitmask of SparseImageFormatFlagBits
-- specifying additional information about the sparse resource.
[$sel:flags:SparseImageFormatProperties] :: SparseImageFormatProperties -> SparseImageFormatFlags
-- | VkSparseImageMemoryRequirements - Structure specifying sparse image
-- memory requirements
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize,
-- SparseImageFormatProperties,
-- SparseImageMemoryRequirements2,
-- getImageSparseMemoryRequirements
data SparseImageMemoryRequirements
SparseImageMemoryRequirements :: SparseImageFormatProperties -> Word32 -> DeviceSize -> DeviceSize -> DeviceSize -> SparseImageMemoryRequirements
-- | formatProperties is a SparseImageFormatProperties
-- structure specifying properties of the image format.
[$sel:formatProperties:SparseImageMemoryRequirements] :: SparseImageMemoryRequirements -> SparseImageFormatProperties
-- | imageMipTailFirstLod is the first mip level at which image
-- subresources are included in the mip tail region.
[$sel:imageMipTailFirstLod:SparseImageMemoryRequirements] :: SparseImageMemoryRequirements -> Word32
-- | imageMipTailSize is the memory size (in bytes) of the mip
-- tail region. If formatProperties.flags contains
-- SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, this is the size of the
-- whole mip tail, otherwise this is the size of the mip tail of a single
-- array layer. This value is guaranteed to be a multiple of the sparse
-- block size in bytes.
[$sel:imageMipTailSize:SparseImageMemoryRequirements] :: SparseImageMemoryRequirements -> DeviceSize
-- | imageMipTailOffset is the opaque memory offset used with
-- SparseImageOpaqueMemoryBindInfo to bind the mip tail region(s).
[$sel:imageMipTailOffset:SparseImageMemoryRequirements] :: SparseImageMemoryRequirements -> DeviceSize
-- | imageMipTailStride is the offset stride between each
-- array-layer’s mip tail, if formatProperties.flags does not
-- contain SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT (otherwise the
-- value is undefined).
[$sel:imageMipTailStride:SparseImageMemoryRequirements] :: SparseImageMemoryRequirements -> DeviceSize
-- | VkImageSubresource - Structure specifying an image subresource
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, ImageAspectFlags,
-- SparseImageMemoryBind, getImageSubresourceLayout
data ImageSubresource
ImageSubresource :: ImageAspectFlags -> Word32 -> Word32 -> ImageSubresource
-- | aspectMask is a ImageAspectFlags value selecting the
-- image aspect.
--
-- aspectMask must be a valid combination of
-- ImageAspectFlagBits values
--
-- aspectMask must not be 0
[$sel:aspectMask:ImageSubresource] :: ImageSubresource -> ImageAspectFlags
-- | mipLevel selects the mipmap level.
[$sel:mipLevel:ImageSubresource] :: ImageSubresource -> Word32
-- | arrayLayer selects the array layer.
[$sel:arrayLayer:ImageSubresource] :: ImageSubresource -> Word32
-- | VkSparseMemoryBind - Structure specifying a sparse memory bind
-- operation
--
-- Description
--
-- The binding range [resourceOffset,
-- resourceOffset + size) has different constraints
-- based on flags. If flags contains
-- SPARSE_MEMORY_BIND_METADATA_BIT, the binding range must
-- be within the mip tail region of the metadata aspect. This metadata
-- region is defined by:
--
--
-- - metadataRegion = [base, base + imageMipTailSize)
-- - base = imageMipTailOffset + imageMipTailStride ×
-- n
--
--
-- and imageMipTailOffset, imageMipTailSize, and
-- imageMipTailStride values are from the
-- SparseImageMemoryRequirements corresponding to the metadata
-- aspect of the image, and n is a valid array layer index for the image,
--
-- imageMipTailStride is considered to be zero for aspects where
-- SparseImageMemoryRequirements::formatProperties.flags
-- contains SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT.
--
-- If flags does not contain
-- SPARSE_MEMORY_BIND_METADATA_BIT, the binding range must
-- be within the range [0,MemoryRequirements::size).
--
-- Valid Usage
--
--
--
--
-- - If memory is not NULL_HANDLE, memory
-- must not have been created with a memory type that reports
-- MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT bit set
-- - size must be greater than 0
-- - resourceOffset must be less than the size of the
-- resource
-- - size must be less than or equal to the size of the
-- resource minus resourceOffset
-- - memoryOffset must be less than the size of
-- memory
-- - size must be less than or equal to the size of
-- memory minus memoryOffset
-- - If memory was created with
-- ExportMemoryAllocateInfo::handleTypes not equal to
-- 0, at least one handle type it contained must also
-- have been set in
-- ExternalMemoryBufferCreateInfo::handleTypes or
-- ExternalMemoryImageCreateInfo::handleTypes when the
-- resource was created
-- - If memory was created by a memory import operation, the
-- external handle type of the imported memory must also have been
-- set in ExternalMemoryBufferCreateInfo::handleTypes or
-- ExternalMemoryImageCreateInfo::handleTypes when the
-- resource was created
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceMemory, DeviceSize,
-- SparseBufferMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, SparseMemoryBindFlags
data SparseMemoryBind
SparseMemoryBind :: DeviceSize -> DeviceSize -> DeviceMemory -> DeviceSize -> SparseMemoryBindFlags -> SparseMemoryBind
-- | resourceOffset is the offset into the resource.
[$sel:resourceOffset:SparseMemoryBind] :: SparseMemoryBind -> DeviceSize
-- | size is the size of the memory region to be bound.
[$sel:size:SparseMemoryBind] :: SparseMemoryBind -> DeviceSize
-- | memory is the DeviceMemory object that the range of
-- the resource is bound to. If memory is NULL_HANDLE,
-- the range is unbound.
[$sel:memory:SparseMemoryBind] :: SparseMemoryBind -> DeviceMemory
-- | memoryOffset is the offset into the DeviceMemory
-- object to bind the resource range to. If memory is
-- NULL_HANDLE, this value is ignored.
[$sel:memoryOffset:SparseMemoryBind] :: SparseMemoryBind -> DeviceSize
-- | flags is a bitmask of SparseMemoryBindFlagBits
-- specifying usage of the binding operation.
[$sel:flags:SparseMemoryBind] :: SparseMemoryBind -> SparseMemoryBindFlags
-- | VkSparseImageMemoryBind - Structure specifying sparse image memory
-- bind
--
-- Valid Usage
--
--
-- - If the sparse aliased residency feature is not enabled, and
-- if any other resources are bound to ranges of memory, the
-- range of memory being bound must not overlap with
-- those bound ranges
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceMemory, DeviceSize,
-- Extent3D, ImageSubresource, Offset3D,
-- SparseImageMemoryBindInfo, SparseMemoryBindFlags
data SparseImageMemoryBind
SparseImageMemoryBind :: ImageSubresource -> Offset3D -> Extent3D -> DeviceMemory -> DeviceSize -> SparseMemoryBindFlags -> SparseImageMemoryBind
-- | subresource is the image aspect and region of interest
-- in the image.
[$sel:subresource:SparseImageMemoryBind] :: SparseImageMemoryBind -> ImageSubresource
-- | offset are the coordinates of the first texel within the
-- image subresource to bind.
[$sel:offset:SparseImageMemoryBind] :: SparseImageMemoryBind -> Offset3D
-- | extent is the size in texels of the region within the image
-- subresource to bind. The extent must be a multiple of the
-- sparse image block dimensions, except when binding sparse image blocks
-- along the edge of an image subresource it can instead be such
-- that any coordinate of offset + extent equals the
-- corresponding dimensions of the image subresource.
[$sel:extent:SparseImageMemoryBind] :: SparseImageMemoryBind -> Extent3D
-- | memory is the DeviceMemory object that the sparse
-- image blocks of the image are bound to. If memory is
-- NULL_HANDLE, the sparse image blocks are unbound.
[$sel:memory:SparseImageMemoryBind] :: SparseImageMemoryBind -> DeviceMemory
-- | memoryOffset is an offset into DeviceMemory object. If
-- memory is NULL_HANDLE, this value is ignored.
[$sel:memoryOffset:SparseImageMemoryBind] :: SparseImageMemoryBind -> DeviceSize
-- | flags are sparse memory binding flags.
[$sel:flags:SparseImageMemoryBind] :: SparseImageMemoryBind -> SparseMemoryBindFlags
-- | VkSparseBufferMemoryBindInfo - Structure specifying a sparse buffer
-- memory bind operation
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, BindSparseInfo, Buffer,
-- SparseMemoryBind
data SparseBufferMemoryBindInfo
SparseBufferMemoryBindInfo :: Buffer -> Vector SparseMemoryBind -> SparseBufferMemoryBindInfo
-- | buffer is the Buffer object to be bound.
--
-- buffer must be a valid Buffer handle
[$sel:buffer:SparseBufferMemoryBindInfo] :: SparseBufferMemoryBindInfo -> Buffer
-- | pBinds is a pointer to an array of SparseMemoryBind
-- structures.
--
-- pBinds must be a valid pointer to an array of
-- bindCount valid SparseMemoryBind structures
[$sel:binds:SparseBufferMemoryBindInfo] :: SparseBufferMemoryBindInfo -> Vector SparseMemoryBind
-- | VkSparseImageOpaqueMemoryBindInfo - Structure specifying sparse image
-- opaque memory bind information
--
-- Valid Usage
--
--
-- - If the flags member of any element of pBinds
-- contains SPARSE_MEMORY_BIND_METADATA_BIT, the binding range
-- defined must be within the mip tail region of the metadata
-- aspect of image
--
--
-- Valid Usage (Implicit)
--
--
-- - image must be a valid Image handle
--
--
--
-- - pBinds must be a valid pointer to an array of
-- bindCount valid SparseMemoryBind structures
-- - bindCount must be greater than 0
--
--
-- See Also
--
-- VK_VERSION_1_0, BindSparseInfo, Image,
-- SparseMemoryBind
data SparseImageOpaqueMemoryBindInfo
SparseImageOpaqueMemoryBindInfo :: Image -> Vector SparseMemoryBind -> SparseImageOpaqueMemoryBindInfo
-- | image is the Image object to be bound.
[$sel:image:SparseImageOpaqueMemoryBindInfo] :: SparseImageOpaqueMemoryBindInfo -> Image
-- | pBinds is a pointer to an array of SparseMemoryBind
-- structures.
[$sel:binds:SparseImageOpaqueMemoryBindInfo] :: SparseImageOpaqueMemoryBindInfo -> Vector SparseMemoryBind
-- | VkSparseImageMemoryBindInfo - Structure specifying sparse image memory
-- bind information
--
-- Valid Usage
--
--
-- - The subresource.mipLevel member of each element of
-- pBinds must be less than the mipLevels
-- specified in ImageCreateInfo when image was
-- created
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - image must be a valid Image handle
--
--
--
-- - pBinds must be a valid pointer to an array of
-- bindCount valid SparseImageMemoryBind structures
-- - bindCount must be greater than 0
--
--
-- See Also
--
-- VK_VERSION_1_0, BindSparseInfo, Image,
-- SparseImageMemoryBind
data SparseImageMemoryBindInfo
SparseImageMemoryBindInfo :: Image -> Vector SparseImageMemoryBind -> SparseImageMemoryBindInfo
-- | image is the Image object to be bound
[$sel:image:SparseImageMemoryBindInfo] :: SparseImageMemoryBindInfo -> Image
-- | pBinds is a pointer to an array of
-- SparseImageMemoryBind structures
[$sel:binds:SparseImageMemoryBindInfo] :: SparseImageMemoryBindInfo -> Vector SparseImageMemoryBind
-- | VkBindSparseInfo - Structure specifying a sparse binding operation
--
-- Valid Usage
--
--
--
--
--
-- 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 DeviceGroupBindSparseInfo or
-- TimelineSemaphoreSubmitInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - If waitSemaphoreCount is not 0,
-- pWaitSemaphores must be a valid pointer to an array of
-- waitSemaphoreCount valid Semaphore handles
-- - If bufferBindCount is not 0,
-- pBufferBinds must be a valid pointer to an array of
-- bufferBindCount valid SparseBufferMemoryBindInfo
-- structures
-- - If imageOpaqueBindCount is not 0,
-- pImageOpaqueBinds must be a valid pointer to an array
-- of imageOpaqueBindCount valid
-- SparseImageOpaqueMemoryBindInfo structures
-- - If imageBindCount is not 0, pImageBinds
-- must be a valid pointer to an array of imageBindCount
-- valid SparseImageMemoryBindInfo structures
-- - If signalSemaphoreCount is not 0,
-- pSignalSemaphores must be a valid pointer to an array
-- of signalSemaphoreCount valid Semaphore handles
-- - Both of the elements of pSignalSemaphores, and the
-- elements of pWaitSemaphores that are valid handles of
-- non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_0, Semaphore,
-- SparseBufferMemoryBindInfo, SparseImageMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, StructureType,
-- queueBindSparse
data BindSparseInfo (es :: [Type])
BindSparseInfo :: Chain es -> Vector Semaphore -> Vector SparseBufferMemoryBindInfo -> Vector SparseImageOpaqueMemoryBindInfo -> Vector SparseImageMemoryBindInfo -> Vector Semaphore -> BindSparseInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Chain es
-- | pWaitSemaphores is a pointer to an array of semaphores upon
-- which to wait on before the sparse binding operations for this batch
-- begin execution. If semaphores to wait on are provided, they define a
-- semaphore wait operation.
[$sel:waitSemaphores:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Vector Semaphore
-- | pBufferBinds is a pointer to an array of
-- SparseBufferMemoryBindInfo structures.
[$sel:bufferBinds:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Vector SparseBufferMemoryBindInfo
-- | pImageOpaqueBinds is a pointer to an array of
-- SparseImageOpaqueMemoryBindInfo structures, indicating opaque
-- sparse image bindings to perform.
[$sel:imageOpaqueBinds:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Vector SparseImageOpaqueMemoryBindInfo
-- | pImageBinds is a pointer to an array of
-- SparseImageMemoryBindInfo structures, indicating sparse image
-- bindings to perform.
[$sel:imageBinds:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Vector SparseImageMemoryBindInfo
-- | pSignalSemaphores is a pointer to an array of semaphores
-- which will be signaled when the sparse binding operations for this
-- batch have completed execution. If semaphores to be signaled are
-- provided, they define a semaphore signal operation.
[$sel:signalSemaphores:BindSparseInfo] :: BindSparseInfo (es :: [Type]) -> Vector Semaphore
-- | VkImageAspectFlagBits - Bitmask specifying which aspects of an image
-- are included in a view
--
-- See Also
--
-- VK_VERSION_1_0, BindImagePlaneMemoryInfo,
-- DeviceImageMemoryRequirementsKHR, ImageAspectFlags,
-- ImagePlaneMemoryRequirementsInfo
newtype ImageAspectFlagBits
ImageAspectFlagBits :: Flags -> ImageAspectFlagBits
-- | IMAGE_ASPECT_COLOR_BIT specifies the color aspect.
pattern IMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_DEPTH_BIT specifies the depth aspect.
pattern IMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_STENCIL_BIT specifies the stencil aspect.
pattern IMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_METADATA_BIT specifies the metadata aspect, used
-- for sparse resource operations.
pattern IMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_NONE_KHR specifies no image aspect, or the image
-- aspect is not applicable.
pattern IMAGE_ASPECT_NONE_KHR :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT specifies memory
-- plane 3.
pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT specifies memory
-- plane 2.
pattern IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT specifies memory
-- plane 1.
pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT specifies memory
-- plane 0.
pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_2_BIT specifies plane 2 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_1_BIT specifies plane 1 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_0_BIT specifies plane 0 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits
type ImageAspectFlags = ImageAspectFlagBits
-- | VkSparseImageFormatFlagBits - Bitmask specifying additional
-- information about a sparse image resource
--
-- See Also
--
-- VK_VERSION_1_0, SparseImageFormatFlags
newtype SparseImageFormatFlagBits
SparseImageFormatFlagBits :: Flags -> SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT specifies that the image
-- uses a single mip tail region for all array layers.
pattern SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT specifies that the
-- first mip level whose dimensions are not integer multiples of the
-- corresponding dimensions of the sparse image block begins the mip tail
-- region.
pattern SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: SparseImageFormatFlagBits
-- | SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT specifies that
-- the image uses non-standard sparse image block dimensions, and the
-- imageGranularity values do not match the standard sparse
-- image block dimensions for the given format.
pattern SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: SparseImageFormatFlagBits
type SparseImageFormatFlags = SparseImageFormatFlagBits
-- | VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse
-- memory binding operation
--
-- See Also
--
-- VK_VERSION_1_0, SparseMemoryBindFlags
newtype SparseMemoryBindFlagBits
SparseMemoryBindFlagBits :: Flags -> SparseMemoryBindFlagBits
-- | SPARSE_MEMORY_BIND_METADATA_BIT specifies that the memory being
-- bound is only for the metadata aspect.
pattern SPARSE_MEMORY_BIND_METADATA_BIT :: SparseMemoryBindFlagBits
type SparseMemoryBindFlags = SparseMemoryBindFlagBits
instance GHC.Classes.Eq Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance GHC.Classes.Eq Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseBufferMemoryBindInfo
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseImageOpaqueMemoryBindInfo
instance GHC.Show.Show Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBindInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBindInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBindInfo
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBindInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageOpaqueMemoryBindInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageOpaqueMemoryBindInfo
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseImageOpaqueMemoryBindInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseBufferMemoryBindInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseBufferMemoryBindInfo
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseBufferMemoryBindInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind
instance Foreign.Storable.Storable Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance Foreign.Storable.Storable Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance Foreign.Storable.Storable Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements
instance Foreign.Storable.Storable Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties
instance Foreign.Storable.Storable Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties
instance Vulkan.Zero.Zero Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties
module Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2
-- | vkGetBufferMemoryRequirements2 - Returns the memory requirements for
-- specified Vulkan object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, BufferMemoryRequirementsInfo2,
-- Device, MemoryRequirements2
getBufferMemoryRequirements2 :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> BufferMemoryRequirementsInfo2 -> io (MemoryRequirements2 a)
-- | vkGetImageMemoryRequirements2 - Returns the memory requirements for
-- specified Vulkan object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Device,
-- ImageMemoryRequirementsInfo2, MemoryRequirements2
getImageMemoryRequirements2 :: forall a b io. (Extendss ImageMemoryRequirementsInfo2 a, PokeChain a, Extendss MemoryRequirements2 b, PokeChain b, PeekChain b, MonadIO io) => Device -> ImageMemoryRequirementsInfo2 a -> io (MemoryRequirements2 b)
-- | vkGetImageSparseMemoryRequirements2 - Query the memory requirements
-- for a sparse image
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pInfo must be a valid pointer to a valid
-- ImageSparseMemoryRequirementsInfo2 structure
-- - pSparseMemoryRequirementCount must be a valid
-- pointer to a uint32_t value
-- - If the value referenced by pSparseMemoryRequirementCount
-- is not 0, and pSparseMemoryRequirements is not
-- NULL, pSparseMemoryRequirements must be a
-- valid pointer to an array of pSparseMemoryRequirementCount
-- SparseImageMemoryRequirements2 structures
--
--
-- See Also
--
-- VK_VERSION_1_1, Device,
-- ImageSparseMemoryRequirementsInfo2,
-- SparseImageMemoryRequirements2
getImageSparseMemoryRequirements2 :: forall io. MonadIO io => Device -> ImageSparseMemoryRequirementsInfo2 -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2)
-- | VkBufferMemoryRequirementsInfo2 - (None)
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Buffer, StructureType,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR
data BufferMemoryRequirementsInfo2
BufferMemoryRequirementsInfo2 :: Buffer -> BufferMemoryRequirementsInfo2
-- | buffer is the buffer to query.
--
-- buffer must be a valid Buffer handle
[$sel:buffer:BufferMemoryRequirementsInfo2] :: BufferMemoryRequirementsInfo2 -> Buffer
-- | VkImageMemoryRequirementsInfo2 - (None)
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of ImagePlaneMemoryRequirementsInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - image must be a valid Image handle
--
--
-- See Also
--
-- VK_VERSION_1_1, Image, StructureType,
-- getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR
data ImageMemoryRequirementsInfo2 (es :: [Type])
ImageMemoryRequirementsInfo2 :: Chain es -> Image -> ImageMemoryRequirementsInfo2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageMemoryRequirementsInfo2] :: ImageMemoryRequirementsInfo2 (es :: [Type]) -> Chain es
-- | image is the image to query.
[$sel:image:ImageMemoryRequirementsInfo2] :: ImageMemoryRequirementsInfo2 (es :: [Type]) -> Image
-- | VkImageSparseMemoryRequirementsInfo2 - (None)
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Image, StructureType,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR
data ImageSparseMemoryRequirementsInfo2
ImageSparseMemoryRequirementsInfo2 :: Image -> ImageSparseMemoryRequirementsInfo2
-- | image is the image to query.
--
-- image must be a valid Image handle
[$sel:image:ImageSparseMemoryRequirementsInfo2] :: ImageSparseMemoryRequirementsInfo2 -> Image
-- | VkMemoryRequirements2 - Structure specifying memory requirements
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of MemoryDedicatedRequirements
-- - The sType value of each struct in the pNext
-- chain must be unique
--
--
-- See Also
--
-- VK_VERSION_1_1, MemoryRequirements,
-- StructureType, VkVideoGetMemoryPropertiesKHR,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getGeneratedCommandsMemoryRequirementsNV,
-- getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR
data MemoryRequirements2 (es :: [Type])
MemoryRequirements2 :: Chain es -> MemoryRequirements -> MemoryRequirements2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:MemoryRequirements2] :: MemoryRequirements2 (es :: [Type]) -> Chain es
-- | memoryRequirements is a MemoryRequirements structure
-- describing the memory requirements of the resource.
[$sel:memoryRequirements:MemoryRequirements2] :: MemoryRequirements2 (es :: [Type]) -> MemoryRequirements
-- | VkSparseImageMemoryRequirements2 - (None)
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, SparseImageMemoryRequirements,
-- StructureType,
-- getDeviceImageSparseMemoryRequirementsKHR,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR
data SparseImageMemoryRequirements2
SparseImageMemoryRequirements2 :: SparseImageMemoryRequirements -> SparseImageMemoryRequirements2
-- | memoryRequirements is a SparseImageMemoryRequirements
-- structure describing the memory requirements of the sparse image.
[$sel:memoryRequirements:SparseImageMemoryRequirements2] :: SparseImageMemoryRequirements2 -> SparseImageMemoryRequirements
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es)
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es)
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2 es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2 es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2
-- | Name
--
-- VK_KHR_get_memory_requirements2 - device extension
--
-- VK_KHR_get_memory_requirements2
--
--
-- - Name String
-- VK_KHR_get_memory_requirements2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 147
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jason Ekstrand,
-- Intel
- Jeff Bolz, NVIDIA
- Jesse Hall,
-- Google
--
--
-- Description
--
-- This extension provides new entry points to query memory requirements
-- of images and buffers in a way that can be easily extended by other
-- extensions, without introducing any further entry points. The Vulkan
-- 1.0 MemoryRequirements and SparseImageMemoryRequirements
-- structures do not include sType and pNext members.
-- This extension wraps them in new structures with these members, so an
-- application can query a chain of memory requirements structures by
-- constructing the chain and letting the implementation fill them in. A
-- new command is added for each vkGet*MemoryRequrements command
-- in core Vulkan 1.0.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-03-23 (Jason Ekstrand)
--
--
-- See Also
--
-- BufferMemoryRequirementsInfo2KHR,
-- ImageMemoryRequirementsInfo2KHR,
-- ImageSparseMemoryRequirementsInfo2KHR,
-- MemoryRequirements2KHR,
-- SparseImageMemoryRequirements2KHR,
-- getBufferMemoryRequirements2KHR,
-- getImageMemoryRequirements2KHR,
-- getImageSparseMemoryRequirements2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_get_memory_requirements2
pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR :: StructureType
getBufferMemoryRequirements2KHR :: forall (a :: [Type]) io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> BufferMemoryRequirementsInfo2 -> io (MemoryRequirements2 a)
getImageMemoryRequirements2KHR :: forall (a :: [Type]) (b :: [Type]) io. (Extendss ImageMemoryRequirementsInfo2 a, Extendss MemoryRequirements2 b, PokeChain a, PokeChain b, PeekChain b, MonadIO io) => Device -> ImageMemoryRequirementsInfo2 a -> io (MemoryRequirements2 b)
getImageSparseMemoryRequirements2KHR :: MonadIO io => Device -> ImageSparseMemoryRequirementsInfo2 -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2)
type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2
type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2
type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2
type MemoryRequirements2KHR = MemoryRequirements2
type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2
type KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1
pattern KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2"
pattern KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Shader
-- | vkCreateShaderModule - Creates a new shader module object
--
-- Description
--
-- Once a shader module has been created, any entry points it contains
-- can be used in pipeline shader stages as described in
-- Compute Pipelines and Graphics Pipelines.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- ShaderModuleCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pShaderModule must be a valid pointer to a
-- ShaderModule handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- ShaderModule, ShaderModuleCreateInfo
createShaderModule :: forall a io. (Extendss ShaderModuleCreateInfo a, PokeChain a, MonadIO io) => Device -> ShaderModuleCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io ShaderModule
-- | A convenience wrapper to make a compatible pair of calls to
-- createShaderModule and destroyShaderModule
--
-- To ensure that destroyShaderModule 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.
withShaderModule :: forall a io r. (Extendss ShaderModuleCreateInfo a, PokeChain a, MonadIO io) => Device -> ShaderModuleCreateInfo a -> Maybe AllocationCallbacks -> (io ShaderModule -> (ShaderModule -> io ()) -> r) -> r
-- | vkDestroyShaderModule - Destroy a shader module
--
-- Description
--
-- A shader module can be destroyed while pipelines created using
-- its shaders are still in use.
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- shaderModule was created, a compatible set of callbacks
-- must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- shaderModule was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If shaderModule is not NULL_HANDLE,
-- shaderModule must be a valid ShaderModule
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If shaderModule is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to shaderModule must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- ShaderModule
destroyShaderModule :: forall io. MonadIO io => Device -> ShaderModule -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkShaderModuleCreateInfo - Structure specifying parameters of a newly
-- created shader module
--
-- Valid Usage
--
--
-- - codeSize must be greater than 0
--
--
--
-- - If pCode is a pointer to SPIR-V code, codeSize
-- must be a multiple of 4
-- - pCode must point to either valid SPIR-V code,
-- formatted and packed as described by the Khronos SPIR-V
-- Specification or valid GLSL code which must be written to
-- the GL_KHR_vulkan_glsl extension specification
-- - If pCode is a pointer to SPIR-V code, that code
-- must adhere to the validation rules described by the
-- Validation Rules within a Module section of the SPIR-V
-- Environment appendix
-- - If pCode is a pointer to GLSL code, it must be
-- valid GLSL code written to the GL_KHR_vulkan_glsl GLSL
-- extension specification
-- - pCode must declare the Shader capability
-- for SPIR-V code
-- - pCode must not declare any capability that is not
-- supported by the API, as described by the Capabilities section
-- of the SPIR-V Environment appendix
-- - If pCode declares any of the capabilities listed in the
-- SPIR-V Environment appendix, one of the corresponding
-- requirements must be satisfied
-- - pCode must not declare any SPIR-V extension that
-- is not supported by the API, as described by the Extension
-- section of the SPIR-V Environment appendix
-- - If pCode declares any of the SPIR-V extensions listed in
-- the SPIR-V Environment appendix, one of the corresponding
-- requirements must be satisfied
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of ShaderModuleValidationCacheCreateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be 0
-- - pCode must be a valid pointer to an array of
-- <math> uint32_t values
--
--
-- See Also
--
-- VK_VERSION_1_0, ShaderModuleCreateFlags,
-- StructureType, createShaderModule
data ShaderModuleCreateInfo (es :: [Type])
ShaderModuleCreateInfo :: Chain es -> ShaderModuleCreateFlags -> ByteString -> ShaderModuleCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ShaderModuleCreateInfo] :: ShaderModuleCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:ShaderModuleCreateInfo] :: ShaderModuleCreateInfo (es :: [Type]) -> ShaderModuleCreateFlags
-- | pCode is a pointer to code that is used to create the shader
-- module. The type and format of the code is determined from the content
-- of the memory addressed by pCode.
[$sel:code:ShaderModuleCreateInfo] :: ShaderModuleCreateInfo (es :: [Type]) -> ByteString
-- | VkShaderModule - Opaque handle to a shader module object
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- createShaderModule, destroyShaderModule
newtype ShaderModule
ShaderModule :: Word64 -> ShaderModule
-- | VkShaderModuleCreateFlags - Reserved for future use
--
-- Description
--
-- ShaderModuleCreateFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, ShaderModuleCreateInfo
newtype ShaderModuleCreateFlags
ShaderModuleCreateFlags :: Flags -> ShaderModuleCreateFlags
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Shader.ShaderModuleCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Shader.ShaderModuleCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Shader.ShaderModuleCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Shader.ShaderModuleCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Shader.ShaderModuleCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Shader.ShaderModuleCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Shader.ShaderModuleCreateInfo es)
module Vulkan.Core10.Sampler
-- | vkCreateSampler - Create a new sampler object
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- SamplerCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSampler must be a valid pointer to a
-- Sampler handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Sampler, SamplerCreateInfo
createSampler :: forall a io. (Extendss SamplerCreateInfo a, PokeChain a, MonadIO io) => Device -> SamplerCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Sampler
-- | A convenience wrapper to make a compatible pair of calls to
-- createSampler and destroySampler
--
-- To ensure that destroySampler 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.
withSampler :: forall a io r. (Extendss SamplerCreateInfo a, PokeChain a, MonadIO io) => Device -> SamplerCreateInfo a -> Maybe AllocationCallbacks -> (io Sampler -> (Sampler -> io ()) -> r) -> r
-- | vkDestroySampler - Destroy a sampler object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to sampler must
-- have completed execution
--
--
--
-- - If AllocationCallbacks were provided when sampler
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when
-- sampler was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If sampler is not NULL_HANDLE, sampler
-- must be a valid Sampler handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If sampler is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to sampler must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Sampler
destroySampler :: forall io. MonadIO io => Device -> Sampler -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkSamplerCreateInfo - Structure specifying parameters of a newly
-- created sampler
--
-- Description
--
-- Mapping of OpenGL to Vulkan filter modes
--
-- magFilter values of FILTER_NEAREST and
-- FILTER_LINEAR directly correspond to GL_NEAREST and
-- GL_LINEAR magnification filters. minFilter and
-- mipmapMode combine to correspond to the similarly named
-- OpenGL minification filter of GL_minFilter_MIPMAP_mipmapMode
-- (e.g. minFilter of FILTER_LINEAR and
-- mipmapMode of SAMPLER_MIPMAP_MODE_NEAREST correspond
-- to GL_LINEAR_MIPMAP_NEAREST).
--
-- There are no Vulkan filter modes that directly correspond to OpenGL
-- minification filters of GL_LINEAR or GL_NEAREST, but
-- they can be emulated using SAMPLER_MIPMAP_MODE_NEAREST,
-- minLod = 0, and maxLod = 0.25, and using
-- minFilter = FILTER_LINEAR or minFilter =
-- FILTER_NEAREST, respectively.
--
-- Note that using a maxLod of zero would cause
-- magnification to always be performed, and the
-- magFilter to always be used. This is valid, just not an exact
-- match for OpenGL behavior. Clamping the maximum LOD to 0.25 allows the
-- λ value to be non-zero and minification to be performed, while still
-- always rounding down to the base level. If the minFilter and
-- magFilter are equal, then using a maxLod of zero
-- also works.
--
-- The maximum number of sampler objects which can be
-- simultaneously created on a device is implementation-dependent and
-- specified by the maxSamplerAllocationCount member of the
-- PhysicalDeviceLimits structure.
--
-- Note
--
-- For historical reasons, if maxSamplerAllocationCount is
-- exceeded, some implementations may return
-- ERROR_TOO_MANY_OBJECTS. Exceeding this limit will result in
-- undefined behavior, and an application should not rely on the use of
-- the returned error code in order to identify when the limit is
-- reached.
--
-- Since Sampler is a non-dispatchable handle type,
-- implementations may return the same handle for sampler state
-- vectors that are identical. In such cases, all such objects would only
-- count once against the maxSamplerAllocationCount limit.
--
-- Valid Usage
--
--
-- - The absolute value of mipLodBias must be less than
-- or equal to
-- PhysicalDeviceLimits::maxSamplerLodBias
--
--
--
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::samplerMipLodBias
-- is FALSE, mipLodBias must be zero
-- - maxLod must be greater than or equal to
-- minLod
-- - If the anisotropic sampling feature is not enabled,
-- anisotropyEnable must be FALSE
-- - If anisotropyEnable is TRUE,
-- maxAnisotropy must be between 1.0 and
-- PhysicalDeviceLimits::maxSamplerAnisotropy,
-- inclusive
-- - If sampler Y′CBCR conversion is enabled and the
-- potential format features of the sampler Y′CBCR conversion do
-- not support
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
-- minFilter and magFilter must be equal to the
-- sampler Y′CBCR conversion’s chromaFilter
-- - If unnormalizedCoordinates is TRUE,
-- minFilter and magFilter must be equal
-- - If unnormalizedCoordinates is TRUE,
-- mipmapMode must be
-- SAMPLER_MIPMAP_MODE_NEAREST
-- - If unnormalizedCoordinates is TRUE,
-- minLod and maxLod must be zero
-- - If unnormalizedCoordinates is TRUE,
-- addressModeU and addressModeV must each be
-- either SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE or
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
-- - If unnormalizedCoordinates is TRUE,
-- anisotropyEnable must be FALSE
-- - If unnormalizedCoordinates is TRUE,
-- compareEnable must be FALSE
-- - If any of addressModeU, addressModeV or
-- addressModeW are SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
-- borderColor must be a valid BorderColor
-- value
-- - If sampler Y′CBCR conversion is enabled,
-- addressModeU, addressModeV, and
-- addressModeW must be
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, anisotropyEnable
-- must be FALSE, and unnormalizedCoordinates
-- must be FALSE
-- - The sampler reduction mode must be set to
-- SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE if sampler Y′CBCR
-- conversion is enabled
-- - If samplerMirrorClampToEdge is not enabled, and if the
-- VK_KHR_sampler_mirror_clamp_to_edge extension is not enabled,
-- addressModeU, addressModeV and addressModeW
-- must not be
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
-- - If compareEnable is TRUE, compareOp
-- must be a valid CompareOp value
-- - If either magFilter or minFilter is
-- FILTER_CUBIC_EXT, anisotropyEnable must be
-- FALSE
-- - If compareEnable is TRUE, the
-- reductionMode member of SamplerReductionModeCreateInfo
-- must be SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then minFilter and
-- magFilter must be equal
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then mipmapMode
-- must be SAMPLER_MIPMAP_MODE_NEAREST
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then minLod and
-- maxLod must be zero
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then addressModeU
-- and addressModeV must each be either
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE or
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then
-- anisotropyEnable must be FALSE
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then compareEnable
-- must be FALSE
-- - If flags includes
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, then
-- unnormalizedCoordinates must be FALSE
-- - If borderColor is one of
-- BORDER_COLOR_FLOAT_CUSTOM_EXT or
-- BORDER_COLOR_INT_CUSTOM_EXT, then a
-- SamplerCustomBorderColorCreateInfoEXT must be included
-- in the pNext chain
-- - If the customBorderColors feature is not enabled,
-- borderColor must not be
-- BORDER_COLOR_FLOAT_CUSTOM_EXT or
-- BORDER_COLOR_INT_CUSTOM_EXT
-- - If borderColor is one of
-- BORDER_COLOR_FLOAT_CUSTOM_EXT or
-- BORDER_COLOR_INT_CUSTOM_EXT, and
-- SamplerCustomBorderColorCreateInfoEXT::format is not
-- FORMAT_UNDEFINED,
-- SamplerCustomBorderColorCreateInfoEXT::customBorderColor
-- must be within the range of values representable in
-- format
-- - The maximum number of samplers with custom border colors which
-- can be simultaneously created on a device is
-- implementation-dependent and specified by the
-- maxCustomBorderColorSamplers member of the
-- PhysicalDeviceCustomBorderColorPropertiesEXT structure
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, BorderColor,
-- CompareOp, Filter, SamplerAddressMode,
-- SamplerCreateFlags, SamplerMipmapMode,
-- StructureType, createSampler
data SamplerCreateInfo (es :: [Type])
SamplerCreateInfo :: Chain es -> SamplerCreateFlags -> Filter -> Filter -> SamplerMipmapMode -> SamplerAddressMode -> SamplerAddressMode -> SamplerAddressMode -> Float -> Bool -> Float -> Bool -> CompareOp -> Float -> Float -> BorderColor -> Bool -> SamplerCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of SamplerCreateFlagBits describing
-- additional parameters of the sampler.
[$sel:flags:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerCreateFlags
-- | magFilter is a Filter value specifying the
-- magnification filter to apply to lookups.
[$sel:magFilter:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Filter
-- | minFilter is a Filter value specifying the
-- minification filter to apply to lookups.
[$sel:minFilter:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Filter
-- | mipmapMode is a SamplerMipmapMode value specifying the
-- mipmap filter to apply to lookups.
[$sel:mipmapMode:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerMipmapMode
-- | addressModeU is a SamplerAddressMode value specifying
-- the addressing mode for U coordinates outside [0,1).
[$sel:addressModeU:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerAddressMode
-- | addressModeV is a SamplerAddressMode value specifying
-- the addressing mode for V coordinates outside [0,1).
[$sel:addressModeV:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerAddressMode
-- | addressModeW is a SamplerAddressMode value specifying
-- the addressing mode for W coordinates outside [0,1).
[$sel:addressModeW:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerAddressMode
-- | mipLodBias is the bias to be added to mipmap LOD
-- (level-of-detail) calculation and bias provided by image sampling
-- functions in SPIR-V, as described in the Level-of-Detail
-- Operation section.
[$sel:mipLodBias:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Float
-- | anisotropyEnable is TRUE to enable anisotropic
-- filtering, as described in the Texel Anisotropic Filtering
-- section, or FALSE otherwise.
[$sel:anisotropyEnable:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Bool
-- | maxAnisotropy is the anisotropy value clamp used by the
-- sampler when anisotropyEnable is TRUE. If
-- anisotropyEnable is FALSE, maxAnisotropy is
-- ignored.
[$sel:maxAnisotropy:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Float
-- | compareEnable is TRUE to enable comparison against a
-- reference value during lookups, or FALSE otherwise.
--
--
-- - Note: Some implementations will default to shader state if this
-- member does not match.
--
[$sel:compareEnable:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Bool
-- | compareOp is a CompareOp value specifying the
-- comparison function to apply to fetched data before filtering as
-- described in the Depth Compare Operation section.
[$sel:compareOp:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> CompareOp
-- | minLod is used to clamp the minimum of the computed LOD
-- value.
[$sel:minLod:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Float
-- | maxLod is used to clamp the maximum of the computed LOD
-- value. To avoid clamping the maximum value, set maxLod to
-- the constant LOD_CLAMP_NONE.
[$sel:maxLod:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Float
-- | borderColor is a BorderColor value specifying the
-- predefined border color to use.
[$sel:borderColor:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> BorderColor
-- | unnormalizedCoordinates controls whether to use unnormalized
-- or normalized texel coordinates to address texels of the image. When
-- set to TRUE, the range of the image coordinates used to lookup
-- the texel is in the range of zero to the image size in each dimension.
-- When set to FALSE the range of image coordinates is zero to
-- one.
--
-- When unnormalizedCoordinates is TRUE, images the
-- sampler is used with in the shader have the following requirements:
--
--
--
-- When unnormalizedCoordinates is TRUE, image built-in
-- functions in the shader that use the sampler have the following
-- requirements:
--
--
-- - The functions must not use projection.
-- - The functions must not use offsets.
--
[$sel:unnormalizedCoordinates:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Bool
-- | VkSampler - Opaque handle to a sampler object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- DescriptorSetLayoutBinding, ImageViewHandleInfoNVX,
-- createSampler, destroySampler
newtype Sampler
Sampler :: Word64 -> Sampler
-- | VkBorderColor - Specify border color used for texture lookups
--
-- Description
--
-- These colors are described in detail in Texel Replacement.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype BorderColor
BorderColor :: Int32 -> BorderColor
-- | BORDER_COLOR_FLOAT_TRANSPARENT_BLACK specifies a transparent,
-- floating-point format, black color.
pattern BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: BorderColor
-- | BORDER_COLOR_INT_TRANSPARENT_BLACK specifies a transparent,
-- integer format, black color.
pattern BORDER_COLOR_INT_TRANSPARENT_BLACK :: BorderColor
-- | BORDER_COLOR_FLOAT_OPAQUE_BLACK specifies an opaque,
-- floating-point format, black color.
pattern BORDER_COLOR_FLOAT_OPAQUE_BLACK :: BorderColor
-- | BORDER_COLOR_INT_OPAQUE_BLACK specifies an opaque, integer
-- format, black color.
pattern BORDER_COLOR_INT_OPAQUE_BLACK :: BorderColor
-- | BORDER_COLOR_FLOAT_OPAQUE_WHITE specifies an opaque,
-- floating-point format, white color.
pattern BORDER_COLOR_FLOAT_OPAQUE_WHITE :: BorderColor
-- | BORDER_COLOR_INT_OPAQUE_WHITE specifies an opaque, integer
-- format, white color.
pattern BORDER_COLOR_INT_OPAQUE_WHITE :: BorderColor
-- | BORDER_COLOR_INT_CUSTOM_EXT indicates that a
-- SamplerCustomBorderColorCreateInfoEXT structure is included in
-- the SamplerCreateInfo::pNext chain containing the
-- color data in integer format.
pattern BORDER_COLOR_INT_CUSTOM_EXT :: BorderColor
-- | BORDER_COLOR_FLOAT_CUSTOM_EXT indicates that a
-- SamplerCustomBorderColorCreateInfoEXT structure is included in
-- the SamplerCreateInfo::pNext chain containing the
-- color data in floating-point format.
pattern BORDER_COLOR_FLOAT_CUSTOM_EXT :: BorderColor
-- | VkFilter - Specify filters used for texture lookups
--
-- Description
--
-- These filters are described in detail in Texel Filtering.
--
-- See Also
--
-- VK_VERSION_1_0, BlitImageInfo2KHR,
-- SamplerCreateInfo, SamplerYcbcrConversionCreateInfo,
-- cmdBlitImage
newtype Filter
Filter :: Int32 -> Filter
-- | FILTER_NEAREST specifies nearest filtering.
pattern FILTER_NEAREST :: Filter
-- | FILTER_LINEAR specifies linear filtering.
pattern FILTER_LINEAR :: Filter
pattern FILTER_CUBIC_IMG :: Filter
-- | VkSamplerMipmapMode - Specify mipmap mode used for texture lookups
--
-- Description
--
-- These modes are described in detail in Texel Filtering.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype SamplerMipmapMode
SamplerMipmapMode :: Int32 -> SamplerMipmapMode
-- | SAMPLER_MIPMAP_MODE_NEAREST specifies nearest filtering.
pattern SAMPLER_MIPMAP_MODE_NEAREST :: SamplerMipmapMode
-- | SAMPLER_MIPMAP_MODE_LINEAR specifies linear filtering.
pattern SAMPLER_MIPMAP_MODE_LINEAR :: SamplerMipmapMode
-- | VkSamplerAddressMode - Specify behavior of sampling with texture
-- coordinates outside an image
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateInfo
newtype SamplerAddressMode
SamplerAddressMode :: Int32 -> SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_REPEAT specifies that the repeat wrap mode
-- will be used.
pattern SAMPLER_ADDRESS_MODE_REPEAT :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT specifies that the
-- mirrored repeat wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE specifies that the clamp to
-- edge wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER specifies that the clamp
-- to border wrap mode will be used.
pattern SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: SamplerAddressMode
-- | SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE specifies that the
-- mirror clamp to edge wrap mode will be used. This is only valid if
-- samplerMirrorClampToEdge is enabled, or if the
-- VK_KHR_sampler_mirror_clamp_to_edge extension is enabled.
pattern SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE :: SamplerAddressMode
-- | VkSamplerCreateFlagBits - Bitmask specifying additional parameters of
-- sampler
--
-- Description
--
-- Note
--
-- The approximations used when
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT is
-- specified are implementation defined. Some implementations may
-- interpolate between fragment density levels in a subsampled image. In
-- that case, this bit may be used to decide whether the
-- interpolation factors are calculated per fragment or at a coarser
-- granularity.
--
-- See Also
--
-- VK_VERSION_1_0, SamplerCreateFlags
newtype SamplerCreateFlagBits
SamplerCreateFlagBits :: Flags -> SamplerCreateFlagBits
-- | SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
-- specifies that the implementation may use approximations when
-- reconstructing a full color value for texture access from a subsampled
-- image.
pattern SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT :: SamplerCreateFlagBits
-- | SAMPLER_CREATE_SUBSAMPLED_BIT_EXT specifies that the sampler
-- will read from an image created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT.
pattern SAMPLER_CREATE_SUBSAMPLED_BIT_EXT :: SamplerCreateFlagBits
type SamplerCreateFlags = SamplerCreateFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Sampler.SamplerCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Sampler.SamplerCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Sampler.SamplerCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Sampler.SamplerCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Sampler.SamplerCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Sampler.SamplerCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Sampler.SamplerCreateInfo es)
module Vulkan.Core10.QueueSemaphore
-- | vkCreateSemaphore - Create a new queue semaphore object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- SemaphoreCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pSemaphore must be a valid pointer to a
-- Semaphore handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Semaphore, SemaphoreCreateInfo
createSemaphore :: forall a io. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) => Device -> SemaphoreCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Semaphore
-- | A convenience wrapper to make a compatible pair of calls to
-- createSemaphore and destroySemaphore
--
-- To ensure that destroySemaphore 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.
withSemaphore :: forall a io r. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) => Device -> SemaphoreCreateInfo a -> Maybe AllocationCallbacks -> (io Semaphore -> (Semaphore -> io ()) -> r) -> r
-- | vkDestroySemaphore - Destroy a semaphore object
--
-- Valid Usage
--
--
-- - All submitted batches that refer to semaphore must
-- have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- semaphore was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- semaphore was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If semaphore is not NULL_HANDLE,
-- semaphore must be a valid Semaphore handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If semaphore is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to semaphore must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Semaphore
destroySemaphore :: forall io. MonadIO io => Device -> Semaphore -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkSemaphoreCreateInfo - Structure specifying parameters of a newly
-- created semaphore
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, SemaphoreCreateFlags,
-- StructureType, createSemaphore
data SemaphoreCreateInfo (es :: [Type])
SemaphoreCreateInfo :: Chain es -> SemaphoreCreateFlags -> SemaphoreCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SemaphoreCreateInfo] :: SemaphoreCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:SemaphoreCreateInfo] :: SemaphoreCreateInfo (es :: [Type]) -> SemaphoreCreateFlags
-- | VkSemaphore - Opaque handle to a semaphore object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- BindSparseInfo, ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA, PresentInfoKHR,
-- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreWaitInfo, SubmitInfo,
-- acquireNextImageKHR, createSemaphore,
-- destroySemaphore, getSemaphoreCounterValue,
-- getSemaphoreCounterValueKHR
newtype Semaphore
Semaphore :: Word64 -> Semaphore
-- | VkSemaphoreCreateFlags - Reserved for future use
--
-- Description
--
-- SemaphoreCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, SemaphoreCreateInfo
newtype SemaphoreCreateFlags
SemaphoreCreateFlags :: Flags -> SemaphoreCreateFlags
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo es)
module Vulkan.Core10.Queue
-- | vkGetDeviceQueue - Get a queue handle from a device
--
-- Description
--
-- getDeviceQueue must only be used to get queues that were
-- created with the flags parameter of
-- DeviceQueueCreateInfo set to zero. To get queues that were
-- created with a non-zero flags parameter use
-- getDeviceQueue2.
--
-- Valid Usage
--
--
-- - queueFamilyIndex must be one of the queue family
-- indices specified when device was created, via the
-- DeviceQueueCreateInfo structure
--
--
--
-- - queueIndex must be less than the value of
-- DeviceQueueCreateInfo::queueCount for the queue family
-- indicated by queueFamilyIndex when device was
-- created
-- - DeviceQueueCreateInfo::flags must have been
-- set to zero when device was created
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pQueue must be a valid pointer to a Queue
-- handle
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Queue
getDeviceQueue :: forall io. MonadIO io => Device -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> io Queue
-- | vkQueueSubmit - Submits a sequence of semaphores or command buffers to
-- a queue
--
-- Description
--
-- queueSubmit is a queue submission command, with each
-- batch defined by an element of pSubmits. Batches begin
-- execution in the order they appear in pSubmits, but
-- may complete out of order.
--
-- Fence and semaphore operations submitted with queueSubmit have
-- additional ordering constraints compared to other submission commands,
-- with dependencies involving previous and subsequent queue operations.
-- Information about these additional constraints can be found in the
-- semaphore and fence sections of the synchronization
-- chapter.
--
-- Details on the interaction of pWaitDstStageMask with
-- synchronization are described in the semaphore wait operation
-- section of the synchronization chapter.
--
-- The order that batches appear in pSubmits is used to
-- determine submission order, and thus all the implicit
-- ordering guarantees that respect it. Other than these implicit
-- ordering guarantees and any explicit synchronization
-- primitives, these batches may overlap or otherwise execute
-- out of order.
--
-- If any command buffer submitted to this queue is in the executable
-- state, it is moved to the pending state. Once execution of
-- all submissions of a command buffer complete, it moves from the
-- pending state, back to the executable state. If a
-- command buffer was recorded with the
-- COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT flag, it instead moves
-- to the invalid state.
--
-- If queueSubmit fails, it may return
-- ERROR_OUT_OF_HOST_MEMORY or ERROR_OUT_OF_DEVICE_MEMORY.
-- If it does, the implementation must ensure that the state and
-- contents of any resources or synchronization primitives referenced by
-- the submitted command buffers and any semaphores referenced by
-- pSubmits is unaffected by the call or its failure. If
-- queueSubmit fails in such a way that the implementation is
-- unable to make that guarantee, the implementation must return
-- ERROR_DEVICE_LOST. See Lost Device.
--
-- Valid Usage
--
--
-- - If fence is not NULL_HANDLE, fence
-- must be unsignaled
--
--
--
-- - If fence is not NULL_HANDLE, fence
-- must not be associated with any other queue command that has
-- not yet completed execution on that queue
-- - Any calls to cmdSetEvent, cmdResetEvent or
-- cmdWaitEvents that have been recorded into any of the command
-- buffer elements of the pCommandBuffers member of any element
-- of pSubmits, must not reference any Event that
-- is referenced by any of those commands in a command buffer that has
-- been submitted to another queue and is still in the pending
-- state
-- - Any stage flag included in any element of the
-- pWaitDstStageMask member of any element of pSubmits
-- must be a pipeline stage supported by one of the capabilities
-- of queue, as specified in the table of supported pipeline
-- stages
-- - Each binary semaphore element of the pSignalSemaphores
-- member of any element of pSubmits must be unsignaled
-- when the semaphore signal operation it defines is executed on the
-- device
-- - When a semaphore wait operation referring to a binary semaphore
-- defined by any element of the pWaitSemaphores member of any
-- element of pSubmits executes on queue, there
-- must be no other queues waiting on the same semaphore
-- - All elements of the pWaitSemaphores member of all
-- elements of pSubmits created with a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY must reference a semaphore signal
-- operation that has been submitted for execution and any semaphore
-- signal operations on which it depends (if any) must have also
-- been submitted for execution
-- - Each element of the pCommandBuffers member of each
-- element of pSubmits must be in the pending or
-- executable state
-- - If any element of the pCommandBuffers member of any
-- element of pSubmits was not recorded with the
-- COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not
-- be in the pending state
-- - Any secondary command buffers recorded into any element of
-- the pCommandBuffers member of any element of
-- pSubmits must be in the pending or executable
-- state
-- - If any secondary command buffers recorded into any element
-- of the pCommandBuffers member of any element of
-- pSubmits was not recorded with the
-- COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not
-- be in the pending state
-- - Each element of the pCommandBuffers member of each
-- element of pSubmits must have been allocated from a
-- CommandPool that was created for the same queue family
-- queue belongs to
-- - If any element of pSubmits->pCommandBuffers includes a
-- Queue Family Transfer Acquire Operation, there must
-- exist a previously submitted Queue Family Transfer Release
-- Operation on a queue in the queue family identified by the acquire
-- operation, with parameters matching the acquire operation as defined
-- in the definition of such acquire operations, and which
-- happens-before the acquire operation
-- - If a command recorded into any element of pCommandBuffers
-- was a cmdBeginQuery whose queryPool was created with a
-- queryType of QUERY_TYPE_PERFORMANCE_QUERY_KHR, the
-- profiling lock must have been held continuously on the
-- Device that queue was retrieved from, throughout
-- recording of those command buffers
-- - Any resource created with SHARING_MODE_EXCLUSIVE that is
-- read by an operation specified by pSubmits must not be
-- owned by any queue family other than the one which queue
-- belongs to, at the time it is executed
-- - Any resource created with SHARING_MODE_CONCURRENT that is
-- accessed by an operation specified by pSubmits must
-- have included the queue family of queue at resource creation
-- time
-- - If queue was not created with
-- DEVICE_QUEUE_CREATE_PROTECTED_BIT, there must be no
-- element of pSubmits that includes an
-- ProtectedSubmitInfo structure in its pNext chain with
-- protectedSubmit equal to TRUE
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - If submitCount is not 0, pSubmits
-- must be a valid pointer to an array of submitCount
-- valid SubmitInfo structures
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - Both of fence, and queue that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to queue must be externally
-- synchronized
--
--
--
-- - Host access to fence must be externally
-- synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Fence, Queue, SubmitInfo
queueSubmit :: forall io. MonadIO io => Queue -> ("submits" ::: Vector (SomeStruct SubmitInfo)) -> Fence -> io ()
-- | vkQueueWaitIdle - Wait for a queue to become idle
--
-- Description
--
-- queueWaitIdle is equivalent to having submitted a valid fence
-- to every previously executed queue submission command that
-- accepts a fence, then waiting for all of those fences to signal using
-- waitForFences with an infinite timeout and waitAll set
-- to TRUE.
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
-- Host Synchronization
--
--
-- - Host access to queue must be externally
-- synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Queue
queueWaitIdle :: forall io. MonadIO io => Queue -> io ()
-- | A variant of queueWaitIdle which makes a *safe* FFI call
queueWaitIdleSafe :: forall io. MonadIO io => Queue -> io ()
-- | vkDeviceWaitIdle - Wait for a device to become idle
--
-- Description
--
-- deviceWaitIdle is equivalent to calling queueWaitIdle
-- for all queues owned by device.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
-- Host Synchronization
--
--
-- - Host access to all Queue objects created from
-- device must be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device
deviceWaitIdle :: forall io. MonadIO io => Device -> io ()
-- | A variant of deviceWaitIdle which makes a *safe* FFI call
deviceWaitIdleSafe :: forall io. MonadIO io => Device -> io ()
-- | VkSubmitInfo - Structure specifying a queue submit operation
--
-- Description
--
-- The order that command buffers appear in pCommandBuffers is
-- used to determine submission order, and thus all the
-- implicit ordering guarantees that respect it. Other than these
-- implicit ordering guarantees and any explicit synchronization
-- primitives, these command buffers may overlap or otherwise
-- execute out of order.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- pWaitDstStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- pWaitDstStageMask must not be 0
-- - Each element of pCommandBuffers must not have been
-- allocated with COMMAND_BUFFER_LEVEL_SECONDARY
-- - Each element of pWaitDstStageMask must not include
-- PIPELINE_STAGE_HOST_BIT
-- - If any element of pWaitSemaphores or
-- pSignalSemaphores was created with a SemaphoreType of
-- SEMAPHORE_TYPE_TIMELINE, then the pNext chain
-- must include a TimelineSemaphoreSubmitInfo
-- structure
-- - If the pNext chain of this structure includes a
-- TimelineSemaphoreSubmitInfo structure and any element of
-- pWaitSemaphores was created with a SemaphoreType of
-- SEMAPHORE_TYPE_TIMELINE, then its
-- waitSemaphoreValueCount member must equal
-- waitSemaphoreCount
-- - If the pNext chain of this structure includes a
-- TimelineSemaphoreSubmitInfo structure and any element of
-- pSignalSemaphores was created with a SemaphoreType of
-- SEMAPHORE_TYPE_TIMELINE, then its
-- signalSemaphoreValueCount member must equal
-- signalSemaphoreCount
-- - For each element of pSignalSemaphores created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE the
-- corresponding element of
-- TimelineSemaphoreSubmitInfo::pSignalSemaphoreValues
-- must have a value greater than the current value of the
-- semaphore when the semaphore signal operation is executed
-- - For each element of pWaitSemaphores created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE the
-- corresponding element of
-- TimelineSemaphoreSubmitInfo::pWaitSemaphoreValues
-- must have a value which does not differ from the current value
-- of the semaphore or the value of any outstanding semaphore wait or
-- signal operation on that semaphore by more than
-- maxTimelineSemaphoreValueDifference
-- - For each element of pSignalSemaphores created with a
-- SemaphoreType of SEMAPHORE_TYPE_TIMELINE the
-- corresponding element of
-- TimelineSemaphoreSubmitInfo::pSignalSemaphoreValues
-- must have a value which does not differ from the current value
-- of the semaphore or the value of any outstanding semaphore wait or
-- signal operation on that semaphore by more than
-- maxTimelineSemaphoreValueDifference
-- - If the pNext chain of this structure does not include a
-- ProtectedSubmitInfo structure with protectedSubmit set
-- to TRUE, then each element of the pCommandBuffers
-- array must be an unprotected command buffer
-- - If the pNext chain of this structure includes a
-- ProtectedSubmitInfo structure with protectedSubmit set
-- to TRUE, then each element of the pCommandBuffers
-- array must be a protected command buffer
-- - If pCommandBuffers contains any resumed render pass
-- instances, they must be suspended by a render pass instance
-- earlier in submission order within pCommandBuffers
-- - If pCommandBuffers contains any suspended render pass
-- instances, they must be resumed by a render pass instance
-- later in submission order within pCommandBuffers
-- - If pCommandBuffers contains any suspended render pass
-- instances, there must be no action or synchronization
-- commands between that render pass instance and the render pass
-- instance that resumes it
-- - If pCommandBuffers contains any suspended render pass
-- instances, there must be no render pass instances between
-- that render pass instance and the render pass instance that resumes
-- it
-- - If the variableSampleLocations limit is not supported, and
-- any element of pCommandBuffers contains any suspended
-- render pass instances, where a graphics pipeline has been bound,
-- any pipelines bound in the render pass instance that resumes it, or
-- any subsequent render pass instances that resume from that one and so
-- on, must use the same sample locations
--
--
-- 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 D3D12FenceSubmitInfoKHR,
-- DeviceGroupSubmitInfo, PerformanceQuerySubmitInfoKHR,
-- ProtectedSubmitInfo, TimelineSemaphoreSubmitInfo,
-- Win32KeyedMutexAcquireReleaseInfoKHR, or
-- Win32KeyedMutexAcquireReleaseInfoNV
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - If waitSemaphoreCount is not 0,
-- pWaitSemaphores must be a valid pointer to an array of
-- waitSemaphoreCount valid Semaphore handles
-- - If waitSemaphoreCount is not 0,
-- pWaitDstStageMask must be a valid pointer to an array
-- of waitSemaphoreCount valid combinations of
-- PipelineStageFlagBits values
-- - Each element of pWaitDstStageMask must not be
-- 0
-- - If commandBufferCount is not 0,
-- pCommandBuffers must be a valid pointer to an array of
-- commandBufferCount valid CommandBuffer handles
-- - If signalSemaphoreCount is not 0,
-- pSignalSemaphores must be a valid pointer to an array
-- of signalSemaphoreCount valid Semaphore handles
-- - Each of the elements of pCommandBuffers, the elements of
-- pSignalSemaphores, and the elements of
-- pWaitSemaphores that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- PipelineStageFlags, Semaphore, StructureType,
-- queueSubmit
data SubmitInfo (es :: [Type])
SubmitInfo :: Chain es -> Vector Semaphore -> Vector PipelineStageFlags -> Vector (Ptr CommandBuffer_T) -> Vector Semaphore -> SubmitInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SubmitInfo] :: SubmitInfo (es :: [Type]) -> Chain es
-- | pWaitSemaphores is a pointer to an array of Semaphore
-- handles upon which to wait before the command buffers for this batch
-- begin execution. If semaphores to wait on are provided, they define a
-- semaphore wait operation.
[$sel:waitSemaphores:SubmitInfo] :: SubmitInfo (es :: [Type]) -> Vector Semaphore
-- | pWaitDstStageMask is a pointer to an array of pipeline stages
-- at which each corresponding semaphore wait will occur.
[$sel:waitDstStageMask:SubmitInfo] :: SubmitInfo (es :: [Type]) -> Vector PipelineStageFlags
-- | pCommandBuffers is a pointer to an array of
-- CommandBuffer handles to execute in the batch.
[$sel:commandBuffers:SubmitInfo] :: SubmitInfo (es :: [Type]) -> Vector (Ptr CommandBuffer_T)
-- | pSignalSemaphores is a pointer to an array of
-- Semaphore handles which will be signaled when the command
-- buffers for this batch have completed execution. If semaphores to be
-- signaled are provided, they define a semaphore signal
-- operation.
[$sel:signalSemaphores:SubmitInfo] :: SubmitInfo (es :: [Type]) -> Vector Semaphore
-- | VkQueue - Opaque handle to a queue object
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceQueue, getDeviceQueue2,
-- getQueueCheckpointData2NV, getQueueCheckpointDataNV,
-- queueBeginDebugUtilsLabelEXT, queueBindSparse,
-- queueEndDebugUtilsLabelEXT,
-- queueInsertDebugUtilsLabelEXT, queuePresentKHR,
-- queueSetPerformanceConfigurationINTEL, queueSubmit,
-- queueSubmit2KHR, queueWaitIdle
data Queue
Queue :: Ptr Queue_T -> DeviceCmds -> Queue
[$sel:queueHandle:Queue] :: Queue -> Ptr Queue_T
[$sel:deviceCmds:Queue] :: Queue -> DeviceCmds
-- | VkPipelineStageFlagBits - Bitmask specifying pipeline stages
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for PipelineStageFlags2KHR.
--
-- See Also
--
-- VK_VERSION_1_0, CheckpointDataNV,
-- PipelineStageFlags, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp
newtype PipelineStageFlagBits
PipelineStageFlagBits :: Flags -> PipelineStageFlagBits
-- | PIPELINE_STAGE_TOP_OF_PIPE_BIT is equivalent to
-- PIPELINE_STAGE_ALL_COMMANDS_BIT with AccessFlags set to
-- 0 when specified in the second synchronization scope, but
-- specifies no stage of execution when specified in the first scope.
pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_DRAW_INDIRECT_BIT specifies the stage of the
-- pipeline where VkDrawIndirect* / VkDispatchIndirect*
-- / VkTraceRaysIndirect* data structures are consumed. This
-- stage also includes reading commands written by
-- cmdExecuteGeneratedCommandsNV.
pattern PIPELINE_STAGE_DRAW_INDIRECT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_VERTEX_INPUT_BIT specifies the stage of the
-- pipeline where vertex and index buffers are consumed.
pattern PIPELINE_STAGE_VERTEX_INPUT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_VERTEX_SHADER_BIT specifies the vertex shader
-- stage.
pattern PIPELINE_STAGE_VERTEX_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT specifies the
-- tessellation control shader stage.
pattern PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT specifies the
-- tessellation evaluation shader stage.
pattern PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_GEOMETRY_SHADER_BIT specifies the geometry
-- shader stage.
pattern PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_SHADER_BIT specifies the fragment
-- shader stage.
pattern PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT specifies the stage of
-- the pipeline where early fragment tests (depth and stencil tests
-- before fragment shading) are performed. This stage also includes
-- subpass load operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT specifies the stage of
-- the pipeline where late fragment tests (depth and stencil tests after
-- fragment shading) are performed. This stage also includes subpass
-- store operations for framebuffer attachments with a depth/stencil
-- format.
pattern PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT specifies the stage
-- of the pipeline after blending where the final color values are output
-- from the pipeline. This stage also includes subpass load and store
-- operations and multisample resolve operations for framebuffer
-- attachments with a color or depth/stencil format.
pattern PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COMPUTE_SHADER_BIT specifies the execution of a
-- compute shader.
pattern PIPELINE_STAGE_COMPUTE_SHADER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TRANSFER_BIT specifies the following commands:
--
--
pattern PIPELINE_STAGE_TRANSFER_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT is equivalent to
-- PIPELINE_STAGE_ALL_COMMANDS_BIT with AccessFlags set to
-- 0 when specified in the first synchronization scope, but
-- specifies no stage of execution when specified in the second scope.
pattern PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_HOST_BIT specifies a pseudo-stage indicating
-- execution on the host of reads/writes of device memory. This stage is
-- not invoked by any commands recorded in a command buffer.
pattern PIPELINE_STAGE_HOST_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ALL_GRAPHICS_BIT specifies the execution of all
-- graphics pipeline stages, and is equivalent to the logical OR of:
--
--
pattern PIPELINE_STAGE_ALL_GRAPHICS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ALL_COMMANDS_BIT specifies all operations
-- performed by all commands supported on the queue it is used with.
pattern PIPELINE_STAGE_ALL_COMMANDS_BIT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_NONE_KHR specifies no stages of execution.
pattern PIPELINE_STAGE_NONE_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV specifies the stage of
-- the pipeline where device-side preprocessing for generated commands
-- via cmdPreprocessGeneratedCommandsNV is handled.
pattern PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- specifies the stage of the pipeline where the fragment shading rate
-- attachment or shading rate image is read to determine the
-- fragment shading rate for portions of a rasterized primitive.
pattern PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT specifies the
-- stage of the pipeline where the fragment density map is read to
-- generate the fragment areas.
pattern PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_MESH_SHADER_BIT_NV specifies the mesh shader
-- stage.
pattern PIPELINE_STAGE_MESH_SHADER_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TASK_SHADER_BIT_NV specifies the task shader
-- stage.
pattern PIPELINE_STAGE_TASK_SHADER_BIT_NV :: PipelineStageFlagBits
-- | PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR specifies the
-- execution of the ray tracing shader stages, via cmdTraceRaysNV
-- , cmdTraceRaysKHR, or cmdTraceRaysIndirectKHR
pattern PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR specifies
-- the execution of cmdBuildAccelerationStructureNV,
-- cmdCopyAccelerationStructureNV,
-- cmdWriteAccelerationStructuresPropertiesNV ,
-- cmdBuildAccelerationStructuresKHR,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureToMemoryKHR,
-- cmdCopyMemoryToAccelerationStructureKHR, and
-- cmdWriteAccelerationStructuresPropertiesKHR.
pattern PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits
-- | PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT specifies the
-- stage of the pipeline where the predicate of conditional rendering is
-- consumed.
pattern PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits
-- | PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT specifies the stage
-- of the pipeline where vertex attribute output values are written to
-- the transform feedback buffers.
pattern PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits
type PipelineStageFlags = PipelineStageFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Queue.SubmitInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Queue.SubmitInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Queue.SubmitInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Queue.SubmitInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Queue.SubmitInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Queue.SubmitInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Queue.SubmitInfo es)
module Vulkan.Core10.Query
-- | vkCreateQueryPool - Create a new query pool object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- QueryPoolCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pQueryPool must be a valid pointer to a
-- QueryPool handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- QueryPool, QueryPoolCreateInfo
createQueryPool :: forall a io. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> QueryPoolCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io QueryPool
-- | A convenience wrapper to make a compatible pair of calls to
-- createQueryPool and destroyQueryPool
--
-- To ensure that destroyQueryPool 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.
withQueryPool :: forall a io r. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> QueryPoolCreateInfo a -> Maybe AllocationCallbacks -> (io QueryPool -> (QueryPool -> io ()) -> r) -> r
-- | vkDestroyQueryPool - Destroy a query pool object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to queryPool
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- queryPool was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- queryPool was created, pAllocator must be
-- NULL
--
--
-- Note
--
-- Applications can verify that queryPool can be
-- destroyed by checking that getQueryPoolResults() without the
-- QUERY_RESULT_PARTIAL_BIT flag returns SUCCESS for all
-- queries that are used in command buffers submitted for execution.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If queryPool is not NULL_HANDLE,
-- queryPool must be a valid QueryPool handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If queryPool is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to queryPool must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- QueryPool
destroyQueryPool :: forall io. MonadIO io => Device -> QueryPool -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetQueryPoolResults - Copy results of queries in a query pool to a
-- host memory region
--
-- Description
--
-- The range of queries read is defined by [firstQuery,
-- firstQuery + queryCount - 1]. For pipeline
-- statistics queries, each query index in the pool contains one integer
-- value for each bit that is enabled in
-- QueryPoolCreateInfo::pipelineStatistics when the pool
-- is created.
--
-- If no bits are set in flags, and all requested queries are in
-- the available state, results are written as an array of 32-bit
-- unsigned integer values. The behavior when not all queries are
-- available, is described below.
--
-- If QUERY_RESULT_64_BIT is not set and the result overflows a
-- 32-bit value, the value may either wrap or saturate. Similarly,
-- if QUERY_RESULT_64_BIT is set and the result overflows a 64-bit
-- value, the value may either wrap or saturate.
--
-- If QUERY_RESULT_WAIT_BIT is set, Vulkan will wait for each
-- query to be in the available state before retrieving the numerical
-- results for that query. In this case, getQueryPoolResults is
-- guaranteed to succeed and return SUCCESS if the queries become
-- available in a finite time (i.e. if they have been issued and not
-- reset). If queries will never finish (e.g. due to being reset but not
-- issued), then getQueryPoolResults may not return in
-- finite time.
--
-- If QUERY_RESULT_WAIT_BIT and QUERY_RESULT_PARTIAL_BIT
-- are both not set then no result values are written to pData
-- for queries that are in the unavailable state at the time of the call,
-- and getQueryPoolResults returns NOT_READY. However,
-- availability state is still written to pData for those
-- queries if QUERY_RESULT_WITH_AVAILABILITY_BIT is set.
--
-- If QUERY_RESULT_WAIT_BIT is not set, getQueryPoolResults
-- may return NOT_READY if there are queries in the
-- unavailable state.
--
-- Note
--
-- Applications must take care to ensure that use of the
-- QUERY_RESULT_WAIT_BIT bit has the desired effect.
--
-- For example, if a query has been used previously and a command buffer
-- records the commands cmdResetQueryPool, cmdBeginQuery,
-- and cmdEndQuery for that query, then the query will remain in
-- the available state until resetQueryPool is called or the
-- cmdResetQueryPool command executes on a queue. Applications
-- can use fences or events to ensure that a query has already
-- been reset before checking for its results or availability status.
-- Otherwise, a stale value could be returned from a previous use of the
-- query.
--
-- The above also applies when QUERY_RESULT_WAIT_BIT is used in
-- combination with QUERY_RESULT_WITH_AVAILABILITY_BIT. In this
-- case, the returned availability status may reflect the result
-- of a previous use of the query unless resetQueryPool is called
-- or the cmdResetQueryPool command has been executed since the
-- last use of the query.
--
-- Note
--
-- Applications can double-buffer query pool usage, with a pool
-- per frame, and reset queries at the end of the frame in which they are
-- read.
--
-- If QUERY_RESULT_PARTIAL_BIT is set,
-- QUERY_RESULT_WAIT_BIT is not set, and the query’s status is
-- unavailable, an intermediate result value between zero and the final
-- result value is written to pData for that query.
--
-- If QUERY_RESULT_WITH_AVAILABILITY_BIT is set, the final integer
-- value written for each query is non-zero if the query’s status was
-- available or zero if the status was unavailable. When
-- QUERY_RESULT_WITH_AVAILABILITY_BIT is used, implementations
-- must guarantee that if they return a non-zero availability
-- value then the numerical results must be valid, assuming the
-- results are not reset by a subsequent command.
--
-- Note
--
-- Satisfying this guarantee may require careful ordering by the
-- application, e.g. to read the availability status before reading the
-- results.
--
-- Valid Usage
--
--
-- - firstQuery must be less than the number of queries
-- in queryPool
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - flags must be a valid combination of
-- QueryResultFlagBits values
-- - dataSize must be greater than 0
-- - queryPool must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, DeviceSize,
-- QueryPool, QueryResultFlags
getQueryPoolResults :: forall io. MonadIO io => Device -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> io Result
-- | VkQueryPoolCreateInfo - Structure specifying parameters of a newly
-- created query pool
--
-- Description
--
-- pipelineStatistics is ignored if queryType is not
-- QUERY_TYPE_PIPELINE_STATISTICS.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, QueryPipelineStatisticFlags,
-- QueryPoolCreateFlags, QueryType, StructureType,
-- createQueryPool
data QueryPoolCreateInfo (es :: [Type])
QueryPoolCreateInfo :: Chain es -> QueryPoolCreateFlags -> QueryType -> Word32 -> QueryPipelineStatisticFlags -> QueryPoolCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:QueryPoolCreateInfo] :: QueryPoolCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:QueryPoolCreateInfo] :: QueryPoolCreateInfo (es :: [Type]) -> QueryPoolCreateFlags
-- | queryType is a QueryType value specifying the type of
-- queries managed by the pool.
[$sel:queryType:QueryPoolCreateInfo] :: QueryPoolCreateInfo (es :: [Type]) -> QueryType
-- | queryCount is the number of queries managed by the pool.
[$sel:queryCount:QueryPoolCreateInfo] :: QueryPoolCreateInfo (es :: [Type]) -> Word32
-- | pipelineStatistics is a bitmask of
-- QueryPipelineStatisticFlagBits specifying which counters will
-- be returned in queries on the new pool, as described below in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats.
[$sel:pipelineStatistics:QueryPoolCreateInfo] :: QueryPoolCreateInfo (es :: [Type]) -> QueryPipelineStatisticFlags
-- | VkQueryPool - Opaque handle to a query pool object
--
-- See Also
--
-- VK_VERSION_1_0, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdCopyQueryPoolResults,
-- cmdEndQuery, cmdEndQueryIndexedEXT,
-- cmdResetQueryPool,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- createQueryPool, destroyQueryPool,
-- getQueryPoolResults, resetQueryPool,
-- resetQueryPoolEXT
newtype QueryPool
QueryPool :: Word64 -> QueryPool
-- | VkQueryPoolCreateFlags - Reserved for future use
--
-- Description
--
-- QueryPoolCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, QueryPoolCreateInfo
newtype QueryPoolCreateFlags
QueryPoolCreateFlags :: Flags -> QueryPoolCreateFlags
-- | VkQueryType - Specify the type of queries managed by a query pool
--
-- See Also
--
-- VK_VERSION_1_0, QueryPoolCreateInfo,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- writeAccelerationStructuresPropertiesKHR
newtype QueryType
QueryType :: Int32 -> QueryType
-- | QUERY_TYPE_OCCLUSION specifies an occlusion query.
pattern QUERY_TYPE_OCCLUSION :: QueryType
-- | QUERY_TYPE_PIPELINE_STATISTICS specifies a pipeline
-- statistics query.
pattern QUERY_TYPE_PIPELINE_STATISTICS :: QueryType
-- | QUERY_TYPE_TIMESTAMP specifies a timestamp query.
pattern QUERY_TYPE_TIMESTAMP :: QueryType
-- | QUERY_TYPE_PERFORMANCE_QUERY_INTEL specifies a Intel
-- performance query.
pattern QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV specifies a
-- acceleration structure size query for use with
-- cmdWriteAccelerationStructuresPropertiesNV.
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR
-- specifies a serialization acceleration structure size query
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: QueryType
-- | QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR specifies
-- a acceleration structure size query for use with
-- cmdWriteAccelerationStructuresPropertiesKHR or
-- writeAccelerationStructuresPropertiesKHR.
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: QueryType
-- | QUERY_TYPE_PERFORMANCE_QUERY_KHR specifies a performance
-- query.
pattern QUERY_TYPE_PERFORMANCE_QUERY_KHR :: QueryType
-- | QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT specifies a
-- transform feedback query.
pattern QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: QueryType
-- | VkQueryResultFlagBits - Bitmask specifying how and when query results
-- are returned
--
-- See Also
--
-- VK_VERSION_1_0, QueryResultFlags
newtype QueryResultFlagBits
QueryResultFlagBits :: Flags -> QueryResultFlagBits
-- | QUERY_RESULT_64_BIT specifies the results will be written as an
-- array of 64-bit unsigned integer values. If this bit is not set, the
-- results will be written as an array of 32-bit unsigned integer values.
pattern QUERY_RESULT_64_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_WAIT_BIT specifies that Vulkan will wait for each
-- query’s status to become available before retrieving its results.
pattern QUERY_RESULT_WAIT_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_WITH_AVAILABILITY_BIT specifies that the
-- availability status accompanies the results.
pattern QUERY_RESULT_WITH_AVAILABILITY_BIT :: QueryResultFlagBits
-- | QUERY_RESULT_PARTIAL_BIT specifies that returning partial
-- results is acceptable.
pattern QUERY_RESULT_PARTIAL_BIT :: QueryResultFlagBits
type QueryResultFlags = QueryResultFlagBits
-- | VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline
-- statistics
--
-- Description
--
-- These values are intended to measure relative statistics on one
-- implementation. Various device architectures will count these values
-- differently. Any or all counters may be affected by the issues
-- described in Query Operation.
--
-- Note
--
-- For example, tile-based rendering devices may need to replay
-- the scene multiple times, affecting some of the counts.
--
-- If a pipeline has rasterizerDiscardEnable enabled,
-- implementations may discard primitives after the final
-- pre-rasterization shader stage. As a result, if
-- rasterizerDiscardEnable is enabled, the clipping input and
-- output primitives counters may not be incremented.
--
-- When a pipeline statistics query finishes, the result for that query
-- is marked as available. The application can copy the result to
-- a buffer (via cmdCopyQueryPoolResults), or request it be put
-- into host memory (via getQueryPoolResults).
--
-- See Also
--
-- VK_VERSION_1_0, QueryPipelineStatisticFlags
newtype QueryPipelineStatisticFlagBits
QueryPipelineStatisticFlagBits :: Flags -> QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT specifies
-- that queries managed by the pool will count the number of vertices
-- processed by the input assembly stage. Vertices corresponding
-- to incomplete primitives may contribute to the count.
pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT
-- specifies that queries managed by the pool will count the number of
-- primitives processed by the input assembly stage. If primitive
-- restart is enabled, restarting the primitive topology has no effect on
-- the count. Incomplete primitives may be counted.
pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- vertex shader invocations. This counter’s value is incremented each
-- time a vertex shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- geometry shader invocations. This counter’s value is incremented each
-- time a geometry shader is invoked. In the case of instanced
-- geometry shaders, the geometry shader invocations count is
-- incremented for each separate instanced invocation.
pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT
-- specifies that queries managed by the pool will count the number of
-- primitives generated by geometry shader invocations. The counter’s
-- value is incremented each time the geometry shader emits a primitive.
-- Restarting primitive topology using the SPIR-V instructions
-- OpEndPrimitive or OpEndStreamPrimitive has no effect
-- on the geometry shader output primitives count.
pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT specifies
-- that queries managed by the pool will count the number of primitives
-- processed by the Primitive Clipping stage of the pipeline. The
-- counter’s value is incremented each time a primitive reaches the
-- primitive clipping stage.
pattern QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT specifies that
-- queries managed by the pool will count the number of primitives output
-- by the Primitive Clipping stage of the pipeline. The counter’s
-- value is incremented each time a primitive passes the primitive
-- clipping stage. The actual number of primitives output by the
-- primitive clipping stage for a particular input primitive is
-- implementation-dependent but must satisfy the following
-- conditions:
--
--
-- - If at least one vertex of the input primitive lies inside the
-- clipping volume, the counter is incremented by one or more.
-- - Otherwise, the counter is incremented by zero or more.
--
pattern QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- fragment shader invocations. The counter’s value is incremented each
-- time the fragment shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- |
-- QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
-- specifies that queries managed by the pool will count the number of
-- patches processed by the tessellation control shader. The counter’s
-- value is incremented once for each patch for which a tessellation
-- control shader is invoked.
pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: QueryPipelineStatisticFlagBits
-- |
-- QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- invocations of the tessellation evaluation shader. The counter’s value
-- is incremented each time the tessellation evaluation shader is
-- invoked.
pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
-- | QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
-- specifies that queries managed by the pool will count the number of
-- compute shader invocations. The counter’s value is incremented every
-- time the compute shader is invoked. Implementations may skip
-- the execution of certain compute shader invocations or execute
-- additional compute shader invocations for implementation-dependent
-- reasons as long as the results of rendering otherwise remain
-- unchanged.
pattern QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
type QueryPipelineStatisticFlags = QueryPipelineStatisticFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Query.QueryPoolCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Query.QueryPoolCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Query.QueryPoolCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Query.QueryPoolCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Query.QueryPoolCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Query.QueryPoolCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Query.QueryPoolCreateInfo es)
module Vulkan.Core10.Pipeline
-- | vkCreateGraphicsPipelines - Create graphics pipelines
--
-- Description
--
-- The GraphicsPipelineCreateInfo structure includes an array of
-- PipelineShaderStageCreateInfo structures for each of the
-- desired active shader stages, as well as creation information for all
-- relevant fixed-function stages, and a pipeline layout.
--
-- Valid Usage
--
--
-- - If the flags member of any element of
-- pCreateInfos contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and the
-- basePipelineIndex member of that same element is not
-- -1, basePipelineIndex must be less than the
-- index into pCreateInfos that corresponds to that element
--
--
--
--
-- Note
--
-- An implicit cache may be provided by the implementation or a layer.
-- For this reason, it is still valid to set
-- PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT on
-- flags for any element of pCreateInfos while passing
-- NULL_HANDLE for pipelineCache.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipelineCache is not NULL_HANDLE,
-- pipelineCache must be a valid PipelineCache
-- handle
-- - pCreateInfos must be a valid pointer to an array
-- of createInfoCount valid GraphicsPipelineCreateInfo
-- structures
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pPipelines must be a valid pointer to an array of
-- createInfoCount Pipeline handles
-- - createInfoCount must be greater than
-- 0
-- - If pipelineCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- GraphicsPipelineCreateInfo, Pipeline,
-- PipelineCache
createGraphicsPipelines :: forall io. MonadIO io => Device -> PipelineCache -> ("createInfos" ::: Vector (SomeStruct GraphicsPipelineCreateInfo)) -> ("allocator" ::: Maybe AllocationCallbacks) -> io (Result, "pipelines" ::: Vector Pipeline)
-- | A convenience wrapper to make a compatible pair of calls to
-- createGraphicsPipelines and destroyPipeline
--
-- To ensure that destroyPipeline 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.
withGraphicsPipelines :: forall io r. MonadIO io => Device -> PipelineCache -> Vector (SomeStruct GraphicsPipelineCreateInfo) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r
-- | vkCreateComputePipelines - Creates a new compute pipeline object
--
-- Valid Usage
--
--
-- - If the flags member of any element of
-- pCreateInfos contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and the
-- basePipelineIndex member of that same element is not
-- -1, basePipelineIndex must be less than the
-- index into pCreateInfos that corresponds to that element
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipelineCache is not NULL_HANDLE,
-- pipelineCache must be a valid PipelineCache
-- handle
-- - pCreateInfos must be a valid pointer to an array
-- of createInfoCount valid ComputePipelineCreateInfo
-- structures
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pPipelines must be a valid pointer to an array of
-- createInfoCount Pipeline handles
-- - createInfoCount must be greater than
-- 0
-- - If pipelineCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks,
-- ComputePipelineCreateInfo, Device, Pipeline,
-- PipelineCache
createComputePipelines :: forall io. MonadIO io => Device -> PipelineCache -> ("createInfos" ::: Vector (SomeStruct ComputePipelineCreateInfo)) -> ("allocator" ::: Maybe AllocationCallbacks) -> io (Result, "pipelines" ::: Vector Pipeline)
-- | A convenience wrapper to make a compatible pair of calls to
-- createComputePipelines and destroyPipeline
--
-- To ensure that destroyPipeline 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.
withComputePipelines :: forall io r. MonadIO io => Device -> PipelineCache -> Vector (SomeStruct ComputePipelineCreateInfo) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r
-- | vkDestroyPipeline - Destroy a pipeline object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to pipeline must
-- have completed execution
--
--
--
-- - If AllocationCallbacks were provided when pipeline
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when
-- pipeline was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipeline is not NULL_HANDLE, pipeline
-- must be a valid Pipeline handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If pipeline is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to pipeline must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Pipeline
destroyPipeline :: forall io. MonadIO io => Device -> Pipeline -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkViewport - Structure specifying a viewport
--
-- Description
--
-- Note
--
-- Despite their names, minDepth can be less than, equal
-- to, or greater than maxDepth.
--
-- The framebuffer depth coordinate zf may be represented
-- using either a fixed-point or floating-point representation. However,
-- a floating-point representation must be used if the
-- depth/stencil attachment has a floating-point depth component. If an
-- m-bit fixed-point representation is used, we assume that it represents
-- each value <math>, where k ∈ { 0, 1, …, 2m-1 }, as k (e.g. 1.0
-- is represented in binary as a string of all ones).
--
-- The viewport parameters shown in the above equations are found from
-- these values as
--
--
-- - ox = x + width / 2
-- - oy = y + height / 2
-- - oz = minDepth
-- - px = width
-- - py = height
-- - pz = maxDepth - minDepth.
--
--
-- If a render pass transform is enabled, the values (px,py) and (ox, oy)
-- defining the viewport are transformed as described in render pass
-- transform before participating in the viewport transform.
--
-- The application can specify a negative term for
-- height, which has the effect of negating the y coordinate in
-- clip space before performing the transform. When using a negative
-- height, the application should also adjust the
-- y value to point to the lower left corner of the viewport
-- instead of the upper left corner. Using the negative height
-- allows the application to avoid having to negate the y component of
-- the Position output from the last pre-rasterization shader
-- stage.
--
-- The width and height of the implementation-dependent maximum
-- viewport dimensions must be greater than or equal to the
-- width and height of the largest image which can be created and
-- attached to a framebuffer.
--
-- The floating-point viewport bounds are represented with an
-- implementation-dependent precision.
--
-- Valid Usage
--
--
-- - width must be greater than 0.0
--
--
--
-- - width must be less than or equal to
-- PhysicalDeviceLimits::maxViewportDimensions[0]
-- - The absolute value of height must be less than or
-- equal to
-- PhysicalDeviceLimits::maxViewportDimensions[1]
-- - x must be greater than or equal to
-- viewportBoundsRange[0]
-- - (x + width) must be less than or equal to
-- viewportBoundsRange[1]
-- - y must be greater than or equal to
-- viewportBoundsRange[0]
-- - y must be less than or equal to
-- viewportBoundsRange[1]
-- - (y + height) must be greater than or
-- equal to viewportBoundsRange[0]
-- - (y + height) must be less than or equal
-- to viewportBoundsRange[1]
-- - Unless VK_EXT_depth_range_unrestricted extension is
-- enabled minDepth must be between 0.0 and
-- 1.0, inclusive
-- - Unless VK_EXT_depth_range_unrestricted extension is
-- enabled maxDepth must be between 0.0 and
-- 1.0, inclusive
--
--
-- See Also
--
-- VK_VERSION_1_0,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- PipelineViewportStateCreateInfo, cmdSetViewport,
-- cmdSetViewportWithCountEXT
data Viewport
Viewport :: Float -> Float -> Float -> Float -> Float -> Float -> Viewport
-- | x and y are the viewport’s upper left corner (x,y).
[$sel:x:Viewport] :: Viewport -> Float
[$sel:y:Viewport] :: Viewport -> Float
-- | width and height are the viewport’s width and
-- height, respectively.
[$sel:width:Viewport] :: Viewport -> Float
[$sel:height:Viewport] :: Viewport -> Float
-- | minDepth and maxDepth are the depth range for the
-- viewport.
[$sel:minDepth:Viewport] :: Viewport -> Float
[$sel:maxDepth:Viewport] :: Viewport -> Float
-- | VkSpecializationMapEntry - Structure specifying a specialization map
-- entry
--
-- Description
--
-- If a constantID value is not a specialization constant ID
-- used in the shader, that map entry does not affect the behavior of the
-- pipeline.
--
-- Valid Usage
--
--
-- - For a constantID specialization constant declared in a
-- shader, size must match the byte size of the
-- constantID. If the specialization constant is of type
-- boolean, size must be the byte size of
-- Bool32
--
--
-- See Also
--
-- VK_VERSION_1_0, SpecializationInfo
data SpecializationMapEntry
SpecializationMapEntry :: Word32 -> Word32 -> Word64 -> SpecializationMapEntry
-- | constantID is the ID of the specialization constant in
-- SPIR-V.
[$sel:constantID:SpecializationMapEntry] :: SpecializationMapEntry -> Word32
-- | offset is the byte offset of the specialization constant
-- value within the supplied data buffer.
[$sel:offset:SpecializationMapEntry] :: SpecializationMapEntry -> Word32
-- | size is the byte size of the specialization constant value
-- within the supplied data buffer.
[$sel:size:SpecializationMapEntry] :: SpecializationMapEntry -> Word64
-- | VkSpecializationInfo - Structure specifying specialization information
--
-- Valid Usage
--
--
-- - The offset member of each element of pMapEntries
-- must be less than dataSize
--
--
--
-- - The size member of each element of pMapEntries
-- must be less than or equal to dataSize minus
-- offset
-- - The constantID value of each element of
-- pMapEntries must be unique within
-- pMapEntries
--
--
-- Valid Usage (Implicit)
--
--
-- - If mapEntryCount is not 0, pMapEntries
-- must be a valid pointer to an array of mapEntryCount
-- valid SpecializationMapEntry structures
--
--
--
-- - If dataSize is not 0, pData must
-- be a valid pointer to an array of dataSize bytes
--
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- SpecializationMapEntry
data SpecializationInfo
SpecializationInfo :: Vector SpecializationMapEntry -> Word64 -> Ptr () -> SpecializationInfo
-- | pMapEntries is a pointer to an array of
-- SpecializationMapEntry structures which map constant IDs to
-- offsets in pData.
[$sel:mapEntries:SpecializationInfo] :: SpecializationInfo -> Vector SpecializationMapEntry
-- | dataSize is the byte size of the pData buffer.
[$sel:dataSize:SpecializationInfo] :: SpecializationInfo -> Word64
-- | pData contains the actual constant values to specialize with.
[$sel:data':SpecializationInfo] :: SpecializationInfo -> Ptr ()
-- | VkPipelineShaderStageCreateInfo - Structure specifying parameters of a
-- newly created pipeline shader stage
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- stage must not be
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT or
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT
-- - If the mesh shader feature is not enabled, stage
-- must not be SHADER_STAGE_MESH_BIT_NV
-- - If the task shader feature is not enabled, stage
-- must not be SHADER_STAGE_TASK_BIT_NV
-- - stage must not be
-- SHADER_STAGE_ALL_GRAPHICS, or SHADER_STAGE_ALL
-- - pName must be the name of an OpEntryPoint
-- in module with an execution model that matches
-- stage
-- - If the identified entry point includes any variable in its
-- interface that is declared with the ClipDistance
-- BuiltIn decoration, that variable must not have an
-- array size greater than
-- PhysicalDeviceLimits::maxClipDistances
-- - If the identified entry point includes any variable in its
-- interface that is declared with the CullDistance
-- BuiltIn decoration, that variable must not have an
-- array size greater than
-- PhysicalDeviceLimits::maxCullDistances
-- - If the identified entry point includes any variables in its
-- interface that are declared with the ClipDistance or
-- CullDistance BuiltIn decoration, those variables
-- must not have array sizes which sum to more than
-- PhysicalDeviceLimits::maxCombinedClipAndCullDistances
-- - If the identified entry point includes any variable in its
-- interface that is declared with the SampleMask BuiltIn
-- decoration, that variable must not have an array size greater
-- than PhysicalDeviceLimits::maxSampleMaskWords
-- - If stage is SHADER_STAGE_VERTEX_BIT, the
-- identified entry point must not include any input variable in
-- its interface that is decorated with CullDistance
-- - If stage is SHADER_STAGE_TESSELLATION_CONTROL_BIT
-- or SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified
-- entry point has an OpExecutionMode instruction specifying a
-- patch size with OutputVertices, the patch size must be
-- greater than 0 and less than or equal to
-- PhysicalDeviceLimits::maxTessellationPatchSize
-- - If stage is SHADER_STAGE_GEOMETRY_BIT, the
-- identified entry point must have an OpExecutionMode
-- instruction specifying a maximum output vertex count that is greater
-- than 0 and less than or equal to
-- PhysicalDeviceLimits::maxGeometryOutputVertices
-- - If stage is SHADER_STAGE_GEOMETRY_BIT, the
-- identified entry point must have an OpExecutionMode
-- instruction specifying an invocation count that is greater than
-- 0 and less than or equal to
-- PhysicalDeviceLimits::maxGeometryShaderInvocations
-- - If stage is a pre-rasterization shader stage, and
-- the identified entry point writes to Layer for any primitive,
-- it must write the same value to Layer for all vertices
-- of a given primitive
-- - If stage is a pre-rasterization shader stage, and
-- the identified entry point writes to ViewportIndex for any
-- primitive, it must write the same value to
-- ViewportIndex for all vertices of a given primitive
-- - If stage is SHADER_STAGE_FRAGMENT_BIT, the
-- identified entry point must not include any output variables in
-- its interface decorated with CullDistance
-- - If stage is SHADER_STAGE_FRAGMENT_BIT, and the
-- identified entry point writes to FragDepth in any execution
-- path, it must write to FragDepth in all execution
-- paths
-- - If stage is SHADER_STAGE_FRAGMENT_BIT, and the
-- identified entry point writes to FragStencilRefEXT in any
-- execution path, it must write to FragStencilRefEXT in
-- all execution paths
-- - If stage is SHADER_STAGE_MESH_BIT_NV, the
-- identified entry point must have an OpExecutionMode
-- instruction specifying a maximum output vertex count,
-- OutputVertices, that is greater than 0 and less than
-- or equal to
-- PhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices
-- - If stage is SHADER_STAGE_MESH_BIT_NV, the
-- identified entry point must have an OpExecutionMode
-- instruction specifying a maximum output primitive count,
-- OutputPrimitivesNV, that is greater than 0 and less
-- than or equal to
-- PhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives
-- - If flags has the
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- flag set, the subgroupSizeControl feature must be
-- enabled
-- - If flags has the
-- PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- flag set, the computeFullSubgroups feature must be
-- enabled
-- - If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- structure is included in the pNext chain, flags
-- must not have the
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- flag set
-- - If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- structure is included in the pNext chain, the
-- subgroupSizeControl feature must be enabled, and
-- stage must be a valid bit specified in
-- requiredSubgroupSizeStages
-- - If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- structure is included in the pNext chain and stage
-- is SHADER_STAGE_COMPUTE_BIT, the local workgroup size of the
-- shader must be less than or equal to the product of
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::requiredSubgroupSize
-- and maxComputeWorkgroupSubgroups
-- - If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
-- structure is included in the pNext chain, and flags
-- has the
-- PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- flag set, the local workgroup size in the X dimension of the pipeline
-- must be a multiple of
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::requiredSubgroupSize
-- - If flags has both the
-- PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT and
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- flags set, the local workgroup size in the X dimension of the pipeline
-- must be a multiple of maxSubgroupSize
-- - If flags has the
-- PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- flag set and flags does not have the
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- flag set and no
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure
-- is included in the pNext chain, the local workgroup size in
-- the X dimension of the pipeline must be a multiple of
-- subgroupSize
-- - The SPIR-V code that was used to create module
-- must be valid as described by the Khronos SPIR-V
-- Specification after applying the specializations provided in
-- pSpecializationInfo, if any, and then converting all
-- specialization constants into fixed constants
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- GraphicsPipelineCreateInfo,
-- GraphicsShaderGroupCreateInfoNV,
-- PipelineShaderStageCreateFlags,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, ShaderModule,
-- ShaderStageFlagBits, SpecializationInfo,
-- StructureType
data PipelineShaderStageCreateInfo (es :: [Type])
PipelineShaderStageCreateInfo :: Chain es -> PipelineShaderStageCreateFlags -> ShaderStageFlagBits -> ShaderModule -> ByteString -> Maybe SpecializationInfo -> PipelineShaderStageCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of
-- PipelineShaderStageCreateFlagBits specifying how the pipeline
-- shader stage will be generated.
[$sel:flags:PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> PipelineShaderStageCreateFlags
-- | stage is a ShaderStageFlagBits value specifying a
-- single pipeline stage.
[$sel:stage:PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> ShaderStageFlagBits
-- | module is a ShaderModule object containing the shader
-- for this stage.
[$sel:module':PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> ShaderModule
-- | pName is a pointer to a null-terminated UTF-8 string
-- specifying the entry point name of the shader for this stage.
[$sel:name:PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> ByteString
-- | pSpecializationInfo is a pointer to a
-- SpecializationInfo structure, as described in Specialization
-- Constants, or NULL.
[$sel:specializationInfo:PipelineShaderStageCreateInfo] :: PipelineShaderStageCreateInfo (es :: [Type]) -> Maybe SpecializationInfo
-- | VkComputePipelineCreateInfo - Structure specifying parameters of a
-- newly created compute pipeline
--
-- Description
--
-- The parameters basePipelineHandle and
-- basePipelineIndex are described in more detail in Pipeline
-- Derivatives.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Pipeline, PipelineCreateFlags,
-- PipelineLayout, PipelineShaderStageCreateInfo,
-- StructureType, createComputePipelines
data ComputePipelineCreateInfo (es :: [Type])
ComputePipelineCreateInfo :: Chain es -> PipelineCreateFlags -> SomeStruct PipelineShaderStageCreateInfo -> PipelineLayout -> Pipeline -> Int32 -> ComputePipelineCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of PipelineCreateFlagBits
-- specifying how the pipeline will be generated.
[$sel:flags:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> PipelineCreateFlags
-- | stage is a PipelineShaderStageCreateInfo structure
-- describing the compute shader.
[$sel:stage:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> SomeStruct PipelineShaderStageCreateInfo
-- | layout is the description of binding locations used by both
-- the pipeline and descriptor sets used with the pipeline.
[$sel:layout:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> PipelineLayout
-- | basePipelineHandle is a pipeline to derive from
[$sel:basePipelineHandle:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> Pipeline
-- | basePipelineIndex is an index into the pCreateInfos
-- parameter to use as a pipeline to derive from
[$sel:basePipelineIndex:ComputePipelineCreateInfo] :: ComputePipelineCreateInfo (es :: [Type]) -> Int32
-- | VkVertexInputBindingDescription - Structure specifying vertex input
-- binding description
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, PipelineVertexInputStateCreateInfo,
-- VertexInputRate
data VertexInputBindingDescription
VertexInputBindingDescription :: Word32 -> Word32 -> VertexInputRate -> VertexInputBindingDescription
-- | binding is the binding number that this structure describes.
[$sel:binding:VertexInputBindingDescription] :: VertexInputBindingDescription -> Word32
-- | stride is the byte stride between consecutive elements within
-- the buffer.
[$sel:stride:VertexInputBindingDescription] :: VertexInputBindingDescription -> Word32
-- | inputRate is a VertexInputRate value specifying
-- whether vertex attribute addressing is a function of the vertex index
-- or of the instance index.
[$sel:inputRate:VertexInputBindingDescription] :: VertexInputBindingDescription -> VertexInputRate
-- | VkVertexInputAttributeDescription - Structure specifying vertex input
-- attribute description
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - format must be a valid Format value
--
--
-- See Also
--
-- VK_VERSION_1_0, Format,
-- PipelineVertexInputStateCreateInfo
data VertexInputAttributeDescription
VertexInputAttributeDescription :: Word32 -> Word32 -> Format -> Word32 -> VertexInputAttributeDescription
-- | location is the shader input location number for this
-- attribute.
[$sel:location:VertexInputAttributeDescription] :: VertexInputAttributeDescription -> Word32
-- | binding is the binding number which this attribute takes its
-- data from.
[$sel:binding:VertexInputAttributeDescription] :: VertexInputAttributeDescription -> Word32
-- | format is the size and type of the vertex attribute data.
[$sel:format:VertexInputAttributeDescription] :: VertexInputAttributeDescription -> Format
-- | offset is a byte offset of this attribute relative to the
-- start of an element in the vertex input binding.
[$sel:offset:VertexInputAttributeDescription] :: VertexInputAttributeDescription -> Word32
-- | VkPipelineVertexInputStateCreateInfo - Structure specifying parameters
-- of a newly created pipeline vertex input state
--
-- Valid Usage
--
--
-- - vertexBindingDescriptionCount must be less than or
-- equal to
-- PhysicalDeviceLimits::maxVertexInputBindings
--
--
--
-- - vertexAttributeDescriptionCount must be less than
-- or equal to
-- PhysicalDeviceLimits::maxVertexInputAttributes
-- - For every binding specified by each element of
-- pVertexAttributeDescriptions, a
-- VertexInputBindingDescription must exist in
-- pVertexBindingDescriptions with the same value of
-- binding
-- - All elements of pVertexBindingDescriptions must
-- describe distinct binding numbers
-- - All elements of pVertexAttributeDescriptions must
-- describe distinct attribute locations
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of
-- PipelineVertexInputDivisorStateCreateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be 0
-- - If vertexBindingDescriptionCount is not 0,
-- pVertexBindingDescriptions must be a valid pointer to
-- an array of vertexBindingDescriptionCount valid
-- VertexInputBindingDescription structures
-- - If vertexAttributeDescriptionCount is not 0,
-- pVertexAttributeDescriptions must be a valid pointer
-- to an array of vertexAttributeDescriptionCount valid
-- VertexInputAttributeDescription structures
--
--
-- See Also
--
-- VK_VERSION_1_0, GraphicsPipelineCreateInfo,
-- GraphicsShaderGroupCreateInfoNV,
-- PipelineVertexInputStateCreateFlags, StructureType,
-- VertexInputAttributeDescription,
-- VertexInputBindingDescription
data PipelineVertexInputStateCreateInfo (es :: [Type])
PipelineVertexInputStateCreateInfo :: Chain es -> PipelineVertexInputStateCreateFlags -> Vector VertexInputBindingDescription -> Vector VertexInputAttributeDescription -> PipelineVertexInputStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineVertexInputStateCreateInfo] :: PipelineVertexInputStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:PipelineVertexInputStateCreateInfo] :: PipelineVertexInputStateCreateInfo (es :: [Type]) -> PipelineVertexInputStateCreateFlags
-- | pVertexBindingDescriptions is a pointer to an array of
-- VertexInputBindingDescription structures.
[$sel:vertexBindingDescriptions:PipelineVertexInputStateCreateInfo] :: PipelineVertexInputStateCreateInfo (es :: [Type]) -> Vector VertexInputBindingDescription
-- | pVertexAttributeDescriptions is a pointer to an array of
-- VertexInputAttributeDescription structures.
[$sel:vertexAttributeDescriptions:PipelineVertexInputStateCreateInfo] :: PipelineVertexInputStateCreateInfo (es :: [Type]) -> Vector VertexInputAttributeDescription
-- | VkPipelineInputAssemblyStateCreateInfo - Structure specifying
-- parameters of a newly created pipeline input assembly state
--
-- Description
--
-- Restarting the assembly of primitives discards the most recent index
-- values if those elements formed an incomplete primitive, and restarts
-- the primitive assembly using the subsequent indices, but only
-- assembling the immediately following element through the end of the
-- originally specified elements. The primitive restart index value
-- comparison is performed before adding the vertexOffset value
-- to the index value.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - topology must be a valid PrimitiveTopology
-- value
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32,
-- GraphicsPipelineCreateInfo,
-- PipelineInputAssemblyStateCreateFlags,
-- PrimitiveTopology, StructureType
data PipelineInputAssemblyStateCreateInfo
PipelineInputAssemblyStateCreateInfo :: PipelineInputAssemblyStateCreateFlags -> PrimitiveTopology -> Bool -> PipelineInputAssemblyStateCreateInfo
-- | flags is reserved for future use.
[$sel:flags:PipelineInputAssemblyStateCreateInfo] :: PipelineInputAssemblyStateCreateInfo -> PipelineInputAssemblyStateCreateFlags
-- | topology is a PrimitiveTopology defining the primitive
-- topology, as described below.
[$sel:topology:PipelineInputAssemblyStateCreateInfo] :: PipelineInputAssemblyStateCreateInfo -> PrimitiveTopology
-- | primitiveRestartEnable controls whether a special vertex
-- index value is treated as restarting the assembly of primitives. This
-- enable only applies to indexed draws (cmdDrawIndexed,
-- cmdDrawMultiIndexedEXT, and cmdDrawIndexedIndirect), and
-- the special index value is either 0xFFFFFFFF when the
-- indexType parameter of cmdBindIndexBuffer is equal to
-- INDEX_TYPE_UINT32, 0xFF when indexType is equal to
-- INDEX_TYPE_UINT8_EXT, or 0xFFFF when indexType is
-- equal to INDEX_TYPE_UINT16. Primitive restart is not allowed
-- for “list” topologies, unless one of the features
-- primitiveTopologyPatchListRestart (for
-- PRIMITIVE_TOPOLOGY_PATCH_LIST) or
-- primitiveTopologyListRestart (for all other list topologies) is
-- enabled.
[$sel:primitiveRestartEnable:PipelineInputAssemblyStateCreateInfo] :: PipelineInputAssemblyStateCreateInfo -> Bool
-- | VkPipelineTessellationStateCreateInfo - Structure specifying
-- parameters of a newly created pipeline tessellation state
--
-- Valid Usage
--
--
-- - patchControlPoints must be greater than zero and
-- less than or equal to
-- PhysicalDeviceLimits::maxTessellationPatchSize
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, GraphicsPipelineCreateInfo,
-- GraphicsShaderGroupCreateInfoNV,
-- PipelineTessellationStateCreateFlags, StructureType
data PipelineTessellationStateCreateInfo (es :: [Type])
PipelineTessellationStateCreateInfo :: Chain es -> PipelineTessellationStateCreateFlags -> Word32 -> PipelineTessellationStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineTessellationStateCreateInfo] :: PipelineTessellationStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:PipelineTessellationStateCreateInfo] :: PipelineTessellationStateCreateInfo (es :: [Type]) -> PipelineTessellationStateCreateFlags
-- | patchControlPoints is the number of control points per patch.
[$sel:patchControlPoints:PipelineTessellationStateCreateInfo] :: PipelineTessellationStateCreateInfo (es :: [Type]) -> Word32
-- | VkPipelineViewportStateCreateInfo - Structure specifying parameters of
-- a newly created pipeline viewport state
--
-- Valid Usage
--
--
-- - If the multiple viewports feature is not enabled,
-- viewportCount must not be greater than 1
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, GraphicsPipelineCreateInfo,
-- PipelineViewportStateCreateFlags, Rect2D,
-- StructureType, Viewport
data PipelineViewportStateCreateInfo (es :: [Type])
PipelineViewportStateCreateInfo :: Chain es -> PipelineViewportStateCreateFlags -> Word32 -> Vector Viewport -> Word32 -> Vector Rect2D -> PipelineViewportStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> PipelineViewportStateCreateFlags
-- | viewportCount is the number of viewports used by the
-- pipeline.
[$sel:viewportCount:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> Word32
-- | pViewports is a pointer to an array of Viewport
-- structures, defining the viewport transforms. If the viewport state is
-- dynamic, this member is ignored.
[$sel:viewports:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> Vector Viewport
-- | scissorCount is the number of scissors and must
-- match the number of viewports.
[$sel:scissorCount:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> Word32
-- | pScissors is a pointer to an array of Rect2D
-- structures defining the rectangular bounds of the scissor for the
-- corresponding viewport. If the scissor state is dynamic, this member
-- is ignored.
[$sel:scissors:PipelineViewportStateCreateInfo] :: PipelineViewportStateCreateInfo (es :: [Type]) -> Vector Rect2D
-- | VkPipelineRasterizationStateCreateInfo - Structure specifying
-- parameters of a newly created pipeline rasterization state
--
-- Description
--
-- The application can also add a
-- PipelineRasterizationStateRasterizationOrderAMD structure to
-- the pNext chain of a
-- PipelineRasterizationStateCreateInfo structure. This structure
-- enables selecting the rasterization order to use when rendering with
-- the corresponding graphics pipeline as described in Rasterization
-- Order.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, CullModeFlags,
-- FrontFace, GraphicsPipelineCreateInfo,
-- PipelineRasterizationStateCreateFlags, PolygonMode,
-- StructureType
data PipelineRasterizationStateCreateInfo (es :: [Type])
PipelineRasterizationStateCreateInfo :: Chain es -> PipelineRasterizationStateCreateFlags -> Bool -> Bool -> PolygonMode -> CullModeFlags -> FrontFace -> Bool -> Float -> Float -> Float -> Float -> PipelineRasterizationStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> PipelineRasterizationStateCreateFlags
-- | depthClampEnable controls whether to clamp the fragment’s
-- depth values as described in Depth Test. If the pipeline is not
-- created with PipelineRasterizationDepthClipStateCreateInfoEXT
-- present then enabling depth clamp will also disable clipping
-- primitives to the z planes of the frustrum as described in
-- Primitive Clipping. Otherwise depth clipping is controlled by
-- the state set in
-- PipelineRasterizationDepthClipStateCreateInfoEXT.
[$sel:depthClampEnable:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Bool
-- | rasterizerDiscardEnable controls whether primitives are
-- discarded immediately before the rasterization stage.
[$sel:rasterizerDiscardEnable:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Bool
-- | polygonMode is the triangle rendering mode. See
-- PolygonMode.
[$sel:polygonMode:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> PolygonMode
-- | cullMode is the triangle facing direction used for primitive
-- culling. See CullModeFlagBits.
[$sel:cullMode:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> CullModeFlags
-- | frontFace is a FrontFace value specifying the
-- front-facing triangle orientation to be used for culling.
[$sel:frontFace:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> FrontFace
-- | depthBiasEnable controls whether to bias fragment depth
-- values.
[$sel:depthBiasEnable:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Bool
-- | depthBiasConstantFactor is a scalar factor controlling the
-- constant depth value added to each fragment.
[$sel:depthBiasConstantFactor:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Float
-- | depthBiasClamp is the maximum (or minimum) depth bias of a
-- fragment.
[$sel:depthBiasClamp:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Float
-- | depthBiasSlopeFactor is a scalar factor applied to a
-- fragment’s slope in depth bias calculations.
[$sel:depthBiasSlopeFactor:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Float
-- | lineWidth is the width of rasterized line segments.
[$sel:lineWidth:PipelineRasterizationStateCreateInfo] :: PipelineRasterizationStateCreateInfo (es :: [Type]) -> Float
-- | VkPipelineMultisampleStateCreateInfo - Structure specifying parameters
-- of a newly created pipeline multisample state
--
-- Description
--
-- Each bit in the sample mask is associated with a unique sample
-- index as defined for the coverage mask. Each bit b for mask
-- word w in the sample mask corresponds to sample index i, where i = 32
-- × w + b. pSampleMask has a length equal to ⌈
-- rasterizationSamples / 32 ⌉ words.
--
-- If pSampleMask is NULL, it is treated as if the mask
-- has all bits set to 1.
--
-- Valid Usage
--
--
--
--
-- - If the alpha to one feature is not enabled,
-- alphaToOneEnable must be FALSE
-- - minSampleShading must be in the range [0,1]
-- - If the VK_NV_framebuffer_mixed_samples extension is
-- enabled, and if the subpass has any color attachments and
-- rasterizationSamples is greater than the number of color
-- samples, then sampleShadingEnable must be
-- FALSE
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32,
-- GraphicsPipelineCreateInfo,
-- PipelineMultisampleStateCreateFlags,
-- SampleCountFlagBits, SampleMask, StructureType
data PipelineMultisampleStateCreateInfo (es :: [Type])
PipelineMultisampleStateCreateInfo :: Chain es -> PipelineMultisampleStateCreateFlags -> SampleCountFlagBits -> Bool -> Float -> Vector SampleMask -> Bool -> Bool -> PipelineMultisampleStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> PipelineMultisampleStateCreateFlags
-- | rasterizationSamples is a SampleCountFlagBits value
-- specifying the number of samples used in rasterization.
[$sel:rasterizationSamples:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> SampleCountFlagBits
-- | sampleShadingEnable can be used to enable Sample
-- Shading.
[$sel:sampleShadingEnable:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Bool
-- | minSampleShading specifies a minimum fraction of sample
-- shading if sampleShadingEnable is set to TRUE.
[$sel:minSampleShading:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Float
-- | pSampleMask is a pointer to an array of SampleMask
-- values used in the sample mask test.
[$sel:sampleMask:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Vector SampleMask
-- | alphaToCoverageEnable controls whether a temporary coverage
-- value is generated based on the alpha component of the fragment’s
-- first color output as specified in the Multisample Coverage
-- section.
[$sel:alphaToCoverageEnable:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Bool
-- | alphaToOneEnable controls whether the alpha component of the
-- fragment’s first color output is replaced with one as described in
-- Multisample Coverage.
[$sel:alphaToOneEnable:PipelineMultisampleStateCreateInfo] :: PipelineMultisampleStateCreateInfo (es :: [Type]) -> Bool
-- | VkPipelineColorBlendAttachmentState - Structure specifying a pipeline
-- color blend attachment state
--
-- Valid Usage
--
--
--
--
-- - If the dual source blending feature is not enabled,
-- dstColorBlendFactor must not be
-- BLEND_FACTOR_SRC1_COLOR,
-- BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
-- BLEND_FACTOR_SRC1_ALPHA, or
-- BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
-- - If the dual source blending feature is not enabled,
-- srcAlphaBlendFactor must not be
-- BLEND_FACTOR_SRC1_COLOR,
-- BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
-- BLEND_FACTOR_SRC1_ALPHA, or
-- BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
-- - If the dual source blending feature is not enabled,
-- dstAlphaBlendFactor must not be
-- BLEND_FACTOR_SRC1_COLOR,
-- BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
-- BLEND_FACTOR_SRC1_ALPHA, or
-- BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
-- - If either of colorBlendOp or alphaBlendOp is an
-- advanced blend operation, then colorBlendOp
-- must equal alphaBlendOp
-- - If
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT::advancedBlendIndependentBlend
-- is FALSE and colorBlendOp is an advanced blend
-- operation, then colorBlendOp must be the same for
-- all attachments
-- - If
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT::advancedBlendIndependentBlend
-- is FALSE and alphaBlendOp is an advanced blend
-- operation, then alphaBlendOp must be the same for
-- all attachments
-- - If
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT::advancedBlendAllOperations
-- is FALSE, then colorBlendOp must not be
-- BLEND_OP_ZERO_EXT, BLEND_OP_SRC_EXT,
-- BLEND_OP_DST_EXT, BLEND_OP_SRC_OVER_EXT,
-- BLEND_OP_DST_OVER_EXT, BLEND_OP_SRC_IN_EXT,
-- BLEND_OP_DST_IN_EXT, BLEND_OP_SRC_OUT_EXT,
-- BLEND_OP_DST_OUT_EXT, BLEND_OP_SRC_ATOP_EXT,
-- BLEND_OP_DST_ATOP_EXT, BLEND_OP_XOR_EXT,
-- BLEND_OP_INVERT_EXT, BLEND_OP_INVERT_RGB_EXT,
-- BLEND_OP_LINEARDODGE_EXT, BLEND_OP_LINEARBURN_EXT,
-- BLEND_OP_VIVIDLIGHT_EXT, BLEND_OP_LINEARLIGHT_EXT,
-- BLEND_OP_PINLIGHT_EXT, BLEND_OP_HARDMIX_EXT,
-- BLEND_OP_PLUS_EXT, BLEND_OP_PLUS_CLAMPED_EXT,
-- BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
-- BLEND_OP_PLUS_DARKER_EXT, BLEND_OP_MINUS_EXT,
-- BLEND_OP_MINUS_CLAMPED_EXT, BLEND_OP_CONTRAST_EXT,
-- BLEND_OP_INVERT_OVG_EXT, BLEND_OP_RED_EXT,
-- BLEND_OP_GREEN_EXT, or BLEND_OP_BLUE_EXT
-- - If colorBlendOp or alphaBlendOp is an
-- advanced blend operation, then colorAttachmentCount of
-- the subpass this pipeline is compiled against must be less than
-- or equal to
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT::advancedBlendMaxColorAttachments
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::constantAlphaColorBlendFactors
-- is FALSE, srcColorBlendFactor must not be
-- BLEND_FACTOR_CONSTANT_ALPHA or
-- BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::constantAlphaColorBlendFactors
-- is FALSE, dstColorBlendFactor must not be
-- BLEND_FACTOR_CONSTANT_ALPHA or
-- BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
--
--
-- Valid Usage (Implicit)
--
--
-- - srcColorBlendFactor must be a valid
-- BlendFactor value
--
--
--
-- - dstColorBlendFactor must be a valid
-- BlendFactor value
-- - colorBlendOp must be a valid BlendOp
-- value
-- - srcAlphaBlendFactor must be a valid
-- BlendFactor value
-- - dstAlphaBlendFactor must be a valid
-- BlendFactor value
-- - alphaBlendOp must be a valid BlendOp
-- value
-- - colorWriteMask must be a valid combination of
-- ColorComponentFlagBits values
--
--
-- See Also
--
-- VK_VERSION_1_0, BlendFactor, BlendOp,
-- Bool32, ColorComponentFlags,
-- PipelineColorBlendStateCreateInfo
data PipelineColorBlendAttachmentState
PipelineColorBlendAttachmentState :: Bool -> BlendFactor -> BlendFactor -> BlendOp -> BlendFactor -> BlendFactor -> BlendOp -> ColorComponentFlags -> PipelineColorBlendAttachmentState
-- | blendEnable controls whether blending is enabled for the
-- corresponding color attachment. If blending is not enabled, the source
-- fragment’s color for that attachment is passed through unmodified.
[$sel:blendEnable:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> Bool
-- | srcColorBlendFactor selects which blend factor is used to
-- determine the source factors (Sr,Sg,Sb).
[$sel:srcColorBlendFactor:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendFactor
-- | dstColorBlendFactor selects which blend factor is used to
-- determine the destination factors (Dr,Dg,Db).
[$sel:dstColorBlendFactor:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendFactor
-- | colorBlendOp selects which blend operation is used to
-- calculate the RGB values to write to the color attachment.
[$sel:colorBlendOp:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendOp
-- | srcAlphaBlendFactor selects which blend factor is used to
-- determine the source factor Sa.
[$sel:srcAlphaBlendFactor:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendFactor
-- | dstAlphaBlendFactor selects which blend factor is used to
-- determine the destination factor Da.
[$sel:dstAlphaBlendFactor:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendFactor
-- | alphaBlendOp selects which blend operation is use to
-- calculate the alpha values to write to the color attachment.
[$sel:alphaBlendOp:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> BlendOp
-- | colorWriteMask is a bitmask of ColorComponentFlagBits
-- specifying which of the R, G, B, and/or A components are enabled for
-- writing, as described for the Color Write Mask.
[$sel:colorWriteMask:PipelineColorBlendAttachmentState] :: PipelineColorBlendAttachmentState -> ColorComponentFlags
-- | VkPipelineColorBlendStateCreateInfo - Structure specifying parameters
-- of a newly created pipeline color blend state
--
-- Description
--
-- Each element of the pAttachments array is a
-- PipelineColorBlendAttachmentState structure specifying
-- per-target blending state for each individual color attachment. If the
-- independent blending feature is not enabled on the device, all
-- PipelineColorBlendAttachmentState elements in the
-- pAttachments array must be identical.
--
-- The value of attachmentCount must be greater than the
-- index of all color attachments that are not ATTACHMENT_UNUSED
-- in SubpassDescription::pColorAttachments or
-- SubpassDescription2::pColorAttachments for the subpass
-- in which this pipeline is used.
--
-- Valid Usage
--
--
-- - If the independent blending feature is not enabled, all
-- elements of pAttachments must be identical
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32,
-- GraphicsPipelineCreateInfo, LogicOp,
-- PipelineColorBlendAttachmentState,
-- PipelineColorBlendStateCreateFlags, StructureType
data PipelineColorBlendStateCreateInfo (es :: [Type])
PipelineColorBlendStateCreateInfo :: Chain es -> PipelineColorBlendStateCreateFlags -> Bool -> LogicOp -> Vector PipelineColorBlendAttachmentState -> (Float, Float, Float, Float) -> PipelineColorBlendStateCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of
-- PipelineColorBlendStateCreateFlagBits specifying additional
-- color blending information.
[$sel:flags:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> PipelineColorBlendStateCreateFlags
-- | logicOpEnable controls whether to apply Logical
-- Operations.
[$sel:logicOpEnable:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> Bool
-- | logicOp selects which logical operation to apply.
[$sel:logicOp:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> LogicOp
-- | pAttachments is a pointer to an array of per target
-- attachment states.
[$sel:attachments:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> Vector PipelineColorBlendAttachmentState
-- | blendConstants is a pointer to an array of four values used
-- as the R, G, B, and A components of the blend constant that are used
-- in blending, depending on the blend factor.
[$sel:blendConstants:PipelineColorBlendStateCreateInfo] :: PipelineColorBlendStateCreateInfo (es :: [Type]) -> (Float, Float, Float, Float)
-- | VkPipelineDynamicStateCreateInfo - Structure specifying parameters of
-- a newly created pipeline dynamic state
--
-- Valid Usage
--
--
-- - Each element of pDynamicStates must be unique
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be 0
-- - If dynamicStateCount is not 0,
-- pDynamicStates must be a valid pointer to an array of
-- dynamicStateCount valid DynamicState values
--
--
-- See Also
--
-- VK_VERSION_1_0, DynamicState,
-- GraphicsPipelineCreateInfo,
-- PipelineDynamicStateCreateFlags,
-- RayTracingPipelineCreateInfoKHR, StructureType
data PipelineDynamicStateCreateInfo
PipelineDynamicStateCreateInfo :: PipelineDynamicStateCreateFlags -> Vector DynamicState -> PipelineDynamicStateCreateInfo
-- | flags is reserved for future use.
[$sel:flags:PipelineDynamicStateCreateInfo] :: PipelineDynamicStateCreateInfo -> PipelineDynamicStateCreateFlags
-- | pDynamicStates is a pointer to an array of
-- DynamicState values specifying which pieces of pipeline state
-- will use the values from dynamic state commands rather than from
-- pipeline state creation information.
[$sel:dynamicStates:PipelineDynamicStateCreateInfo] :: PipelineDynamicStateCreateInfo -> Vector DynamicState
-- | VkStencilOpState - Structure specifying stencil operation state
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, CompareOp,
-- PipelineDepthStencilStateCreateInfo, StencilOp
data StencilOpState
StencilOpState :: StencilOp -> StencilOp -> StencilOp -> CompareOp -> Word32 -> Word32 -> Word32 -> StencilOpState
-- | failOp is a StencilOp value specifying the action
-- performed on samples that fail the stencil test.
--
-- failOp must be a valid StencilOp value
[$sel:failOp:StencilOpState] :: StencilOpState -> StencilOp
-- | passOp is a StencilOp value specifying the action
-- performed on samples that pass both the depth and stencil tests.
--
-- passOp must be a valid StencilOp value
[$sel:passOp:StencilOpState] :: StencilOpState -> StencilOp
-- | depthFailOp is a StencilOp value specifying the action
-- performed on samples that pass the stencil test and fail the depth
-- test.
--
-- depthFailOp must be a valid StencilOp value
[$sel:depthFailOp:StencilOpState] :: StencilOpState -> StencilOp
-- | compareOp is a CompareOp value specifying the
-- comparison operator used in the stencil test.
--
-- compareOp must be a valid CompareOp value
[$sel:compareOp:StencilOpState] :: StencilOpState -> CompareOp
-- | compareMask selects the bits of the unsigned integer stencil
-- values participating in the stencil test.
[$sel:compareMask:StencilOpState] :: StencilOpState -> Word32
-- | writeMask selects the bits of the unsigned integer stencil
-- values updated by the stencil test in the stencil framebuffer
-- attachment.
[$sel:writeMask:StencilOpState] :: StencilOpState -> Word32
-- | reference is an integer reference value that is used in the
-- unsigned stencil comparison.
[$sel:reference:StencilOpState] :: StencilOpState -> Word32
-- | VkPipelineDepthStencilStateCreateInfo - Structure specifying
-- parameters of a newly created pipeline depth stencil state
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, CompareOp,
-- GraphicsPipelineCreateInfo,
-- PipelineDepthStencilStateCreateFlags, StencilOpState,
-- StructureType
data PipelineDepthStencilStateCreateInfo
PipelineDepthStencilStateCreateInfo :: PipelineDepthStencilStateCreateFlags -> Bool -> Bool -> CompareOp -> Bool -> Bool -> StencilOpState -> StencilOpState -> Float -> Float -> PipelineDepthStencilStateCreateInfo
-- | flags is a bitmask of
-- PipelineDepthStencilStateCreateFlagBits specifying additional
-- depth/stencil state information.
[$sel:flags:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> PipelineDepthStencilStateCreateFlags
-- | depthTestEnable controls whether depth testing is
-- enabled.
[$sel:depthTestEnable:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Bool
-- | depthWriteEnable controls whether depth writes are
-- enabled when depthTestEnable is TRUE. Depth writes are
-- always disabled when depthTestEnable is FALSE.
[$sel:depthWriteEnable:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Bool
-- | depthCompareOp is the comparison operator used in the
-- depth test.
[$sel:depthCompareOp:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> CompareOp
-- | depthBoundsTestEnable controls whether depth bounds
-- testing is enabled.
[$sel:depthBoundsTestEnable:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Bool
-- | stencilTestEnable controls whether stencil testing is
-- enabled.
[$sel:stencilTestEnable:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Bool
-- | front and back control the parameters of the
-- stencil test.
[$sel:front:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> StencilOpState
[$sel:back:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> StencilOpState
-- | minDepthBounds is the minimum depth bound used in the
-- depth bounds test.
[$sel:minDepthBounds:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Float
-- | maxDepthBounds is the maximum depth bound used in the
-- depth bounds test.
[$sel:maxDepthBounds:PipelineDepthStencilStateCreateInfo] :: PipelineDepthStencilStateCreateInfo -> Float
-- | VkGraphicsPipelineCreateInfo - Structure specifying parameters of a
-- newly created graphics pipeline
--
-- Description
--
-- The parameters basePipelineHandle and
-- basePipelineIndex are described in more detail in Pipeline
-- Derivatives.
--
-- If any shader stage fails to compile, the compile log will be reported
-- back to the application, and ERROR_INVALID_SHADER_NV will be
-- generated.
--
-- The state required for a graphics pipeline is divided into vertex
-- input state, pre-rasterization shader state, fragment
-- shader state, and fragment output state.
--
-- Vertex input state is defined by:
--
--
--
-- Pre-rasterization shader state is defined by:
--
--
--
-- Fragment shader state is defined by:
--
--
--
-- Fragment output state is defined by:
--
--
--
-- A complete graphics pipeline always includes pre-rasterization
-- shader state, with other subsets included depending on that state.
-- If the pre-rasterization shader state includes a vertex shader,
-- then vertex input state is included in a complete graphics
-- pipeline. If the value of
-- PipelineRasterizationStateCreateInfo::rasterizerDiscardEnable
-- in the pre-rasterization shader state is FALSE or the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state is
-- enabled fragment shader state and fragment output interface
-- state is included in a complete graphics pipeline.
--
-- Pipelines must be created with a complete set of pipeline
-- state.
--
-- Valid Usage
--
--
--
--
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineHandle is NULL_HANDLE,
-- basePipelineIndex must be a valid index into the
-- calling command’s pCreateInfos parameter
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineIndex is not -1, basePipelineHandle
-- must be NULL_HANDLE
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineHandle is not NULL_HANDLE,
-- basePipelineIndex must be -1
-- - The stage member of each element of pStages
-- must be unique
-- - If the pipeline is being created with pre-rasterization shader
-- state the geometric shader stages provided in pStages
-- must be either from the mesh shading pipeline (stage
-- is SHADER_STAGE_TASK_BIT_NV or SHADER_STAGE_MESH_BIT_NV)
-- or from the primitive shading pipeline (stage is
-- SHADER_STAGE_VERTEX_BIT,
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT, or
-- SHADER_STAGE_GEOMETRY_BIT)
-- - If the pipeline is being created with pre-rasterization shader
-- state the stage member of one element of pStages
-- must be either SHADER_STAGE_VERTEX_BIT or
-- SHADER_STAGE_MESH_BIT_NV
-- - The stage member of each element of pStages
-- must not be SHADER_STAGE_COMPUTE_BIT
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes a tessellation control shader
-- stage, it must include a tessellation evaluation shader
-- stage
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes a tessellation evaluation
-- shader stage, it must include a tessellation control shader
-- stage
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes a tessellation control shader
-- stage and a tessellation evaluation shader stage,
-- pTessellationState must be a valid pointer to a valid
-- PipelineTessellationStateCreateInfo structure
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes tessellation shader stages,
-- the shader code of at least one stage must contain an
-- OpExecutionMode instruction specifying the type of
-- subdivision in the pipeline
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes tessellation shader stages,
-- and the shader code of both stages contain an OpExecutionMode
-- instruction specifying the type of subdivision in the pipeline, they
-- must both specify the same subdivision mode
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes tessellation shader stages,
-- the shader code of at least one stage must contain an
-- OpExecutionMode instruction specifying the output patch size
-- in the pipeline
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes tessellation shader stages,
-- and the shader code of both contain an OpExecutionMode
-- instruction specifying the out patch size in the pipeline, they
-- must both specify the same patch size
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes tessellation shader stages,
-- the topology member of pInputAssembly must be
-- PRIMITIVE_TOPOLOGY_PATCH_LIST
-- - If the pipeline is being created with pre-rasterization shader
-- state and the topology member of pInputAssembly
-- is PRIMITIVE_TOPOLOGY_PATCH_LIST, pStages must
-- include tessellation shader stages
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes a geometry shader stage, and
-- does not include any tessellation shader stages, its shader code
-- must contain an OpExecutionMode instruction specifying
-- an input primitive type that is compatible with the primitive
-- topology specified in pInputAssembly
-- - If the pipeline is being created with pre-rasterization shader
-- state and pStages includes a geometry shader stage, and
-- also includes tessellation shader stages, its shader code must
-- contain an OpExecutionMode instruction specifying an input
-- primitive type that is compatible with the primitive topology
-- that is output by the tessellation stages
-- - If the pipeline is being created with pre-rasterization shader
-- state and fragment shader state, it includes both a
-- fragment shader and a geometry shader, and the fragment shader code
-- reads from an input variable that is decorated with
-- PrimitiveId, then the geometry shader code must write
-- to a matching output variable, decorated with PrimitiveId, in
-- all execution paths
-- - If the pipeline is being created with pre-rasterization shader
-- state, it includes a mesh shader and the fragment shader code
-- reads from an input variable that is decorated with
-- PrimitiveId, then the mesh shader code must write to a
-- matching output variable, decorated with PrimitiveId, in all
-- execution paths
-- - If renderPass is not NULL_HANDLE and the pipeline
-- is being created with fragment shader state the fragment shader
-- must not read from any input attachment that is defined as
-- ATTACHMENT_UNUSED in subpass
-- - If the pipeline is being created with pre-rasterization shader
-- state and multiple pre-rasterization shader stages are included in
-- pStages, the shader code for the entry points identified by
-- those pStages and the rest of the state identified by this
-- structure must adhere to the pipeline linking rules described
-- in the Shader Interfaces chapter
-- - If the pipeline is being created with pre-rasterization shader
-- state and fragment shader state, the fragment shader and
-- last pre-rasterization shader stage and any relevant state
-- must adhere to the pipeline linking rules described in the
-- Shader Interfaces chapter
-- - If renderPass is not NULL_HANDLE, the pipeline is
-- being created with fragment shader state, and subpass
-- uses a depth/stencil attachment in renderPass with a
-- read-only layout for the depth aspect in the
-- AttachmentReference defined by subpass, the
-- depthWriteEnable member of pDepthStencilState
-- must be FALSE
-- - If renderPass is not NULL_HANDLE, the pipeline is
-- being created with fragment shader state, and subpass
-- uses a depth/stencil attachment in renderPass with a
-- read-only layout for the stencil aspect in the
-- AttachmentReference defined by subpass, the
-- failOp, passOp and depthFailOp members of
-- each of the front and back members of
-- pDepthStencilState must be STENCIL_OP_KEEP
-- - If renderPass is not NULL_HANDLE, and the pipeline
-- is being created with fragment output interface state, then for
-- each color attachment in the subpass, if the potential format
-- features of the format of the corresponding attachment description
-- do not contain FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then
-- the blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If renderPass is not NULL_HANDLE, and the pipeline
-- is being created with fragment output interface state, and the
-- subpass uses color attachments, the attachmentCount member of
-- pColorBlendState must be equal to the
-- colorAttachmentCount used to create subpass
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_VIEWPORT or
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT, the pViewports
-- member of pViewportState must be a valid pointer to an
-- array of pViewportState->viewportCount valid
-- Viewport structures
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_SCISSOR or
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT, the pScissors
-- member of pViewportState must be a valid pointer to an
-- array of pViewportState->scissorCount Rect2D
-- structures
-- - If the pipeline is being created with pre-rasterization shader
-- state, and the wide lines feature is not enabled, and no element
-- of the pDynamicStates member of pDynamicState is
-- DYNAMIC_STATE_LINE_WIDTH, the lineWidth member of
-- pRasterizationState must be 1.0
-- - If the pipeline is being created with pre-rasterization shader
-- state, and the rasterizerDiscardEnable member of
-- pRasterizationState is FALSE, pViewportState
-- must be a valid pointer to a valid
-- PipelineViewportStateCreateInfo structure
-- - If the pipeline is being created with pre-rasterization shader
-- state, and the graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled, pViewportState must be a valid pointer to a
-- valid PipelineViewportStateCreateInfo structure
-- - If the pipeline is being created with fragment shader
-- state, pMultisampleState must be a valid pointer
-- to a valid PipelineMultisampleStateCreateInfo structure
-- - If renderPass is not NULL_HANDLE, the pipeline is
-- being created with fragment shader state, and subpass
-- uses a depth/stencil attachment, pDepthStencilState
-- must be a valid pointer to a valid
-- PipelineDepthStencilStateCreateInfo structure
-- - If renderPass is not NULL_HANDLE, the pipeline is
-- being created with fragment output interface state, and
-- subpass uses color attachments, pColorBlendState
-- must be a valid pointer to a valid
-- PipelineColorBlendStateCreateInfo structure
-- - If renderPass is not NULL_HANDLE and the pipeline
-- is being created with fragment output interface state,
-- pColorBlendState->attachmentCount must be greater
-- than the index of all color attachments that are not
-- ATTACHMENT_UNUSED for the subpass index in
-- renderPass
-- - If the pipeline is being created with pre-rasterization shader
-- state, the depth bias clamping feature is not enabled, no element
-- of the pDynamicStates member of pDynamicState is
-- DYNAMIC_STATE_DEPTH_BIAS, and the depthBiasEnable
-- member of pRasterizationState is TRUE, the
-- depthBiasClamp member of pRasterizationState
-- must be 0.0
-- - If the pipeline is being created with fragment shader
-- state, and the VK_EXT_depth_range_unrestricted extension
-- is not enabled and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_DEPTH_BOUNDS, and the
-- depthBoundsTestEnable member of pDepthStencilState
-- is TRUE, the minDepthBounds and
-- maxDepthBounds members of pDepthStencilState
-- must be between 0.0 and 1.0, inclusive
-- - If the pipeline is being created with fragment shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
-- and the sampleLocationsEnable member of a
-- PipelineSampleLocationsStateCreateInfoEXT structure included in
-- the pNext chain of pMultisampleState is TRUE,
-- sampleLocationsInfo.sampleLocationGridSize.width must
-- evenly divide
-- MultisamplePropertiesEXT::sampleLocationGridSize.width
-- as returned by getPhysicalDeviceMultisamplePropertiesEXT with a
-- samples parameter equaling rasterizationSamples
-- - If the pipeline is being created with fragment shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
-- and the sampleLocationsEnable member of a
-- PipelineSampleLocationsStateCreateInfoEXT structure included in
-- the pNext chain of pMultisampleState is TRUE,
-- sampleLocationsInfo.sampleLocationGridSize.height must
-- evenly divide
-- MultisamplePropertiesEXT::sampleLocationGridSize.height
-- as returned by getPhysicalDeviceMultisamplePropertiesEXT with a
-- samples parameter equaling rasterizationSamples
-- - If the pipeline is being created with fragment shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
-- and the sampleLocationsEnable member of a
-- PipelineSampleLocationsStateCreateInfoEXT structure included in
-- the pNext chain of pMultisampleState is TRUE,
-- sampleLocationsInfo.sampleLocationsPerPixel must equal
-- rasterizationSamples
-- - If the pipeline is being created with fragment shader
-- state, and the sampleLocationsEnable member of a
-- PipelineSampleLocationsStateCreateInfoEXT structure included in
-- the pNext chain of pMultisampleState is TRUE,
-- the fragment shader code must not statically use the extended
-- instruction InterpolateAtSample
-- - layout must be consistent with all shaders
-- specified in pStages
-- - If the pipeline is being created with fragment shader
-- state, and neither the VK_AMD_mixed_attachment_samples
-- nor the VK_NV_framebuffer_mixed_samples extensions are
-- enabled, and if subpass uses color and/or depth/stencil
-- attachments, then the rasterizationSamples member of
-- pMultisampleState must be the same as the sample count
-- for those subpass attachments
-- - If the pipeline is being created with fragment shader
-- state, and the VK_AMD_mixed_attachment_samples extension
-- is enabled, and if subpass uses color and/or depth/stencil
-- attachments, then the rasterizationSamples member of
-- pMultisampleState must equal the maximum of the sample
-- counts of those subpass attachments
-- - If the pipeline is being created with fragment shader
-- state, and the VK_NV_framebuffer_mixed_samples extension
-- is enabled, and if subpass has a depth/stencil attachment and
-- depth test, stencil test, or depth bounds test are enabled, then the
-- rasterizationSamples member of pMultisampleState
-- must be the same as the sample count of the depth/stencil
-- attachment
-- - If the pipeline is being created with fragment shader
-- state, and the VK_NV_framebuffer_mixed_samples extension
-- is enabled, and if subpass has any color attachments, then
-- the rasterizationSamples member of pMultisampleState
-- must be greater than or equal to the sample count for those
-- subpass attachments
-- - If the pipeline is being created with fragment shader
-- state, and the VK_NV_coverage_reduction_mode extension is
-- enabled, the coverage reduction mode specified by
-- PipelineCoverageReductionStateCreateInfoNV::coverageReductionMode,
-- the rasterizationSamples member of pMultisampleState
-- and the sample counts for the color and depth/stencil attachments (if
-- the subpass has them) must be a valid combination returned by
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-- - If the pipeline is being created with fragment shader state
-- and subpass does not use any color and/or depth/stencil
-- attachments, then the rasterizationSamples member of
-- pMultisampleState must follow the rules for a
-- zero-attachment subpass
-- - If renderPass is a valid renderPass, subpass
-- must be a valid subpass within renderPass
-- - If renderPass is a valid renderPass, the pipeline is
-- being created with pre-rasterization shader state, and the
-- renderPass has multiview enabled and subpass has
-- more than one bit set in the view mask and
-- multiviewTessellationShader is not enabled, then
-- pStages must not include tessellation shaders
-- - If renderPass is a valid renderPass, the pipeline is
-- being created with pre-rasterization shader state, and the
-- renderPass has multiview enabled and subpass has
-- more than one bit set in the view mask and
-- multiviewGeometryShader is not enabled, then pStages
-- must not include a geometry shader
-- - If renderPass is a valid renderPass, the pipeline is
-- being created with pre-rasterization shader state, and the
-- renderPass has multiview enabled and subpass has
-- more than one bit set in the view mask, shaders in the pipeline
-- must not write to the Layer built-in output
-- - If renderPass is a valid renderPass and the pipeline is
-- being created with pre-rasterization shader state, and the
-- renderPass has multiview enabled, then all shaders
-- must not include variables decorated with the Layer
-- built-in decoration in their interfaces
-- - flags must not contain the
-- PIPELINE_CREATE_DISPATCH_BASE flag
-- - If the pipeline is being created with fragment shader state
-- and an input attachment was referenced by an aspectMask at
-- renderPass creation time, the fragment shader must
-- only read from the aspects that were specified for that input
-- attachment
-- - The number of resources in layout accessible to each
-- shader stage that is used by the pipeline must be less than or
-- equal to
-- PhysicalDeviceLimits::maxPerStageResources
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
-- and the viewportWScalingEnable member of a
-- PipelineViewportWScalingStateCreateInfoNV structure, included
-- in the pNext chain of pViewportState, is
-- TRUE, the pViewportWScalings member of the
-- PipelineViewportWScalingStateCreateInfoNV must be a
-- pointer to an array of
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- valid ViewportWScalingNV structures
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
-- and if pViewportState->pNext chain includes a
-- PipelineViewportExclusiveScissorStateCreateInfoNV structure,
-- and if its exclusiveScissorCount member is not 0,
-- then its pExclusiveScissors member must be a valid
-- pointer to an array of exclusiveScissorCount Rect2D
-- structures
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV, and if
-- pViewportState->pNext chain includes a
-- PipelineViewportShadingRateImageStateCreateInfoNV structure,
-- then its pShadingRatePalettes member must be a valid
-- pointer to an array of viewportCount valid
-- ShadingRatePaletteNV structures
-- - If the pipeline is being created with pre-rasterization shader
-- state, and no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
-- and if pNext chain includes a
-- PipelineDiscardRectangleStateCreateInfoEXT structure, and if
-- its discardRectangleCount member is not 0, then its
-- pDiscardRectangles member must be a valid pointer to
-- an array of discardRectangleCount Rect2D
-- structures
-- - If the pipeline is being created with vertex input state,
-- pInputAssemblyState must be a valid pointer to a valid
-- PipelineInputAssemblyStateCreateInfo structure
-- - If the pipeline is being created with pre-rasterization shader
-- state, the Xfb execution mode can be specified by
-- no more than one shader stage in pStages
-- - If the pipeline is being created with pre-rasterization shader
-- state, and any shader stage in pStages specifies
-- Xfb execution mode it must be the last
-- pre-rasterization shader stage
-- - If the pipeline is being created with pre-rasterization shader
-- state, and a
-- PipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
-- value other than zero is specified, all variables in the output
-- interface of the entry point being compiled decorated with
-- Position, PointSize, ClipDistance, or
-- CullDistance must be decorated with identical
-- Stream values that match the
-- rasterizationStream
-- - If the pipeline is being created with pre-rasterization shader
-- state, and
-- PipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
-- is zero, or not specified, all variables in the output interface of
-- the entry point being compiled decorated with Position,
-- PointSize, ClipDistance, or CullDistance
-- must be decorated with a Stream value of zero, or
-- must not specify the Stream decoration
-- - If the pipeline is being created with pre-rasterization shader
-- state, and the last pre-rasterization shader stage is a
-- geometry shader, and that geometry shader uses the
-- GeometryStreams capability, then
-- PhysicalDeviceTransformFeedbackFeaturesEXT::geometryStreams
-- feature must be enabled
-- - If the pipeline is being created with pre-rasterization shader
-- state, and there are any mesh shader stages in the pipeline there
-- must not be any shader stage in the pipeline with a
-- Xfb execution mode
-- - If the pipeline is being created with pre-rasterization shader
-- state and at least one of fragment output interface state
-- or fragment shader state, the lineRasterizationMode
-- member of a PipelineRasterizationLineStateCreateInfoEXT
-- structure included in the pNext chain of
-- pRasterizationState is
-- LINE_RASTERIZATION_MODE_BRESENHAM_EXT or
-- LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the
-- alphaToCoverageEnable, alphaToOneEnable, and
-- sampleShadingEnable members of pMultisampleState
-- must all be FALSE
-- - If the pipeline is being created with pre-rasterization shader
-- state, the stippledLineEnable member of
-- PipelineRasterizationLineStateCreateInfoEXT is TRUE, and
-- no element of the pDynamicStates member of
-- pDynamicState is DYNAMIC_STATE_LINE_STIPPLE_EXT, then
-- the lineStippleFactor member of
-- PipelineRasterizationLineStateCreateInfoEXT must be in
-- the range [1,256]
-- - flags must not include
-- PIPELINE_CREATE_LIBRARY_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-- - flags must not include
-- PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
-- - If the extendedDynamicState feature is not enabled, there
-- must be no element of the pDynamicStates member of
-- pDynamicState set to DYNAMIC_STATE_CULL_MODE_EXT,
-- DYNAMIC_STATE_FRONT_FACE_EXT,
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
-- DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
-- DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
-- DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
-- DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
-- DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT, or
-- DYNAMIC_STATE_STENCIL_OP_EXT
-- - If the pipeline is being created with pre-rasterization shader
-- state, and DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT is
-- included in the pDynamicStates array then
-- viewportCount must be zero
-- - If the pipeline is being created with pre-rasterization shader
-- state, and DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT is included
-- in the pDynamicStates array then scissorCount
-- must be zero
-- - If the pipeline is being created with pre-rasterization shader
-- state, and DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT is
-- included in the pDynamicStates array then
-- DYNAMIC_STATE_VIEWPORT must not be present
-- - If the pipeline is being created with pre-rasterization shader
-- state, and DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT is included
-- in the pDynamicStates array then DYNAMIC_STATE_SCISSOR
-- must not be present
-- - If the extendedDynamicState2 feature is not enabled, there
-- must be no element of the pDynamicStates member of
-- pDynamicState set to
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, or
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT
-- - If the extendedDynamicState2LogicOp feature is not enabled,
-- there must be no element of the pDynamicStates member
-- of pDynamicState set to
-- DYNAMIC_STATE_LOGIC_OP_EXT
-- - If the extendedDynamicState2PatchControlPoints feature is
-- not enabled, there must be no element of the
-- pDynamicStates member of pDynamicState set to
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
-- - If flags includes
-- PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the
-- ::deviceGeneratedCommands feature must be enabled
-- - If the pipeline is being created with pre-rasterization shader
-- state and flags includes
-- PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then all stages
-- must not specify Xfb execution mode
-- - If the pipelineCreationCacheControl feature is not enabled,
-- flags must not include
-- PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT or
-- PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
-- must be greater than or equal to 1
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
-- must be greater than or equal to 1
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
-- must be a power-of-two value
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
-- must be a power-of-two value
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
-- must be less than or equal to 4
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
-- must be less than or equal to 4
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- pipelineFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
-- and
-- PipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
-- must both be equal to 1
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- primitiveFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateStateCreateInfoKHR::combinerOps[0]
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- attachmentFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateStateCreateInfoKHR::combinerOps[1]
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state and the
-- primitiveFragmentShadingRateWithMultipleViewports limit is not
-- supported, DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT is not
-- included in pDynamicState->pDynamicStates, and
-- PipelineViewportStateCreateInfo::viewportCount is
-- greater than 1, entry points specified in pStages
-- must not write to the PrimitiveShadingRateKHR
-- built-in
-- - If the pipeline is being created with pre-rasterization shader
-- state and the
-- primitiveFragmentShadingRateWithMultipleViewports limit is not
-- supported, and entry points specified in pStages write to the
-- ViewportIndex built-in, they must not also write to
-- the PrimitiveShadingRateKHR built-in
-- - If the pipeline is being created with pre-rasterization shader
-- state and the
-- primitiveFragmentShadingRateWithMultipleViewports limit is not
-- supported, and entry points specified in pStages write to the
-- ViewportMaskNV built-in, they must not also write to
-- the PrimitiveShadingRateKHR built-in
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, the
-- fragmentShadingRateNonTrivialCombinerOps limit is not
-- supported, and DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not
-- included in pDynamicState->pDynamicStates, elements of
-- PipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or
-- FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- fragmentShadingRateEnums feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRateType
-- must be equal to
-- FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- pipelineFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
-- must be equal to
-- FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- primitiveFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps[0]
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and
-- DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, and the
-- attachmentFragmentShadingRate feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps[1]
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and the
-- fragmentShadingRateNonTrivialCombinerOps limit is not supported
-- and DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in
-- pDynamicState->pDynamicStates, elements of
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
-- must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or
-- FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and the
-- supersampleFragmentShadingRates feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
-- must not be equal to
-- FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV, or
-- FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
-- - If the pipeline is being created with pre-rasterization shader
-- state or fragment shader state, and the
-- noInvocationFragmentShadingRates feature is not enabled,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
-- must not be equal to
-- FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
-- - All elements of the pDynamicStates member of
-- pDynamicState must not be
-- DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR
-- - If the pipeline is being created with pre-rasterization shader
-- state and the vertexInputDynamicState feature is not
-- enabled, there must be no element of the
-- pDynamicStates member of pDynamicState set to
-- DYNAMIC_STATE_VERTEX_INPUT_EXT
-- - The pipeline must be created with a complete set of
-- state
-- - If the colorWriteEnable feature is not enabled, there
-- must be no element of the pDynamicStates member of
-- pDynamicState set to
-- DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
-- - If the pipeline is being created with fragment shader state, and
-- the VK_QCOM_render_pass_shader_resolve extension is enabled,
-- and if subpass has any input attachments, and if the subpass
-- description contains
-- SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then the sample
-- count of the input attachments must equal
-- rasterizationSamples
-- - If the pipeline is being created with fragment shader state, and
-- the VK_QCOM_render_pass_shader_resolve extension is enabled,
-- and if the subpass description contains
-- SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then
-- sampleShadingEnable must be false
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass
-- must be the last subpass in a subpass dependency chain
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if
-- pResolveAttachments is not NULL, then each resolve
-- attachment must be ATTACHMENT_UNUSED
-- - If the dynamicRendering feature is not enabled,
-- renderPass must not be NULL_HANDLE
-- - If renderPass is NULL_HANDLE, the pipeline is
-- being created with fragment shader state, and either of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat or
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat are not
-- FORMAT_UNDEFINED, pDepthStencilState must be a
-- valid pointer to a valid PipelineDepthStencilStateCreateInfo
-- structure
-- - If renderPass is NULL_HANDLE, the pipeline is
-- being created with fragment output interface state, and
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount is not
-- equal to 0, pColorBlendState must be a valid
-- pointer to a valid PipelineColorBlendStateCreateInfo
-- structure
-- - If renderPass is NULL_HANDLE and the pipeline is
-- being created with fragment output interface state,
-- pColorBlendState->attachmentCount must be equal to
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- - If renderPass is NULL_HANDLE and the pipeline is
-- being created with fragment shader state the fragment shader
-- must not read from any input attachment
-- - If renderPass is NULL_HANDLE, the pipeline is
-- being created with pre-rasterization shader state, the
-- viewMask member of a PipelineRenderingCreateInfoKHR
-- structure included in the pNext chain is not 0, and
-- the multiviewTessellationShader feature is not enabled, then
-- pStages must not include tessellation shaders
-- - If renderPass is NULL_HANDLE, the pipeline is
-- being created with pre-rasterization shader state, the
-- viewMask member of a PipelineRenderingCreateInfoKHR
-- structure included in the pNext chain is not 0, and
-- the multiviewGeometryShader feature is not enabled, then
-- pStages must not include a geometry shader
-- - If renderPass is NULL_HANDLE, the pipeline is
-- being created with pre-rasterization shader state, and the
-- viewMask member of a PipelineRenderingCreateInfoKHR
-- structure included in the pNext chain is not 0,
-- shaders in pStages must not include variables
-- decorated with the Layer built-in decoration in their
-- interfaces
-- - If the pipeline is being created with fragment output interface
-- state and renderPass is NULL_HANDLE,
-- pColorBlendState->attachmentCount must be equal to
-- the colorAttachmentCount member of the
-- PipelineRenderingCreateInfoKHR structure included in the
-- pNext chain
-- - If the pipeline is being created with fragment shader state
-- and renderPass is NULL_HANDLE, fragment shaders in
-- pStages must not include the InputAttachment
-- capability
-- - If the pipeline is being created with fragment output interface
-- state and renderPass is NULL_HANDLE, for each
-- color attachment format defined by the
-- pColorAttachmentFormats member of
-- PipelineRenderingCreateInfoKHR, if its potential format
-- features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If the pipeline is being created with fragment output interface
-- state and renderPass is NULL_HANDLE, if the
-- pNext chain includes AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV, the colorAttachmentCount
-- member of that structure must be equal to the value of
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- - If pStages includes a fragment shader stage, and the
-- fragment shader code enables early fragment tests, the
-- flags member of PipelineDepthStencilStateCreateInfo
-- must not include
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- or
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
-- - If the pipeline is being created with fragment output interface
-- state and the flags member of
-- PipelineColorBlendStateCreateInfo includes
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM,
-- renderpass must not be NULL_HANDLE
-- - If the pipeline is being created with fragment output interface
-- state and the flags member of
-- PipelineDepthStencilStateCreateInfo includes
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- or
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
-- renderpass must not be NULL_HANDLE
-- - If the pipeline is being created with fragment output interface
-- state and the flags member of
-- PipelineColorBlendStateCreateInfo includes
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
-- subpass must have been created with
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM
-- - If the pipeline is being created with fragment output interface
-- state and the flags member of
-- PipelineDepthStencilStateCreateInfo includes
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
-- subpass must have been created with
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- - If the pipeline is being created with fragment output interface
-- state and the flags member of
-- PipelineDepthStencilStateCreateInfo includes
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
-- subpass must have been created with
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
--
--
-- 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 AttachmentSampleCountInfoAMD,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- MultiviewPerViewAttributesInfoNVX,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineRenderingCreateInfoKHR, or
-- PipelineRepresentativeFragmentTestStateCreateInfoNV
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- PipelineCreateFlagBits values
-- - pStages must be a valid pointer to an array of
-- stageCount valid PipelineShaderStageCreateInfo
-- structures
-- - pRasterizationState must be a valid pointer to a
-- valid PipelineRasterizationStateCreateInfo structure
-- - If pDynamicState is not NULL,
-- pDynamicState must be a valid pointer to a valid
-- PipelineDynamicStateCreateInfo structure
-- - layout must be a valid PipelineLayout
-- handle
-- - If renderPass is not NULL_HANDLE,
-- renderPass must be a valid RenderPass
-- handle
-- - stageCount must be greater than 0
-- - Each of basePipelineHandle, layout, and
-- renderPass that are valid handles of non-ignored parameters
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_VERSION_1_0, Pipeline,
-- PipelineColorBlendStateCreateInfo, PipelineCreateFlags,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDynamicStateCreateInfo,
-- PipelineInputAssemblyStateCreateInfo, PipelineLayout,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationStateCreateInfo,
-- PipelineShaderStageCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportStateCreateInfo, RenderPass,
-- StructureType, createGraphicsPipelines
data GraphicsPipelineCreateInfo (es :: [Type])
GraphicsPipelineCreateInfo :: Chain es -> PipelineCreateFlags -> Vector (SomeStruct PipelineShaderStageCreateInfo) -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo) -> Maybe PipelineInputAssemblyStateCreateInfo -> Maybe (SomeStruct PipelineTessellationStateCreateInfo) -> Maybe (SomeStruct PipelineViewportStateCreateInfo) -> SomeStruct PipelineRasterizationStateCreateInfo -> Maybe (SomeStruct PipelineMultisampleStateCreateInfo) -> Maybe PipelineDepthStencilStateCreateInfo -> Maybe (SomeStruct PipelineColorBlendStateCreateInfo) -> Maybe PipelineDynamicStateCreateInfo -> PipelineLayout -> RenderPass -> Word32 -> Pipeline -> Int32 -> GraphicsPipelineCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of PipelineCreateFlagBits
-- specifying how the pipeline will be generated.
[$sel:flags:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> PipelineCreateFlags
-- | pStages is a pointer to an array of stageCount
-- PipelineShaderStageCreateInfo structures describing the set of
-- the shader stages to be included in the graphics pipeline.
[$sel:stages:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Vector (SomeStruct PipelineShaderStageCreateInfo)
-- | pVertexInputState is a pointer to a
-- PipelineVertexInputStateCreateInfo structure. It is ignored if
-- the pipeline includes a mesh shader stage. It is ignored if the
-- pipeline is created with the DYNAMIC_STATE_VERTEX_INPUT_EXT
-- dynamic state set.
[$sel:vertexInputState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo)
-- | pInputAssemblyState is a pointer to a
-- PipelineInputAssemblyStateCreateInfo structure which determines
-- input assembly behavior, as described in Drawing Commands. It
-- is ignored if the pipeline includes a mesh shader stage.
[$sel:inputAssemblyState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe PipelineInputAssemblyStateCreateInfo
-- | pTessellationState is a pointer to a
-- PipelineTessellationStateCreateInfo structure, and is ignored
-- if the pipeline does not include a tessellation control shader stage
-- and tessellation evaluation shader stage.
[$sel:tessellationState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe (SomeStruct PipelineTessellationStateCreateInfo)
-- | pViewportState is a pointer to a
-- PipelineViewportStateCreateInfo structure, and is ignored if
-- the pipeline has rasterization disabled.
[$sel:viewportState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe (SomeStruct PipelineViewportStateCreateInfo)
-- | pRasterizationState is a pointer to a
-- PipelineRasterizationStateCreateInfo structure.
[$sel:rasterizationState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> SomeStruct PipelineRasterizationStateCreateInfo
-- | pMultisampleState is a pointer to a
-- PipelineMultisampleStateCreateInfo structure, and is ignored if
-- the pipeline has rasterization disabled.
[$sel:multisampleState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe (SomeStruct PipelineMultisampleStateCreateInfo)
-- | pDepthStencilState is a pointer to a
-- PipelineDepthStencilStateCreateInfo structure, and is ignored
-- if the pipeline has rasterization disabled or if no depth/stencil
-- attachment is used.
[$sel:depthStencilState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe PipelineDepthStencilStateCreateInfo
-- | pColorBlendState is a pointer to a
-- PipelineColorBlendStateCreateInfo structure, and is ignored if
-- the pipeline has rasterization disabled or if no color attachments are
-- used.
[$sel:colorBlendState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe (SomeStruct PipelineColorBlendStateCreateInfo)
-- | pDynamicState is a pointer to a
-- PipelineDynamicStateCreateInfo structure, and is used to
-- indicate which properties of the pipeline state object are dynamic and
-- can be changed independently of the pipeline state. This
-- can be NULL, which means no state in the pipeline is
-- considered dynamic.
[$sel:dynamicState:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Maybe PipelineDynamicStateCreateInfo
-- | layout is the description of binding locations used by both
-- the pipeline and descriptor sets used with the pipeline.
[$sel:layout:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> PipelineLayout
-- | renderPass is a handle to a render pass object describing the
-- environment in which the pipeline will be used. The pipeline
-- must only be used with a render pass instance compatible with
-- the one provided. See Render Pass Compatibility for more
-- information.
[$sel:renderPass:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> RenderPass
-- | subpass is the index of the subpass in the render pass where
-- this pipeline will be used.
[$sel:subpass:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Word32
-- | basePipelineHandle is a pipeline to derive from.
[$sel:basePipelineHandle:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Pipeline
-- | basePipelineIndex is an index into the pCreateInfos
-- parameter to use as a pipeline to derive from.
[$sel:basePipelineIndex:GraphicsPipelineCreateInfo] :: GraphicsPipelineCreateInfo (es :: [Type]) -> Int32
-- | VkPipeline - Opaque handle to a pipeline object
--
-- See Also
--
-- VK_VERSION_1_0, ComputePipelineCreateInfo,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- PipelineExecutableInfoKHR, PipelineInfoKHR,
-- PipelineLibraryCreateInfoKHR,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV, cmdBindPipeline,
-- cmdBindPipelineShaderGroupNV, compileDeferredNV,
-- createComputePipelines, createGraphicsPipelines,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, destroyPipeline,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR, getShaderInfoAMD
newtype Pipeline
Pipeline :: Word64 -> Pipeline
-- | VkPipelineLayoutCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineLayoutCreateFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineLayoutCreateInfo
newtype PipelineLayoutCreateFlags
PipelineLayoutCreateFlags :: Flags -> PipelineLayoutCreateFlags
-- | VkPipelineDynamicStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineDynamicStateCreateFlags is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDynamicStateCreateInfo
newtype PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags :: Flags -> PipelineDynamicStateCreateFlags
-- | VkPipelineMultisampleStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineMultisampleStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineMultisampleStateCreateInfo
newtype PipelineMultisampleStateCreateFlags
PipelineMultisampleStateCreateFlags :: Flags -> PipelineMultisampleStateCreateFlags
-- | VkPipelineRasterizationStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineRasterizationStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo
newtype PipelineRasterizationStateCreateFlags
PipelineRasterizationStateCreateFlags :: Flags -> PipelineRasterizationStateCreateFlags
-- | VkPipelineViewportStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineViewportStateCreateFlags is a bitmask type for setting
-- a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineViewportStateCreateInfo
newtype PipelineViewportStateCreateFlags
PipelineViewportStateCreateFlags :: Flags -> PipelineViewportStateCreateFlags
-- | VkPipelineTessellationStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineTessellationStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineTessellationStateCreateInfo
newtype PipelineTessellationStateCreateFlags
PipelineTessellationStateCreateFlags :: Flags -> PipelineTessellationStateCreateFlags
-- | VkPipelineInputAssemblyStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineInputAssemblyStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineInputAssemblyStateCreateInfo
newtype PipelineInputAssemblyStateCreateFlags
PipelineInputAssemblyStateCreateFlags :: Flags -> PipelineInputAssemblyStateCreateFlags
-- | VkPipelineVertexInputStateCreateFlags - Reserved for future use
--
-- Description
--
-- PipelineVertexInputStateCreateFlags is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineVertexInputStateCreateInfo
newtype PipelineVertexInputStateCreateFlags
PipelineVertexInputStateCreateFlags :: Flags -> PipelineVertexInputStateCreateFlags
-- | VkPrimitiveTopology - Supported primitive topologies
--
-- Description
--
-- Each primitive topology, and its construction from a list of vertices,
-- is described in detail below with a supporting diagram, according to
-- the following key:
--
-- TODO: table
--
-- The diagrams are supported with mathematical definitions where the
-- vertices (v) and primitives (p) are numbered starting from 0; v0 is
-- the first vertex in the provided data and p0 is the first primitive in
-- the set of primitives defined by the vertices and topology.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineInputAssemblyStateCreateInfo,
-- cmdSetPrimitiveTopologyEXT
newtype PrimitiveTopology
PrimitiveTopology :: Int32 -> PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_POINT_LIST specifies a series of separate
-- point primitives.
pattern PRIMITIVE_TOPOLOGY_POINT_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_LIST specifies a series of separate
-- line primitives.
pattern PRIMITIVE_TOPOLOGY_LINE_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_STRIP specifies a series of
-- connected line primitives with consecutive lines sharing a
-- vertex.
pattern PRIMITIVE_TOPOLOGY_LINE_STRIP :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_LIST specifies a series of
-- separate triangle primitives.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP specifies a series of
-- connected triangle primitives with consecutive triangles
-- sharing an edge.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_FAN specifies a series of
-- connected triangle primitives with all triangles sharing a
-- common vertex. If the VK_KHR_portability_subset extension is
-- enabled, and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::triangleFans
-- is FALSE, then triangle fans are not supported by the
-- implementation, and PRIMITIVE_TOPOLOGY_TRIANGLE_FAN must
-- not be used.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY specifies a series
-- of separate line primitives with adjacency.
pattern PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY specifies a series
-- of connected line primitives with adjacency, with consecutive
-- primitives sharing three vertices.
pattern PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY specifies a
-- series of separate triangle primitives with adjacency.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY specifies
-- connected triangle primitives with adjacency, with consecutive
-- triangles sharing an edge.
pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: PrimitiveTopology
-- | PRIMITIVE_TOPOLOGY_PATCH_LIST specifies separate patch
-- primitives.
pattern PRIMITIVE_TOPOLOGY_PATCH_LIST :: PrimitiveTopology
-- | VkCompareOp - Stencil comparison function
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDepthStencilStateCreateInfo,
-- SamplerCreateInfo, StencilOpState,
-- cmdSetDepthCompareOpEXT, cmdSetStencilOpEXT
newtype CompareOp
CompareOp :: Int32 -> CompareOp
-- | COMPARE_OP_NEVER specifies that the test evaluates to false.
pattern COMPARE_OP_NEVER :: CompareOp
-- | COMPARE_OP_LESS specifies that the test evaluates A < B.
pattern COMPARE_OP_LESS :: CompareOp
-- | COMPARE_OP_EQUAL specifies that the test evaluates A = B.
pattern COMPARE_OP_EQUAL :: CompareOp
-- | COMPARE_OP_LESS_OR_EQUAL specifies that the test evaluates A ≤
-- B.
pattern COMPARE_OP_LESS_OR_EQUAL :: CompareOp
-- | COMPARE_OP_GREATER specifies that the test evaluates A > B.
pattern COMPARE_OP_GREATER :: CompareOp
-- | COMPARE_OP_NOT_EQUAL specifies that the test evaluates A ≠ B.
pattern COMPARE_OP_NOT_EQUAL :: CompareOp
-- | COMPARE_OP_GREATER_OR_EQUAL specifies that the test evaluates A
-- ≥ B.
pattern COMPARE_OP_GREATER_OR_EQUAL :: CompareOp
-- | COMPARE_OP_ALWAYS specifies that the test evaluates to true.
pattern COMPARE_OP_ALWAYS :: CompareOp
-- | VkPolygonMode - Control polygon rasterization mode
--
-- Description
--
-- These modes affect only the final rasterization of polygons: in
-- particular, a polygon’s vertices are shaded and the polygon is clipped
-- and possibly culled before these modes are applied.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo
newtype PolygonMode
PolygonMode :: Int32 -> PolygonMode
-- | POLYGON_MODE_FILL specifies that polygons are rendered using
-- the polygon rasterization rules in this section.
pattern POLYGON_MODE_FILL :: PolygonMode
-- | POLYGON_MODE_LINE specifies that polygon edges are drawn as
-- line segments.
pattern POLYGON_MODE_LINE :: PolygonMode
-- | POLYGON_MODE_POINT specifies that polygon vertices are drawn as
-- points.
pattern POLYGON_MODE_POINT :: PolygonMode
-- | POLYGON_MODE_FILL_RECTANGLE_NV specifies that polygons are
-- rendered using polygon rasterization rules, modified to consider a
-- sample within the primitive if the sample location is inside the
-- axis-aligned bounding box of the triangle after projection. Note that
-- the barycentric weights used in attribute interpolation can
-- extend outside the range [0,1] when these primitives are shaded.
-- Special treatment is given to a sample position on the boundary edge
-- of the bounding box. In such a case, if two rectangles lie on either
-- side of a common edge (with identical endpoints) on which a sample
-- position lies, then exactly one of the triangles must produce a
-- fragment that covers that sample during rasterization.
--
-- Polygons rendered in POLYGON_MODE_FILL_RECTANGLE_NV mode
-- may be clipped by the frustum or by user clip planes. If
-- clipping is applied, the triangle is culled rather than clipped.
--
-- Area calculation and facingness are determined for
-- POLYGON_MODE_FILL_RECTANGLE_NV mode using the triangle’s
-- vertices.
pattern POLYGON_MODE_FILL_RECTANGLE_NV :: PolygonMode
-- | VkFrontFace - Interpret polygon front-facing orientation
--
-- Description
--
-- Any triangle which is not front-facing is back-facing, including
-- zero-area triangles.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineRasterizationStateCreateInfo,
-- cmdSetFrontFaceEXT
newtype FrontFace
FrontFace :: Int32 -> FrontFace
-- | FRONT_FACE_COUNTER_CLOCKWISE specifies that a triangle with
-- positive area is considered front-facing.
pattern FRONT_FACE_COUNTER_CLOCKWISE :: FrontFace
-- | FRONT_FACE_CLOCKWISE specifies that a triangle with negative
-- area is considered front-facing.
pattern FRONT_FACE_CLOCKWISE :: FrontFace
-- | VkBlendFactor - Framebuffer blending factors
--
-- Description
--
-- The semantics of the enum values are described in the table below:
--
-- TODO: table
--
-- Blend Factors
--
-- In this table, the following conventions are used:
--
--
-- - Rs0,Gs0,Bs0 and As0 represent the first source color R, G, B, and
-- A components, respectively, for the fragment output location
-- corresponding to the color attachment being blended.
-- - Rs1,Gs1,Bs1 and As1 represent the second source color R, G, B, and
-- A components, respectively, used in dual source blending modes, for
-- the fragment output location corresponding to the color attachment
-- being blended.
-- - Rd,Gd,Bd and Ad represent the R, G, B, and A components of the
-- destination color. That is, the color currently in the corresponding
-- color attachment for this fragment/sample.
-- - Rc,Gc,Bc and Ac represent the blend constant R, G, B, and A
-- components, respectively.
--
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendAttachmentState
newtype BlendFactor
BlendFactor :: Int32 -> BlendFactor
pattern BLEND_FACTOR_ZERO :: BlendFactor
pattern BLEND_FACTOR_ONE :: BlendFactor
pattern BLEND_FACTOR_SRC_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: BlendFactor
pattern BLEND_FACTOR_DST_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_DST_COLOR :: BlendFactor
pattern BLEND_FACTOR_SRC_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: BlendFactor
pattern BLEND_FACTOR_DST_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: BlendFactor
pattern BLEND_FACTOR_CONSTANT_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: BlendFactor
pattern BLEND_FACTOR_CONSTANT_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: BlendFactor
pattern BLEND_FACTOR_SRC_ALPHA_SATURATE :: BlendFactor
pattern BLEND_FACTOR_SRC1_COLOR :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: BlendFactor
pattern BLEND_FACTOR_SRC1_ALPHA :: BlendFactor
pattern BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: BlendFactor
-- | VkBlendOp - Framebuffer blending operations
--
-- Description
--
-- The semantics of the basic blend operations are described in the table
-- below:
--
-- TODO: table
--
-- Basic Blend Operations
--
-- In this table, the following conventions are used:
--
--
-- - Rs0, Gs0, Bs0 and As0 represent the first source color R, G, B,
-- and A components, respectively.
-- - Rd, Gd, Bd and Ad represent the R, G, B, and A components of the
-- destination color. That is, the color currently in the corresponding
-- color attachment for this fragment/sample.
-- - Sr, Sg, Sb and Sa represent the source blend factor R, G, B, and A
-- components, respectively.
-- - Dr, Dg, Db and Da represent the destination blend factor R, G, B,
-- and A components, respectively.
--
--
-- The blending operation produces a new set of values R, G, B and A,
-- which are written to the framebuffer attachment. If blending is not
-- enabled for this attachment, then R, G, B and A are assigned Rs0, Gs0,
-- Bs0 and As0, respectively.
--
-- If the color attachment is fixed-point, the components of the source
-- and destination values and blend factors are each clamped to [0,1] or
-- [-1,1] respectively for an unsigned normalized or signed normalized
-- color attachment prior to evaluating the blend operations. If the
-- color attachment is floating-point, no clamping occurs.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendAttachmentState
newtype BlendOp
BlendOp :: Int32 -> BlendOp
pattern BLEND_OP_ADD :: BlendOp
pattern BLEND_OP_SUBTRACT :: BlendOp
pattern BLEND_OP_REVERSE_SUBTRACT :: BlendOp
pattern BLEND_OP_MIN :: BlendOp
pattern BLEND_OP_MAX :: BlendOp
pattern BLEND_OP_BLUE_EXT :: BlendOp
pattern BLEND_OP_GREEN_EXT :: BlendOp
pattern BLEND_OP_RED_EXT :: BlendOp
pattern BLEND_OP_INVERT_OVG_EXT :: BlendOp
pattern BLEND_OP_CONTRAST_EXT :: BlendOp
pattern BLEND_OP_MINUS_CLAMPED_EXT :: BlendOp
pattern BLEND_OP_MINUS_EXT :: BlendOp
pattern BLEND_OP_PLUS_DARKER_EXT :: BlendOp
pattern BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: BlendOp
pattern BLEND_OP_PLUS_CLAMPED_EXT :: BlendOp
pattern BLEND_OP_PLUS_EXT :: BlendOp
pattern BLEND_OP_HSL_LUMINOSITY_EXT :: BlendOp
pattern BLEND_OP_HSL_COLOR_EXT :: BlendOp
pattern BLEND_OP_HSL_SATURATION_EXT :: BlendOp
pattern BLEND_OP_HSL_HUE_EXT :: BlendOp
pattern BLEND_OP_HARDMIX_EXT :: BlendOp
pattern BLEND_OP_PINLIGHT_EXT :: BlendOp
pattern BLEND_OP_LINEARLIGHT_EXT :: BlendOp
pattern BLEND_OP_VIVIDLIGHT_EXT :: BlendOp
pattern BLEND_OP_LINEARBURN_EXT :: BlendOp
pattern BLEND_OP_LINEARDODGE_EXT :: BlendOp
pattern BLEND_OP_INVERT_RGB_EXT :: BlendOp
pattern BLEND_OP_INVERT_EXT :: BlendOp
pattern BLEND_OP_EXCLUSION_EXT :: BlendOp
pattern BLEND_OP_DIFFERENCE_EXT :: BlendOp
pattern BLEND_OP_SOFTLIGHT_EXT :: BlendOp
pattern BLEND_OP_HARDLIGHT_EXT :: BlendOp
pattern BLEND_OP_COLORBURN_EXT :: BlendOp
pattern BLEND_OP_COLORDODGE_EXT :: BlendOp
pattern BLEND_OP_LIGHTEN_EXT :: BlendOp
pattern BLEND_OP_DARKEN_EXT :: BlendOp
pattern BLEND_OP_OVERLAY_EXT :: BlendOp
pattern BLEND_OP_SCREEN_EXT :: BlendOp
pattern BLEND_OP_MULTIPLY_EXT :: BlendOp
pattern BLEND_OP_XOR_EXT :: BlendOp
pattern BLEND_OP_DST_ATOP_EXT :: BlendOp
pattern BLEND_OP_SRC_ATOP_EXT :: BlendOp
pattern BLEND_OP_DST_OUT_EXT :: BlendOp
pattern BLEND_OP_SRC_OUT_EXT :: BlendOp
pattern BLEND_OP_DST_IN_EXT :: BlendOp
pattern BLEND_OP_SRC_IN_EXT :: BlendOp
pattern BLEND_OP_DST_OVER_EXT :: BlendOp
pattern BLEND_OP_SRC_OVER_EXT :: BlendOp
pattern BLEND_OP_DST_EXT :: BlendOp
pattern BLEND_OP_SRC_EXT :: BlendOp
pattern BLEND_OP_ZERO_EXT :: BlendOp
-- | VkStencilOp - Stencil comparison function
--
-- Description
--
-- For purposes of increment and decrement, the stencil bits are
-- considered as an unsigned integer.
--
-- See Also
--
-- VK_VERSION_1_0, StencilOpState,
-- cmdSetStencilOpEXT
newtype StencilOp
StencilOp :: Int32 -> StencilOp
-- | STENCIL_OP_KEEP keeps the current value.
pattern STENCIL_OP_KEEP :: StencilOp
-- | STENCIL_OP_ZERO sets the value to 0.
pattern STENCIL_OP_ZERO :: StencilOp
-- | STENCIL_OP_REPLACE sets the value to reference.
pattern STENCIL_OP_REPLACE :: StencilOp
-- | STENCIL_OP_INCREMENT_AND_CLAMP increments the current value and
-- clamps to the maximum representable unsigned value.
pattern STENCIL_OP_INCREMENT_AND_CLAMP :: StencilOp
-- | STENCIL_OP_DECREMENT_AND_CLAMP decrements the current value and
-- clamps to 0.
pattern STENCIL_OP_DECREMENT_AND_CLAMP :: StencilOp
-- | STENCIL_OP_INVERT bitwise-inverts the current value.
pattern STENCIL_OP_INVERT :: StencilOp
-- | STENCIL_OP_INCREMENT_AND_WRAP increments the current value and
-- wraps to 0 when the maximum value would have been exceeded.
pattern STENCIL_OP_INCREMENT_AND_WRAP :: StencilOp
-- | STENCIL_OP_DECREMENT_AND_WRAP decrements the current value and
-- wraps to the maximum possible value when the value would go below 0.
pattern STENCIL_OP_DECREMENT_AND_WRAP :: StencilOp
-- | VkLogicOp - Framebuffer logical operations
--
-- Description
--
-- The logical operations supported by Vulkan are summarized in the
-- following table in which
--
--
-- - ¬ is bitwise invert,
-- - ∧ is bitwise and,
-- - ∨ is bitwise or,
-- - ⊕ is bitwise exclusive or,
-- - s is the fragment’s Rs0, Gs0, Bs0 or As0 component value for the
-- fragment output corresponding to the color attachment being updated,
-- and
-- - d is the color attachment’s R, G, B or A component value:
--
--
-- TODO: table
--
-- Logical Operations
--
-- The result of the logical operation is then written to the color
-- attachment as controlled by the component write mask, described in
-- Blend Operations.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineColorBlendStateCreateInfo,
-- cmdSetLogicOpEXT
newtype LogicOp
LogicOp :: Int32 -> LogicOp
pattern LOGIC_OP_CLEAR :: LogicOp
pattern LOGIC_OP_AND :: LogicOp
pattern LOGIC_OP_AND_REVERSE :: LogicOp
pattern LOGIC_OP_COPY :: LogicOp
pattern LOGIC_OP_AND_INVERTED :: LogicOp
pattern LOGIC_OP_NO_OP :: LogicOp
pattern LOGIC_OP_XOR :: LogicOp
pattern LOGIC_OP_OR :: LogicOp
pattern LOGIC_OP_NOR :: LogicOp
pattern LOGIC_OP_EQUIVALENT :: LogicOp
pattern LOGIC_OP_INVERT :: LogicOp
pattern LOGIC_OP_OR_REVERSE :: LogicOp
pattern LOGIC_OP_COPY_INVERTED :: LogicOp
pattern LOGIC_OP_OR_INVERTED :: LogicOp
pattern LOGIC_OP_NAND :: LogicOp
pattern LOGIC_OP_SET :: LogicOp
-- | VkVertexInputRate - Specify rate at which vertex attributes are pulled
-- from buffers
--
-- See Also
--
-- VK_VERSION_1_0, VertexInputBindingDescription,
-- VertexInputBindingDescription2EXT
newtype VertexInputRate
VertexInputRate :: Int32 -> VertexInputRate
-- | VERTEX_INPUT_RATE_VERTEX specifies that vertex attribute
-- addressing is a function of the vertex index.
pattern VERTEX_INPUT_RATE_VERTEX :: VertexInputRate
-- | VERTEX_INPUT_RATE_INSTANCE specifies that vertex attribute
-- addressing is a function of the instance index.
pattern VERTEX_INPUT_RATE_INSTANCE :: VertexInputRate
-- | VkDynamicState - Indicate which dynamic state is taken from dynamic
-- state commands
--
-- See Also
--
-- VK_VERSION_1_0, PipelineDynamicStateCreateInfo
newtype DynamicState
DynamicState :: Int32 -> DynamicState
-- | DYNAMIC_STATE_VIEWPORT specifies that the pViewports
-- state in PipelineViewportStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetViewport before any
-- drawing commands. The number of viewports used by a pipeline is still
-- specified by the viewportCount member of
-- PipelineViewportStateCreateInfo.
pattern DYNAMIC_STATE_VIEWPORT :: DynamicState
-- | DYNAMIC_STATE_SCISSOR specifies that the pScissors
-- state in PipelineViewportStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetScissor before any
-- drawing commands. The number of scissor rectangles used by a pipeline
-- is still specified by the scissorCount member of
-- PipelineViewportStateCreateInfo.
pattern DYNAMIC_STATE_SCISSOR :: DynamicState
-- | DYNAMIC_STATE_LINE_WIDTH specifies that the lineWidth
-- state in PipelineRasterizationStateCreateInfo will be ignored
-- and must be set dynamically with cmdSetLineWidth before
-- any drawing commands that generate line primitives for the rasterizer.
pattern DYNAMIC_STATE_LINE_WIDTH :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BIAS specifies that the
-- depthBiasConstantFactor, depthBiasClamp and
-- depthBiasSlopeFactor states in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBias before any
-- draws are performed with depthBiasEnable in
-- PipelineRasterizationStateCreateInfo set to TRUE.
pattern DYNAMIC_STATE_DEPTH_BIAS :: DynamicState
-- | DYNAMIC_STATE_BLEND_CONSTANTS specifies that the
-- blendConstants state in
-- PipelineColorBlendStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetBlendConstants before
-- any draws are performed with a pipeline state with
-- PipelineColorBlendAttachmentState member blendEnable
-- set to TRUE and any of the blend functions using a constant
-- blend color.
pattern DYNAMIC_STATE_BLEND_CONSTANTS :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BOUNDS specifies that the
-- minDepthBounds and maxDepthBounds states of
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBounds before
-- any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- depthBoundsTestEnable set to TRUE.
pattern DYNAMIC_STATE_DEPTH_BOUNDS :: DynamicState
-- | DYNAMIC_STATE_STENCIL_COMPARE_MASK specifies that the
-- compareMask state in
-- PipelineDepthStencilStateCreateInfo for both front and
-- back will be ignored and must be set dynamically with
-- cmdSetStencilCompareMask before any draws are performed with a
-- pipeline state with PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_COMPARE_MASK :: DynamicState
-- | DYNAMIC_STATE_STENCIL_WRITE_MASK specifies that the
-- writeMask state in PipelineDepthStencilStateCreateInfo
-- for both front and back will be ignored and
-- must be set dynamically with cmdSetStencilWriteMask
-- before any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_WRITE_MASK :: DynamicState
-- | DYNAMIC_STATE_STENCIL_REFERENCE specifies that the
-- reference state in PipelineDepthStencilStateCreateInfo
-- for both front and back will be ignored and
-- must be set dynamically with cmdSetStencilReference
-- before any draws are performed with a pipeline state with
-- PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_REFERENCE :: DynamicState
-- | DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT specifies that the
-- pColorWriteEnables state in
-- PipelineColorWriteCreateInfoEXT will be ignored and must
-- be set dynamically with cmdSetColorWriteEnableEXT before any
-- draw call.
pattern DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT specifies that the
-- primitiveRestartEnable state in
-- PipelineInputAssemblyStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetPrimitiveRestartEnableEXT before any drawing commands.
pattern DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_LOGIC_OP_EXT specifies that the logicOp
-- state in PipelineColorBlendStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetLogicOpEXT before any
-- drawing commands.
pattern DYNAMIC_STATE_LOGIC_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT specifies that the
-- depthBiasEnable state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthBiasEnableEXT
-- before any drawing commands.
pattern DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT specifies that the
-- rasterizerDiscardEnable state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetRasterizerDiscardEnableEXT before any drawing commands.
pattern DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT specifies that the
-- patchControlPoints state in
-- PipelineTessellationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetPatchControlPointsEXT
-- before any drawing commands.
pattern DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT :: DynamicState
-- | DYNAMIC_STATE_VERTEX_INPUT_EXT specifies that the
-- pVertexInputState state will be ignored and must be
-- set dynamically with cmdSetVertexInputEXT before any drawing
-- commands
pattern DYNAMIC_STATE_VERTEX_INPUT_EXT :: DynamicState
-- | DYNAMIC_STATE_STENCIL_OP_EXT specifies that the
-- failOp, passOp, depthFailOp, and
-- compareOp states in
-- PipelineDepthStencilStateCreateInfo for both front and
-- back will be ignored and must be set dynamically with
-- cmdSetStencilOpEXT before any draws are performed with a
-- pipeline state with PipelineDepthStencilStateCreateInfo member
-- stencilTestEnable set to TRUE
pattern DYNAMIC_STATE_STENCIL_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT specifies that the
-- stencilTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetStencilTestEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT specifies that the
-- depthBoundsTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with
-- cmdSetDepthBoundsTestEnableEXT before any draw call.
pattern DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT specifies that the
-- depthCompareOp state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthCompareOpEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT specifies that the
-- depthWriteEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthWriteEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT specifies that the
-- depthTestEnable state in
-- PipelineDepthStencilStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetDepthTestEnableEXT
-- before any draw call.
pattern DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: DynamicState
-- | DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT specifies that
-- the stride state in VertexInputBindingDescription will
-- be ignored and must be set dynamically with
-- cmdBindVertexBuffers2EXT before any draw call.
pattern DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT :: DynamicState
-- | DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT specifies that the
-- scissorCount and pScissors state in
-- PipelineViewportStateCreateInfo will be ignored and must
-- be set dynamically with cmdSetScissorWithCountEXT before any
-- draw call.
pattern DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT specifies that the
-- viewportCount and pViewports state in
-- PipelineViewportStateCreateInfo will be ignored and must
-- be set dynamically with cmdSetViewportWithCountEXT before any
-- draw call.
pattern DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: DynamicState
-- | DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT specifies that the
-- topology state in PipelineInputAssemblyStateCreateInfo
-- only specifies the topology class, and the specific topology
-- order and adjacency must be set dynamically with
-- cmdSetPrimitiveTopologyEXT before any drawing commands.
pattern DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: DynamicState
-- | DYNAMIC_STATE_FRONT_FACE_EXT specifies that the
-- frontFace state in
-- PipelineRasterizationStateCreateInfo will be ignored and
-- must be set dynamically with cmdSetFrontFaceEXT before
-- any drawing commands.
pattern DYNAMIC_STATE_FRONT_FACE_EXT :: DynamicState
-- | DYNAMIC_STATE_CULL_MODE_EXT specifies that the
-- cullMode state in PipelineRasterizationStateCreateInfo
-- will be ignored and must be set dynamically with
-- cmdSetCullModeEXT before any drawing commands.
pattern DYNAMIC_STATE_CULL_MODE_EXT :: DynamicState
-- | DYNAMIC_STATE_LINE_STIPPLE_EXT specifies that the
-- lineStippleFactor and lineStipplePattern state in
-- PipelineRasterizationLineStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetLineStippleEXT before
-- any draws are performed with a pipeline state with
-- PipelineRasterizationLineStateCreateInfoEXT member
-- stippledLineEnable set to TRUE.
pattern DYNAMIC_STATE_LINE_STIPPLE_EXT :: DynamicState
-- | DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR specifies that state in
-- PipelineFragmentShadingRateStateCreateInfoKHR and
-- PipelineFragmentShadingRateEnumStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetFragmentShadingRateKHR or
-- cmdSetFragmentShadingRateEnumNV before any drawing commands.
pattern DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR :: DynamicState
-- | DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV specifies that the
-- pExclusiveScissors state in
-- PipelineViewportExclusiveScissorStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetExclusiveScissorNV before any drawing commands. The
-- number of exclusive scissor rectangles used by a pipeline is still
-- specified by the exclusiveScissorCount member of
-- PipelineViewportExclusiveScissorStateCreateInfoNV.
pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV specifies that
-- the coarse sample order state in
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetCoarseSampleOrderNV before any drawing commands.
pattern DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV specifies that
-- the pShadingRatePalettes state in
-- PipelineViewportShadingRateImageStateCreateInfoNV will be
-- ignored and must be set dynamically with
-- cmdSetViewportShadingRatePaletteNV before any drawing commands.
pattern DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV :: DynamicState
-- | DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR specifies
-- that the default stack size computation for the pipeline will be
-- ignored and must be set dynamically with
-- cmdSetRayTracingPipelineStackSizeKHR before any ray tracing
-- calls are performed.
pattern DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR :: DynamicState
-- | DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT specifies that the
-- sampleLocationsInfo state in
-- PipelineSampleLocationsStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetSampleLocationsEXT
-- before any draw or clear commands. Enabling custom sample locations is
-- still indicated by the sampleLocationsEnable member of
-- PipelineSampleLocationsStateCreateInfoEXT.
pattern DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: DynamicState
-- | DYNAMIC_STATE_DISCARD_RECTANGLE_EXT specifies that the
-- pDiscardRectangles state in
-- PipelineDiscardRectangleStateCreateInfoEXT will be ignored and
-- must be set dynamically with cmdSetDiscardRectangleEXT
-- before any draw or clear commands. The DiscardRectangleModeEXT
-- and the number of active discard rectangles is still specified by the
-- discardRectangleMode and discardRectangleCount
-- members of PipelineDiscardRectangleStateCreateInfoEXT.
pattern DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: DynamicState
-- | DYNAMIC_STATE_VIEWPORT_W_SCALING_NV specifies that the
-- pViewportScalings state in
-- PipelineViewportWScalingStateCreateInfoNV will be ignored and
-- must be set dynamically with cmdSetViewportWScalingNV
-- before any draws are performed with a pipeline state with
-- PipelineViewportWScalingStateCreateInfoNV member
-- viewportScalingEnable set to TRUE
pattern DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: DynamicState
-- | VkCullModeFlagBits - Bitmask controlling triangle culling
--
-- Description
--
-- Following culling, fragments are produced for any triangles which have
-- not been discarded.
--
-- See Also
--
-- VK_VERSION_1_0, CullModeFlags
newtype CullModeFlagBits
CullModeFlagBits :: Flags -> CullModeFlagBits
-- | CULL_MODE_NONE specifies that no triangles are discarded
pattern CULL_MODE_NONE :: CullModeFlagBits
-- | CULL_MODE_FRONT_BIT specifies that front-facing triangles are
-- discarded
pattern CULL_MODE_FRONT_BIT :: CullModeFlagBits
-- | CULL_MODE_BACK_BIT specifies that back-facing triangles are
-- discarded
pattern CULL_MODE_BACK_BIT :: CullModeFlagBits
-- | CULL_MODE_FRONT_AND_BACK specifies that all triangles are
-- discarded.
pattern CULL_MODE_FRONT_AND_BACK :: CullModeFlagBits
type CullModeFlags = CullModeFlagBits
-- | VkShaderStageFlagBits - Bitmask specifying a pipeline stage
--
-- Description
--
-- Note
--
-- SHADER_STAGE_ALL_GRAPHICS only includes the original five
-- graphics stages included in Vulkan 1.0, and not any stages added by
-- extensions. Thus, it may not have the desired effect in all cases.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateInfo,
-- ShaderStageFlags, getShaderInfoAMD
newtype ShaderStageFlagBits
ShaderStageFlagBits :: Flags -> ShaderStageFlagBits
-- | SHADER_STAGE_VERTEX_BIT specifies the vertex stage.
pattern SHADER_STAGE_VERTEX_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_TESSELLATION_CONTROL_BIT specifies the
-- tessellation control stage.
pattern SHADER_STAGE_TESSELLATION_CONTROL_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_TESSELLATION_EVALUATION_BIT specifies the
-- tessellation evaluation stage.
pattern SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_GEOMETRY_BIT specifies the geometry stage.
pattern SHADER_STAGE_GEOMETRY_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_FRAGMENT_BIT specifies the fragment stage.
pattern SHADER_STAGE_FRAGMENT_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_COMPUTE_BIT specifies the compute stage.
pattern SHADER_STAGE_COMPUTE_BIT :: ShaderStageFlagBits
-- | SHADER_STAGE_ALL_GRAPHICS is a combination of bits used as
-- shorthand to specify all graphics stages defined above (excluding the
-- compute stage).
pattern SHADER_STAGE_ALL_GRAPHICS :: ShaderStageFlagBits
-- | SHADER_STAGE_ALL is a combination of bits used as shorthand to
-- specify all shader stages supported by the device, including all
-- additional stages which are introduced by extensions.
pattern SHADER_STAGE_ALL :: ShaderStageFlagBits
pattern SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI :: ShaderStageFlagBits
-- | SHADER_STAGE_MESH_BIT_NV specifies the mesh stage.
pattern SHADER_STAGE_MESH_BIT_NV :: ShaderStageFlagBits
-- | SHADER_STAGE_TASK_BIT_NV specifies the task stage.
pattern SHADER_STAGE_TASK_BIT_NV :: ShaderStageFlagBits
-- | SHADER_STAGE_CALLABLE_BIT_KHR specifies the callable stage.
pattern SHADER_STAGE_CALLABLE_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_INTERSECTION_BIT_KHR specifies the intersection
-- stage.
pattern SHADER_STAGE_INTERSECTION_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_MISS_BIT_KHR specifies the miss stage.
pattern SHADER_STAGE_MISS_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_CLOSEST_HIT_BIT_KHR specifies the closest hit
-- stage.
pattern SHADER_STAGE_CLOSEST_HIT_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_ANY_HIT_BIT_KHR specifies the any-hit stage.
pattern SHADER_STAGE_ANY_HIT_BIT_KHR :: ShaderStageFlagBits
-- | SHADER_STAGE_RAYGEN_BIT_KHR specifies the ray generation stage.
pattern SHADER_STAGE_RAYGEN_BIT_KHR :: ShaderStageFlagBits
type ShaderStageFlags = ShaderStageFlagBits
-- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is
-- created
--
-- Description
--
--
--
--
--
-- It is valid to set both PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
-- and PIPELINE_CREATE_DERIVATIVE_BIT. This allows a pipeline to
-- be both a parent and possibly a child in a pipeline hierarchy. See
-- Pipeline Derivatives for more information.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCreateFlags
newtype PipelineCreateFlagBits
PipelineCreateFlagBits :: Flags -> PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DERIVATIVE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_LIBRARY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_DISPATCH_BASE_BIT :: PipelineCreateFlagBits
pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: PipelineCreateFlagBits
type PipelineCreateFlags = PipelineCreateFlagBits
-- | VkPipelineShaderStageCreateFlagBits - Bitmask controlling how a
-- pipeline shader stage is created
--
-- Description
--
-- Note
--
-- If
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- and PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- are specified and minSubgroupSize does not equal
-- maxSubgroupSize and no required subgroup size is
-- specified, then the only way to guarantee that the 'X' dimension of
-- the local workgroup size is a multiple of SubgroupSize is to
-- make it a multiple of maxSubgroupSize. Under these
-- conditions, you are guaranteed full subgroups but not any particular
-- subgroup size.
--
-- See Also
--
-- VK_VERSION_1_0, PipelineShaderStageCreateFlags
newtype PipelineShaderStageCreateFlagBits
PipelineShaderStageCreateFlagBits :: Flags -> PipelineShaderStageCreateFlagBits
-- | PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-- specifies that the subgroup sizes must be launched with all
-- invocations active in the compute stage.
pattern PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT :: PipelineShaderStageCreateFlagBits
-- |
-- PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
-- specifies that the SubgroupSize may vary in the shader
-- stage.
pattern PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT :: PipelineShaderStageCreateFlagBits
type PipelineShaderStageCreateFlags = PipelineShaderStageCreateFlagBits
-- | VkColorComponentFlagBits - Bitmask controlling which components are
-- written to the framebuffer
--
-- Description
--
-- The color write mask operation is applied regardless of whether
-- blending is enabled.
--
-- The color write mask operation is applied only if Color Write
-- Enable is enabled for the respective attachment. Otherwise the
-- color write mask is ignored and writes to all components of the
-- attachment are disabled.
--
-- See Also
--
-- VK_VERSION_1_0, ColorComponentFlags
newtype ColorComponentFlagBits
ColorComponentFlagBits :: Flags -> ColorComponentFlagBits
-- | COLOR_COMPONENT_R_BIT specifies that the R value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_R_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_G_BIT specifies that the G value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_G_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_B_BIT specifies that the B value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_B_BIT :: ColorComponentFlagBits
-- | COLOR_COMPONENT_A_BIT specifies that the A value is written to
-- the color attachment for the appropriate sample. Otherwise, the value
-- in memory is unmodified.
pattern COLOR_COMPONENT_A_BIT :: ColorComponentFlagBits
type ColorComponentFlags = ColorComponentFlagBits
-- | VkPipelineColorBlendStateCreateFlagBits - Bitmask specifying
-- additional parameters of an image
--
-- See Also
--
-- VK_ARM_rasterization_order_attachment_access,
-- PipelineColorBlendStateCreateFlags
newtype PipelineColorBlendStateCreateFlagBits
PipelineColorBlendStateCreateFlagBits :: Flags -> PipelineColorBlendStateCreateFlagBits
-- |
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
-- indicates that access to color and input attachments will have
-- implicit framebuffer-local memory dependencies, allowing applications
-- to express custom blending operations in a fragment shader. See
-- renderpass feedback loops for more information.
pattern PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM :: PipelineColorBlendStateCreateFlagBits
type PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlagBits
-- | VkPipelineDepthStencilStateCreateFlagBits - Bitmask specifying
-- additional depth/stencil state information.
--
-- See Also
--
-- VK_ARM_rasterization_order_attachment_access,
-- PipelineDepthStencilStateCreateFlags
newtype PipelineDepthStencilStateCreateFlagBits
PipelineDepthStencilStateCreateFlagBits :: Flags -> PipelineDepthStencilStateCreateFlagBits
-- |
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
-- indicates that access to the stencil aspects of depth/stencil and
-- input attachments will have implicit framebuffer-local memory
-- dependencies. See renderpass feedback loops for more
-- information.
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM :: PipelineDepthStencilStateCreateFlagBits
-- |
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- indicates that access to the depth aspects of depth/stencil and input
-- attachments will have implicit framebuffer-local memory dependencies.
-- See renderpass feedback loops for more information.
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM :: PipelineDepthStencilStateCreateFlagBits
type PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlagBits
-- | VkSampleMask - Mask of sample coverage information
--
-- See Also
--
-- VK_VERSION_1_0, PipelineMultisampleStateCreateInfo
type SampleMask = Word32
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.Viewport
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.SpecializationMapEntry
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance GHC.Classes.Eq Vulkan.Core10.Pipeline.StencilOpState
instance GHC.Show.Show Vulkan.Core10.Pipeline.Viewport
instance GHC.Show.Show Vulkan.Core10.Pipeline.SpecializationMapEntry
instance GHC.Show.Show Vulkan.Core10.Pipeline.SpecializationInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance GHC.Show.Show Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo
instance GHC.Show.Show Vulkan.Core10.Pipeline.StencilOpState
instance GHC.Show.Show Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.StencilOpState
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.StencilOpState
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.StencilOpState
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.StencilOpState
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.VertexInputAttributeDescription
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.VertexInputBindingDescription
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.ComputePipelineCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.ComputePipelineCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.SpecializationInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.SpecializationInfo
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.SpecializationInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.SpecializationMapEntry
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.SpecializationMapEntry
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.SpecializationMapEntry
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.SpecializationMapEntry
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pipeline.Viewport
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pipeline.Viewport
instance Foreign.Storable.Storable Vulkan.Core10.Pipeline.Viewport
instance Vulkan.Zero.Zero Vulkan.Core10.Pipeline.Viewport
-- | Name
--
-- VK_NV_inherited_viewport_scissor - device extension
--
-- VK_NV_inherited_viewport_scissor
--
--
-- - Name String
-- VK_NV_inherited_viewport_scissor
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 279
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-02-04
--
--
--
-- - Contributors
- David Zhao Akeley,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Piers Daniell,
-- NVIDIA
- Christoph Kubisch, NVIDIA
--
--
-- Description
--
-- This extension adds the ability for a secondary command buffer to
-- inherit the dynamic viewport and scissor state from a primary command
-- buffer, or a previous secondary command buffer executed within the
-- same cmdExecuteCommands call. It addresses a frequent scenario
-- in applications that deal with window resizing and want to improve
-- utilization of re-usable secondary command buffers. The functionality
-- is provided through
-- CommandBufferInheritanceViewportScissorInfoNV. Viewport
-- inheritance is effectively limited to the 2D rectangle; secondary
-- command buffers must re-specify the inherited depth range values.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Why are viewport depth values configured in the
-- CommandBufferInheritanceViewportScissorInfoNV struct, rather
-- than by a vkCmd… function?
--
--
-- DISCUSSION:
--
-- We considered both adding a new vkCmdSetViewportDepthNV
-- function, and modifying cmdSetViewport to ignore the
-- x, y, width, and height values
-- when called with a secondary command buffer that activates this
-- extension.
--
-- The primary design considerations for this extension are debuggability
-- and easy integration into existing applications. The main issue with
-- adding a new vkCmdSetViewportDepthNV function is reducing
-- ease-of-integration. A new function pointer will have to be loaded,
-- but more importantly, a new function would require changes to be
-- supported in graphics debuggers; this would delay widespread adoption
-- of the extension.
--
-- The proposal to modify cmdSetViewport would avoid these issues.
-- However, we expect that the intent of applications using this
-- extension is to have the viewport values used for drawing exactly
-- match the inherited values; thus, it would be better for debuggability
-- if no function for modifying the viewport depth alone is provided. By
-- specifying viewport depth values when starting secondary command
-- buffer recording, and requiring the specified depth values to match
-- the inherited depth values, we allow for validation layers that flag
-- depth changes as errors.
--
-- This design also better matches the hardware model. In fact, there is
-- no need to re-execute a depth-setting command. The graphics device
-- retains the viewport depth state; it is the CPU-side state of
-- CommandBuffer that must be re-initialized.
--
--
-- - Why are viewport depth values specified as a partial
-- Viewport struct, rather than a leaner depth-only struct?
--
--
-- DISCUSSION:
--
-- We considered adding a new VkViewportDepthNV struct
-- containing only minDepth and maxDepth. However, as
-- application developers would need to maintain both a
-- VK_NV_inherited_viewport_scissor code path and a fallback
-- code path (at least in the short term), we ultimately chose to
-- continue using the existing Viewport structure. Doing so would
-- allow application developers to reuse the same Viewport array
-- for both code paths, rather than constructing separate
-- VkViewportDepthNV and Viewport arrays for each code
-- path.
--
-- Version History
--
--
-- - Revision 1, 2020-02-04 (David Zhao Akeley)
--
--
-- See Also
--
-- CommandBufferInheritanceViewportScissorInfoNV,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_inherited_viewport_scissor
-- | VkPhysicalDeviceInheritedViewportScissorFeaturesNV - Structure
-- describing the viewport scissor inheritance behavior for an
-- implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceInheritedViewportScissorFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceInheritedViewportScissorFeaturesNV can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_inherited_viewport_scissor, Bool32,
-- StructureType
data PhysicalDeviceInheritedViewportScissorFeaturesNV
PhysicalDeviceInheritedViewportScissorFeaturesNV :: Bool -> PhysicalDeviceInheritedViewportScissorFeaturesNV
-- | inheritedViewportScissor2D indicates whether secondary
-- command buffers can inherit most of the dynamic state affected by
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
-- DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
-- DYNAMIC_STATE_VIEWPORT or DYNAMIC_STATE_SCISSOR, from a
-- primary command buffer.
[$sel:inheritedViewportScissor2D:PhysicalDeviceInheritedViewportScissorFeaturesNV] :: PhysicalDeviceInheritedViewportScissorFeaturesNV -> Bool
-- | VkCommandBufferInheritanceViewportScissorInfoNV - Structure specifying
-- command buffer inheritance information
--
-- Description
--
-- If the pNext chain of CommandBufferInheritanceInfo
-- includes a CommandBufferInheritanceViewportScissorInfoNV
-- structure, then that structure controls whether a command buffer
-- can inherit the following state from other command buffers:
--
--
--
-- as well as the following state, with restrictions on inherited depth
-- values and viewport count:
--
--
--
-- If viewportScissor2D is FALSE, then the command buffer
-- does not inherit the listed dynamic state, and should set this
-- state itself. If this structure is not present, the behavior is as if
-- viewportScissor2D is FALSE.
--
-- If viewportScissor2D is TRUE, then the listed dynamic
-- state is inherited, and the command buffer must not set this
-- state, except that the viewport and scissor count may be set by
-- binding a graphics pipeline that does not specify this state as
-- dynamic.
--
-- Note
--
-- Due to this restriction, applications should ensure either all
-- or none of the graphics pipelines bound in this secondary command
-- buffer use dynamic viewport/scissor counts.
--
-- When the command buffer is executed as part of a the execution of a
-- cmdExecuteCommands command, the inherited state (if enabled) is
-- determined by the following procedure, performed separately for each
-- dynamic state, and separately for each value for dynamic state that
-- consists of multiple values (e.g. multiple viewports).
--
--
-- - With i being the index of the executed command buffer in the
-- pCommandBuffers array of cmdExecuteCommands, if i >
-- 0 and any secondary command buffer from index 0 to i-1 modifies the
-- state, the inherited state is provisionally set to the final value set
-- by the last such secondary command buffer. Binding a graphics pipeline
-- defining the state statically is equivalent to setting the state to an
-- undefined value.
-- - Otherwise, the tentatative inherited state is that of the primary
-- command buffer at the point the cmdExecuteCommands command was
-- recorded; if the state is undefined, then so is the provisional
-- inherited state.
-- - If the provisional inherited state is an undefined value, then the
-- state is not inherited.
-- - If the provisional inherited state is a viewport, with n being its
-- viewport index, then if n ≥ viewportDepthCount, or if either
-- Viewport::minDepth or
-- Viewport::maxDepth are not equal to the respective
-- values of the nth element of pViewportDepths, then the state
-- is not inherited.
-- - If the provisional inherited state passes both checks, then it
-- becomes the actual inherited state.
--
--
-- Note
--
-- There is no support for inheriting dynamic state from a secondary
-- command buffer executed as part of a different
-- cmdExecuteCommands command.
--
-- Valid Usage
--
--
--
--
-- - If the multiple viewports feature is not enabled and
-- viewportScissor2D is TRUE, then
-- viewportDepthCount must be 1
-- - If viewportScissor2D is TRUE, then
-- viewportDepthCount must be greater than
-- 0
-- - If viewportScissor2D is TRUE, then
-- pViewportDepths must be a valid pointer to an array of
-- viewportDepthCount valid Viewport structures, except
-- any requirements on x, y, width, and
-- height do not apply
-- - If viewportScissor2D is TRUE, then the command
-- buffer must be recorded with the
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_NV_inherited_viewport_scissor, Bool32,
-- StructureType, Viewport
data CommandBufferInheritanceViewportScissorInfoNV
CommandBufferInheritanceViewportScissorInfoNV :: Bool -> Word32 -> Viewport -> CommandBufferInheritanceViewportScissorInfoNV
-- | viewportScissor2D specifies whether the listed dynamic state
-- is inherited.
[$sel:viewportScissor2D:CommandBufferInheritanceViewportScissorInfoNV] :: CommandBufferInheritanceViewportScissorInfoNV -> Bool
-- | viewportDepthCount specifies the maximum number of viewports
-- to inherit. When viewportScissor2D is FALSE, the
-- behavior is as if this value is zero.
[$sel:viewportDepthCount:CommandBufferInheritanceViewportScissorInfoNV] :: CommandBufferInheritanceViewportScissorInfoNV -> Word32
-- | pViewportDepths is a pointer to a Viewport structure
-- specifying the expected depth range for each inherited viewport.
[$sel:viewportDepths:CommandBufferInheritanceViewportScissorInfoNV] :: CommandBufferInheritanceViewportScissorInfoNV -> Viewport
type NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION = 1
pattern NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION :: forall a. Integral a => a
type NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME = "VK_NV_inherited_viewport_scissor"
pattern NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV
-- | Name
--
-- VK_NV_device_generated_commands - device extension
--
-- VK_NV_device_generated_commands
--
--
-- - Name String
-- VK_NV_device_generated_commands
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 278
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires
-- VK_KHR_buffer_device_address
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-02-20
--
--
--
-- - Interactions and External Dependencies
- This
-- extension requires Vulkan 1.1
- This extension requires
-- VK_EXT_buffer_device_address or
-- VK_KHR_buffer_device_address or Vulkan 1.2 for the ability to
-- bind vertex and index buffers on the device.
- This extension
-- interacts with VK_NV_mesh_shader. If the latter extension is
-- not supported, remove the command token to initiate mesh tasks drawing
-- in this extension.
-- - Contributors
- Christoph Kubisch,
-- NVIDIA
- Pierre Boudier, NVIDIA
- Jeff Bolz,
-- NVIDIA
- Eric Werness, NVIDIA
- Yuriy O’Donnell, Epic
-- Games
- Baldur Karlsson, Valve
- Mathias Schott,
-- NVIDIA
- Tyson Smith, NVIDIA
- Ingo Esser,
-- NVIDIA
--
--
-- Description
--
-- This extension allows the device to generate a number of critical
-- graphics commands for command buffers.
--
-- When rendering a large number of objects, the device can be leveraged
-- to implement a number of critical functions, like updating matrices,
-- or implementing occlusion culling, frustum culling, front to back
-- sorting, etc. Implementing those on the device does not require any
-- special extension, since an application is free to define its own data
-- structures, and just process them using shaders.
--
-- However, if the application desires to quickly kick off the rendering
-- of the final stream of objects, then unextended Vulkan forces the
-- application to read back the processed stream and issue graphics
-- command from the host. For very large scenes, the synchronization
-- overhead and cost to generate the command buffer can become the
-- bottleneck. This extension allows an application to generate a device
-- side stream of state changes and commands, and convert it efficiently
-- into a command buffer without having to read it back to the host.
--
-- Furthermore, it allows incremental changes to such command buffers by
-- manipulating only partial sections of a command stream — for example
-- pipeline bindings. Unextended Vulkan requires re-creation of entire
-- command buffers in such a scenario, or updates synchronized on the
-- host.
--
-- The intended usage for this extension is for the application to:
--
--
-- - create Buffer objects and retrieve physical addresses from
-- them via getBufferDeviceAddressEXT
-- - create a graphics pipeline using
-- GraphicsPipelineShaderGroupsCreateInfoNV for the ability to
-- change shaders on the device.
-- - create a IndirectCommandsLayoutNV, which lists the
-- IndirectCommandsTokenTypeNV it wants to dynamically execute as
-- an atomic command sequence. This step likely involves some internal
-- device code compilation, since the intent is for the GPU to generate
-- the command buffer in the pipeline.
-- - fill the input stream buffers with the data for each of the inputs
-- it needs. Each input is an array that will be filled with
-- token-dependent data.
-- - set up a preprocess Buffer that uses memory according to
-- the information retrieved via
-- getGeneratedCommandsMemoryRequirementsNV.
-- - optionally preprocess the generated content using
-- cmdPreprocessGeneratedCommandsNV, for example on an
-- asynchronous compute queue, or for the purpose of re-using the data in
-- multiple executions.
-- - call cmdExecuteGeneratedCommandsNV to create and execute
-- the actual device commands for all sequences based on the inputs
-- provided.
--
--
-- For each draw in a sequence, the following can be specified:
--
--
-- - a different shader group
-- - a number of vertex buffer bindings
-- - a different index buffer, with an optional dynamic offset and
-- index type
-- - a number of different push constants
-- - a flag that encodes the primitive winding
--
--
-- While the GPU can be faster than a CPU to generate the commands, it
-- will not happen asynchronously to the device, therefore the primary
-- use-case is generating “less” total work (occlusion culling,
-- classification to use specialized shaders, etc.).
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) How to name this extension ?
--
--
-- VK_NV_device_generated_commands
--
--
-- As usual, one of the hardest issues ;)
--
-- Alternatives: VK_gpu_commands, VK_execute_commands,
-- VK_device_commands, VK_device_execute_commands,
-- VK_device_execute, VK_device_created_commands,
-- VK_device_recorded_commands,
-- VK_device_generated_commands
-- VK_indirect_generated_commands
--
-- 2) Should we use a serial stateful token stream or stateless sequence
-- descriptions?
--
-- Similarly to Pipeline, fixed layouts have the most likelihood
-- to be cross-vendor adoptable. They also benefit from being processable
-- in parallel. This is a different design choice compared to the serial
-- command stream generated through GL_NV_command_list.
--
-- 3) How to name a sequence description?
--
-- VkIndirectCommandsLayout as in the NVX extension predecessor.
--
-- Alternative: VkGeneratedCommandsLayout
--
-- 4) Do we want to provide indirectCommands inputs with layout
-- or at indirectCommands time?
--
-- Separate layout from data as Vulkan does. Provide full flexibility for
-- indirectCommands.
--
-- 5) Should the input be provided as SoA or AoS?
--
-- Both ways are desireable. AoS can provide portability to other APIs
-- and easier to setup, while SoA allows to update individual inputs in a
-- cache-efficient manner, when others remain static.
--
-- 6) How do we make developers aware of the memory requirements of
-- implementation-dependent data used for the generated commands?
--
-- Make the API explicit and introduce a preprocess
-- Buffer. Developers have to allocate it using
-- getGeneratedCommandsMemoryRequirementsNV.
--
-- In the NVX version the requirements were hidden implicitly as part of
-- the command buffer reservation process, however as the memory
-- requirements can be substantial, we want to give developers the
-- ability to budget the memory themselves. By lowering the
-- maxSequencesCount the memory consumption can be reduced.
-- Furthermore reuse of the memory is possible, for example for doing
-- explicit preprocessing and execution in a ping-pong fashion.
--
-- The actual buffer size is implementation-dependent and may be zero,
-- i.e. not always required.
--
-- When making use of Graphics Shader Groups, the programs should behave
-- similar with regards to vertex inputs, clipping and culling outputs of
-- the geometry stage, as well as sample shading behavior in fragment
-- shaders, to reduce the amount of the worst-case memory approximation.
--
-- 7) Should we allow additional per-sequence dynamic state changes?
--
-- Yes
--
-- Introduced a lightweight indirect state flag
-- IndirectStateFlagBitsNV. So far only switching front face
-- winding state is exposed. Especially in CAD/DCC mirrored transforms
-- that require such changes are common, and similar flexibility is given
-- in the ray tracing instance description.
--
-- The flag could be extended further, for example to switch between
-- primitive-lists or -strips, or make other state modifications.
--
-- Furthermore, as new tokens can be added easily, future extension could
-- add the ability to change any DynamicState.
--
-- 8) How do we allow re-using already “generated”
-- indirectCommands?
--
-- Expose a preprocessBuffer to reuse
-- implementation-dependencyFlags data. Set the isPreprocessed
-- to true in cmdExecuteGeneratedCommandsNV.
--
-- 9) Under which conditions is cmdExecuteGeneratedCommandsNV
-- legal?
--
-- It behaves like a regular draw call command.
--
-- 10) Is cmdPreprocessGeneratedCommandsNV copying the input data
-- or referencing it?
--
-- There are multiple implementations possible:
--
--
-- - one could have some emulation code that parses the inputs, and
-- generates an output command buffer, therefore copying the inputs.
-- - one could just reference the inputs, and have the processing done
-- in pipe at execution time.
--
--
-- If the data is mandated to be copied, then it puts a penalty on
-- implementation that could process the inputs directly in pipe. If the
-- data is “referenced”, then it allows both types of implementation.
--
-- The inputs are “referenced”, and must not be modified after the
-- call to cmdExecuteGeneratedCommandsNV has completed.
--
-- 11) Which buffer usage flags are required for the buffers referenced
-- by GeneratedCommandsInfoNV ?
--
-- Reuse existing BUFFER_USAGE_INDIRECT_BUFFER_BIT
--
--
--
-- 12) In which pipeline stage does the device generated command
-- expansion happen?
--
-- cmdPreprocessGeneratedCommandsNV is treated as if it occurs in
-- a separate logical pipeline from either graphics or compute, and that
-- pipeline only includes PIPELINE_STAGE_TOP_OF_PIPE_BIT, a new
-- stage PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, and
-- PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT. This new stage has two
-- corresponding new access types,
-- ACCESS_COMMAND_PREPROCESS_READ_BIT_NV and
-- ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, used to synchronize
-- reading the buffer inputs and writing the preprocess memory output.
--
-- The generated output written in the preprocess buffer memory by
-- cmdExecuteGeneratedCommandsNV is considered to be consumed by
-- the PIPELINE_STAGE_DRAW_INDIRECT_BIT pipeline stage.
--
-- Thus, to synchronize from writing the input buffers to preprocessing
-- via cmdPreprocessGeneratedCommandsNV, use:
--
--
--
-- To synchronize from cmdPreprocessGeneratedCommandsNV to
-- executing the generated commands by
-- cmdExecuteGeneratedCommandsNV, use:
--
--
--
-- When cmdExecuteGeneratedCommandsNV is used with a
-- isPreprocessed of FALSE, the generated commands are
-- implicitly preprocessed, therefore one only needs to synchronize the
-- inputs via:
--
--
--
-- 13) What if most token data is “static”, but we frequently want to
-- render a subsection?
--
-- Added “sequencesIndexBuffer”. This allows to easier sort and filter
-- what should actually be executed.
--
-- 14) What are the changes compared to the previous NVX extension?
--
--
-- - Compute dispatch support was removed (was never implemented in
-- drivers). There are different approaches how dispatching from the
-- device should work, hence we defer this to a future extension.
-- - The ObjectTableNVX was replaced by using physical buffer
-- addresses and introducing Shader Groups for the graphics
-- pipeline.
-- - Less state changes are possible overall, but the important
-- operations are still there (reduces complexity of
-- implementation).
-- - The API was redesigned so all inputs must be passed at both
-- preprocessing and execution time (this was implicit in NVX, now it is
-- explicit)
-- - The reservation of intermediate command space is now mandatory and
-- explicit through a preprocess buffer.
-- - The IndirectStateFlagBitsNV were introduced
--
--
-- 15) When porting from other APIs, their indirect buffers may use
-- different enums, for example for index buffer types. How to solve
-- this?
--
-- Added “pIndexTypeValues” to map custom uint32_t values to
-- corresponding IndexType.
--
-- 16) Do we need more shader group state overrides?
--
-- The NVX version allowed all PSO states to be different, however as the
-- goal is not to replace all state setup, but focus on highly-frequent
-- state changes for drawing lots of objects, we reduced the amount of
-- state overrides. Especially VkPipelineLayout as well as VkRenderPass
-- configuration should be left static, the rest is still open for
-- discussion.
--
-- The current focus is just to allow VertexInput changes as well as
-- shaders, while all shader groups use the same shader stages.
--
-- Too much flexibility will increase the test coverage requirement as
-- well. However, further extensions could allow more dynamic state as
-- well.
--
-- 17) Do we need more detailed physical device feature queries/enables?
--
-- An EXT version would need detailed implementor feedback to come up
-- with a good set of features. Please contact us if you are interested,
-- we are happy to make more features optional, or add further
-- restrictions to reduce the minimum feature set of an EXT.
--
-- 18) Is there an interaction with VK_KHR_pipeline_library planned?
--
-- Yes, a future version of this extension will detail the interaction,
-- once VK_KHR_pipeline_library is no longer provisional.
--
-- Example Code
--
-- Open-Source samples illustrating the usage of the extension can be
-- found at the following location (may not yet exist at time of
-- writing):
--
-- https://github.com/nvpro-samples/vk_device_generated_cmds
--
-- Version History
--
--
-- - Revision 1, 2020-02-20 (Christoph Kubisch)
--
--
--
-- - Revision 2, 2020-03-09 (Christoph Kubisch)
- Remove
-- VK_EXT_debug_report interactions
-- - Revision 3, 2020-03-09 (Christoph Kubisch)
- Fix naming
-- VkPhysicalDeviceGenerated to
-- VkPhysicalDeviceDeviceGenerated
--
--
-- See Also
--
-- BindIndexBufferIndirectCommandNV,
-- BindShaderGroupIndirectCommandNV,
-- BindVertexBufferIndirectCommandNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutNV, IndirectCommandsLayoutTokenNV,
-- IndirectCommandsLayoutUsageFlagBitsNV,
-- IndirectCommandsLayoutUsageFlagsNV,
-- IndirectCommandsStreamNV, IndirectCommandsTokenTypeNV,
-- IndirectStateFlagBitsNV, IndirectStateFlagsNV,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- SetStateFlagsIndirectCommandNV,
-- cmdBindPipelineShaderGroupNV,
-- cmdExecuteGeneratedCommandsNV,
-- cmdPreprocessGeneratedCommandsNV,
-- createIndirectCommandsLayoutNV,
-- destroyIndirectCommandsLayoutNV,
-- getGeneratedCommandsMemoryRequirementsNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_device_generated_commands
-- | vkCmdExecuteGeneratedCommandsNV - Generate and execute commands on the
-- device
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - commandBuffer must not be a protected command
-- buffer
-- - If isPreprocessed is TRUE then
-- cmdPreprocessGeneratedCommandsNV must have already been
-- executed on the device, using the same pGeneratedCommandsInfo
-- content as well as the content of the input buffers it references (all
-- except GeneratedCommandsInfoNV::preprocessBuffer).
-- Furthermore pGeneratedCommandsInfo`s
-- indirectCommandsLayout must have been created with the
-- INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit
-- set
-- - GeneratedCommandsInfoNV::pipeline must
-- match the current bound pipeline at
-- GeneratedCommandsInfoNV::pipelineBindPoint
-- - Transform feedback must not be active
-- - The ::deviceGeneratedCommands feature must be
-- enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pGeneratedCommandsInfo must be a valid pointer to
-- a valid GeneratedCommandsInfoNV structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_device_generated_commands, Bool32,
-- CommandBuffer, GeneratedCommandsInfoNV
cmdExecuteGeneratedCommandsNV :: forall io. MonadIO io => CommandBuffer -> ("isPreprocessed" ::: Bool) -> GeneratedCommandsInfoNV -> io ()
-- | vkCmdPreprocessGeneratedCommandsNV - Performs preprocessing for
-- generated commands
--
-- Valid Usage
--
--
-- - commandBuffer must not be a protected command
-- buffer
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pGeneratedCommandsInfo must be a valid pointer to
-- a valid GeneratedCommandsInfoNV structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_device_generated_commands, CommandBuffer,
-- GeneratedCommandsInfoNV
cmdPreprocessGeneratedCommandsNV :: forall io. MonadIO io => CommandBuffer -> GeneratedCommandsInfoNV -> io ()
-- | vkCmdBindPipelineShaderGroupNV - Bind a pipeline object
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - pipeline must be a valid Pipeline
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and pipeline must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_device_generated_commands, CommandBuffer,
-- Pipeline, PipelineBindPoint
cmdBindPipelineShaderGroupNV :: forall io. MonadIO io => CommandBuffer -> PipelineBindPoint -> Pipeline -> ("groupIndex" ::: Word32) -> io ()
-- | vkGetGeneratedCommandsMemoryRequirementsNV - Retrieve the buffer
-- allocation requirements for generated commands
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- See Also
--
-- VK_NV_device_generated_commands, Device,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- MemoryRequirements2
getGeneratedCommandsMemoryRequirementsNV :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> GeneratedCommandsMemoryRequirementsInfoNV -> io (MemoryRequirements2 a)
-- | vkCreateIndirectCommandsLayoutNV - Create an indirect command layout
-- object
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_device_generated_commands, AllocationCallbacks,
-- Device, IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutNV
createIndirectCommandsLayoutNV :: forall io. MonadIO io => Device -> IndirectCommandsLayoutCreateInfoNV -> ("allocator" ::: Maybe AllocationCallbacks) -> io IndirectCommandsLayoutNV
-- | A convenience wrapper to make a compatible pair of calls to
-- createIndirectCommandsLayoutNV and
-- destroyIndirectCommandsLayoutNV
--
-- To ensure that destroyIndirectCommandsLayoutNV 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.
withIndirectCommandsLayoutNV :: forall io r. MonadIO io => Device -> IndirectCommandsLayoutCreateInfoNV -> Maybe AllocationCallbacks -> (io IndirectCommandsLayoutNV -> (IndirectCommandsLayoutNV -> io ()) -> r) -> r
-- | vkDestroyIndirectCommandsLayoutNV - Destroy an indirect commands
-- layout
--
-- Valid Usage
--
--
-- - All submitted commands that refer to
-- indirectCommandsLayout must have completed
-- execution
--
--
--
-- - If AllocationCallbacks were provided when
-- indirectCommandsLayout was created, a compatible set of
-- callbacks must be provided here
-- - If no AllocationCallbacks were provided when
-- indirectCommandsLayout was created, pAllocator
-- must be NULL
-- - The ::deviceGeneratedCommands feature must be
-- enabled
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If indirectCommandsLayout is not NULL_HANDLE,
-- indirectCommandsLayout must be a valid
-- IndirectCommandsLayoutNV handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If indirectCommandsLayout is a valid handle, it
-- must have been created, allocated, or retrieved from
-- device
--
--
-- Host Synchronization
--
--
-- - Host access to indirectCommandsLayout must be
-- externally synchronized
--
--
-- See Also
--
-- VK_NV_device_generated_commands, AllocationCallbacks,
-- Device, IndirectCommandsLayoutNV
destroyIndirectCommandsLayoutNV :: forall io. MonadIO io => Device -> IndirectCommandsLayoutNV -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV - Structure
-- describing the device-generated commands features that can be
-- supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_generated_commands, Bool32,
-- StructureType
data PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: Bool -> PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
-- | deviceGeneratedCommands indicates whether the implementation
-- supports functionality to generate commands on the device. See
-- Device-Generated Commands.
[$sel:deviceGeneratedCommands:PhysicalDeviceDeviceGeneratedCommandsFeaturesNV] :: PhysicalDeviceDeviceGeneratedCommandsFeaturesNV -> Bool
-- | VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV - Structure
-- describing push descriptor limits that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_device_generated_commands, StructureType
data PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
-- | maxGraphicsShaderGroupCount is the maximum number of shader
-- groups in GraphicsPipelineShaderGroupsCreateInfoNV.
[$sel:maxGraphicsShaderGroupCount:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | maxIndirectSequenceCount is the maximum number of sequences
-- in GeneratedCommandsInfoNV and in
-- GeneratedCommandsMemoryRequirementsInfoNV.
[$sel:maxIndirectSequenceCount:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
[$sel:maxIndirectCommandsTokenCount:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | maxIndirectCommandsStreamCount is the maximum number of
-- streams in IndirectCommandsLayoutCreateInfoNV.
[$sel:maxIndirectCommandsStreamCount:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | maxIndirectCommandsTokenOffset is the maximum offset in
-- IndirectCommandsLayoutTokenNV.
[$sel:maxIndirectCommandsTokenOffset:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | maxIndirectCommandsStreamStride is the maximum stream stride
-- in IndirectCommandsLayoutCreateInfoNV.
[$sel:maxIndirectCommandsStreamStride:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
[$sel:minSequencesCountBufferOffsetAlignment:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
[$sel:minSequencesIndexBufferOffsetAlignment:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | minIndirectCommandsBufferOffsetAlignment is the minimum
-- alignment for memory addresses used in
-- IndirectCommandsStreamNV, and as preprocess buffer in
-- GeneratedCommandsInfoNV.
[$sel:minIndirectCommandsBufferOffsetAlignment:PhysicalDeviceDeviceGeneratedCommandsPropertiesNV] :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV -> Word32
-- | VkGraphicsShaderGroupCreateInfoNV - Structure specifying override
-- parameters for each shader group
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - pStages must be a valid pointer to an array of
-- stageCount valid PipelineShaderStageCreateInfo
-- structures
-- - stageCount must be greater than 0
--
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- PipelineShaderStageCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputStateCreateInfo, StructureType
data GraphicsShaderGroupCreateInfoNV
GraphicsShaderGroupCreateInfoNV :: Vector (SomeStruct PipelineShaderStageCreateInfo) -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo) -> Maybe (SomeStruct PipelineTessellationStateCreateInfo) -> GraphicsShaderGroupCreateInfoNV
-- | pStages is a pointer to an array
-- PipelineShaderStageCreateInfo structures specifying the set of
-- the shader stages to be included in this shader group.
[$sel:stages:GraphicsShaderGroupCreateInfoNV] :: GraphicsShaderGroupCreateInfoNV -> Vector (SomeStruct PipelineShaderStageCreateInfo)
-- | pVertexInputState is a pointer to a
-- PipelineVertexInputStateCreateInfo structure.
[$sel:vertexInputState:GraphicsShaderGroupCreateInfoNV] :: GraphicsShaderGroupCreateInfoNV -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo)
-- | pTessellationState is a pointer to a
-- PipelineTessellationStateCreateInfo structure, and is ignored
-- if the shader group does not include a tessellation control shader
-- stage and tessellation evaluation shader stage.
[$sel:tessellationState:GraphicsShaderGroupCreateInfoNV] :: GraphicsShaderGroupCreateInfoNV -> Maybe (SomeStruct PipelineTessellationStateCreateInfo)
-- | VkGraphicsPipelineShaderGroupsCreateInfoNV - Structure specifying
-- parameters of a newly created multi shader group pipeline
--
-- Description
--
-- When referencing shader groups by index, groups defined in the
-- referenced pipelines are treated as if they were defined as additional
-- entries in pGroups. They are appended in the order they
-- appear in the pPipelines array and in the pGroups
-- array when those pipelines were defined.
--
-- The application must maintain the lifetime of all such
-- referenced pipelines based on the pipelines that make use of them.
--
-- Valid Usage
--
--
--
--
-- - The sum of groupCount including those groups added from
-- referenced pPipelines must also be as maximum
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxGraphicsShaderGroupCount
-- - The state of the first element of pGroups must
-- match its equivalent within the parent’s
-- GraphicsPipelineCreateInfo
-- - Each element of pGroups must in combination with
-- the rest of the pipeline state yield a valid state configuration
-- - All elements of pGroups must use the same shader
-- stage combinations unless any mesh shader stage is used, then either
-- combination of task and mesh or just mesh shader is valid
-- - Mesh and regular primitive shading stages cannot be mixed across
-- pGroups
-- - Each element of pPipelines must have been created
-- with identical state to the pipeline currently created except the
-- state that can be overridden by
-- GraphicsShaderGroupCreateInfoNV
-- - The ::deviceGeneratedCommands feature must be
-- enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pGroups must be a valid pointer to an array of
-- groupCount valid GraphicsShaderGroupCreateInfoNV
-- structures
-- - If pipelineCount is not 0, pPipelines
-- must be a valid pointer to an array of pipelineCount
-- valid Pipeline handles
-- - groupCount must be greater than 0
--
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- GraphicsShaderGroupCreateInfoNV, Pipeline,
-- StructureType
data GraphicsPipelineShaderGroupsCreateInfoNV
GraphicsPipelineShaderGroupsCreateInfoNV :: Vector GraphicsShaderGroupCreateInfoNV -> Vector Pipeline -> GraphicsPipelineShaderGroupsCreateInfoNV
-- | pGroups is a pointer to an array of
-- GraphicsShaderGroupCreateInfoNV structures specifying which
-- state of the original GraphicsPipelineCreateInfo each shader
-- group overrides.
[$sel:groups:GraphicsPipelineShaderGroupsCreateInfoNV] :: GraphicsPipelineShaderGroupsCreateInfoNV -> Vector GraphicsShaderGroupCreateInfoNV
-- | pPipelines is a pointer to an array of graphics
-- Pipeline structures which are referenced within the created
-- pipeline, including all their shader groups.
[$sel:pipelines:GraphicsPipelineShaderGroupsCreateInfoNV] :: GraphicsPipelineShaderGroupsCreateInfoNV -> Vector Pipeline
-- | VkBindShaderGroupIndirectCommandNV - Structure specifying input data
-- for a single shader group command token
--
-- Valid Usage
--
--
--
--
-- - The index must be within range of the accessible
-- shader groups of the current bound graphics pipeline. See
-- cmdBindPipelineShaderGroupNV for further details
--
--
-- See Also
--
-- VK_NV_device_generated_commands
data BindShaderGroupIndirectCommandNV
BindShaderGroupIndirectCommandNV :: Word32 -> BindShaderGroupIndirectCommandNV
[$sel:groupIndex:BindShaderGroupIndirectCommandNV] :: BindShaderGroupIndirectCommandNV -> Word32
-- | VkBindIndexBufferIndirectCommandNV - Structure specifying input data
-- for a single index buffer command token
--
-- Valid Usage
--
--
--
--
-- - The bufferAddress must be aligned to the
-- indexType used
-- - Each element of the buffer from which the address was acquired and
-- that is non-sparse must be bound completely and contiguously to
-- a single DeviceMemory object
--
--
-- Valid Usage (Implicit)
--
--
-- - indexType must be a valid IndexType
-- value
--
--
-- See Also
--
-- VK_NV_device_generated_commands, DeviceAddress,
-- IndexType
data BindIndexBufferIndirectCommandNV
BindIndexBufferIndirectCommandNV :: DeviceAddress -> Word32 -> IndexType -> BindIndexBufferIndirectCommandNV
-- | bufferAddress specifies a physical address of the
-- Buffer used as index buffer.
[$sel:bufferAddress:BindIndexBufferIndirectCommandNV] :: BindIndexBufferIndirectCommandNV -> DeviceAddress
-- | size is the byte size range which is available for this
-- operation from the provided address.
[$sel:size:BindIndexBufferIndirectCommandNV] :: BindIndexBufferIndirectCommandNV -> Word32
-- | indexType is a IndexType value specifying how indices
-- are treated. Instead of the Vulkan enum values, a custom
-- uint32_t value can be mapped to an IndexType by
-- specifying the
-- IndirectCommandsLayoutTokenNV::pIndexTypes and
-- IndirectCommandsLayoutTokenNV::pIndexTypeValues
-- arrays.
[$sel:indexType:BindIndexBufferIndirectCommandNV] :: BindIndexBufferIndirectCommandNV -> IndexType
-- | VkBindVertexBufferIndirectCommandNV - Structure specifying input data
-- for a single vertex buffer command token
--
-- Valid Usage
--
--
--
--
-- - Each element of the buffer from which the address was acquired and
-- that is non-sparse must be bound completely and contiguously to
-- a single DeviceMemory object
--
--
-- See Also
--
-- VK_NV_device_generated_commands, DeviceAddress
data BindVertexBufferIndirectCommandNV
BindVertexBufferIndirectCommandNV :: DeviceAddress -> Word32 -> Word32 -> BindVertexBufferIndirectCommandNV
-- | bufferAddress specifies a physical address of the
-- Buffer used as vertex input binding.
[$sel:bufferAddress:BindVertexBufferIndirectCommandNV] :: BindVertexBufferIndirectCommandNV -> DeviceAddress
-- | size is the byte size range which is available for this
-- operation from the provided address.
[$sel:size:BindVertexBufferIndirectCommandNV] :: BindVertexBufferIndirectCommandNV -> Word32
-- | stride is the byte size stride for this vertex input binding
-- as in VertexInputBindingDescription::stride. It is
-- only used if
-- IndirectCommandsLayoutTokenNV::vertexDynamicStride was
-- set, otherwise the stride is inherited from the current bound graphics
-- pipeline.
[$sel:stride:BindVertexBufferIndirectCommandNV] :: BindVertexBufferIndirectCommandNV -> Word32
-- | VkSetStateFlagsIndirectCommandNV - Structure specifying input data for
-- a single state flag command token
--
-- See Also
--
-- VK_NV_device_generated_commands
data SetStateFlagsIndirectCommandNV
SetStateFlagsIndirectCommandNV :: Word32 -> SetStateFlagsIndirectCommandNV
-- | data encodes packed state that this command alters.
--
--
[$sel:data':SetStateFlagsIndirectCommandNV] :: SetStateFlagsIndirectCommandNV -> Word32
-- | VkIndirectCommandsStreamNV - Structure specifying input streams for
-- generated command tokens
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - buffer must be a valid Buffer handle
--
--
-- See Also
--
-- VK_NV_device_generated_commands, Buffer,
-- DeviceSize, GeneratedCommandsInfoNV
data IndirectCommandsStreamNV
IndirectCommandsStreamNV :: Buffer -> DeviceSize -> IndirectCommandsStreamNV
-- | buffer specifies the Buffer storing the functional
-- arguments for each sequence. These arguments can be written by
-- the device.
[$sel:buffer:IndirectCommandsStreamNV] :: IndirectCommandsStreamNV -> Buffer
-- | offset specified an offset into buffer where the
-- arguments start.
[$sel:offset:IndirectCommandsStreamNV] :: IndirectCommandsStreamNV -> DeviceSize
-- | VkIndirectCommandsLayoutTokenNV - Struct specifying the details of an
-- indirect command layout token
--
-- Valid Usage
--
--
--
--
-- - offset must be less than or equal to
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenOffset
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
-- vertexBindingUnit must stay within device supported
-- limits for the appropriate commands
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-- pushconstantPipelineLayout must be valid
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-- pushconstantOffset must be a multiple of
-- 4
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-- pushconstantSize must be a multiple of 4
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-- pushconstantOffset must be less than
-- PhysicalDeviceLimits::maxPushConstantsSize
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
-- pushconstantSize must be less than or equal to
-- PhysicalDeviceLimits::maxPushConstantsSize minus
-- pushconstantOffset
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in
-- the range specified by pushconstantOffset and
-- pushconstantSize and for each shader stage in
-- pushconstantShaderStageFlags, there must be a push
-- constant range in pushconstantPipelineLayout that includes
-- that byte and that stage
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in
-- the range specified by pushconstantOffset and
-- pushconstantSize and for each push constant range that
-- overlaps that byte, pushconstantShaderStageFlags must
-- include all stages in that push constant range’s
-- PushConstantRange::stageFlags
-- - If tokenType is
-- INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
-- indirectStateFlags must not be 0
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - tokenType must be a valid
-- IndirectCommandsTokenTypeNV value
-- - If pushconstantPipelineLayout is not NULL_HANDLE,
-- pushconstantPipelineLayout must be a valid
-- PipelineLayout handle
-- - pushconstantShaderStageFlags must be a valid
-- combination of ShaderStageFlagBits values
-- - indirectStateFlags must be a valid combination of
-- IndirectStateFlagBitsNV values
-- - If indexTypeCount is not 0, pIndexTypes
-- must be a valid pointer to an array of indexTypeCount
-- valid IndexType values
-- - If indexTypeCount is not 0,
-- pIndexTypeValues must be a valid pointer to an array
-- of indexTypeCount uint32_t values
--
--
-- See Also
--
-- VK_NV_device_generated_commands, Bool32,
-- IndexType, IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsTokenTypeNV, IndirectStateFlagsNV,
-- PipelineLayout, ShaderStageFlags, StructureType
data IndirectCommandsLayoutTokenNV
IndirectCommandsLayoutTokenNV :: IndirectCommandsTokenTypeNV -> Word32 -> Word32 -> Word32 -> Bool -> PipelineLayout -> ShaderStageFlags -> Word32 -> Word32 -> IndirectStateFlagsNV -> Vector IndexType -> Vector Word32 -> IndirectCommandsLayoutTokenNV
-- | tokenType specifies the token command type.
[$sel:tokenType:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> IndirectCommandsTokenTypeNV
-- | stream is the index of the input stream containing the token
-- argument data.
[$sel:stream:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Word32
-- | offset is a relative starting offset within the input stream
-- memory for the token argument data.
[$sel:offset:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Word32
-- | vertexBindingUnit is used for the vertex buffer binding
-- command.
[$sel:vertexBindingUnit:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Word32
-- | vertexDynamicStride sets if the vertex buffer stride is
-- provided by the binding command rather than the current bound graphics
-- pipeline state.
[$sel:vertexDynamicStride:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Bool
-- | pushconstantPipelineLayout is the PipelineLayout used
-- for the push constant command.
[$sel:pushconstantPipelineLayout:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> PipelineLayout
-- | pushconstantShaderStageFlags are the shader stage flags used
-- for the push constant command.
[$sel:pushconstantShaderStageFlags:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> ShaderStageFlags
-- | pushconstantOffset is the offset used for the push constant
-- command.
[$sel:pushconstantOffset:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Word32
-- | pushconstantSize is the size used for the push constant
-- command.
[$sel:pushconstantSize:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Word32
-- | indirectStateFlags are the active states for the state flag
-- command.
[$sel:indirectStateFlags:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> IndirectStateFlagsNV
-- | pIndexTypes is the used IndexType for the
-- corresponding uint32_t value entry in
-- pIndexTypeValues.
[$sel:indexTypes:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Vector IndexType
[$sel:indexTypeValues:IndirectCommandsLayoutTokenNV] :: IndirectCommandsLayoutTokenNV -> Vector Word32
-- | VkIndirectCommandsLayoutCreateInfoNV - Structure specifying the
-- parameters of a newly created indirect commands layout object
--
-- Description
--
-- The following code illustrates some of the flags:
--
--
-- void cmdProcessAllSequences(cmd, pipeline, indirectCommandsLayout, pIndirectCommandsTokens, sequencesCount, indexbuffer, indexbufferOffset)
-- {
-- for (s = 0; s < sequencesCount; s++)
-- {
-- sUsed = s;
--
-- if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV) {
-- sUsed = indexbuffer.load_uint32( sUsed * sizeof(uint32_t) + indexbufferOffset);
-- }
--
-- if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV) {
-- sUsed = incoherent_implementation_dependent_permutation[ sUsed ];
-- }
--
-- cmdProcessSequence( cmd, pipeline, indirectCommandsLayout, pIndirectCommandsTokens, sUsed );
-- }
-- }
--
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - flags must be a valid combination of
-- IndirectCommandsLayoutUsageFlagBitsNV values
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - pTokens must be a valid pointer to an array of
-- tokenCount valid IndirectCommandsLayoutTokenNV
-- structures
-- - pStreamStrides must be a valid pointer to an array
-- of streamCount uint32_t values
-- - tokenCount must be greater than 0
-- - streamCount must be greater than 0
--
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- IndirectCommandsLayoutTokenNV,
-- IndirectCommandsLayoutUsageFlagsNV, PipelineBindPoint,
-- StructureType, createIndirectCommandsLayoutNV
data IndirectCommandsLayoutCreateInfoNV
IndirectCommandsLayoutCreateInfoNV :: IndirectCommandsLayoutUsageFlagsNV -> PipelineBindPoint -> Vector IndirectCommandsLayoutTokenNV -> Vector Word32 -> IndirectCommandsLayoutCreateInfoNV
-- | flags is a bitmask of
-- IndirectCommandsLayoutUsageFlagBitsNV specifying usage hints of
-- this layout.
[$sel:flags:IndirectCommandsLayoutCreateInfoNV] :: IndirectCommandsLayoutCreateInfoNV -> IndirectCommandsLayoutUsageFlagsNV
-- | pipelineBindPoint is the PipelineBindPoint that this
-- layout targets.
[$sel:pipelineBindPoint:IndirectCommandsLayoutCreateInfoNV] :: IndirectCommandsLayoutCreateInfoNV -> PipelineBindPoint
-- | pTokens is an array describing each command token in detail.
-- See IndirectCommandsTokenTypeNV and
-- IndirectCommandsLayoutTokenNV below for details.
[$sel:tokens:IndirectCommandsLayoutCreateInfoNV] :: IndirectCommandsLayoutCreateInfoNV -> Vector IndirectCommandsLayoutTokenNV
-- | pStreamStrides is an array defining the byte stride for each
-- input stream.
[$sel:streamStrides:IndirectCommandsLayoutCreateInfoNV] :: IndirectCommandsLayoutCreateInfoNV -> Vector Word32
-- | VkGeneratedCommandsInfoNV - Structure specifying parameters for the
-- generation of commands
--
-- Valid Usage
--
--
-- - The provided pipeline must match the pipeline
-- bound at execution time
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - pipeline must be a valid Pipeline
-- handle
-- - indirectCommandsLayout must be a valid
-- IndirectCommandsLayoutNV handle
-- - pStreams must be a valid pointer to an array of
-- streamCount valid IndirectCommandsStreamNV
-- structures
-- - preprocessBuffer must be a valid Buffer
-- handle
-- - If sequencesCountBuffer is not NULL_HANDLE,
-- sequencesCountBuffer must be a valid Buffer
-- handle
-- - If sequencesIndexBuffer is not NULL_HANDLE,
-- sequencesIndexBuffer must be a valid Buffer
-- handle
-- - streamCount must be greater than 0
-- - Each of indirectCommandsLayout, pipeline,
-- preprocessBuffer, sequencesCountBuffer, and
-- sequencesIndexBuffer that are valid handles of non-ignored
-- parameters must have been created, allocated, or retrieved from
-- the same Device
--
--
-- See Also
--
-- VK_NV_device_generated_commands, Buffer,
-- DeviceSize, IndirectCommandsLayoutNV,
-- IndirectCommandsStreamNV, Pipeline,
-- PipelineBindPoint, StructureType,
-- cmdExecuteGeneratedCommandsNV,
-- cmdPreprocessGeneratedCommandsNV
data GeneratedCommandsInfoNV
GeneratedCommandsInfoNV :: PipelineBindPoint -> Pipeline -> IndirectCommandsLayoutNV -> Vector IndirectCommandsStreamNV -> Word32 -> Buffer -> DeviceSize -> DeviceSize -> Buffer -> DeviceSize -> Buffer -> DeviceSize -> GeneratedCommandsInfoNV
-- | pipelineBindPoint is the PipelineBindPoint used for
-- the pipeline.
[$sel:pipelineBindPoint:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> PipelineBindPoint
-- | pipeline is the Pipeline used in the generation and
-- execution process.
[$sel:pipeline:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Pipeline
-- | indirectCommandsLayout is the IndirectCommandsLayoutNV
-- that provides the command sequence to generate.
[$sel:indirectCommandsLayout:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> IndirectCommandsLayoutNV
-- | pStreams is a pointer to an array of streamCount
-- IndirectCommandsStreamNV structures providing the input data
-- for the tokens used in indirectCommandsLayout.
[$sel:streams:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Vector IndirectCommandsStreamNV
-- | sequencesCount is the maximum number of sequences to reserve.
-- If sequencesCountBuffer is NULL_HANDLE, this is also
-- the actual number of sequences generated.
[$sel:sequencesCount:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Word32
-- | preprocessBuffer is the Buffer that is used for
-- preprocessing the input data for execution. If this structure is used
-- with cmdExecuteGeneratedCommandsNV with its
-- isPreprocessed set to TRUE, then the preprocessing
-- step is skipped and data is only read from this buffer.
[$sel:preprocessBuffer:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Buffer
-- | preprocessOffset is the byte offset into
-- preprocessBuffer where the preprocessed data is stored.
[$sel:preprocessOffset:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> DeviceSize
-- | preprocessSize is the maximum byte size within the
-- preprocessBuffer after the preprocessOffset that is
-- available for preprocessing.
[$sel:preprocessSize:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> DeviceSize
-- | sequencesCountBuffer is a Buffer in which the actual
-- number of sequences is provided as single uint32_t value.
[$sel:sequencesCountBuffer:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Buffer
-- | sequencesCountOffset is the byte offset into
-- sequencesCountBuffer where the count value is stored.
[$sel:sequencesCountOffset:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> DeviceSize
-- | sequencesIndexBuffer is a Buffer that encodes the used
-- sequence indices as uint32_t array.
[$sel:sequencesIndexBuffer:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> Buffer
-- | sequencesIndexOffset is the byte offset into
-- sequencesIndexBuffer where the index values start.
[$sel:sequencesIndexOffset:GeneratedCommandsInfoNV] :: GeneratedCommandsInfoNV -> DeviceSize
-- | VkGeneratedCommandsMemoryRequirementsInfoNV - Structure specifying
-- parameters for the reservation of preprocess buffer space
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - pipeline must be a valid Pipeline
-- handle
-- - indirectCommandsLayout must be a valid
-- IndirectCommandsLayoutNV handle
-- - Both of indirectCommandsLayout, and pipeline
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- IndirectCommandsLayoutNV, Pipeline,
-- PipelineBindPoint, StructureType,
-- getGeneratedCommandsMemoryRequirementsNV
data GeneratedCommandsMemoryRequirementsInfoNV
GeneratedCommandsMemoryRequirementsInfoNV :: PipelineBindPoint -> Pipeline -> IndirectCommandsLayoutNV -> Word32 -> GeneratedCommandsMemoryRequirementsInfoNV
-- | pipelineBindPoint is the PipelineBindPoint of the
-- pipeline that this buffer memory is intended to be used with
-- during the execution.
[$sel:pipelineBindPoint:GeneratedCommandsMemoryRequirementsInfoNV] :: GeneratedCommandsMemoryRequirementsInfoNV -> PipelineBindPoint
-- | pipeline is the Pipeline that this buffer memory is
-- intended to be used with during the execution.
[$sel:pipeline:GeneratedCommandsMemoryRequirementsInfoNV] :: GeneratedCommandsMemoryRequirementsInfoNV -> Pipeline
-- | indirectCommandsLayout is the IndirectCommandsLayoutNV
-- that this buffer memory is intended to be used with.
[$sel:indirectCommandsLayout:GeneratedCommandsMemoryRequirementsInfoNV] :: GeneratedCommandsMemoryRequirementsInfoNV -> IndirectCommandsLayoutNV
-- | maxSequencesCount is the maximum number of sequences that
-- this buffer memory in combination with the other state provided
-- can be used with.
[$sel:maxSequencesCount:GeneratedCommandsMemoryRequirementsInfoNV] :: GeneratedCommandsMemoryRequirementsInfoNV -> Word32
type IndirectCommandsLayoutUsageFlagsNV = IndirectCommandsLayoutUsageFlagBitsNV
-- | VkIndirectCommandsLayoutUsageFlagBitsNV - Bitmask specifying allowed
-- usage of an indirect commands layout
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- IndirectCommandsLayoutUsageFlagsNV
newtype IndirectCommandsLayoutUsageFlagBitsNV
IndirectCommandsLayoutUsageFlagBitsNV :: Flags -> IndirectCommandsLayoutUsageFlagBitsNV
-- | INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV
-- specifies that the layout is always used with the manual preprocessing
-- step through calling cmdPreprocessGeneratedCommandsNV and
-- executed by cmdExecuteGeneratedCommandsNV with
-- isPreprocessed set to TRUE.
pattern INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV :: IndirectCommandsLayoutUsageFlagBitsNV
-- | INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV
-- specifies that the input data for the sequences is not implicitly
-- indexed from 0..sequencesUsed but a user provided Buffer
-- encoding the index is provided.
pattern INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV :: IndirectCommandsLayoutUsageFlagBitsNV
-- | INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
-- specifies that the processing of sequences can happen at an
-- implementation-dependent order, which is not: guaranteed to be
-- coherent using the same input data.
pattern INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV :: IndirectCommandsLayoutUsageFlagBitsNV
type IndirectStateFlagsNV = IndirectStateFlagBitsNV
-- | VkIndirectStateFlagBitsNV - Bitmask specifiying state that can be
-- altered on the device
--
-- See Also
--
-- VK_NV_device_generated_commands, IndirectStateFlagsNV
newtype IndirectStateFlagBitsNV
IndirectStateFlagBitsNV :: Flags -> IndirectStateFlagBitsNV
-- | INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV allows to toggle the
-- FrontFace rasterization state for subsequent draw operations.
pattern INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV :: IndirectStateFlagBitsNV
-- | VkIndirectCommandsTokenTypeNV - Enum specifying token commands
--
-- Description
--
-- '
--
-- TODO: table
--
-- Supported indirect command tokens
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- IndirectCommandsLayoutTokenNV
newtype IndirectCommandsTokenTypeNV
IndirectCommandsTokenTypeNV :: Int32 -> IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV :: IndirectCommandsTokenTypeNV
pattern INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV :: IndirectCommandsTokenTypeNV
type NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3
pattern NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION :: forall a. Integral a => a
type NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NV_device_generated_commands"
pattern NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkIndirectCommandsLayoutNV - Opaque handle to an indirect commands
-- layout object
--
-- See Also
--
-- VK_NV_device_generated_commands,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- createIndirectCommandsLayoutNV,
-- destroyIndirectCommandsLayoutNV
newtype IndirectCommandsLayoutNV
IndirectCommandsLayoutNV :: Word64 -> IndirectCommandsLayoutNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsPipelineShaderGroupsCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsTokenTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_device_generated_commands.IndirectStateFlagBitsNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutUsageFlagBitsNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsPipelineShaderGroupsCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsPipelineShaderGroupsCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsPipelineShaderGroupsCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
-- | Name
--
-- VK_KHR_ray_tracing_pipeline - device extension
--
-- VK_KHR_ray_tracing_pipeline
--
--
-- - Name String
-- VK_KHR_ray_tracing_pipeline
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 348
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.1
- Requires VK_KHR_spirv_1_4
- Requires
-- VK_KHR_acceleration_structure
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-11-12
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Matthäus Chajdas,
-- AMD
- Greg Grebe, AMD
- Nicolai Hähnle, AMD
- Tobias
-- Hector, AMD
- Dave Oldcorn, AMD
- Skyler Saleh,
-- AMD
- Mathieu Robart, Arm
- Marius Bjorge, Arm
- Tom
-- Olson, Arm
- Sebastian Tafuri, EA
- Henrik Rydgard,
-- Embark
- Juan Cañada, Epic Games
- Patrick Kelly, Epic
-- Games
- Yuriy O’Donnell, Epic Games
- Michael Doggett,
-- Facebook/Oculus
- Andrew Garrard, Imagination
- Don
-- Scorgie, Imagination
- Dae Kim, Imagination
- Joshua
-- Barczak, Intel
- Slawek Grajewski, Intel
- Jeff Bolz,
-- NVIDIA
- Pascal Gautron, NVIDIA
- Daniel Koch,
-- NVIDIA
- Christoph Kubisch, NVIDIA
- Ashwin Lele,
-- NVIDIA
- Robert Stepinski, NVIDIA
- Martin Stich,
-- NVIDIA
- Nuno Subtil, NVIDIA
- Eric Werness,
-- NVIDIA
- Jon Leech, Khronos
- Jeroen van Schijndel,
-- OTOY
- Juul Joosten, OTOY
- Alex Bourd,
-- Qualcomm
- Roman Larionov, Qualcomm
- David McAllister,
-- Qualcomm
- Spencer Fricke, Samsung
- Lewis Gordon,
-- Samsung
- Ralph Potter, Samsung
- Jasper Bekkers, Traverse
-- Research
- Jesse Barker, Unity
- Baldur Karlsson,
-- Valve
--
--
-- Description
--
-- Rasterization has been the dominant method to produce interactive
-- graphics, but increasing performance of graphics hardware has made ray
-- tracing a viable option for interactive rendering. Being able to
-- integrate ray tracing with traditional rasterization makes it easier
-- for applications to incrementally add ray traced effects to existing
-- applications or to do hybrid approaches with rasterization for primary
-- visibility and ray tracing for secondary queries.
--
-- To enable ray tracing, this extension adds a few different categories
-- of new functionality:
--
--
-- - A new ray tracing pipeline type with new shader domains: ray
-- generation, intersection, any-hit, closest hit, miss, and
-- callable
-- - A shader binding indirection table to link shader groups with
-- acceleration structure items
-- - Ray tracing commands which initiate the ray pipeline traversal and
-- invocation of the various new shader domains depending on which
-- traversal conditions are met
--
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
-- SPV_KHR_ray_tracing
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
--
--
-- Issues
--
--
-- - How does this extension differ from VK_NV_ray_tracing?
--
--
-- DISCUSSION:
--
-- The following is a summary of the main functional differences between
-- VK_KHR_ray_tracing_pipeline and VK_NV_ray_tracing:
--
--
-- - added support for indirect ray tracing
-- (cmdTraceRaysIndirectKHR)
-- - uses SPV_KHR_ray_tracing instead of
-- SPV_NV_ray_tracing
- refer to KHR SPIR-V enums instead of NV
-- SPIR-V enums (which are functionally equivalent and aliased to the
-- same values).
- added RayGeometryIndexKHR
-- built-in
-- - removed vkCompileDeferredNV compilation functionality and replaced
-- with deferred host operations interactions for ray tracing
-- - added PhysicalDeviceRayTracingPipelineFeaturesKHR
-- structure
-- - extended PhysicalDeviceRayTracingPipelinePropertiesKHR
-- structure
- renamed maxRecursionDepth to
-- maxRayRecursionDepth and it has a minimum of 1 instead of
-- 31
- require shaderGroupHandleSize to be 32
-- bytes
- added maxRayDispatchInvocationCount,
-- shaderGroupHandleAlignment and
-- maxRayHitAttributeSize
-- - reworked geometry structures so they could be better shared
-- between device, host, and indirect builds
-- - changed SBT parameters to a structure and added size
-- (StridedDeviceAddressRegionKHR)
-- - add parameter for requesting memory requirements for host and/or
-- device build
-- - added pipeline library support for ray tracing
-- - added watertightness guarantees
-- - added no-null-shader pipeline flags
-- (VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_*_SHADERS_BIT_KHR)
-- - added memory model interactions with ray tracing and define
-- how subgroups work and can be repacked
--
--
--
-- - Can you give a more detailed comparision of differences and
-- similarities between VK_NV_ray_tracing and
-- VK_KHR_ray_tracing_pipeline?
--
--
-- DISCUSSION:
--
-- The following is a more detailed comparision of which commands,
-- structures, and enums are aliased, changed, or removed.
--
--
-- - Aliased functionality — enums, structures, and commands that are
-- considered equivalent:
-- - Changed enums, structures, and
-- commands:
-- - Added enums, structures and
-- commands:
-- - Functionality
-- removed:
--
--
--
-- - What are the changes between the public provisional
-- (VK_KHR_ray_tracing v8) release and the internal provisional
-- (VK_KHR_ray_tracing v9) release?
--
--
--
-- - Require Vulkan 1.1 and SPIR-V 1.4
-- - Added interactions with Vulkan 1.2 and
-- VK_KHR_vulkan_memory_model
-- - added creation time capture and replay flags
-- - replace VkStridedBufferRegionKHR with
-- StridedDeviceAddressRegionKHR and change
-- cmdTraceRaysKHR, cmdTraceRaysIndirectKHR, to take these
-- for the shader binding table and use device addresses instead of
-- buffers.
-- - require the shader binding table buffers to have the
-- VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR set
-- - make VK_KHR_pipeline_library an interaction instead of
-- required extension
-- - rename the libraries member of
-- RayTracingPipelineCreateInfoKHR to pLibraryInfo and
-- make it a pointer
-- - make VK_KHR_deferred_host_operations an interaction
-- instead of a required extension (later went back on this)
-- - added explicit stack size management for ray tracing
-- pipelines
-- - Added maxRayDispatchInvocationCount limit to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR
-- - Added shaderGroupHandleAlignment property to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR
-- - Added maxRayHitAttributeSize property to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR
-- - Clarify deferred host ops for pipeline
-- creation
- DeferredOperationKHR is now a top-level
-- parameter for createRayTracingPipelinesKHR
- removed
-- VkDeferredOperationInfoKHR structure
- change deferred
-- host creation/return parameter behavior such that the implementation
-- can modify such parameters until the deferred host operation
-- completes
- VK_KHR_deferred_host_operations is required
-- again
--
--
--
-- - What are the changes between the internal provisional
-- (VK_KHR_ray_tracing v9) release and the final
-- (VK_KHR_acceleration_structure v11 / VK_KHR_ray_tracing_pipeline v1)
-- release?
--
--
--
-- - refactor VK_KHR_ray_tracing into 3 extensions, enabling
-- implementation flexibility and decoupling ray query support from ray
-- pipelines:
- VK_KHR_acceleration_structure (for
-- acceleration structure
-- operations)
- VK_KHR_ray_tracing_pipeline (for ray
-- tracing pipeline and shader stages)
- VK_KHR_ray_query
-- (for ray queries in existing shader stages)
-- - Require Volatile for the following builtins in the ray
-- generation, closest hit, miss, intersection, and callable shader
-- stages:
- SubgroupSize,
-- SubgroupLocalInvocationId, SubgroupEqMask,
-- SubgroupGeMask, SubgroupGtMask,
-- SubgroupLeMask,
-- SubgroupLtMask
- SMIDNV,
-- WarpIDNV
-- - clarify buffer usage flags for ray
-- tracing
-- - rename maxRecursionDepth to
-- maxRayPipelineRecursionDepth (pipeline creation) and
-- maxRayRecursionDepth (limit) to reduce confusion
-- - Add queryable maxRayHitAttributeSize limit and rename
-- members of RayTracingPipelineInterfaceCreateInfoKHR to
-- maxPipelineRayPayloadSize and
-- maxPipelineRayHitAttributeSize for clarity
-- - Update SPIRV capabilities to use RayTracingKHR
-- - extension is no longer provisional
-- - define synchronization requirements for indirect trace rays and
-- indirect buffer
--
--
--
-- - This extension adds gl_InstanceID for the intersection, any-hit,
-- and closest hit shaders, but in KHR_vulkan_glsl, gl_InstanceID is
-- replaced with gl_InstanceIndex. Which should be used for Vulkan in
-- this extension?
--
--
-- RESOLVED: This extension uses gl_InstanceID and maps it to
-- InstanceId in SPIR-V. It is acknowledged that this is
-- different than other shader stages in Vulkan. There are two main
-- reasons for the difference here:
--
--
-- - symmetry with gl_PrimitiveID which is also available in these
-- shaders
-- - there is no “baseInstance” relevant for these shaders, and so ID
-- makes it more obvious that this is zero-based.
--
--
-- Sample Code
--
-- Example ray generation GLSL shader
--
--
-- #version 450 core
-- #extension GL_EXT_ray_tracing : require
-- layout(set = 0, binding = 0, rgba8) uniform image2D image;
-- layout(set = 0, binding = 1) uniform accelerationStructureEXT as;
-- layout(location = 0) rayPayloadEXT float payload;
--
-- void main()
-- {
-- vec4 col = vec4(0, 0, 0, 1);
--
-- vec3 origin = vec3(float(gl_LaunchIDEXT.x)/float(gl_LaunchSizeEXT.x), float(gl_LaunchIDEXT.y)/float(gl_LaunchSizeEXT.y), 1.0);
-- vec3 dir = vec3(0.0, 0.0, -1.0);
--
-- traceRayEXT(as, 0, 0xff, 0, 1, 0, origin, 0.0, dir, 1000.0, 0);
--
-- col.y = payload;
--
-- imageStore(image, ivec2(gl_LaunchIDEXT.xy), col);
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2020-11-12 (Mathieu Robart, Daniel Koch, Eric Werness,
-- Tobias Hector)
- Decomposition of the specification, from
-- VK_KHR_ray_tracing to VK_KHR_ray_tracing_pipeline
-- (#1918,!3912)
- require certain subgroup and sm_shader_builtin
-- shader builtins to be decorated as volatile in the ray generation,
-- closest hit, miss, intersection, and callable stages
-- (#1924,!3903,!3954)
- clarify buffer usage flags for ray tracing
-- (#2181,!3939)
- rename maxRecursionDepth to
-- maxRayPipelineRecursionDepth and maxRayRecursionDepth
-- (#2203,!3937)
- add queriable maxRayHitAttributeSize and rename
-- members of VkRayTracingPipelineInterfaceCreateInfoKHR
-- (#2102,!3966)
- update to use RayTracingKHR SPIR-V
-- capability
- add VUs for matching hit group type against
-- geometry type (#2245,!3994)
- require RayTMaxKHR be
-- volatile in intersection shaders (#2268,!4030)
- add numerical
-- limits for ray parameters (#2235,!3960)
- fix SBT indexing rules
-- for device addresses (#2308,!4079)
- relax formula for ray
-- intersection candidate determination (#2322,!4080)
- add more
-- details on ShaderRecordBufferKHR variables
-- (#2230,!4083)
- clarify valid bits for
-- InstanceCustomIndexKHR (GLSL/GLSL#19,!4128)
- allow at
-- most one IncomingRayPayloadKHR,
-- IncomingCallableDataKHR, and HitAttributeKHR
-- (!4129)
- add minimum for maxShaderGroupStride
-- (#2353,!4131)
- require VK_KHR_pipeline_library extension to be
-- supported (#2348,!4135)
- clarify meaning of 'geometry index'
-- (#2272,!4137)
- restrict traces to TLAS
-- (#2239,!4141)
- add note about maxPipelineRayPayloadSize
-- (#2383,!4172)
- do not require raygen shader in pipeline
-- libraries (!4185)
- define sync for indirect trace rays and
-- indirect buffer (#2407,!4208)
--
--
-- See Also
--
-- SHADER_UNUSED_KHR,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupTypeKHR, ShaderGroupShaderKHR,
-- StridedDeviceAddressRegionKHR,
-- TraceRaysIndirectCommandKHR,
-- cmdSetRayTracingPipelineStackSizeKHR,
-- cmdTraceRaysIndirectKHR, cmdTraceRaysKHR,
-- createRayTracingPipelinesKHR,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupStackSizeKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_ray_tracing_pipeline
-- | vkCmdTraceRaysKHR - Initialize a ray tracing dispatch
--
-- Description
--
-- When the command is executed, a ray generation group of width
-- × height × depth rays is assembled.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - Any shader group handle referenced by this call must have
-- been queried from the currently bound ray tracing pipeline
-- - This command must not cause a shader call instruction to be
-- executed from a shader invocation with a recursion depth
-- greater than the value of maxPipelineRayRecursionDepth used
-- to create the bound ray tracing pipeline
-- - If the buffer from which
-- pRayGenShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pRayGenShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pRayGenShaderBindingTable->deviceAddress must
-- be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The size member of pRayGenShaderBindingTable
-- must be equal to its stride member
-- - If the buffer from which
-- pMissShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pMissShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pMissShaderBindingTable->deviceAddress must be
-- a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pMissShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pMissShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the buffer from which
-- pHitShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pHitShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pHitShaderBindingTable->deviceAddress must be a
-- multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pHitShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pHitShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the buffer from which
-- pCallableShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pCallableShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pCallableShaderBindingTable->deviceAddress must
-- be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pCallableShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pCallableShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- the deviceAddress member of pHitShaderBindingTable
-- must not be zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-- the deviceAddress member of pHitShaderBindingTable
-- must not be zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, the
-- shader group handle identified by pMissShaderBindingTable
-- must not be set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute an any-hit shader must not be
-- set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute a closest hit shader must not
-- be set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute an intersection shader must
-- not be set to zero
-- - Any non-zero hit shader group entries in
-- pHitShaderBindingTable accessed by this call from a geometry
-- with a geometryType of GEOMETRY_TYPE_TRIANGLES_KHR
-- must have been created with
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR
-- - Any non-zero hit shader group entries in
-- pHitShaderBindingTable accessed by this call from a geometry
-- with a geometryType of GEOMETRY_TYPE_AABBS_KHR
-- must have been created with
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
-- - commandBuffer must not be a protected command
-- buffer
-- - width must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0] ×
-- PhysicalDeviceLimits::maxComputeWorkGroupSize[0]
-- - height must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1] ×
-- PhysicalDeviceLimits::maxComputeWorkGroupSize[1]
-- - depth must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2] ×
-- PhysicalDeviceLimits::maxComputeWorkGroupSize[2]
-- - width × height × depth must be
-- less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayDispatchInvocationCount
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, CommandBuffer,
-- StridedDeviceAddressRegionKHR
cmdTraceRaysKHR :: forall io. MonadIO io => CommandBuffer -> ("raygenShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("missShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("hitShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("callableShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> io ()
-- | vkGetRayTracingShaderGroupHandlesKHR - Query ray tracing pipeline
-- shader group handles
--
-- Valid Usage
--
--
-- - pipeline must be a ray tracing pipeline
--
--
--
-- - firstGroup must be less than the number of shader
-- groups in pipeline
-- - The sum of firstGroup and groupCount must
-- be less than or equal to the number of shader groups in
-- pipeline
-- - dataSize must be at least
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleSize
-- × groupCount
-- - pipeline must have not been created with
-- PIPELINE_CREATE_LIBRARY_BIT_KHR
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipeline must be a valid Pipeline
-- handle
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - dataSize must be greater than 0
-- - pipeline must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing,
-- Device, Pipeline
getRayTracingShaderGroupHandlesKHR :: forall io. MonadIO io => Device -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io ()
-- | vkGetRayTracingCaptureReplayShaderGroupHandlesKHR - Query ray tracing
-- capture replay pipeline shader group handles
--
-- Valid Usage
--
--
-- - pipeline must be a ray tracing pipeline
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipeline must be a valid Pipeline
-- handle
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - dataSize must be greater than 0
-- - pipeline must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, Device, Pipeline
getRayTracingCaptureReplayShaderGroupHandlesKHR :: forall io. MonadIO io => Device -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io ()
-- | vkCreateRayTracingPipelinesKHR - Creates a new ray tracing pipeline
-- object
--
-- Description
--
-- The ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS error is returned if
-- the implementation is unable to re-use the shader group handles
-- provided in
-- RayTracingShaderGroupCreateInfoKHR::pShaderGroupCaptureReplayHandle
-- when
-- PhysicalDeviceRayTracingPipelineFeaturesKHR::rayTracingPipelineShaderGroupHandleCaptureReplay
-- is enabled.
--
-- Valid Usage
--
--
-- - If the flags member of any element of
-- pCreateInfos contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and the
-- basePipelineIndex member of that same element is not
-- -1, basePipelineIndex must be less than the
-- index into pCreateInfos that corresponds to that element
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If deferredOperation is not NULL_HANDLE,
-- deferredOperation must be a valid
-- DeferredOperationKHR handle
-- - If pipelineCache is not NULL_HANDLE,
-- pipelineCache must be a valid PipelineCache
-- handle
-- - pCreateInfos must be a valid pointer to an array
-- of createInfoCount valid
-- RayTracingPipelineCreateInfoKHR structures
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pPipelines must be a valid pointer to an array of
-- createInfoCount Pipeline handles
-- - createInfoCount must be greater than
-- 0
-- - If deferredOperation is a valid handle, it must
-- have been created, allocated, or retrieved from device
-- - If pipelineCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, AllocationCallbacks,
-- DeferredOperationKHR, Device, Pipeline,
-- PipelineCache, RayTracingPipelineCreateInfoKHR
createRayTracingPipelinesKHR :: forall io. MonadIO io => Device -> DeferredOperationKHR -> PipelineCache -> ("createInfos" ::: Vector (SomeStruct RayTracingPipelineCreateInfoKHR)) -> ("allocator" ::: Maybe AllocationCallbacks) -> io (Result, "pipelines" ::: Vector Pipeline)
-- | A convenience wrapper to make a compatible pair of calls to
-- createRayTracingPipelinesKHR and destroyPipeline
--
-- To ensure that destroyPipeline 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.
withRayTracingPipelinesKHR :: forall io r. MonadIO io => Device -> DeferredOperationKHR -> PipelineCache -> Vector (SomeStruct RayTracingPipelineCreateInfoKHR) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r
-- | vkCmdTraceRaysIndirectKHR - Initialize an indirect ray tracing
-- dispatch
--
-- Description
--
-- cmdTraceRaysIndirectKHR behaves similarly to
-- cmdTraceRaysKHR except that the ray trace query dimensions are
-- read by the device from indirectDeviceAddress during
-- execution.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - Any shader group handle referenced by this call must have
-- been queried from the currently bound ray tracing pipeline
-- - This command must not cause a shader call instruction to be
-- executed from a shader invocation with a recursion depth
-- greater than the value of maxPipelineRayRecursionDepth used
-- to create the bound ray tracing pipeline
-- - If the buffer from which
-- pRayGenShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pRayGenShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pRayGenShaderBindingTable->deviceAddress must
-- be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The size member of pRayGenShaderBindingTable
-- must be equal to its stride member
-- - If the buffer from which
-- pMissShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pMissShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pMissShaderBindingTable->deviceAddress must be
-- a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pMissShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pMissShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the buffer from which
-- pHitShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pHitShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pHitShaderBindingTable->deviceAddress must be a
-- multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pHitShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pHitShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the buffer from which
-- pCallableShaderBindingTable->deviceAddress was queried is
-- non-sparse then it must be bound completely and contiguously to
-- a single DeviceMemory object
-- - The buffer from which the
-- pCallableShaderBindingTable->deviceAddress is queried
-- must have been created with the
-- BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR usage flag
-- - pCallableShaderBindingTable->deviceAddress must
-- be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupBaseAlignment
-- - The stride member of pCallableShaderBindingTable
-- must be a multiple of
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleAlignment
-- - The stride member of pCallableShaderBindingTable
-- must be less than or equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- the deviceAddress member of pHitShaderBindingTable
-- must not be zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-- the deviceAddress member of pHitShaderBindingTable
-- must not be zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, the
-- shader group handle identified by pMissShaderBindingTable
-- must not be set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute an any-hit shader must not be
-- set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute a closest hit shader must not
-- be set to zero
-- - If the currently bound ray tracing pipeline was created with
-- flags that included
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-- entries in pHitShaderBindingTable accessed as a result of
-- this command in order to execute an intersection shader must
-- not be set to zero
-- - Any non-zero hit shader group entries in
-- pHitShaderBindingTable accessed by this call from a geometry
-- with a geometryType of GEOMETRY_TYPE_TRIANGLES_KHR
-- must have been created with
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR
-- - Any non-zero hit shader group entries in
-- pHitShaderBindingTable accessed by this call from a geometry
-- with a geometryType of GEOMETRY_TYPE_AABBS_KHR
-- must have been created with
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
-- - If the buffer from which indirectDeviceAddress was
-- queried is non-sparse then it must be bound completely and
-- contiguously to a single DeviceMemory object
-- - The buffer from which indirectDeviceAddress was queried
-- must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - indirectDeviceAddress must be a multiple of
-- 4
-- - commandBuffer must not be a protected command
-- buffer
-- - All device addresses between indirectDeviceAddress and
-- indirectDeviceAddress +
-- sizeof(TraceRaysIndirectCommandKHR) - 1 must be
-- in the buffer device address range of the same buffer
-- - The ::rayTracingPipelineTraceRaysIndirect feature
-- must be enabled
-- - If the bound ray tracing pipeline was created with
-- PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV::rayTracingMotionBlurPipelineTraceRaysIndirect
-- feature must be enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, CommandBuffer,
-- DeviceAddress, StridedDeviceAddressRegionKHR
cmdTraceRaysIndirectKHR :: forall io. MonadIO io => CommandBuffer -> ("raygenShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("missShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("hitShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("callableShaderBindingTable" ::: StridedDeviceAddressRegionKHR) -> ("indirectDeviceAddress" ::: DeviceAddress) -> io ()
-- | vkGetRayTracingShaderGroupStackSizeKHR - Query ray tracing pipeline
-- shader group shader stack size
--
-- Description
--
-- The return value is the ray tracing pipeline stack size in bytes for
-- the specified shader as called from the specified shader group.
--
-- Valid Usage
--
--
-- - pipeline must be a ray tracing pipeline
--
--
--
-- - The value of group must be less than the number of shader
-- groups in pipeline
-- - The shader identified by groupShader in group
-- must not be SHADER_UNUSED_KHR
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipeline must be a valid Pipeline
-- handle
-- - groupShader must be a valid
-- ShaderGroupShaderKHR value
-- - pipeline must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, Device, Pipeline,
-- ShaderGroupShaderKHR
getRayTracingShaderGroupStackSizeKHR :: forall io. MonadIO io => Device -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> io DeviceSize
-- | vkCmdSetRayTracingPipelineStackSizeKHR - Set the stack size
-- dynamically for a ray tracing pipeline
--
-- Description
--
-- This command sets the stack size for subsequent ray tracing commands
-- when the ray tracing pipeline is created with
-- DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, the stack size is computed as described in Ray Tracing
-- Pipeline Stack.
--
-- Valid Usage
--
--
-- - pipelineStackSize must be large enough for any
-- dynamic execution through the shaders in the ray tracing pipeline used
-- by a subsequent trace call
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, CommandBuffer
cmdSetRayTracingPipelineStackSizeKHR :: forall io. MonadIO io => CommandBuffer -> ("pipelineStackSize" ::: Word32) -> io ()
-- | VkRayTracingShaderGroupCreateInfoKHR - Structure specifying shaders in
-- a shader group
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline,
-- RayTracingPipelineCreateInfoKHR,
-- RayTracingShaderGroupTypeKHR, StructureType
data RayTracingShaderGroupCreateInfoKHR
RayTracingShaderGroupCreateInfoKHR :: RayTracingShaderGroupTypeKHR -> Word32 -> Word32 -> Word32 -> Word32 -> Ptr () -> RayTracingShaderGroupCreateInfoKHR
-- | type is the type of hit group specified in this structure.
[$sel:type':RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> RayTracingShaderGroupTypeKHR
-- | generalShader is the index of the ray generation, miss, or
-- callable shader from
-- RayTracingPipelineCreateInfoKHR::pStages in the group
-- if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, and
-- SHADER_UNUSED_KHR otherwise.
[$sel:generalShader:RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> Word32
-- | closestHitShader is the optional index of the closest hit
-- shader from RayTracingPipelineCreateInfoKHR::pStages
-- in the group if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, and
-- SHADER_UNUSED_KHR otherwise.
[$sel:closestHitShader:RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> Word32
-- | anyHitShader is the optional index of the any-hit shader from
-- RayTracingPipelineCreateInfoKHR::pStages in the group
-- if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, and
-- SHADER_UNUSED_KHR otherwise.
[$sel:anyHitShader:RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> Word32
-- | intersectionShader is the index of the intersection shader
-- from RayTracingPipelineCreateInfoKHR::pStages in the
-- group if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, and
-- SHADER_UNUSED_KHR otherwise.
[$sel:intersectionShader:RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> Word32
-- | pShaderGroupCaptureReplayHandle is NULL or a pointer
-- to replay information for this shader group. Ignored if
-- PhysicalDeviceRayTracingPipelineFeaturesKHR::rayTracingPipelineShaderGroupHandleCaptureReplay
-- is FALSE.
[$sel:shaderGroupCaptureReplayHandle:RayTracingShaderGroupCreateInfoKHR] :: RayTracingShaderGroupCreateInfoKHR -> Ptr ()
-- | VkRayTracingPipelineCreateInfoKHR - Structure specifying parameters of
-- a newly created ray tracing pipeline
--
-- Description
--
-- The parameters basePipelineHandle and
-- basePipelineIndex are described in more detail in Pipeline
-- Derivatives.
--
-- When PIPELINE_CREATE_LIBRARY_BIT_KHR is specified, this
-- pipeline defines a pipeline library which cannot be
-- bound as a ray tracing pipeline directly. Instead, pipeline libraries
-- define common shaders and shader groups which can be included
-- in future pipeline creation.
--
-- If pipeline libraries are included in pLibraryInfo, shaders
-- defined in those libraries are treated as if they were defined as
-- additional entries in pStages, appended in the order they
-- appear in the pLibraries array and in the pStages
-- array when those libraries were defined.
--
-- When referencing shader groups in order to obtain a shader group
-- handle, groups defined in those libraries are treated as if they were
-- defined as additional entries in pGroups, appended in the
-- order they appear in the pLibraries array and in the
-- pGroups array when those libraries were defined. The shaders
-- these groups reference are set when the pipeline library is created,
-- referencing those specified in the pipeline library, not in the
-- pipeline that includes it.
--
-- The default stack size for a pipeline if
-- DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR is not
-- provided is computed as described in Ray Tracing Pipeline
-- Stack.
--
-- Valid Usage
--
--
--
--
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineHandle is NULL_HANDLE,
-- basePipelineIndex must be a valid index into the
-- calling command’s pCreateInfos parameter
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineIndex is not -1,
-- basePipelineHandle must be NULL_HANDLE
-- - If flags contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and
-- basePipelineHandle is not NULL_HANDLE,
-- basePipelineIndex must be -1
-- - The shader code for the entry points identified by
-- pStages, and the rest of the state identified by this
-- structure must adhere to the pipeline linking rules described
-- in the Shader Interfaces chapter
-- - layout must be consistent with all shaders
-- specified in pStages
-- - The number of resources in layout accessible to each
-- shader stage that is used by the pipeline must be less than or
-- equal to
-- PhysicalDeviceLimits::maxPerStageResources
-- - flags must not include
-- PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
-- - If the pipelineCreationCacheControl feature is not enabled,
-- flags must not include
-- PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT or
-- PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT
-- - If flags does not include
-- PIPELINE_CREATE_LIBRARY_BIT_KHR, the stage member of
-- at least one element of pStages, including those implicitly
-- added by pLibraryInfo, must be
-- SHADER_STAGE_RAYGEN_BIT_KHR
-- - maxPipelineRayRecursionDepth must be less than or
-- equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayRecursionDepth
-- - If flags includes PIPELINE_CREATE_LIBRARY_BIT_KHR,
-- pLibraryInterface must not be NULL
-- - If pLibraryInfo is not NULL and its
-- libraryCount member is greater than 0, its
-- pLibraryInterface member must not be
-- NULL
-- - Each element of pLibraryInfo->pLibraries must
-- have been created with the value of
-- maxPipelineRayRecursionDepth equal to that in this
-- pipeline
-- - If pLibraryInfo is not NULL, each element of its
-- pLibraries member must have been created with a
-- layout that is compatible with the layout in this
-- pipeline
-- - If pLibraryInfo is not NULL, each element of its
-- pLibraries member must have been created with values
-- of the maxPipelineRayPayloadSize and
-- maxPipelineRayHitAttributeSize members of
-- pLibraryInterface equal to those in this pipeline
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
-- each element of pLibraryInfo->pLibraries must have
-- been created with the
-- PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-- bit set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, each element of
-- pLibraryInfo->pLibraries must have been created
-- with the PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR bit
-- set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, each
-- element of pLibraryInfo->pLibraries must have been
-- created with the
-- PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR bit set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
-- each element of pLibraryInfo->pLibraries must have
-- been created with the
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR bit
-- set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- each element of pLibraryInfo->pLibraries must have
-- been created with the
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
-- bit set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
-- each element of pLibraryInfo->pLibraries must have
-- been created with the
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
-- bit set
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, each
-- element of pLibraryInfo->pLibraries must have been
-- created with the
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR bit
-- set
-- - If the VK_KHR_pipeline_library extension is not enabled,
-- pLibraryInfo and pLibraryInterface must be
-- NULL
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
-- for any element of pGroups with a type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, the
-- anyHitShader of that element must not be
-- SHADER_UNUSED_KHR
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
-- for any element of pGroups with a type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, the
-- closestHitShader of that element must not be
-- SHADER_UNUSED_KHR
-- - If the rayTraversalPrimitiveCulling feature is not enabled,
-- flags must not include
-- PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
-- - If the rayTraversalPrimitiveCulling feature is not enabled,
-- flags must not include
-- PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
-- - If flags includes
-- PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
-- rayTracingPipelineShaderGroupHandleCaptureReplay must be
-- enabled
-- - If
-- PhysicalDeviceRayTracingPipelineFeaturesKHR::rayTracingPipelineShaderGroupHandleCaptureReplay
-- is TRUE and the pShaderGroupCaptureReplayHandle member
-- of any element of pGroups is not NULL,
-- flags must include
-- PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-- - If pLibraryInfo is not NULL and its
-- libraryCount is 0, stageCount must
-- not be 0
-- - If pLibraryInfo is not NULL and its
-- libraryCount is 0, groupCount must
-- not be 0
-- - Any element of the pDynamicStates member of
-- pDynamicState must be
-- DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, Pipeline,
-- PipelineCreateFlags, PipelineDynamicStateCreateInfo,
-- PipelineLayout, PipelineLibraryCreateInfoKHR,
-- PipelineShaderStageCreateInfo,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR, StructureType,
-- createRayTracingPipelinesKHR
data RayTracingPipelineCreateInfoKHR (es :: [Type])
RayTracingPipelineCreateInfoKHR :: Chain es -> PipelineCreateFlags -> Vector (SomeStruct PipelineShaderStageCreateInfo) -> Vector RayTracingShaderGroupCreateInfoKHR -> Word32 -> Maybe PipelineLibraryCreateInfoKHR -> Maybe RayTracingPipelineInterfaceCreateInfoKHR -> Maybe PipelineDynamicStateCreateInfo -> PipelineLayout -> Pipeline -> Int32 -> RayTracingPipelineCreateInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Chain es
-- | flags is a bitmask of PipelineCreateFlagBits
-- specifying how the pipeline will be generated.
[$sel:flags:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> PipelineCreateFlags
-- | pStages is a pointer to an array of stageCount
-- PipelineShaderStageCreateInfo structures describing the set of
-- the shader stages to be included in the ray tracing pipeline.
[$sel:stages:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Vector (SomeStruct PipelineShaderStageCreateInfo)
-- | pGroups is a pointer to an array of groupCount
-- RayTracingShaderGroupCreateInfoKHR structures describing the
-- set of the shader stages to be included in each shader group in the
-- ray tracing pipeline.
[$sel:groups:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Vector RayTracingShaderGroupCreateInfoKHR
-- | maxPipelineRayRecursionDepth is the maximum recursion
-- depth of shaders executed by this pipeline.
[$sel:maxPipelineRayRecursionDepth:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Word32
-- | pLibraryInfo is a pointer to a
-- PipelineLibraryCreateInfoKHR structure defining pipeline
-- libraries to include.
[$sel:libraryInfo:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Maybe PipelineLibraryCreateInfoKHR
-- | pLibraryInterface is a pointer to a
-- RayTracingPipelineInterfaceCreateInfoKHR structure defining
-- additional information when using pipeline libraries.
[$sel:libraryInterface:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Maybe RayTracingPipelineInterfaceCreateInfoKHR
-- | pDynamicState is a pointer to a
-- PipelineDynamicStateCreateInfo structure, and is used to
-- indicate which properties of the pipeline state object are dynamic and
-- can be changed independently of the pipeline state. This
-- can be NULL, which means no state in the pipeline is
-- considered dynamic.
[$sel:dynamicState:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Maybe PipelineDynamicStateCreateInfo
-- | layout is the description of binding locations used by both
-- the pipeline and descriptor sets used with the pipeline.
[$sel:layout:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> PipelineLayout
-- | basePipelineHandle is a pipeline to derive from.
[$sel:basePipelineHandle:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Pipeline
-- | basePipelineIndex is an index into the pCreateInfos
-- parameter to use as a pipeline to derive from.
[$sel:basePipelineIndex:RayTracingPipelineCreateInfoKHR] :: RayTracingPipelineCreateInfoKHR (es :: [Type]) -> Int32
-- | VkPhysicalDeviceRayTracingPipelineFeaturesKHR - Structure describing
-- the ray tracing features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - rayTracingPipeline indicates whether the implementation
-- supports the ray tracing pipeline functionality. See Ray
-- Tracing.
-- - rayTracingPipelineShaderGroupHandleCaptureReplay
-- indicates whether the implementation supports saving and reusing
-- shader group handles, e.g. for trace capture and replay.
-- - rayTracingPipelineShaderGroupHandleCaptureReplayMixed
-- indicates whether the implementation supports reuse of shader group
-- handles being arbitrarily mixed with creation of non-reused shader
-- group handles. If this is FALSE, all reused shader group
-- handles must be specified before any non-reused handles
-- may be created.
-- - rayTracingPipelineTraceRaysIndirect indicates whether the
-- implementation supports indirect ray tracing commands, e.g.
-- cmdTraceRaysIndirectKHR.
-- - rayTraversalPrimitiveCulling indicates whether the
-- implementation supports primitive culling during ray
-- traversal.
--
--
-- If the PhysicalDeviceRayTracingPipelineFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceRayTracingPipelineFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage
--
--
-- - If rayTracingPipelineShaderGroupHandleCaptureReplayMixed
-- is TRUE,
-- rayTracingPipelineShaderGroupHandleCaptureReplay must
-- also be TRUE
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, Bool32,
-- StructureType
data PhysicalDeviceRayTracingPipelineFeaturesKHR
PhysicalDeviceRayTracingPipelineFeaturesKHR :: Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceRayTracingPipelineFeaturesKHR
[$sel:rayTracingPipeline:PhysicalDeviceRayTracingPipelineFeaturesKHR] :: PhysicalDeviceRayTracingPipelineFeaturesKHR -> Bool
[$sel:rayTracingPipelineShaderGroupHandleCaptureReplay:PhysicalDeviceRayTracingPipelineFeaturesKHR] :: PhysicalDeviceRayTracingPipelineFeaturesKHR -> Bool
[$sel:rayTracingPipelineShaderGroupHandleCaptureReplayMixed:PhysicalDeviceRayTracingPipelineFeaturesKHR] :: PhysicalDeviceRayTracingPipelineFeaturesKHR -> Bool
[$sel:rayTracingPipelineTraceRaysIndirect:PhysicalDeviceRayTracingPipelineFeaturesKHR] :: PhysicalDeviceRayTracingPipelineFeaturesKHR -> Bool
[$sel:rayTraversalPrimitiveCulling:PhysicalDeviceRayTracingPipelineFeaturesKHR] :: PhysicalDeviceRayTracingPipelineFeaturesKHR -> Bool
-- | VkPhysicalDeviceRayTracingPipelinePropertiesKHR - Properties of the
-- physical device for ray tracing
--
-- Description
--
-- If the PhysicalDeviceRayTracingPipelinePropertiesKHR structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Limits specified by this structure must match those specified
-- with the same name in PhysicalDeviceRayTracingPropertiesNV.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, StructureType
data PhysicalDeviceRayTracingPipelinePropertiesKHR
PhysicalDeviceRayTracingPipelinePropertiesKHR :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceRayTracingPipelinePropertiesKHR
-- | shaderGroupHandleSize is the size in bytes of the shader
-- header.
[$sel:shaderGroupHandleSize:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | maxRayRecursionDepth is the maximum number of levels of ray
-- recursion allowed in a trace command.
[$sel:maxRayRecursionDepth:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | maxShaderGroupStride is the maximum stride in bytes allowed
-- between shader groups in the shader binding table.
[$sel:maxShaderGroupStride:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | shaderGroupBaseAlignment is the required alignment in
-- bytes for the base of the shader binding table.
[$sel:shaderGroupBaseAlignment:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | shaderGroupHandleCaptureReplaySize is the number of bytes for
-- the information required to do capture and replay for shader group
-- handles.
[$sel:shaderGroupHandleCaptureReplaySize:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | maxRayDispatchInvocationCount is the maximum number of ray
-- generation shader invocations which may be produced by a single
-- cmdTraceRaysIndirectKHR or cmdTraceRaysKHR command.
[$sel:maxRayDispatchInvocationCount:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | shaderGroupHandleAlignment is the required alignment
-- in bytes for each shader binding table entry. The value must be
-- a power of two.
[$sel:shaderGroupHandleAlignment:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | maxRayHitAttributeSize is the maximum size in bytes for a ray
-- attribute structure
[$sel:maxRayHitAttributeSize:PhysicalDeviceRayTracingPipelinePropertiesKHR] :: PhysicalDeviceRayTracingPipelinePropertiesKHR -> Word32
-- | VkStridedDeviceAddressRegionKHR - Structure specifying a region of
-- device addresses with a stride
--
-- Valid Usage
--
--
-- - If size is not zero, all addresses between
-- deviceAddress and deviceAddress + size - 1
-- must be in the buffer device address range of the same
-- buffer
--
--
--
-- - If size is not zero, stride must be less
-- than or equal to the size of the buffer from which
-- deviceAddress was queried
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, DeviceAddress,
-- DeviceSize, cmdTraceRaysIndirectKHR,
-- cmdTraceRaysKHR
data StridedDeviceAddressRegionKHR
StridedDeviceAddressRegionKHR :: DeviceAddress -> DeviceSize -> DeviceSize -> StridedDeviceAddressRegionKHR
-- | deviceAddress is the device address (as returned by the
-- getBufferDeviceAddress command) at which the region starts, or
-- zero if the region is unused.
[$sel:deviceAddress:StridedDeviceAddressRegionKHR] :: StridedDeviceAddressRegionKHR -> DeviceAddress
-- | stride is the byte stride between consecutive elements.
[$sel:stride:StridedDeviceAddressRegionKHR] :: StridedDeviceAddressRegionKHR -> DeviceSize
-- | size is the size in bytes of the region starting at
-- deviceAddress.
[$sel:size:StridedDeviceAddressRegionKHR] :: StridedDeviceAddressRegionKHR -> DeviceSize
-- | VkTraceRaysIndirectCommandKHR - Structure specifying the parameters of
-- an indirect ray tracing command
--
-- Description
--
-- The members of TraceRaysIndirectCommandKHR have the same
-- meaning as the similarly named parameters of cmdTraceRaysKHR.
--
-- Valid Usage
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline
data TraceRaysIndirectCommandKHR
TraceRaysIndirectCommandKHR :: Word32 -> Word32 -> Word32 -> TraceRaysIndirectCommandKHR
-- | width is the width of the ray trace query dimensions.
[$sel:width:TraceRaysIndirectCommandKHR] :: TraceRaysIndirectCommandKHR -> Word32
-- | height is height of the ray trace query dimensions.
[$sel:height:TraceRaysIndirectCommandKHR] :: TraceRaysIndirectCommandKHR -> Word32
-- | depth is depth of the ray trace query dimensions.
[$sel:depth:TraceRaysIndirectCommandKHR] :: TraceRaysIndirectCommandKHR -> Word32
-- | VkRayTracingPipelineInterfaceCreateInfoKHR - Structure specifying
-- additional interface information when using libraries
--
-- Description
--
-- maxPipelineRayPayloadSize is calculated as the maximum number
-- of bytes used by any block declared in the RayPayloadKHR or
-- IncomingRayPayloadKHR storage classes.
-- maxPipelineRayHitAttributeSize is calculated as the maximum
-- number of bytes used by any block declared in the
-- HitAttributeKHR storage class. As variables in these storage
-- classes do not have explicit offsets, the size should be calculated as
-- if each variable has a scalar alignment equal to the largest
-- scalar alignment of any of the block’s members.
--
-- Note
--
-- There is no explicit upper limit for
-- maxPipelineRayPayloadSize, but in practice it should be kept
-- as small as possible. Similar to invocation local memory, it must be
-- allocated for each shader invocation and for devices which support
-- many simultaneous invocations, this storage can rapidly be exhausted,
-- resulting in failure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline,
-- RayTracingPipelineCreateInfoKHR, StructureType
data RayTracingPipelineInterfaceCreateInfoKHR
RayTracingPipelineInterfaceCreateInfoKHR :: Word32 -> Word32 -> RayTracingPipelineInterfaceCreateInfoKHR
-- | maxPipelineRayPayloadSize is the maximum payload size in
-- bytes used by any shader in the pipeline.
[$sel:maxPipelineRayPayloadSize:RayTracingPipelineInterfaceCreateInfoKHR] :: RayTracingPipelineInterfaceCreateInfoKHR -> Word32
-- | maxPipelineRayHitAttributeSize is the maximum attribute
-- structure size in bytes used by any shader in the pipeline.
--
-- maxPipelineRayHitAttributeSize must be less than or
-- equal to
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayHitAttributeSize
[$sel:maxPipelineRayHitAttributeSize:RayTracingPipelineInterfaceCreateInfoKHR] :: RayTracingPipelineInterfaceCreateInfoKHR -> Word32
-- | VkRayTracingShaderGroupTypeKHR - Shader group types
--
-- Description
--
-- Note
--
-- For current group types, the hit group type could be inferred from the
-- presence or absence of the intersection shader, but we provide the
-- type explicitly for future hit groups that do not have that property.
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV
newtype RayTracingShaderGroupTypeKHR
RayTracingShaderGroupTypeKHR :: Int32 -> RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR indicates a shader
-- group with a single SHADER_STAGE_RAYGEN_BIT_KHR,
-- SHADER_STAGE_MISS_BIT_KHR, or
-- SHADER_STAGE_CALLABLE_BIT_KHR shader in it.
pattern RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR specifies
-- a shader group that only hits triangles and must not contain an
-- intersection shader, only closest hit and any-hit shaders.
pattern RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
-- specifies a shader group that only intersects with custom geometry and
-- must contain an intersection shader and may contain
-- closest hit and any-hit shaders.
pattern RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: RayTracingShaderGroupTypeKHR
-- | VkShaderGroupShaderKHR - Shader group shaders
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline,
-- getRayTracingShaderGroupStackSizeKHR
newtype ShaderGroupShaderKHR
ShaderGroupShaderKHR :: Int32 -> ShaderGroupShaderKHR
-- | SHADER_GROUP_SHADER_GENERAL_KHR uses the shader specified in
-- the group with
-- RayTracingShaderGroupCreateInfoKHR::generalShader
pattern SHADER_GROUP_SHADER_GENERAL_KHR :: ShaderGroupShaderKHR
-- | SHADER_GROUP_SHADER_CLOSEST_HIT_KHR uses the shader specified
-- in the group with
-- RayTracingShaderGroupCreateInfoKHR::closestHitShader
pattern SHADER_GROUP_SHADER_CLOSEST_HIT_KHR :: ShaderGroupShaderKHR
-- | SHADER_GROUP_SHADER_ANY_HIT_KHR uses the shader specified in
-- the group with
-- RayTracingShaderGroupCreateInfoKHR::anyHitShader
pattern SHADER_GROUP_SHADER_ANY_HIT_KHR :: ShaderGroupShaderKHR
-- | SHADER_GROUP_SHADER_INTERSECTION_KHR uses the shader specified
-- in the group with
-- RayTracingShaderGroupCreateInfoKHR::intersectionShader
pattern SHADER_GROUP_SHADER_INTERSECTION_KHR :: ShaderGroupShaderKHR
type KHR_RAY_TRACING_PIPELINE_SPEC_VERSION = 1
pattern KHR_RAY_TRACING_PIPELINE_SPEC_VERSION :: forall a. Integral a => a
type KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME = "VK_KHR_ray_tracing_pipeline"
pattern KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDeferredOperationKHR - A deferred operation
--
-- Description
--
-- This handle refers to a tracking structure which manages the execution
-- state for a deferred command.
--
-- See Also
--
-- VK_KHR_deferred_host_operations,
-- buildAccelerationStructuresKHR,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createDeferredOperationKHR,
-- createRayTracingPipelinesKHR, deferredOperationJoinKHR,
-- destroyDeferredOperationKHR,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR
newtype DeferredOperationKHR
DeferredOperationKHR :: Word64 -> DeferredOperationKHR
-- | VkPipelineLibraryCreateInfoKHR - Structure specifying pipeline
-- libraries to use when creating a pipeline
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - If libraryCount is not 0, pLibraries
-- must be a valid pointer to an array of libraryCount
-- valid Pipeline handles
--
--
-- See Also
--
-- VK_KHR_pipeline_library, Pipeline,
-- RayTracingPipelineCreateInfoKHR, StructureType
data PipelineLibraryCreateInfoKHR
PipelineLibraryCreateInfoKHR :: Vector Pipeline -> PipelineLibraryCreateInfoKHR
-- | pLibraries is a pointer to an array of Pipeline
-- structures specifying pipeline libraries to use when creating a
-- pipeline.
[$sel:libraries:PipelineLibraryCreateInfoKHR] :: PipelineLibraryCreateInfoKHR -> Vector Pipeline
type SHADER_UNUSED_KHR = 4294967295
-- | VK_SHADER_UNUSED_KHR - Sentinel for an unused shader index
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing
pattern SHADER_UNUSED_KHR :: Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupCreateInfoKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.ShaderGroupShaderKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR
-- | Name
--
-- VK_NV_ray_tracing - device extension
--
-- VK_NV_ray_tracing
--
--
-- - Name String VK_NV_ray_tracing
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 166
-- - Revision 3
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_get_memory_requirements2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-11-20
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Eric Werness,
-- NVIDIA
- Ashwin Lele, NVIDIA
- Robert Stepinski,
-- NVIDIA
- Nuno Subtil, NVIDIA
- Christoph Kubisch,
-- NVIDIA
- Martin Stich, NVIDIA
- Daniel Koch,
-- NVIDIA
- Jeff Bolz, NVIDIA
- Joshua Barczak,
-- Intel
- Tobias Hector, AMD
- Henrik Rydgard,
-- NVIDIA
- Pascal Gautron, NVIDIA
--
--
-- Description
--
-- Rasterization has been the dominant method to produce interactive
-- graphics, but increasing performance of graphics hardware has made ray
-- tracing a viable option for interactive rendering. Being able to
-- integrate ray tracing with traditional rasterization makes it easier
-- for applications to incrementally add ray traced effects to existing
-- applications or to do hybrid approaches with rasterization for primary
-- visibility and ray tracing for secondary queries.
--
-- To enable ray tracing, this extension adds a few different categories
-- of new functionality:
--
--
-- - Acceleration structure objects and build commands
-- - A new pipeline type with new shader domains
-- - An indirection table to link shader groups with acceleration
-- structure items
--
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
--
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Issues
--
-- 1) Are there issues?
--
-- RESOLVED: Yes.
--
-- Sample Code
--
-- Example ray generation GLSL shader
--
--
-- #version 450 core
-- #extension GL_NV_ray_tracing : require
-- layout(set = 0, binding = 0, rgba8) uniform image2D image;
-- layout(set = 0, binding = 1) uniform accelerationStructureNV as;
-- layout(location = 0) rayPayloadNV float payload;
--
-- void main()
-- {
-- vec4 col = vec4(0, 0, 0, 1);
--
-- vec3 origin = vec3(float(gl_LaunchIDNV.x)/float(gl_LaunchSizeNV.x), float(gl_LaunchIDNV.y)/float(gl_LaunchSizeNV.y), 1.0);
-- vec3 dir = vec3(0.0, 0.0, -1.0);
--
-- traceNV(as, 0, 0xff, 0, 1, 0, origin, 0.0, dir, 1000.0, 0);
--
-- col.y = payload;
--
-- imageStore(image, ivec2(gl_LaunchIDNV.xy), col);
-- }
--
--
-- Version History
--
--
-- - Revision 1, 2018-09-11 (Robert Stepinski, Nuno Subtil, Eric
-- Werness)
--
--
--
-- - Revision 2, 2018-10-19 (Eric Werness)
- rename to
-- VK_NV_ray_tracing, add support for callables.
- too many updates
-- to list
-- - Revision 3, 2018-11-20 (Daniel Koch)
- update to use
-- InstanceId instead of InstanceIndex as implemented.
--
--
-- See Also
--
-- SHADER_UNUSED_NV, AabbPositionsNV,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureInfoNV,
-- AccelerationStructureInstanceNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMemoryRequirementsTypeNV,
-- AccelerationStructureNV, AccelerationStructureTypeNV,
-- BindAccelerationStructureMemoryInfoNV,
-- BuildAccelerationStructureFlagBitsNV,
-- BuildAccelerationStructureFlagsNV,
-- CopyAccelerationStructureModeNV, GeometryAABBNV,
-- GeometryDataNV, GeometryFlagBitsNV,
-- GeometryFlagsNV, GeometryInstanceFlagBitsNV,
-- GeometryInstanceFlagsNV, GeometryNV,
-- GeometryTrianglesNV, GeometryTypeNV,
-- MemoryRequirements2KHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingShaderGroupCreateInfoNV,
-- RayTracingShaderGroupTypeNV, TransformMatrixNV,
-- WriteDescriptorSetAccelerationStructureNV,
-- bindAccelerationStructureMemoryNV,
-- cmdBuildAccelerationStructureNV,
-- cmdCopyAccelerationStructureNV, cmdTraceRaysNV,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- compileDeferredNV, createAccelerationStructureNV,
-- createRayTracingPipelinesNV,
-- destroyAccelerationStructureNV,
-- getAccelerationStructureHandleNV,
-- getAccelerationStructureMemoryRequirementsNV,
-- getRayTracingShaderGroupHandlesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_ray_tracing
-- | vkCompileDeferredNV - Deferred compilation of shaders
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, Device, Pipeline
compileDeferredNV :: forall io. MonadIO io => Device -> Pipeline -> ("shader" ::: Word32) -> io ()
-- | vkCreateAccelerationStructureNV - Create a new acceleration structure
-- object
--
-- Description
--
-- Similarly to other objects in Vulkan, the acceleration structure
-- creation merely creates an object with a specific “shape” as specified
-- by the information in AccelerationStructureInfoNV and
-- compactedSize in pCreateInfo. Populating the data in
-- the object after allocating and binding memory is done with
-- cmdBuildAccelerationStructureNV and
-- cmdCopyAccelerationStructureNV.
--
-- Acceleration structure creation uses the count and type information
-- from the geometries, but does not use the data references in the
-- structures.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureCreateInfoNV,
-- AccelerationStructureNV, AllocationCallbacks,
-- Device
createAccelerationStructureNV :: forall io. MonadIO io => Device -> AccelerationStructureCreateInfoNV -> ("allocator" ::: Maybe AllocationCallbacks) -> io AccelerationStructureNV
-- | A convenience wrapper to make a compatible pair of calls to
-- createAccelerationStructureNV and
-- destroyAccelerationStructureNV
--
-- To ensure that destroyAccelerationStructureNV 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.
withAccelerationStructureNV :: forall io r. MonadIO io => Device -> AccelerationStructureCreateInfoNV -> Maybe AllocationCallbacks -> (io AccelerationStructureNV -> (AccelerationStructureNV -> io ()) -> r) -> r
-- | vkDestroyAccelerationStructureNV - Destroy an acceleration structure
-- object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to
-- accelerationStructure must have completed
-- execution
--
--
--
-- - If AllocationCallbacks were provided when
-- accelerationStructure was created, a compatible set of
-- callbacks must be provided here
-- - If no AllocationCallbacks were provided when
-- accelerationStructure was created, pAllocator
-- must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If accelerationStructure is not NULL_HANDLE,
-- accelerationStructure must be a valid
-- AccelerationStructureNV handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If accelerationStructure is a valid handle, it
-- must have been created, allocated, or retrieved from
-- device
--
--
-- Host Synchronization
--
--
-- - Host access to accelerationStructure must be
-- externally synchronized
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- AllocationCallbacks, Device
destroyAccelerationStructureNV :: forall io. MonadIO io => Device -> AccelerationStructureNV -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetAccelerationStructureMemoryRequirementsNV - Get acceleration
-- structure memory requirements
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing,
-- AccelerationStructureMemoryRequirementsInfoNV, Device,
-- MemoryRequirements2KHR
getAccelerationStructureMemoryRequirementsNV :: forall a io. (Extendss MemoryRequirements2KHR a, PokeChain a, PeekChain a, MonadIO io) => Device -> AccelerationStructureMemoryRequirementsInfoNV -> io (MemoryRequirements2KHR a)
-- | vkBindAccelerationStructureMemoryNV - Bind acceleration structure
-- memory
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing,
-- BindAccelerationStructureMemoryInfoNV, Device
bindAccelerationStructureMemoryNV :: forall io. MonadIO io => Device -> ("bindInfos" ::: Vector BindAccelerationStructureMemoryInfoNV) -> io ()
-- | vkCmdCopyAccelerationStructureNV - Copy an acceleration structure
--
-- Description
--
-- Accesses to src and dst must be
-- synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
-- ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR as appropriate.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- CommandBuffer, CopyAccelerationStructureModeKHR
cmdCopyAccelerationStructureNV :: forall io. MonadIO io => CommandBuffer -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> CopyAccelerationStructureModeKHR -> io ()
-- | vkCmdWriteAccelerationStructuresPropertiesNV - Write acceleration
-- structure result parameters to query results.
--
-- Description
--
-- Accesses to any of the acceleration structures listed in
-- pAccelerationStructures must be synchronized
-- with the PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
-- pipeline stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR.
--
-- Valid Usage
--
--
-- - queryPool must have been created with a
-- queryType matching queryType
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pAccelerationStructures must be a valid pointer to
-- an array of accelerationStructureCount valid
-- AccelerationStructureNV handles
-- - queryType must be a valid QueryType
-- value
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - accelerationStructureCount must be greater than
-- 0
-- - Each of commandBuffer, queryPool, and the
-- elements of pAccelerationStructures must have been
-- created, allocated, or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- CommandBuffer, QueryPool, QueryType
cmdWriteAccelerationStructuresPropertiesNV :: forall io. MonadIO io => CommandBuffer -> ("accelerationStructures" ::: Vector AccelerationStructureNV) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> io ()
-- | vkCmdBuildAccelerationStructureNV - Build an acceleration structure
--
-- Description
--
-- Accesses to dst, src, and scratch
-- must be synchronized with the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage and an access type of
-- ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
-- ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR.
--
-- Valid Usage
--
--
--
--
-- - dst must have been created with compatible
-- AccelerationStructureInfoNV where
-- AccelerationStructureInfoNV::type and
-- AccelerationStructureInfoNV::flags are identical,
-- AccelerationStructureInfoNV::instanceCount and
-- AccelerationStructureInfoNV::geometryCount for
-- dst are greater than or equal to the build size and each
-- geometry in AccelerationStructureInfoNV::pGeometries
-- for dst has greater than or equal to the number of vertices,
-- indices, and AABBs
-- - If update is TRUE, src must not be
-- NULL_HANDLE
-- - If update is TRUE, src must have
-- previously been constructed with
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV set in
-- AccelerationStructureInfoNV::flags in the original
-- build
-- - If update is FALSE, the size member of
-- the MemoryRequirements structure returned from a call to
-- getAccelerationStructureMemoryRequirementsNV with
-- AccelerationStructureMemoryRequirementsInfoNV::accelerationStructure
-- set to dst and
-- AccelerationStructureMemoryRequirementsInfoNV::type
-- set to
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV
-- must be less than or equal to the size of scratch
-- minus scratchOffset
-- - If update is TRUE, the size member of the
-- MemoryRequirements structure returned from a call to
-- getAccelerationStructureMemoryRequirementsNV with
-- AccelerationStructureMemoryRequirementsInfoNV::accelerationStructure
-- set to dst and
-- AccelerationStructureMemoryRequirementsInfoNV::type
-- set to
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
-- must be less than or equal to the size of scratch
-- minus scratchOffset
-- - scratch must have been created with
-- BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
-- - If instanceData is not NULL_HANDLE,
-- instanceData must have been created with
-- BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
-- - Each
-- AccelerationStructureInstanceKHR::accelerationStructureReference
-- value in instanceData must be a valid device address
-- containing a value obtained from
-- getAccelerationStructureHandleNV
-- - If update is TRUE, then objects that were
-- previously active must not be made inactive as per
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims
-- - If update is TRUE, then objects that were
-- previously inactive must not be made active as per
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims
-- - If update is TRUE, the src and
-- dst objects must either be the same object or not have
-- any memory aliasing
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pInfo must be a valid pointer to a valid
-- AccelerationStructureInfoNV structure
-- - If instanceData is not NULL_HANDLE,
-- instanceData must be a valid Buffer handle
-- - dst must be a valid AccelerationStructureNV
-- handle
-- - If src is not NULL_HANDLE, src
-- must be a valid AccelerationStructureNV handle
-- - scratch must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Each of commandBuffer, dst,
-- instanceData, scratch, and src that are
-- valid handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureInfoNV,
-- AccelerationStructureNV, Bool32, Buffer,
-- CommandBuffer, DeviceSize
cmdBuildAccelerationStructureNV :: forall io. MonadIO io => CommandBuffer -> AccelerationStructureInfoNV -> ("instanceData" ::: Buffer) -> ("instanceOffset" ::: DeviceSize) -> ("update" ::: Bool) -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> ("scratch" ::: Buffer) -> ("scratchOffset" ::: DeviceSize) -> io ()
-- | vkCmdTraceRaysNV - Initialize a ray tracing dispatch
--
-- Description
--
-- When the command is executed, a ray generation group of width
-- × height × depth rays is assembled.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - Any shader group handle referenced by this call must have
-- been queried from the currently bound ray tracing pipeline
-- - commandBuffer must not be a protected command
-- buffer
-- - This command must not cause a pipeline trace ray
-- instruction to be executed from a shader invocation with a
-- recursion depth greater than the value of
-- maxRecursionDepth used to create the bound ray tracing
-- pipeline
-- - If raygenShaderBindingTableBuffer is non-sparse then it
-- must be bound completely and contiguously to a single
-- DeviceMemory object
-- - raygenShaderBindingOffset must be less than the
-- size of raygenShaderBindingTableBuffer
-- - raygenShaderBindingOffset must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
-- - If missShaderBindingTableBuffer is non-sparse then it
-- must be bound completely and contiguously to a single
-- DeviceMemory object
-- - missShaderBindingOffset must be less than the size
-- of missShaderBindingTableBuffer
-- - missShaderBindingOffset must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
-- - If hitShaderBindingTableBuffer is non-sparse then it
-- must be bound completely and contiguously to a single
-- DeviceMemory object
-- - hitShaderBindingOffset must be less than the size
-- of hitShaderBindingTableBuffer
-- - hitShaderBindingOffset must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
-- - If callableShaderBindingTableBuffer is non-sparse then it
-- must be bound completely and contiguously to a single
-- DeviceMemory object
-- - callableShaderBindingOffset must be less than the
-- size of callableShaderBindingTableBuffer
-- - callableShaderBindingOffset must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
-- - missShaderBindingStride must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
-- - hitShaderBindingStride must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
-- - callableShaderBindingStride must be a multiple of
-- PhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
-- - missShaderBindingStride must be less than or equal
-- to
-- PhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
-- - hitShaderBindingStride must be less than or equal
-- to
-- PhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
-- - callableShaderBindingStride must be less than or
-- equal to
-- PhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
-- - width must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0]
-- - height must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
-- - depth must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - raygenShaderBindingTableBuffer must be a valid
-- Buffer handle
-- - If missShaderBindingTableBuffer is not
-- NULL_HANDLE, missShaderBindingTableBuffer must
-- be a valid Buffer handle
-- - If hitShaderBindingTableBuffer is not NULL_HANDLE,
-- hitShaderBindingTableBuffer must be a valid
-- Buffer handle
-- - If callableShaderBindingTableBuffer is not
-- NULL_HANDLE, callableShaderBindingTableBuffer
-- must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Each of callableShaderBindingTableBuffer,
-- commandBuffer, hitShaderBindingTableBuffer,
-- missShaderBindingTableBuffer, and
-- raygenShaderBindingTableBuffer that are valid handles of
-- non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_ray_tracing, Buffer, CommandBuffer,
-- DeviceSize
cmdTraceRaysNV :: forall io. MonadIO io => CommandBuffer -> ("raygenShaderBindingTableBuffer" ::: Buffer) -> ("raygenShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingTableBuffer" ::: Buffer) -> ("missShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingStride" ::: DeviceSize) -> ("hitShaderBindingTableBuffer" ::: Buffer) -> ("hitShaderBindingOffset" ::: DeviceSize) -> ("hitShaderBindingStride" ::: DeviceSize) -> ("callableShaderBindingTableBuffer" ::: Buffer) -> ("callableShaderBindingOffset" ::: DeviceSize) -> ("callableShaderBindingStride" ::: DeviceSize) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> io ()
-- | vkGetAccelerationStructureHandleNV - Get opaque acceleration structure
-- handle
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- Device
getAccelerationStructureHandleNV :: forall io. MonadIO io => Device -> AccelerationStructureNV -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io ()
-- | vkCreateRayTracingPipelinesNV - Creates a new ray tracing pipeline
-- object
--
-- Valid Usage
--
--
-- - If the flags member of any element of
-- pCreateInfos contains the
-- PIPELINE_CREATE_DERIVATIVE_BIT flag, and the
-- basePipelineIndex member of that same element is not
-- -1, basePipelineIndex must be less than the
-- index into pCreateInfos that corresponds to that element
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If pipelineCache is not NULL_HANDLE,
-- pipelineCache must be a valid PipelineCache
-- handle
-- - pCreateInfos must be a valid pointer to an array
-- of createInfoCount valid
-- RayTracingPipelineCreateInfoNV structures
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pPipelines must be a valid pointer to an array of
-- createInfoCount Pipeline handles
-- - createInfoCount must be greater than
-- 0
-- - If pipelineCache is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, AllocationCallbacks, Device,
-- Pipeline, PipelineCache,
-- RayTracingPipelineCreateInfoNV
createRayTracingPipelinesNV :: forall io. MonadIO io => Device -> PipelineCache -> ("createInfos" ::: Vector (SomeStruct RayTracingPipelineCreateInfoNV)) -> ("allocator" ::: Maybe AllocationCallbacks) -> io (Result, "pipelines" ::: Vector Pipeline)
-- | A convenience wrapper to make a compatible pair of calls to
-- createRayTracingPipelinesNV and destroyPipeline
--
-- To ensure that destroyPipeline 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.
withRayTracingPipelinesNV :: forall io r. MonadIO io => Device -> PipelineCache -> Vector (SomeStruct RayTracingPipelineCreateInfoNV) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r
pattern SHADER_STAGE_RAYGEN_BIT_NV :: ShaderStageFlagBits
pattern SHADER_STAGE_ANY_HIT_BIT_NV :: ShaderStageFlagBits
pattern SHADER_STAGE_CLOSEST_HIT_BIT_NV :: ShaderStageFlagBits
pattern SHADER_STAGE_MISS_BIT_NV :: ShaderStageFlagBits
pattern SHADER_STAGE_INTERSECTION_BIT_NV :: ShaderStageFlagBits
pattern SHADER_STAGE_CALLABLE_BIT_NV :: ShaderStageFlagBits
pattern PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV :: PipelineStageFlagBits
pattern PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV :: PipelineStageFlagBits
pattern BUFFER_USAGE_RAY_TRACING_BIT_NV :: BufferUsageFlagBits
pattern PIPELINE_BIND_POINT_RAY_TRACING_NV :: PipelineBindPoint
pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV :: AccessFlagBits
pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: AccessFlagBits
pattern INDEX_TYPE_NONE_NV :: IndexType
pattern RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV :: RayTracingShaderGroupTypeKHR
pattern RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV :: RayTracingShaderGroupTypeKHR
pattern RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV :: RayTracingShaderGroupTypeKHR
pattern GEOMETRY_TYPE_TRIANGLES_NV :: GeometryTypeKHR
pattern GEOMETRY_TYPE_AABBS_NV :: GeometryTypeKHR
pattern ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV :: AccelerationStructureTypeKHR
pattern ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV :: AccelerationStructureTypeKHR
pattern GEOMETRY_OPAQUE_BIT_NV :: GeometryFlagBitsKHR
pattern GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV :: GeometryFlagBitsKHR
pattern GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV :: GeometryInstanceFlagBitsKHR
pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV :: GeometryInstanceFlagBitsKHR
pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV :: GeometryInstanceFlagBitsKHR
pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV :: GeometryInstanceFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
pattern COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV :: CopyAccelerationStructureModeKHR
pattern COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV :: CopyAccelerationStructureModeKHR
pattern SHADER_UNUSED_NV :: Word32
getRayTracingShaderGroupHandlesNV :: MonadIO io => Device -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io ()
-- | VkRayTracingShaderGroupCreateInfoNV - Structure specifying shaders in
-- a shader group
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, RayTracingPipelineCreateInfoNV,
-- RayTracingShaderGroupTypeKHR, StructureType
data RayTracingShaderGroupCreateInfoNV
RayTracingShaderGroupCreateInfoNV :: RayTracingShaderGroupTypeKHR -> Word32 -> Word32 -> Word32 -> Word32 -> RayTracingShaderGroupCreateInfoNV
-- | type is the type of hit group specified in this structure.
[$sel:type':RayTracingShaderGroupCreateInfoNV] :: RayTracingShaderGroupCreateInfoNV -> RayTracingShaderGroupTypeKHR
-- | generalShader is the index of the ray generation, miss, or
-- callable shader from
-- RayTracingPipelineCreateInfoNV::pStages in the group
-- if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV, and
-- SHADER_UNUSED_NV otherwise.
[$sel:generalShader:RayTracingShaderGroupCreateInfoNV] :: RayTracingShaderGroupCreateInfoNV -> Word32
-- | closestHitShader is the optional index of the closest hit
-- shader from RayTracingPipelineCreateInfoNV::pStages in
-- the group if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV, and
-- SHADER_UNUSED_NV otherwise.
[$sel:closestHitShader:RayTracingShaderGroupCreateInfoNV] :: RayTracingShaderGroupCreateInfoNV -> Word32
-- | anyHitShader is the optional index of the any-hit shader from
-- RayTracingPipelineCreateInfoNV::pStages in the group
-- if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV or
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV, and
-- SHADER_UNUSED_NV otherwise.
[$sel:anyHitShader:RayTracingShaderGroupCreateInfoNV] :: RayTracingShaderGroupCreateInfoNV -> Word32
-- | intersectionShader is the index of the intersection shader
-- from RayTracingPipelineCreateInfoNV::pStages in the
-- group if the shader group has type of
-- RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV, and
-- SHADER_UNUSED_NV otherwise.
[$sel:intersectionShader:RayTracingShaderGroupCreateInfoNV] :: RayTracingShaderGroupCreateInfoNV -> Word32
-- | VkRayTracingPipelineCreateInfoNV - Structure specifying parameters of
-- a newly created ray tracing pipeline
--
-- Description
--
-- The parameters basePipelineHandle and
-- basePipelineIndex are described in more detail in Pipeline
-- Derivatives.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of PipelineCreationFeedbackCreateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- PipelineCreateFlagBits values
-- - pStages must be a valid pointer to an array of
-- stageCount valid PipelineShaderStageCreateInfo
-- structures
-- - pGroups must be a valid pointer to an array of
-- groupCount valid RayTracingShaderGroupCreateInfoNV
-- structures
-- - layout must be a valid PipelineLayout
-- handle
-- - stageCount must be greater than 0
-- - groupCount must be greater than 0
-- - Both of basePipelineHandle, and layout that are
-- valid handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_NV_ray_tracing, Pipeline, PipelineCreateFlags,
-- PipelineLayout, PipelineShaderStageCreateInfo,
-- RayTracingShaderGroupCreateInfoNV, StructureType,
-- createRayTracingPipelinesNV
data RayTracingPipelineCreateInfoNV (es :: [Type])
RayTracingPipelineCreateInfoNV :: Chain es -> PipelineCreateFlags -> Vector (SomeStruct PipelineShaderStageCreateInfo) -> Vector RayTracingShaderGroupCreateInfoNV -> Word32 -> PipelineLayout -> Pipeline -> Int32 -> RayTracingPipelineCreateInfoNV (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Chain es
-- | flags is a bitmask of PipelineCreateFlagBits
-- specifying how the pipeline will be generated.
[$sel:flags:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> PipelineCreateFlags
-- | pStages is a pointer to an array of
-- PipelineShaderStageCreateInfo structures specifying the set of
-- the shader stages to be included in the ray tracing pipeline.
[$sel:stages:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Vector (SomeStruct PipelineShaderStageCreateInfo)
-- | pGroups is a pointer to an array of
-- RayTracingShaderGroupCreateInfoNV structures describing the set
-- of the shader stages to be included in each shader group in the ray
-- tracing pipeline.
[$sel:groups:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Vector RayTracingShaderGroupCreateInfoNV
-- | maxRecursionDepth is the maximum recursion depth of
-- shaders executed by this pipeline.
[$sel:maxRecursionDepth:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Word32
-- | layout is the description of binding locations used by both
-- the pipeline and descriptor sets used with the pipeline.
[$sel:layout:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> PipelineLayout
-- | basePipelineHandle is a pipeline to derive from.
[$sel:basePipelineHandle:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Pipeline
-- | basePipelineIndex is an index into the pCreateInfos
-- parameter to use as a pipeline to derive from.
[$sel:basePipelineIndex:RayTracingPipelineCreateInfoNV] :: RayTracingPipelineCreateInfoNV (es :: [Type]) -> Int32
-- | VkGeometryTrianglesNV - Structure specifying a triangle geometry in a
-- bottom-level acceleration structure
--
-- Description
--
-- If indexType is INDEX_TYPE_NONE_NV, then this
-- structure describes a set of triangles determined by
-- vertexCount. Otherwise, this structure describes a set of
-- indexed triangles determined by indexCount.
--
-- Valid Usage
--
--
-- - vertexOffset must be less than the size of
-- vertexData
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - If vertexData is not NULL_HANDLE,
-- vertexData must be a valid Buffer handle
-- - vertexFormat must be a valid Format
-- value
-- - If indexData is not NULL_HANDLE,
-- indexData must be a valid Buffer handle
-- - indexType must be a valid IndexType
-- value
-- - If transformData is not NULL_HANDLE,
-- transformData must be a valid Buffer
-- handle
-- - Each of indexData, transformData, and
-- vertexData that are valid handles of non-ignored parameters
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_NV_ray_tracing, Buffer, DeviceSize,
-- Format, GeometryDataNV, IndexType,
-- StructureType
data GeometryTrianglesNV
GeometryTrianglesNV :: Buffer -> DeviceSize -> Word32 -> DeviceSize -> Format -> Buffer -> DeviceSize -> Word32 -> IndexType -> Buffer -> DeviceSize -> GeometryTrianglesNV
-- | vertexData is the buffer containing vertex data for this
-- geometry.
[$sel:vertexData:GeometryTrianglesNV] :: GeometryTrianglesNV -> Buffer
-- | vertexOffset is the offset in bytes within
-- vertexData containing vertex data for this geometry.
[$sel:vertexOffset:GeometryTrianglesNV] :: GeometryTrianglesNV -> DeviceSize
-- | vertexCount is the number of valid vertices.
[$sel:vertexCount:GeometryTrianglesNV] :: GeometryTrianglesNV -> Word32
-- | vertexStride is the stride in bytes between each vertex.
[$sel:vertexStride:GeometryTrianglesNV] :: GeometryTrianglesNV -> DeviceSize
-- | vertexFormat is a Format describing the format of each
-- vertex element.
[$sel:vertexFormat:GeometryTrianglesNV] :: GeometryTrianglesNV -> Format
-- | indexData is the buffer containing index data for this
-- geometry.
[$sel:indexData:GeometryTrianglesNV] :: GeometryTrianglesNV -> Buffer
-- | indexOffset is the offset in bytes within indexData
-- containing index data for this geometry.
[$sel:indexOffset:GeometryTrianglesNV] :: GeometryTrianglesNV -> DeviceSize
-- | indexCount is the number of indices to include in this
-- geometry.
[$sel:indexCount:GeometryTrianglesNV] :: GeometryTrianglesNV -> Word32
-- | indexType is a IndexType describing the format of each
-- index.
[$sel:indexType:GeometryTrianglesNV] :: GeometryTrianglesNV -> IndexType
-- | transformData is an optional buffer containing an
-- TransformMatrixNV structure defining a transformation to be
-- applied to this geometry.
[$sel:transformData:GeometryTrianglesNV] :: GeometryTrianglesNV -> Buffer
-- | transformOffset is the offset in bytes in
-- transformData of the transform information described above.
[$sel:transformOffset:GeometryTrianglesNV] :: GeometryTrianglesNV -> DeviceSize
-- | VkGeometryAABBNV - Structure specifying axis-aligned bounding box
-- geometry in a bottom-level acceleration structure
--
-- Description
--
-- The AABB data in memory is six 32-bit floats consisting of the minimum
-- x, y, and z values followed by the maximum x, y, and z values.
--
-- Valid Usage
--
--
-- - offset must be less than the size of
-- aabbData
--
--
--
-- - offset must be a multiple of 8
-- - stride must be a multiple of 8
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - If aabbData is not NULL_HANDLE, aabbData
-- must be a valid Buffer handle
--
--
-- See Also
--
-- VK_NV_ray_tracing, Buffer, DeviceSize,
-- GeometryDataNV, StructureType
data GeometryAABBNV
GeometryAABBNV :: Buffer -> Word32 -> Word32 -> DeviceSize -> GeometryAABBNV
-- | aabbData is the buffer containing axis-aligned bounding box
-- data.
[$sel:aabbData:GeometryAABBNV] :: GeometryAABBNV -> Buffer
-- | numAABBs is the number of AABBs in this geometry.
[$sel:numAABBs:GeometryAABBNV] :: GeometryAABBNV -> Word32
-- | stride is the stride in bytes between AABBs in
-- aabbData.
[$sel:stride:GeometryAABBNV] :: GeometryAABBNV -> Word32
-- | offset is the offset in bytes of the first AABB in
-- aabbData.
[$sel:offset:GeometryAABBNV] :: GeometryAABBNV -> DeviceSize
-- | VkGeometryDataNV - Structure specifying geometry in a bottom-level
-- acceleration structure
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing, GeometryAABBNV, GeometryNV,
-- GeometryTrianglesNV
data GeometryDataNV
GeometryDataNV :: GeometryTrianglesNV -> GeometryAABBNV -> GeometryDataNV
-- | triangles contains triangle data if
-- GeometryNV::geometryType is
-- GEOMETRY_TYPE_TRIANGLES_NV.
--
-- triangles must be a valid GeometryTrianglesNV
-- structure
[$sel:triangles:GeometryDataNV] :: GeometryDataNV -> GeometryTrianglesNV
-- | aabbs contains axis-aligned bounding box data if
-- GeometryNV::geometryType is
-- GEOMETRY_TYPE_AABBS_NV.
--
-- aabbs must be a valid GeometryAABBNV structure
[$sel:aabbs:GeometryDataNV] :: GeometryDataNV -> GeometryAABBNV
-- | VkGeometryNV - Structure specifying a geometry in a bottom-level
-- acceleration structure
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureInfoNV,
-- GeometryDataNV, GeometryFlagsKHR,
-- GeometryTypeKHR, StructureType
data GeometryNV
GeometryNV :: GeometryTypeKHR -> GeometryDataNV -> GeometryFlagsKHR -> GeometryNV
-- | geometryType specifies the GeometryTypeKHR which this
-- geometry refers to.
--
-- geometryType must be GEOMETRY_TYPE_TRIANGLES_NV
-- or GEOMETRY_TYPE_AABBS_NV
--
-- geometryType must be a valid GeometryTypeKHR
-- value
[$sel:geometryType:GeometryNV] :: GeometryNV -> GeometryTypeKHR
-- | geometry contains the geometry data as described in
-- GeometryDataNV.
--
-- geometry must be a valid GeometryDataNV
-- structure
[$sel:geometry:GeometryNV] :: GeometryNV -> GeometryDataNV
-- | flags has GeometryFlagBitsKHR describing options for
-- this geometry.
--
-- flags must be a valid combination of
-- GeometryFlagBitsKHR values
[$sel:flags:GeometryNV] :: GeometryNV -> GeometryFlagsKHR
-- | VkAccelerationStructureInfoNV - Structure specifying the parameters of
-- acceleration structure object
--
-- Description
--
-- AccelerationStructureInfoNV contains information that is used
-- both for acceleration structure creation with
-- createAccelerationStructureNV and in combination with the
-- actual geometric data to build the acceleration structure with
-- cmdBuildAccelerationStructureNV.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureCreateInfoNV,
-- AccelerationStructureTypeNV,
-- BuildAccelerationStructureFlagsNV, GeometryNV,
-- StructureType, cmdBuildAccelerationStructureNV
data AccelerationStructureInfoNV
AccelerationStructureInfoNV :: AccelerationStructureTypeNV -> BuildAccelerationStructureFlagsNV -> Word32 -> Vector GeometryNV -> AccelerationStructureInfoNV
-- | type is a AccelerationStructureTypeNV value specifying
-- the type of acceleration structure that will be created.
[$sel:type':AccelerationStructureInfoNV] :: AccelerationStructureInfoNV -> AccelerationStructureTypeNV
-- | flags is a bitmask of
-- BuildAccelerationStructureFlagBitsNV specifying additional
-- parameters of the acceleration structure.
[$sel:flags:AccelerationStructureInfoNV] :: AccelerationStructureInfoNV -> BuildAccelerationStructureFlagsNV
-- | instanceCount specifies the number of instances that will be
-- in the new acceleration structure.
[$sel:instanceCount:AccelerationStructureInfoNV] :: AccelerationStructureInfoNV -> Word32
-- | pGeometries is a pointer to an array of
-- geometryCount GeometryNV structures containing the
-- scene data being passed into the acceleration structure.
[$sel:geometries:AccelerationStructureInfoNV] :: AccelerationStructureInfoNV -> Vector GeometryNV
-- | VkAccelerationStructureCreateInfoNV - Structure specifying the
-- parameters of a newly created acceleration structure object
--
-- Valid Usage
--
--
-- - If compactedSize is not 0 then both
-- info.geometryCount and info.instanceCount
-- must be 0
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureInfoNV,
-- DeviceSize, StructureType,
-- createAccelerationStructureNV
data AccelerationStructureCreateInfoNV
AccelerationStructureCreateInfoNV :: DeviceSize -> AccelerationStructureInfoNV -> AccelerationStructureCreateInfoNV
-- | compactedSize is the size from the result of
-- cmdWriteAccelerationStructuresPropertiesNV if this acceleration
-- structure is going to be the target of a compacting copy.
[$sel:compactedSize:AccelerationStructureCreateInfoNV] :: AccelerationStructureCreateInfoNV -> DeviceSize
-- | info is the AccelerationStructureInfoNV structure
-- specifying further parameters of the created acceleration structure.
[$sel:info:AccelerationStructureCreateInfoNV] :: AccelerationStructureCreateInfoNV -> AccelerationStructureInfoNV
-- | VkBindAccelerationStructureMemoryInfoNV - Structure specifying
-- acceleration structure memory binding
--
-- Valid Usage
--
--
-- - accelerationStructure must not already be backed
-- by a memory object
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - accelerationStructure must be a valid
-- AccelerationStructureNV handle
-- - memory must be a valid DeviceMemory
-- handle
-- - If deviceIndexCount is not 0,
-- pDeviceIndices must be a valid pointer to an array of
-- deviceIndexCount uint32_t values
-- - Both of accelerationStructure, and memory
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- DeviceMemory, DeviceSize, StructureType,
-- bindAccelerationStructureMemoryNV
data BindAccelerationStructureMemoryInfoNV
BindAccelerationStructureMemoryInfoNV :: AccelerationStructureNV -> DeviceMemory -> DeviceSize -> Vector Word32 -> BindAccelerationStructureMemoryInfoNV
-- | accelerationStructure is the acceleration structure to be
-- attached to memory.
[$sel:accelerationStructure:BindAccelerationStructureMemoryInfoNV] :: BindAccelerationStructureMemoryInfoNV -> AccelerationStructureNV
-- | memory is a DeviceMemory object describing the device
-- memory to attach.
[$sel:memory:BindAccelerationStructureMemoryInfoNV] :: BindAccelerationStructureMemoryInfoNV -> DeviceMemory
-- | memoryOffset is the start offset of the region of memory that
-- is to be bound to the acceleration structure. The number of bytes
-- returned in the MemoryRequirements::size member in
-- memory, starting from memoryOffset bytes, will be
-- bound to the specified acceleration structure.
[$sel:memoryOffset:BindAccelerationStructureMemoryInfoNV] :: BindAccelerationStructureMemoryInfoNV -> DeviceSize
-- | pDeviceIndices is a pointer to an array of device indices.
[$sel:deviceIndices:BindAccelerationStructureMemoryInfoNV] :: BindAccelerationStructureMemoryInfoNV -> Vector Word32
-- | VkWriteDescriptorSetAccelerationStructureNV - Structure specifying
-- acceleration structure descriptor information
--
-- Valid Usage
--
--
-- - accelerationStructureCount must be equal to
-- descriptorCount in the extended structure
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pAccelerationStructures must be a valid pointer to
-- an array of accelerationStructureCount valid or
-- NULL_HANDLE AccelerationStructureNV handles
-- - accelerationStructureCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_NV_ray_tracing, AccelerationStructureNV,
-- StructureType
data WriteDescriptorSetAccelerationStructureNV
WriteDescriptorSetAccelerationStructureNV :: Vector AccelerationStructureNV -> WriteDescriptorSetAccelerationStructureNV
-- | pAccelerationStructures is a pointer to an array of
-- AccelerationStructureNV structures specifying the acceleration
-- structures to update.
[$sel:accelerationStructures:WriteDescriptorSetAccelerationStructureNV] :: WriteDescriptorSetAccelerationStructureNV -> Vector AccelerationStructureNV
-- | VkAccelerationStructureMemoryRequirementsInfoNV - Structure specifying
-- acceleration to query for memory requirements
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing,
-- AccelerationStructureMemoryRequirementsTypeNV,
-- AccelerationStructureNV, StructureType,
-- getAccelerationStructureMemoryRequirementsNV
data AccelerationStructureMemoryRequirementsInfoNV
AccelerationStructureMemoryRequirementsInfoNV :: AccelerationStructureMemoryRequirementsTypeNV -> AccelerationStructureNV -> AccelerationStructureMemoryRequirementsInfoNV
-- | type selects the type of memory requirement being queried.
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
-- returns the memory requirements for the object itself.
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV
-- returns the memory requirements for the scratch memory when doing a
-- build.
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
-- returns the memory requirements for the scratch memory when doing an
-- update.
--
-- type must be a valid
-- AccelerationStructureMemoryRequirementsTypeNV value
[$sel:type':AccelerationStructureMemoryRequirementsInfoNV] :: AccelerationStructureMemoryRequirementsInfoNV -> AccelerationStructureMemoryRequirementsTypeNV
-- | accelerationStructure is the acceleration structure to be
-- queried for memory requirements.
--
-- accelerationStructure must be a valid
-- AccelerationStructureNV handle
[$sel:accelerationStructure:AccelerationStructureMemoryRequirementsInfoNV] :: AccelerationStructureMemoryRequirementsInfoNV -> AccelerationStructureNV
-- | VkPhysicalDeviceRayTracingPropertiesNV - Properties of the physical
-- device for ray tracing
--
-- Description
--
-- Due to the fact that the geometry, instance, and triangle counts are
-- specified at acceleration structure creation as 32-bit values,
-- maxGeometryCount, maxInstanceCount, and
-- maxTriangleCount must not exceed 232-1.
--
-- If the PhysicalDeviceRayTracingPropertiesNV structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Limits specified by this structure must match those specified
-- with the same name in
-- PhysicalDeviceAccelerationStructurePropertiesKHR and
-- PhysicalDeviceRayTracingPipelinePropertiesKHR.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_ray_tracing, StructureType
data PhysicalDeviceRayTracingPropertiesNV
PhysicalDeviceRayTracingPropertiesNV :: Word32 -> Word32 -> Word32 -> Word32 -> Word64 -> Word64 -> Word64 -> Word32 -> PhysicalDeviceRayTracingPropertiesNV
-- | shaderGroupHandleSize is the size in bytes of the shader
-- header.
[$sel:shaderGroupHandleSize:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word32
-- | maxRecursionDepth is the maximum number of levels of
-- recursion allowed in a trace command.
[$sel:maxRecursionDepth:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word32
-- | maxShaderGroupStride is the maximum stride in bytes allowed
-- between shader groups in the shader binding table.
[$sel:maxShaderGroupStride:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word32
-- | shaderGroupBaseAlignment is the required alignment in
-- bytes for the base of the shader binding table.
[$sel:shaderGroupBaseAlignment:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word32
-- | maxGeometryCount is the maximum number of geometries in the
-- bottom level acceleration structure.
[$sel:maxGeometryCount:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word64
-- | maxInstanceCount is the maximum number of instances in the
-- top level acceleration structure.
[$sel:maxInstanceCount:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word64
-- | maxTriangleCount is the maximum number of triangles in all
-- geometries in the bottom level acceleration structure.
[$sel:maxTriangleCount:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word64
-- | maxDescriptorSetAccelerationStructures is the maximum number
-- of acceleration structure descriptors that are allowed in a descriptor
-- set.
[$sel:maxDescriptorSetAccelerationStructures:PhysicalDeviceRayTracingPropertiesNV] :: PhysicalDeviceRayTracingPropertiesNV -> Word32
-- | VkAccelerationStructureMemoryRequirementsTypeNV - Acceleration
-- structure memory requirement type
--
-- See Also
--
-- VK_NV_ray_tracing,
-- AccelerationStructureMemoryRequirementsInfoNV
newtype AccelerationStructureMemoryRequirementsTypeNV
AccelerationStructureMemoryRequirementsTypeNV :: Int32 -> AccelerationStructureMemoryRequirementsTypeNV
-- | ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
-- requests the memory requirement for the AccelerationStructureNV
-- backing store.
pattern ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV :: AccelerationStructureMemoryRequirementsTypeNV
-- |
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV
-- requests the memory requirement for scratch space during the initial
-- build.
pattern ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV :: AccelerationStructureMemoryRequirementsTypeNV
-- |
-- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
-- requests the memory requirement for scratch space during an update.
pattern ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV :: AccelerationStructureMemoryRequirementsTypeNV
type GeometryFlagsNV = GeometryFlagsKHR
type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR
type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR
type GeometryFlagBitsNV = GeometryFlagBitsKHR
type GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR
type BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR
type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR
type AccelerationStructureTypeNV = AccelerationStructureTypeKHR
type GeometryTypeNV = GeometryTypeKHR
type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR
type AabbPositionsNV = AabbPositionsKHR
type TransformMatrixNV = TransformMatrixKHR
type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR
type NV_RAY_TRACING_SPEC_VERSION = 3
pattern NV_RAY_TRACING_SPEC_VERSION :: forall a. Integral a => a
type NV_RAY_TRACING_EXTENSION_NAME = "VK_NV_ray_tracing"
pattern NV_RAY_TRACING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkAccelerationStructureNV - Opaque handle to an acceleration structure
-- object
--
-- See Also
--
-- VK_NV_ray_tracing,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- BindAccelerationStructureMemoryInfoNV,
-- WriteDescriptorSetAccelerationStructureNV,
-- cmdBuildAccelerationStructureNV,
-- cmdCopyAccelerationStructureNV,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- createAccelerationStructureNV,
-- destroyAccelerationStructureNV,
-- getAccelerationStructureHandleNV
newtype AccelerationStructureNV
AccelerationStructureNV :: Word64 -> AccelerationStructureNV
-- | VkAabbPositionsKHR - Structure specifying two opposing corners of an
-- axis-aligned bounding box
--
-- Valid Usage
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing
data AabbPositionsKHR
AabbPositionsKHR :: Float -> Float -> Float -> Float -> Float -> Float -> AabbPositionsKHR
-- | minX is the x position of one opposing corner of a bounding
-- box.
--
-- minX must be less than or equal to maxX
[$sel:minX:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | minY is the y position of one opposing corner of a bounding
-- box.
--
-- minY must be less than or equal to maxY
[$sel:minY:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | minZ is the z position of one opposing corner of a bounding
-- box.
--
-- minZ must be less than or equal to maxZ
[$sel:minZ:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxX is the x position of the other opposing corner of a
-- bounding box.
[$sel:maxX:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxY is the y position of the other opposing corner of a
-- bounding box.
[$sel:maxY:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | maxZ is the z position of the other opposing corner of a
-- bounding box.
[$sel:maxZ:AabbPositionsKHR] :: AabbPositionsKHR -> Float
-- | VkTransformMatrixKHR - Structure specifying a 3x4 affine
-- transformation matrix
--
-- Valid Usage
--
--
-- - The first three columns of matrix must define an
-- invertible 3x3 matrix
--
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureInstanceKHR,
-- AccelerationStructureMatrixMotionInstanceNV
data TransformMatrixKHR
TransformMatrixKHR :: (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> (Float, Float, Float, Float) -> TransformMatrixKHR
[$sel:matrixRow0:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow1:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
[$sel:matrixRow2:TransformMatrixKHR] :: TransformMatrixKHR -> (Float, Float, Float, Float)
-- | VkAccelerationStructureInstanceKHR - Structure specifying a single
-- acceleration structure instance for building into an acceleration
-- structure geometry
--
-- Description
--
-- The C language specification does not define the ordering of
-- bit-fields, but in practice, this struct produces the correct layout
-- with existing compilers. The intended bit pattern is for the
-- following:
--
-- If a compiler produces code that diverges from that pattern,
-- applications must employ another method to set values according
-- to the correct bit pattern.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureMotionInstanceDataNV,
-- GeometryInstanceFlagsKHR, TransformMatrixKHR
data AccelerationStructureInstanceKHR
AccelerationStructureInstanceKHR :: TransformMatrixKHR -> Word32 -> Word32 -> Word32 -> GeometryInstanceFlagsKHR -> Word64 -> AccelerationStructureInstanceKHR
-- | transform is a TransformMatrixKHR structure describing
-- a transformation to be applied to the acceleration structure.
[$sel:transform:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> TransformMatrixKHR
-- | instanceCustomIndex is a 24-bit user-specified index value
-- accessible to ray shaders in the InstanceCustomIndexKHR
-- built-in.
--
-- instanceCustomIndex and mask occupy the same memory
-- as if a single uint32_t was specified in their place
--
--
-- - instanceCustomIndex occupies the 24 least significant
-- bits of that memory
-- - mask occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceCustomIndex:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | mask is an 8-bit visibility mask for the geometry. The
-- instance may only be hit if Cull Mask & instance.mask
-- != 0
[$sel:mask:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | instanceShaderBindingTableRecordOffset is a 24-bit offset
-- used in calculating the hit shader binding table index.
--
-- instanceShaderBindingTableRecordOffset and flags
-- occupy the same memory as if a single uint32_t was specified
-- in their place
--
--
-- - instanceShaderBindingTableRecordOffset occupies the 24
-- least significant bits of that memory
-- - flags occupies the 8 most significant bits of that
-- memory
--
[$sel:instanceShaderBindingTableRecordOffset:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32
-- | flags is an 8-bit mask of GeometryInstanceFlagBitsKHR
-- values to apply to this instance.
--
-- flags must be a valid combination of
-- GeometryInstanceFlagBitsKHR values
[$sel:flags:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> GeometryInstanceFlagsKHR
-- | accelerationStructureReference is either:
--
--
[$sel:accelerationStructureReference:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word64
-- | vkGetRayTracingShaderGroupHandlesKHR - Query ray tracing pipeline
-- shader group handles
--
-- Valid Usage
--
--
-- - pipeline must be a ray tracing pipeline
--
--
--
-- - firstGroup must be less than the number of shader
-- groups in pipeline
-- - The sum of firstGroup and groupCount must
-- be less than or equal to the number of shader groups in
-- pipeline
-- - dataSize must be at least
-- PhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleSize
-- × groupCount
-- - pipeline must have not been created with
-- PIPELINE_CREATE_LIBRARY_BIT_KHR
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pipeline must be a valid Pipeline
-- handle
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - dataSize must be greater than 0
-- - pipeline must have been created, allocated, or
-- retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing,
-- Device, Pipeline
getRayTracingShaderGroupHandlesKHR :: forall io. MonadIO io => Device -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io ()
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
-- | VkGeometryInstanceFlagBitsKHR - Instance flag bits
--
-- Description
--
-- GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR and
-- GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR must not be used
-- in the same flag.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- GeometryInstanceFlagsKHR
newtype GeometryInstanceFlagBitsKHR
GeometryInstanceFlagBitsKHR :: Flags -> GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR disables
-- face culling for this instance.
pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR indicates that
-- the facing determination for geometry in this instance is
-- inverted. Because the facing is determined in object space, an
-- instance transform does not change the winding, but a geometry
-- transform does.
pattern GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR causes this instance to
-- act as though GEOMETRY_OPAQUE_BIT_KHR were specified on all
-- geometries referenced by this instance. This behavior can be
-- overridden by the SPIR-V NoOpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
-- | GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR causes this instance
-- to act as though GEOMETRY_OPAQUE_BIT_KHR were not specified on
-- all geometries referenced by this instance. This behavior can
-- be overridden by the SPIR-V OpaqueKHR ray flag.
pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
type GeometryInstanceFlagsKHR = GeometryInstanceFlagBitsKHR
-- | VkGeometryFlagBitsKHR - Bitmask specifying additional parameters for a
-- geometry
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- GeometryFlagsKHR
newtype GeometryFlagBitsKHR
GeometryFlagBitsKHR :: Flags -> GeometryFlagBitsKHR
-- | GEOMETRY_OPAQUE_BIT_KHR indicates that this geometry does not
-- invoke the any-hit shaders even if present in a hit group.
pattern GEOMETRY_OPAQUE_BIT_KHR :: GeometryFlagBitsKHR
-- | GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR indicates that
-- the implementation must only call the any-hit shader a single
-- time for each primitive in this geometry. If this bit is absent an
-- implementation may invoke the any-hit shader more than once for
-- this geometry.
pattern GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: GeometryFlagBitsKHR
type GeometryFlagsKHR = GeometryFlagBitsKHR
-- | VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying
-- additional parameters for acceleration structure builds
--
-- Description
--
-- Note
--
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
-- BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
-- may take more time and memory than a normal build, and so
-- should only be used when those features are needed.
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- BuildAccelerationStructureFlagsKHR
newtype BuildAccelerationStructureFlagBitsKHR
BuildAccelerationStructureFlagBitsKHR :: Flags -> BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates
-- that the specified acceleration structure can be updated with a
-- mode of BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
-- in AccelerationStructureBuildGeometryInfoKHR or an
-- update of TRUE in
-- cmdBuildAccelerationStructureNV .
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR indicates
-- that the specified acceleration structure can act as the source
-- for a copy acceleration structure command with mode of
-- COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR to produce a
-- compacted acceleration structure.
pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize trace performance over build time.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
-- indicates that the given acceleration structure build should
-- prioritize build time over trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
-- | BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR indicates that
-- this acceleration structure should minimize the size of the
-- scratch memory and the final result acceleration structure,
-- potentially at the expense of build time or trace performance.
pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
pattern BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
type BuildAccelerationStructureFlagsKHR = BuildAccelerationStructureFlagBitsKHR
-- | VkCopyAccelerationStructureModeKHR - Acceleration structure copy mode
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- cmdCopyAccelerationStructureNV
newtype CopyAccelerationStructureModeKHR
CopyAccelerationStructureModeKHR :: Int32 -> CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR creates a direct
-- copy of the acceleration structure specified in src into the
-- one specified by dst. The dst acceleration structure
-- must have been created with the same parameters as
-- src. If src contains references to other
-- acceleration structures, dst will reference the same
-- acceleration structures.
pattern COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more
-- compact version of an acceleration structure src into
-- dst. The acceleration structure dst must have
-- been created with a size at least as large as that returned by
-- cmdWriteAccelerationStructuresPropertiesKHR or
-- writeAccelerationStructuresPropertiesKHR after the build of the
-- acceleration structure specified by src. If src
-- contains references to other acceleration structures, dst
-- will reference the same acceleration structures.
pattern COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR serializes the
-- acceleration structure to a semi-opaque format which can be reloaded
-- on a compatible implementation.
pattern COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: CopyAccelerationStructureModeKHR
-- | COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR deserializes
-- the semi-opaque serialization format in the buffer to the acceleration
-- structure.
pattern COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: CopyAccelerationStructureModeKHR
-- | VkAccelerationStructureTypeKHR - Type of acceleration structure
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureInfoNV
newtype AccelerationStructureTypeKHR
AccelerationStructureTypeKHR :: Int32 -> AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR is a top-level
-- acceleration structure containing instance data referring to
-- bottom-level acceleration structures.
pattern ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR is a bottom-level
-- acceleration structure containing the AABBs or geometry to be
-- intersected.
pattern ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: AccelerationStructureTypeKHR
-- | ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR is an acceleration
-- structure whose type is determined at build time used for special
-- circumstances.
pattern ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR :: AccelerationStructureTypeKHR
-- | VkGeometryTypeKHR - Enum specifying which type of geometry is provided
--
-- See Also
--
-- VK_KHR_acceleration_structure, VK_NV_ray_tracing,
-- AccelerationStructureGeometryKHR, GeometryNV
newtype GeometryTypeKHR
GeometryTypeKHR :: Int32 -> GeometryTypeKHR
-- | GEOMETRY_TYPE_TRIANGLES_KHR specifies a geometry type
-- consisting of triangles.
pattern GEOMETRY_TYPE_TRIANGLES_KHR :: GeometryTypeKHR
-- | GEOMETRY_TYPE_AABBS_KHR specifies a geometry type consisting of
-- axis-aligned bounding boxes.
pattern GEOMETRY_TYPE_AABBS_KHR :: GeometryTypeKHR
-- | GEOMETRY_TYPE_INSTANCES_KHR specifies a geometry type
-- consisting of acceleration structure instances.
pattern GEOMETRY_TYPE_INSTANCES_KHR :: GeometryTypeKHR
-- | VkRayTracingShaderGroupTypeKHR - Shader group types
--
-- Description
--
-- Note
--
-- For current group types, the hit group type could be inferred from the
-- presence or absence of the intersection shader, but we provide the
-- type explicitly for future hit groups that do not have that property.
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV
newtype RayTracingShaderGroupTypeKHR
RayTracingShaderGroupTypeKHR :: Int32 -> RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR indicates a shader
-- group with a single SHADER_STAGE_RAYGEN_BIT_KHR,
-- SHADER_STAGE_MISS_BIT_KHR, or
-- SHADER_STAGE_CALLABLE_BIT_KHR shader in it.
pattern RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR specifies
-- a shader group that only hits triangles and must not contain an
-- intersection shader, only closest hit and any-hit shaders.
pattern RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: RayTracingShaderGroupTypeKHR
-- | RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
-- specifies a shader group that only intersects with custom geometry and
-- must contain an intersection shader and may contain
-- closest hit and any-hit shaders.
pattern RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: RayTracingShaderGroupTypeKHR
type MemoryRequirements2KHR = MemoryRequirements2
pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: GeometryInstanceFlagBitsKHR
type SHADER_UNUSED_KHR = 4294967295
-- | VK_SHADER_UNUSED_KHR - Sentinel for an unused shader index
--
-- See Also
--
-- VK_KHR_ray_tracing_pipeline, VK_NV_ray_tracing
pattern SHADER_UNUSED_KHR :: Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es)
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.GeometryDataNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryDataNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryDataNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.GeometryDataNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.GeometryDataNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV
-- | Name
--
-- VK_EXT_extended_dynamic_state - device extension
--
-- VK_EXT_extended_dynamic_state
--
--
-- - Name String
-- VK_EXT_extended_dynamic_state
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 268
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2019-12-09
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Dan Ginsburg, Valve
-- Corporation
- Graeme Leese, Broadcom
- Hans-Kristian
-- Arntzen, Valve Corporation
- Jan-Harald Fredriksen, Arm
-- Limited
- Jason Ekstrand, Intel
- Jeff Bolz,
-- NVIDIA
- Jesse Hall, Google
- Philip Rebohle, Valve
-- Corporation
- Stuart Smith, Imagination
-- Technologies
- Tobias Hector, AMD
--
--
-- Description
--
-- This extension adds some more dynamic state to support applications
-- that need to reduce the number of pipeline state objects they compile
-- and bind.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2019-12-09 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- cmdBindVertexBuffers2EXT, cmdSetCullModeEXT,
-- cmdSetDepthBoundsTestEnableEXT, cmdSetDepthCompareOpEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetFrontFaceEXT, cmdSetPrimitiveTopologyEXT,
-- cmdSetScissorWithCountEXT, cmdSetStencilOpEXT,
-- cmdSetStencilTestEnableEXT, cmdSetViewportWithCountEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_extended_dynamic_state
-- | vkCmdSetCullModeEXT - Set cull mode dynamically for a command buffer
--
-- Description
--
-- This command sets the cull mode for subsequent drawing commands when
-- the graphics pipeline is created with
-- DYNAMIC_STATE_CULL_MODE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationStateCreateInfo::cullMode value
-- used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- CullModeFlags
cmdSetCullModeEXT :: forall io. MonadIO io => CommandBuffer -> CullModeFlags -> io ()
-- | vkCmdSetFrontFaceEXT - Set front face orientation dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the front face orientation for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_FRONT_FACE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationStateCreateInfo::frontFace value
-- used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - frontFace must be a valid FrontFace
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- FrontFace
cmdSetFrontFaceEXT :: forall io. MonadIO io => CommandBuffer -> FrontFace -> io ()
-- | vkCmdSetPrimitiveTopologyEXT - Set primitive topology state
-- dynamically for a command buffer
--
-- Description
--
-- This command sets the primitive topology for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineInputAssemblyStateCreateInfo::topology value
-- used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- PrimitiveTopology
cmdSetPrimitiveTopologyEXT :: forall io. MonadIO io => CommandBuffer -> PrimitiveTopology -> io ()
-- | vkCmdSetViewportWithCountEXT - Set the viewport count and viewports
-- dynamically for a command buffer
--
-- Description
--
-- This command sets the viewport count and viewports state for
-- subsequent drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the corresponding
-- PipelineViewportStateCreateInfo::viewportCount and
-- pViewports values used to create the currently active
-- pipeline.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pViewports must be a valid pointer to an array of
-- viewportCount valid Viewport structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - viewportCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- Viewport
cmdSetViewportWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("viewports" ::: Vector Viewport) -> io ()
-- | vkCmdSetScissorWithCountEXT - Set the scissor count and scissor
-- rectangular bounds dynamically for a command buffer
--
-- Description
--
-- This command sets the scissor count and scissor rectangular bounds
-- state for subsequence drawing commands when the graphics pipeline is
-- created with DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the corresponding
-- PipelineViewportStateCreateInfo::scissorCount and
-- pScissors values used to create the currently active
-- pipeline.
--
-- Valid Usage
--
--
--
--
-- - scissorCount must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
-- - If the multiple viewports feature is not enabled,
-- scissorCount must be 1
-- - The x and y members of offset member of
-- any element of pScissors must be greater than or equal
-- to 0
-- - Evaluation of (offset.x + extent.width)
-- must not cause a signed integer addition overflow for any
-- element of pScissors
-- - Evaluation of (offset.y + extent.height)
-- must not cause a signed integer addition overflow for any
-- element of pScissors
-- - commandBuffer must not have
-- CommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D
-- enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pScissors must be a valid pointer to an array of
-- scissorCount Rect2D structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - scissorCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- Rect2D
cmdSetScissorWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("scissors" ::: Vector Rect2D) -> io ()
-- | vkCmdBindVertexBuffers2EXT - Bind vertex buffers to a command buffer
-- and dynamically set strides
--
-- Description
--
-- The values taken from elements i of pBuffers and
-- pOffsets replace the current state for the vertex input
-- binding firstBinding + i, for i in [0,
-- bindingCount). The vertex input binding is updated to start
-- at the offset indicated by pOffsets[i] from the start of the
-- buffer pBuffers[i]. If pSizes is not NULL
-- then pSizes[i] specifies the bound size of the vertex buffer
-- starting from the corresponding elements of pBuffers[i] plus
-- pOffsets[i]. All vertex input attributes that use each of
-- these bindings will use these updated addresses in their address
-- calculations for subsequent drawing commands. If the
-- nullDescriptor feature is enabled, elements of
-- pBuffers can be NULL_HANDLE, and can be
-- used by the vertex shader. If a vertex input attribute is bound to a
-- vertex input binding that is NULL_HANDLE, the values taken from
-- memory are considered to be zero, and missing G, B, or A components
-- are filled with (0,0,1).
--
-- This command also <pipelines-dynamic-state, dynamically
-- sets>> the byte strides between consecutive elements within
-- buffer pBuffers[i] to the corresponding pStrides[i]
-- value when the graphics pipeline is created with
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, strides are specified by the
-- VertexInputBindingDescription::stride values used to
-- create the currently active pipeline.
--
-- If the bound pipeline state object was also created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled then
-- cmdSetVertexInputEXT can be used instead of
-- cmdBindVertexBuffers2EXT to set the stride.
--
-- Valid Usage
--
--
--
--
-- - The sum of firstBinding and bindingCount
-- must be less than or equal to
-- PhysicalDeviceLimits::maxVertexInputBindings
-- - All elements of pOffsets must be less than the
-- size of the corresponding element in pBuffers
-- - If pSizes is not NULL, all elements of
-- pOffsets plus pSizes must be less than or
-- equal to the size of the corresponding element in
-- pBuffers
-- - All elements of pBuffers must have been created
-- with the BUFFER_USAGE_VERTEX_BUFFER_BIT flag
-- - Each element of pBuffers that is non-sparse must
-- be bound completely and contiguously to a single DeviceMemory
-- object
-- - If the nullDescriptor feature is not enabled, all elements
-- of pBuffers must not be NULL_HANDLE
-- - If an element of pBuffers is NULL_HANDLE, then the
-- corresponding element of pOffsets must be zero
-- - If pStrides is not NULL each element of
-- pStrides must be less than or equal to
-- PhysicalDeviceLimits::maxVertexInputBindingStride
-- - If pStrides is not NULL each element of
-- pStrides must be either 0 or greater than or equal to
-- the maximum extent of all vertex input attributes fetched from the
-- corresponding binding, where the extent is calculated as the
-- VertexInputAttributeDescription::offset plus
-- VertexInputAttributeDescription::format size
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pBuffers must be a valid pointer to an array of
-- bindingCount valid or NULL_HANDLE Buffer
-- handles
-- - pOffsets must be a valid pointer to an array of
-- bindingCount DeviceSize values
-- - If pSizes is not NULL, pSizes
-- must be a valid pointer to an array of bindingCount
-- DeviceSize values
-- - If pStrides is not NULL, pStrides
-- must be a valid pointer to an array of bindingCount
-- DeviceSize values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - If any of pSizes, or pStrides are not
-- NULL, bindingCount must be greater than
-- 0
-- - Both of commandBuffer, and the elements of
-- pBuffers that are valid handles of non-ignored parameters
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Buffer,
-- CommandBuffer, DeviceSize
cmdBindVertexBuffers2EXT :: forall io. MonadIO io => CommandBuffer -> ("firstBinding" ::: Word32) -> ("buffers" ::: Vector Buffer) -> ("offsets" ::: Vector DeviceSize) -> ("sizes" ::: Vector DeviceSize) -> ("strides" ::: Vector DeviceSize) -> io ()
-- | vkCmdSetDepthTestEnableEXT - Set depth test enable dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the depth test enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::depthTestEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Bool32,
-- CommandBuffer
cmdSetDepthTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthTestEnable" ::: Bool) -> io ()
-- | vkCmdSetDepthWriteEnableEXT - Set depth write enable dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the depth write enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::depthWriteEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Bool32,
-- CommandBuffer
cmdSetDepthWriteEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthWriteEnable" ::: Bool) -> io ()
-- | vkCmdSetDepthCompareOpEXT - Set depth comparison operator dynamically
-- for a command buffer
--
-- Description
--
-- This command sets the depth comparison operator for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::depthCompareOp
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - depthCompareOp must be a valid CompareOp
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- CompareOp
cmdSetDepthCompareOpEXT :: forall io. MonadIO io => CommandBuffer -> ("depthCompareOp" ::: CompareOp) -> io ()
-- | vkCmdSetDepthBoundsTestEnableEXT - Set depth bounds test enable
-- dynamically for a command buffer
--
-- Description
--
-- This command sets the depth bounds enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::depthBoundsTestEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Bool32,
-- CommandBuffer
cmdSetDepthBoundsTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthBoundsTestEnable" ::: Bool) -> io ()
-- | vkCmdSetStencilTestEnableEXT - Set stencil test enable dynamically for
-- a command buffer
--
-- Description
--
-- This command sets the stencil test enable for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::stencilTestEnable
-- value used to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Bool32,
-- CommandBuffer
cmdSetStencilTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("stencilTestEnable" ::: Bool) -> io ()
-- | vkCmdSetStencilOpEXT - Set stencil operation dynamically for a command
-- buffer
--
-- Description
--
-- This command sets the stencil operation for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_STENCIL_OP_EXT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the corresponding
-- PipelineDepthStencilStateCreateInfo::failOp,
-- passOp, depthFailOp, and compareOp values
-- used to create the currently active pipeline, for both front and back
-- faces.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - faceMask must be a valid combination of
-- StencilFaceFlagBits values
-- - faceMask must not be 0
-- - failOp must be a valid StencilOp value
-- - passOp must be a valid StencilOp value
-- - depthFailOp must be a valid StencilOp
-- value
-- - compareOp must be a valid CompareOp
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, CommandBuffer,
-- CompareOp, StencilFaceFlags, StencilOp
cmdSetStencilOpEXT :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> io ()
-- | VkPhysicalDeviceExtendedDynamicStateFeaturesEXT - Structure describing
-- what extended dynamic state can be used
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceExtendedDynamicStateFeaturesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT can also
-- be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_extended_dynamic_state, Bool32,
-- StructureType
data PhysicalDeviceExtendedDynamicStateFeaturesEXT
PhysicalDeviceExtendedDynamicStateFeaturesEXT :: Bool -> PhysicalDeviceExtendedDynamicStateFeaturesEXT
-- | extendedDynamicState indicates that the implementation
-- supports the following dynamic states:
--
--
[$sel:extendedDynamicState:PhysicalDeviceExtendedDynamicStateFeaturesEXT] :: PhysicalDeviceExtendedDynamicStateFeaturesEXT -> Bool
type EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1
pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall a. Integral a => a
type EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state"
pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT
module Vulkan.Core10.Pass
-- | vkCreateFramebuffer - Create a new framebuffer object
--
-- Valid Usage
--
--
-- - If pCreateInfo->flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, and attachmentCount
-- is not 0, each element of
-- pCreateInfo->pAttachments must have been created on
-- device
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- FramebufferCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pFramebuffer must be a valid pointer to a
-- Framebuffer handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Framebuffer, FramebufferCreateInfo
createFramebuffer :: forall a io. (Extendss FramebufferCreateInfo a, PokeChain a, MonadIO io) => Device -> FramebufferCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Framebuffer
-- | A convenience wrapper to make a compatible pair of calls to
-- createFramebuffer and destroyFramebuffer
--
-- To ensure that destroyFramebuffer 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.
withFramebuffer :: forall a io r. (Extendss FramebufferCreateInfo a, PokeChain a, MonadIO io) => Device -> FramebufferCreateInfo a -> Maybe AllocationCallbacks -> (io Framebuffer -> (Framebuffer -> io ()) -> r) -> r
-- | vkDestroyFramebuffer - Destroy a framebuffer object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to framebuffer
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- framebuffer was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- framebuffer was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If framebuffer is not NULL_HANDLE,
-- framebuffer must be a valid Framebuffer
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If framebuffer is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to framebuffer must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Framebuffer
destroyFramebuffer :: forall io. MonadIO io => Device -> Framebuffer -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkCreateRenderPass - Create a new render pass object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- RenderPassCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pRenderPass must be a valid pointer to a
-- RenderPass handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- RenderPass, RenderPassCreateInfo
createRenderPass :: forall a io. (Extendss RenderPassCreateInfo a, PokeChain a, MonadIO io) => Device -> RenderPassCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io RenderPass
-- | A convenience wrapper to make a compatible pair of calls to
-- createRenderPass and destroyRenderPass
--
-- To ensure that destroyRenderPass 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.
withRenderPass :: forall a io r. (Extendss RenderPassCreateInfo a, PokeChain a, MonadIO io) => Device -> RenderPassCreateInfo a -> Maybe AllocationCallbacks -> (io RenderPass -> (RenderPass -> io ()) -> r) -> r
-- | vkDestroyRenderPass - Destroy a render pass object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to renderPass
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- renderPass was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- renderPass was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If renderPass is not NULL_HANDLE,
-- renderPass must be a valid RenderPass
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If renderPass is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to renderPass must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- RenderPass
destroyRenderPass :: forall io. MonadIO io => Device -> RenderPass -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetRenderAreaGranularity - Returns the granularity for optimal
-- render area
--
-- Description
--
-- The conditions leading to an optimal renderArea are:
--
--
-- - the offset.x member in renderArea is a multiple
-- of the width member of the returned Extent2D (the
-- horizontal granularity).
-- - the offset.y member in renderArea is a multiple
-- of the height member of the returned Extent2D (the
-- vertical granularity).
-- - either the extent.width member in renderArea is
-- a multiple of the horizontal granularity or
-- offset.x+extent.width is equal to the width
-- of the framebuffer in the RenderPassBeginInfo.
-- - either the extent.height member in renderArea is
-- a multiple of the vertical granularity or
-- offset.y+extent.height is equal to the
-- height of the framebuffer in the
-- RenderPassBeginInfo.
--
--
-- Subpass dependencies are not affected by the render area, and apply to
-- the entire image subresources attached to the framebuffer as specified
-- in the description of automatic layout transitions. Similarly,
-- pipeline barriers are valid even if their effect extends outside the
-- render area.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - renderPass must be a valid RenderPass
-- handle
-- - pGranularity must be a valid pointer to a
-- Extent2D structure
-- - renderPass must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Extent2D,
-- RenderPass
getRenderAreaGranularity :: forall io. MonadIO io => Device -> RenderPass -> io ("granularity" ::: Extent2D)
-- | VkAttachmentDescription - Structure specifying an attachment
-- description
--
-- Description
--
-- If the attachment uses a color format, then loadOp and
-- storeOp are used, and stencilLoadOp and
-- stencilStoreOp are ignored. If the format has depth and/or
-- stencil components, loadOp and storeOp apply only to
-- the depth data, while stencilLoadOp and
-- stencilStoreOp define how the stencil data is handled.
-- loadOp and stencilLoadOp define the load
-- operations that execute as part of the first subpass that uses the
-- attachment. storeOp and stencilStoreOp define the
-- store operations that execute as part of the last subpass that
-- uses the attachment.
--
-- The load operation for each sample in an attachment happens-before any
-- recorded command which accesses the sample in the first subpass where
-- the attachment is used. Load operations for attachments with a
-- depth/stencil format execute in the
-- PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT pipeline stage. Load
-- operations for attachments with a color format execute in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
--
-- The store operation for each sample in an attachment happens-after any
-- recorded command which accesses the sample in the last subpass where
-- the attachment is used. Store operations for attachments with a
-- depth/stencil format execute in the
-- PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stage. Store
-- operations for attachments with a color format execute in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
--
-- If an attachment is not used by any subpass, then loadOp,
-- storeOp, stencilStoreOp, and stencilLoadOp
-- are ignored, and the attachment’s memory contents will not be modified
-- by execution of a render pass instance.
--
-- The load and store operations apply on the first and last use of each
-- view in the render pass, respectively. If a view index of an
-- attachment is not included in the view mask in any subpass that uses
-- it, then the load and store operations are ignored, and the
-- attachment’s memory contents will not be modified by execution of a
-- render pass instance.
--
-- During a render pass instance, input/color attachments with color
-- formats that have a component size of 8, 16, or 32 bits must be
-- represented in the attachment’s format throughout the instance.
-- Attachments with other floating- or fixed-point color formats, or with
-- depth components may be represented in a format with a
-- precision higher than the attachment format, but must be
-- represented with the same range. When such a component is loaded via
-- the loadOp, it will be converted into an
-- implementation-dependent format used by the render pass. Such
-- components must be converted from the render pass format, to
-- the format of the attachment, before they are resolved or stored at
-- the end of a render pass instance via storeOp. Conversions
-- occur as described in Numeric Representation and Computation
-- and Fixed-Point Data Conversions.
--
-- If flags includes
-- ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, then the attachment is
-- treated as if it shares physical memory with another attachment in the
-- same render pass. This information limits the ability of the
-- implementation to reorder certain operations (like layout transitions
-- and the loadOp) such that it is not improperly reordered
-- against other uses of the same physical memory via a different
-- attachment. This is described in more detail below.
--
-- If a render pass uses multiple attachments that alias the same device
-- memory, those attachments must each include the
-- ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT bit in their attachment
-- description flags. Attachments aliasing the same memory occurs in
-- multiple ways:
--
--
-- - Multiple attachments being assigned the same image view as part of
-- framebuffer creation.
-- - Attachments using distinct image views that correspond to the same
-- image subresource of an image.
-- - Attachments using views of distinct image subresources which are
-- bound to overlapping memory ranges.
--
--
-- Note
--
-- Render passes must include subpass dependencies (either
-- directly or via a subpass dependency chain) between any two subpasses
-- that operate on the same attachment or aliasing attachments and those
-- subpass dependencies must include execution and memory
-- dependencies separating uses of the aliases, if at least one of those
-- subpasses writes to one of the aliases. These dependencies must
-- not include the DEPENDENCY_BY_REGION_BIT if the aliases are
-- views of distinct image subresources which overlap in memory.
--
-- Multiple attachments that alias the same memory must not be
-- used in a single subpass. A given attachment index must not be
-- used multiple times in a single subpass, with one exception: two
-- subpass attachments can use the same attachment index if at
-- least one use is as an input attachment and neither use is as a
-- resolve or preserve attachment. In other words, the same view
-- can be used simultaneously as an input and color or
-- depth/stencil attachment, but must not be used as multiple
-- color or depth/stencil attachments nor as resolve or preserve
-- attachments. The precise set of valid scenarios is described in more
-- detail below.
--
-- If a set of attachments alias each other, then all except the first to
-- be used in the render pass must use an initialLayout
-- of IMAGE_LAYOUT_UNDEFINED, since the earlier uses of the other
-- aliases make their contents undefined. Once an alias has been used and
-- a different alias has been used after it, the first alias must
-- not be used in any later subpasses. However, an application can
-- assign the same image view to multiple aliasing attachment indices,
-- which allows that image view to be used multiple times even if other
-- aliases are used in between.
--
-- Note
--
-- Once an attachment needs the
-- ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT bit, there should
-- be no additional cost of introducing additional aliases, and using
-- these additional aliases may allow more efficient clearing of
-- the attachments on multiple uses via ATTACHMENT_LOAD_OP_CLEAR.
--
-- Valid Usage
--
--
--
--
-- - If format is a color format, initialLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, initialLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - If format is a depth/stencil format,
-- initialLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If format is a color format, finalLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, finalLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - If format is a depth/stencil format, finalLayout
-- must not be IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If the separateDepthStencilLayouts feature is not enabled,
-- initialLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If the separateDepthStencilLayouts feature is not enabled,
-- finalLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, initialLayout
-- must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, finalLayout
-- must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes both
-- depth and stencil aspects, initialLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes both
-- depth and stencil aspects, finalLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the depth aspect, initialLayout must not be
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the depth aspect, finalLayout must not be
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the stencil aspect, initialLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the stencil aspect, finalLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescriptionFlags,
-- AttachmentLoadOp, AttachmentStoreOp, Format,
-- ImageLayout, RenderPassCreateInfo,
-- SampleCountFlagBits
data AttachmentDescription
AttachmentDescription :: AttachmentDescriptionFlags -> Format -> SampleCountFlagBits -> AttachmentLoadOp -> AttachmentStoreOp -> AttachmentLoadOp -> AttachmentStoreOp -> ImageLayout -> ImageLayout -> AttachmentDescription
-- | flags is a bitmask of AttachmentDescriptionFlagBits
-- specifying additional properties of the attachment.
[$sel:flags:AttachmentDescription] :: AttachmentDescription -> AttachmentDescriptionFlags
-- | format is a Format value specifying the format of the
-- image view that will be used for the attachment.
[$sel:format:AttachmentDescription] :: AttachmentDescription -> Format
-- | samples is a SampleCountFlagBits value specifying the
-- number of samples of the image.
[$sel:samples:AttachmentDescription] :: AttachmentDescription -> SampleCountFlagBits
-- | loadOp is a AttachmentLoadOp value specifying how the
-- contents of color and depth components of the attachment are treated
-- at the beginning of the subpass where it is first used.
[$sel:loadOp:AttachmentDescription] :: AttachmentDescription -> AttachmentLoadOp
-- | storeOp is a AttachmentStoreOp value specifying how
-- the contents of color and depth components of the attachment are
-- treated at the end of the subpass where it is last used.
[$sel:storeOp:AttachmentDescription] :: AttachmentDescription -> AttachmentStoreOp
-- | stencilLoadOp is a AttachmentLoadOp value specifying
-- how the contents of stencil components of the attachment are treated
-- at the beginning of the subpass where it is first used.
[$sel:stencilLoadOp:AttachmentDescription] :: AttachmentDescription -> AttachmentLoadOp
-- | stencilStoreOp is a AttachmentStoreOp value specifying
-- how the contents of stencil components of the attachment are treated
-- at the end of the last subpass where it is used.
[$sel:stencilStoreOp:AttachmentDescription] :: AttachmentDescription -> AttachmentStoreOp
-- | initialLayout is the layout the attachment image subresource
-- will be in when a render pass instance begins.
[$sel:initialLayout:AttachmentDescription] :: AttachmentDescription -> ImageLayout
-- | finalLayout is the layout the attachment image subresource
-- will be transitioned to when a render pass instance ends.
[$sel:finalLayout:AttachmentDescription] :: AttachmentDescription -> ImageLayout
-- | VkAttachmentReference - Structure specifying an attachment reference
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ImageLayout,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- SubpassDescription
data AttachmentReference
AttachmentReference :: Word32 -> ImageLayout -> AttachmentReference
-- | attachment is either an integer value identifying an
-- attachment at the corresponding index in
-- RenderPassCreateInfo::pAttachments, or
-- ATTACHMENT_UNUSED to signify that this attachment is not used.
[$sel:attachment:AttachmentReference] :: AttachmentReference -> Word32
-- | layout is a ImageLayout value specifying the layout
-- the attachment uses during the subpass.
[$sel:layout:AttachmentReference] :: AttachmentReference -> ImageLayout
-- | VkSubpassDescription - Structure specifying a subpass description
--
-- Description
--
-- Each element of the pInputAttachments array corresponds to an
-- input attachment index in a fragment shader, i.e. if a shader declares
-- an image variable decorated with a InputAttachmentIndex value
-- of X, then it uses the attachment provided in
-- pInputAttachments[X]. Input attachments must
-- also be bound to the pipeline in a descriptor set. If the
-- attachment member of any element of
-- pInputAttachments is ATTACHMENT_UNUSED, the
-- application must not read from the corresponding input
-- attachment index. Fragment shaders can use subpass input
-- variables to access the contents of an input attachment at the
-- fragment’s (x, y, layer) framebuffer coordinates. Input attachments
-- must not be used by any subpasses within a render pass that
-- enables render pass transform.
--
-- Each element of the pColorAttachments array corresponds to an
-- output location in the shader, i.e. if the shader declares an output
-- variable decorated with a Location value of X, then it
-- uses the attachment provided in pColorAttachments[X].
-- If the attachment member of any element of
-- pColorAttachments is ATTACHMENT_UNUSED, or if Color
-- Write Enable has been disabled for the corresponding attachment
-- index, then writes to the corresponding location by a fragment shader
-- are discarded.
--
-- If flags does not include
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if
-- pResolveAttachments is not NULL, each of its
-- elements corresponds to a color attachment (the element in
-- pColorAttachments at the same index), and a multisample
-- resolve operation is defined for each attachment. At the end of each
-- subpass, multisample resolve operations read the subpass’s color
-- attachments, and resolve the samples for each pixel within the render
-- area to the same pixel location in the corresponding resolve
-- attachments, unless the resolve attachment index is
-- ATTACHMENT_UNUSED.
--
-- Similarly, if flags does not include
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and
-- SubpassDescriptionDepthStencilResolve::pDepthStencilResolveAttachment
-- is not NULL and does not have the value
-- ATTACHMENT_UNUSED, it corresponds to the depth/stencil
-- attachment in pDepthStencilAttachment, and multisample
-- resolve operations for depth and stencil are defined by
-- SubpassDescriptionDepthStencilResolve::depthResolveMode
-- and
-- SubpassDescriptionDepthStencilResolve::stencilResolveMode,
-- respectively. At the end of each subpass, multisample resolve
-- operations read the subpass’s depth/stencil attachment, and resolve
-- the samples for each pixel to the same pixel location in the
-- corresponding resolve attachment. If
-- SubpassDescriptionDepthStencilResolve::depthResolveMode
-- is RESOLVE_MODE_NONE, then the depth component of the resolve
-- attachment is not written to and its contents are preserved.
-- Similarly, if
-- SubpassDescriptionDepthStencilResolve::stencilResolveMode
-- is RESOLVE_MODE_NONE, then the stencil component of the resolve
-- attachment is not written to and its contents are preserved.
-- SubpassDescriptionDepthStencilResolve::depthResolveMode
-- is ignored if the Format of the
-- pDepthStencilResolveAttachment does not have a depth
-- component. Similarly,
-- SubpassDescriptionDepthStencilResolve::stencilResolveMode
-- is ignored if the Format of the
-- pDepthStencilResolveAttachment does not have a stencil
-- component.
--
-- If the image subresource range referenced by the depth/stencil
-- attachment is created with
-- IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, then
-- the multisample resolve operation uses the sample locations state
-- specified in the sampleLocationsInfo member of the element of
-- the
-- RenderPassSampleLocationsBeginInfoEXT::pPostSubpassSampleLocations
-- for the subpass.
--
-- If pDepthStencilAttachment is NULL, or if its
-- attachment index is ATTACHMENT_UNUSED, it indicates that no
-- depth/stencil attachment will be used in the subpass.
--
-- The contents of an attachment within the render area become undefined
-- at the start of a subpass S if all of the following conditions
-- are true:
--
--
-- - The attachment is used as a color, depth/stencil, or resolve
-- attachment in any subpass in the render pass.
-- - There is a subpass S1 that uses or preserves the
-- attachment, and a subpass dependency from S1 to S.
-- - The attachment is not used or preserved in subpass S.
--
--
-- In addition, the contents of an attachment within the render area
-- become undefined at the start of a subpass S if all of the
-- following conditions are true:
--
--
--
-- Once the contents of an attachment become undefined in subpass
-- S, they remain undefined for subpasses in subpass dependency
-- chains starting with subpass S until they are written again.
-- However, they remain valid for subpasses in other subpass dependency
-- chains starting with subpass S1 if those subpasses use or
-- preserve the attachment.
--
-- Valid Usage
--
--
--
--
-- - colorAttachmentCount must be less than or equal to
-- PhysicalDeviceLimits::maxColorAttachments
-- - If the first use of an attachment in this render pass is as an
-- input attachment, and the attachment is not also used as a color or
-- depth/stencil attachment in the same subpass, then loadOp
-- must not be ATTACHMENT_LOAD_OP_CLEAR
-- - If pResolveAttachments is not NULL, for each
-- resolve attachment that is not ATTACHMENT_UNUSED, the
-- corresponding color attachment must not be
-- ATTACHMENT_UNUSED
-- - If pResolveAttachments is not NULL, for each
-- resolve attachment that is not ATTACHMENT_UNUSED, the
-- corresponding color attachment must not have a sample count of
-- SAMPLE_COUNT_1_BIT
-- - If pResolveAttachments is not NULL, each resolve
-- attachment that is not ATTACHMENT_UNUSED must have a
-- sample count of SAMPLE_COUNT_1_BIT
-- - If pResolveAttachments is not NULL, each resolve
-- attachment that is not ATTACHMENT_UNUSED must have the
-- same Format as its corresponding color attachment
-- - All attachments in pColorAttachments that are not
-- ATTACHMENT_UNUSED must have the same sample count
-- - All attachments in pInputAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain at least
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - All attachments in pColorAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - All attachments in pResolveAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - If pDepthStencilAttachment is not NULL and the
-- attachment is not ATTACHMENT_UNUSED then it must have an
-- image format whose potential format features contain
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If the VK_AMD_mixed_attachment_samples extension is
-- enabled, and all attachments in pColorAttachments that are
-- not ATTACHMENT_UNUSED must have a sample count that is
-- smaller than or equal to the sample count of
-- pDepthStencilAttachment if it is not
-- ATTACHMENT_UNUSED
-- - If neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, and
-- if pDepthStencilAttachment is not ATTACHMENT_UNUSED
-- and any attachments in pColorAttachments are not
-- ATTACHMENT_UNUSED, they must have the same sample
-- count
-- - Each element of pPreserveAttachments must not be
-- ATTACHMENT_UNUSED
-- - Each element of pPreserveAttachments must not also
-- be an element of any other member of the subpass description
-- - If any attachment is used by more than one
-- AttachmentReference member, then each use must use the
-- same layout
-- - Each attachment must follow the image layout
-- requirements specified for its attachment type
-- - If flags includes
-- SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it
-- must also include
-- SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if
-- pResolveAttachments is not NULL, then each resolve
-- attachment must be ATTACHMENT_UNUSED
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass
-- must be the last subpass in a subpass dependency chain
-- - If the render pass is created with
-- RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM each of the elements of
-- pInputAttachments must be
-- ATTACHMENT_UNUSED
-- - pDepthStencilAttachment and pColorAttachments
-- must not contain references to the same attachment
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - If inputAttachmentCount is not 0,
-- pInputAttachments must be a valid pointer to an array
-- of inputAttachmentCount valid AttachmentReference
-- structures
-- - If colorAttachmentCount is not 0,
-- pColorAttachments must be a valid pointer to an array
-- of colorAttachmentCount valid AttachmentReference
-- structures
-- - If colorAttachmentCount is not 0, and
-- pResolveAttachments is not NULL,
-- pResolveAttachments must be a valid pointer to an
-- array of colorAttachmentCount valid
-- AttachmentReference structures
-- - If pDepthStencilAttachment is not NULL,
-- pDepthStencilAttachment must be a valid pointer to a
-- valid AttachmentReference structure
-- - If preserveAttachmentCount is not 0,
-- pPreserveAttachments must be a valid pointer to an
-- array of preserveAttachmentCount uint32_t
-- values
--
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentReference,
-- PipelineBindPoint, RenderPassCreateInfo,
-- SubpassDescriptionFlags
data SubpassDescription
SubpassDescription :: SubpassDescriptionFlags -> PipelineBindPoint -> Vector AttachmentReference -> Vector AttachmentReference -> Vector AttachmentReference -> Maybe AttachmentReference -> Vector Word32 -> SubpassDescription
-- | flags is a bitmask of SubpassDescriptionFlagBits
-- specifying usage of the subpass.
[$sel:flags:SubpassDescription] :: SubpassDescription -> SubpassDescriptionFlags
-- | pipelineBindPoint is a PipelineBindPoint value
-- specifying the pipeline type supported for this subpass.
[$sel:pipelineBindPoint:SubpassDescription] :: SubpassDescription -> PipelineBindPoint
-- | pInputAttachments is a pointer to an array of
-- AttachmentReference structures defining the input attachments
-- for this subpass and their layouts.
[$sel:inputAttachments:SubpassDescription] :: SubpassDescription -> Vector AttachmentReference
-- | pColorAttachments is a pointer to an array of
-- colorAttachmentCount AttachmentReference structures
-- defining the color attachments for this subpass and their layouts.
[$sel:colorAttachments:SubpassDescription] :: SubpassDescription -> Vector AttachmentReference
-- | pResolveAttachments is NULL or a pointer to an array
-- of colorAttachmentCount AttachmentReference structures
-- defining the resolve attachments for this subpass and their layouts.
[$sel:resolveAttachments:SubpassDescription] :: SubpassDescription -> Vector AttachmentReference
-- | pDepthStencilAttachment is a pointer to a
-- AttachmentReference structure specifying the depth/stencil
-- attachment for this subpass and its layout.
[$sel:depthStencilAttachment:SubpassDescription] :: SubpassDescription -> Maybe AttachmentReference
-- | pPreserveAttachments is a pointer to an array of
-- preserveAttachmentCount render pass attachment indices
-- identifying attachments that are not used by this subpass, but whose
-- contents must be preserved throughout the subpass.
[$sel:preserveAttachments:SubpassDescription] :: SubpassDescription -> Vector Word32
-- | VkSubpassDependency - Structure specifying a subpass dependency
--
-- Description
--
-- If srcSubpass is equal to dstSubpass then the
-- SubpassDependency describes a subpass self-dependency,
-- and only constrains the pipeline barriers allowed within a subpass
-- instance. Otherwise, when a render pass instance which includes a
-- subpass dependency is submitted to a queue, it defines a memory
-- dependency between the subpasses identified by srcSubpass and
-- dstSubpass.
--
-- If srcSubpass is equal to SUBPASS_EXTERNAL, the first
-- synchronization scope includes commands that occur earlier in
-- submission order than the cmdBeginRenderPass used to
-- begin the render pass instance. Otherwise, the first set of commands
-- includes all commands submitted as part of the subpass instance
-- identified by srcSubpass and any load, store or multisample
-- resolve operations on attachments used in srcSubpass. In
-- either case, the first synchronization scope is limited to operations
-- on the pipeline stages determined by the source stage mask
-- specified by srcStageMask.
--
-- If dstSubpass is equal to SUBPASS_EXTERNAL, the second
-- synchronization scope includes commands that occur later in
-- submission order than the cmdEndRenderPass used to end
-- the render pass instance. Otherwise, the second set of commands
-- includes all commands submitted as part of the subpass instance
-- identified by dstSubpass and any load, store or multisample
-- resolve operations on attachments used in dstSubpass. In
-- either case, the second synchronization scope is limited to operations
-- on the pipeline stages determined by the destination stage mask
-- specified by dstStageMask.
--
-- The first access scope is limited to accesses in the pipeline
-- stages determined by the source stage mask specified by
-- srcStageMask. It is also limited to access types in the
-- source access mask specified by srcAccessMask.
--
-- The second access scope is limited to accesses in the pipeline
-- stages determined by the destination stage mask specified by
-- dstStageMask. It is also limited to access types in the
-- destination access mask specified by dstAccessMask.
--
-- The availability and visibility operations defined by a subpass
-- dependency affect the execution of image layout transitions
-- within the render pass.
--
-- Note
--
-- For non-attachment resources, the memory dependency expressed by
-- subpass dependency is nearly identical to that of a
-- MemoryBarrier (with matching srcAccessMask and
-- dstAccessMask parameters) submitted as a part of a
-- cmdPipelineBarrier (with matching srcStageMask and
-- dstStageMask parameters). The only difference being that its
-- scopes are limited to the identified subpasses rather than potentially
-- affecting everything before and after.
--
-- For attachments however, subpass dependencies work more like a
-- ImageMemoryBarrier defined similarly to the
-- MemoryBarrier above, the queue family indices set to
-- QUEUE_FAMILY_IGNORED, and layouts as follows:
--
--
-- - The equivalent to oldLayout is the attachment’s layout
-- according to the subpass description for srcSubpass.
-- - The equivalent to newLayout is the attachment’s layout
-- according to the subpass description for dstSubpass.
--
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- srcStageMask must not be 0
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_GEOMETRY_SHADER_BIT
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- dstStageMask must not be 0
-- - srcSubpass must be less than or equal to
-- dstSubpass, unless one of them is SUBPASS_EXTERNAL, to
-- avoid cyclic dependencies and ensure a valid execution order
-- - srcSubpass and dstSubpass must not both
-- be equal to SUBPASS_EXTERNAL
-- - If srcSubpass is equal to dstSubpass and not all
-- of the stages in srcStageMask and dstStageMask are
-- framebuffer-space stages, the logically latest pipeline
-- stage in srcStageMask must be logically earlier
-- than or equal to the logically earliest pipeline stage in
-- dstStageMask
-- - Any access flag included in srcAccessMask must be
-- supported by one of the pipeline stages in srcStageMask, as
-- specified in the table of supported access types
-- - Any access flag included in dstAccessMask must be
-- supported by one of the pipeline stages in dstStageMask, as
-- specified in the table of supported access types
-- - If srcSubpass equals dstSubpass, and
-- srcStageMask and dstStageMask both include a
-- framebuffer-space stage, then dependencyFlags
-- must include DEPENDENCY_BY_REGION_BIT
-- - If dependencyFlags includes
-- DEPENDENCY_VIEW_LOCAL_BIT, srcSubpass must not
-- be equal to SUBPASS_EXTERNAL
-- - If dependencyFlags includes
-- DEPENDENCY_VIEW_LOCAL_BIT, dstSubpass must not
-- be equal to SUBPASS_EXTERNAL
-- - If srcSubpass equals dstSubpass and that subpass
-- has more than one bit set in the view mask, then
-- dependencyFlags must include
-- DEPENDENCY_VIEW_LOCAL_BIT
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags, DependencyFlags,
-- PipelineStageFlags, RenderPassCreateInfo
data SubpassDependency
SubpassDependency :: Word32 -> Word32 -> PipelineStageFlags -> PipelineStageFlags -> AccessFlags -> AccessFlags -> DependencyFlags -> SubpassDependency
-- | srcSubpass is the subpass index of the first subpass in the
-- dependency, or SUBPASS_EXTERNAL.
[$sel:srcSubpass:SubpassDependency] :: SubpassDependency -> Word32
-- | dstSubpass is the subpass index of the second subpass in the
-- dependency, or SUBPASS_EXTERNAL.
[$sel:dstSubpass:SubpassDependency] :: SubpassDependency -> Word32
-- | srcStageMask is a bitmask of PipelineStageFlagBits
-- specifying the source stage mask.
[$sel:srcStageMask:SubpassDependency] :: SubpassDependency -> PipelineStageFlags
-- | dstStageMask is a bitmask of PipelineStageFlagBits
-- specifying the destination stage mask
[$sel:dstStageMask:SubpassDependency] :: SubpassDependency -> PipelineStageFlags
-- | srcAccessMask is a bitmask of AccessFlagBits
-- specifying a source access mask.
[$sel:srcAccessMask:SubpassDependency] :: SubpassDependency -> AccessFlags
-- | dstAccessMask is a bitmask of AccessFlagBits
-- specifying a destination access mask.
[$sel:dstAccessMask:SubpassDependency] :: SubpassDependency -> AccessFlags
-- | dependencyFlags is a bitmask of DependencyFlagBits.
[$sel:dependencyFlags:SubpassDependency] :: SubpassDependency -> DependencyFlags
-- | VkRenderPassCreateInfo - Structure specifying parameters of a newly
-- created render pass
--
-- Description
--
-- Note
--
-- Care should be taken to avoid a data race here; if any subpasses
-- access attachments with overlapping memory locations, and one of those
-- accesses is a write, a subpass dependency needs to be included between
-- them.
--
-- Valid Usage
--
--
-- - If the attachment member of any element of
-- pInputAttachments, pColorAttachments,
-- pResolveAttachments or pDepthStencilAttachment, or
-- any element of pPreserveAttachments in any element of
-- pSubpasses is not ATTACHMENT_UNUSED, then it
-- must be less than attachmentCount
--
--
--
-- - If the pNext chain includes a
-- RenderPassFragmentDensityMapCreateInfoEXT structure and the
-- fragmentDensityMapAttachment member is not
-- ATTACHMENT_UNUSED, then attachment must be less
-- than attachmentCount
-- - For any member of pAttachments with a loadOp
-- equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that
-- attachment must not specify a layout equal to
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - For any member of pAttachments with a
-- stencilLoadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the
-- first use of that attachment must not specify a layout
-- equal to IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - For any member of pAttachments with a loadOp
-- equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that
-- attachment must not specify a layout equal to
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - For any member of pAttachments with a
-- stencilLoadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the
-- first use of that attachment must not specify a layout
-- equal to
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- - If the pNext chain includes a
-- RenderPassInputAttachmentAspectCreateInfo structure, the
-- subpass member of each element of its
-- pAspectReferences member must be less than
-- subpassCount
-- - If the pNext chain includes a
-- RenderPassInputAttachmentAspectCreateInfo structure, the
-- inputAttachmentIndex member of each element of its
-- pAspectReferences member must be less than the value
-- of inputAttachmentCount in the element of pSubpasses
-- identified by its subpass member
-- - If the pNext chain includes a
-- RenderPassInputAttachmentAspectCreateInfo structure, for any
-- element of the pInputAttachments member of any element of
-- pSubpasses where the attachment member is not
-- ATTACHMENT_UNUSED, the aspectMask member of the
-- corresponding element of
-- RenderPassInputAttachmentAspectCreateInfo::pAspectReferences
-- must only include aspects that are present in images of the
-- format specified by the element of pAttachments at
-- attachment
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, and its
-- subpassCount member is not zero, that member must be
-- equal to the value of subpassCount
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, if its
-- dependencyCount member is not zero, it must be equal
-- to dependencyCount
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, for each non-zero
-- element of pViewOffsets, the srcSubpass and
-- dstSubpass members of pDependencies at the same
-- index must not be equal
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, for any element of
-- pDependencies with a dependencyFlags member that
-- does not include DEPENDENCY_VIEW_LOCAL_BIT, the corresponding
-- element of the pViewOffsets member of that
-- RenderPassMultiviewCreateInfo instance must be
-- 0
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, elements of its
-- pViewMasks member must either all be 0, or
-- all not be 0
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, and each element of
-- its pViewMasks member is 0, the
-- dependencyFlags member of each element of
-- pDependencies must not include
-- DEPENDENCY_VIEW_LOCAL_BIT
-- - If the pNext chain includes a
-- RenderPassMultiviewCreateInfo structure, and each element of
-- its pViewMasks member is 0, its
-- correlationMaskCount member must be 0
-- - For any element of pDependencies, if the
-- srcSubpass is not SUBPASS_EXTERNAL, all stage flags
-- included in the srcStageMask member of that dependency
-- must be a pipeline stage supported by the pipeline
-- identified by the pipelineBindPoint member of the source
-- subpass
-- - For any element of pDependencies, if the
-- dstSubpass is not SUBPASS_EXTERNAL, all stage flags
-- included in the dstStageMask member of that dependency
-- must be a pipeline stage supported by the pipeline
-- identified by the pipelineBindPoint member of the destination
-- subpass
-- - The srcSubpass member of each element of
-- pDependencies must be less than
-- subpassCount
-- - The dstSubpass member of each element of
-- pDependencies must be less than
-- subpassCount
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- RenderPassCreateFlags, StructureType,
-- SubpassDependency, SubpassDescription,
-- createRenderPass
data RenderPassCreateInfo (es :: [Type])
RenderPassCreateInfo :: Chain es -> RenderPassCreateFlags -> Vector AttachmentDescription -> Vector SubpassDescription -> Vector SubpassDependency -> RenderPassCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RenderPassCreateInfo] :: RenderPassCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of RenderPassCreateFlagBits
[$sel:flags:RenderPassCreateInfo] :: RenderPassCreateInfo (es :: [Type]) -> RenderPassCreateFlags
-- | pAttachments is a pointer to an array of
-- attachmentCount AttachmentDescription structures
-- describing the attachments used by the render pass.
[$sel:attachments:RenderPassCreateInfo] :: RenderPassCreateInfo (es :: [Type]) -> Vector AttachmentDescription
-- | pSubpasses is a pointer to an array of subpassCount
-- SubpassDescription structures describing each subpass.
[$sel:subpasses:RenderPassCreateInfo] :: RenderPassCreateInfo (es :: [Type]) -> Vector SubpassDescription
-- | pDependencies is a pointer to an array of
-- dependencyCount SubpassDependency structures
-- describing dependencies between pairs of subpasses.
[$sel:dependencies:RenderPassCreateInfo] :: RenderPassCreateInfo (es :: [Type]) -> Vector SubpassDependency
-- | VkFramebufferCreateInfo - Structure specifying parameters of a newly
-- created framebuffer
--
-- Description
--
-- Other than the exceptions listed below, applications must
-- ensure that all accesses to memory that backs image subresources used
-- as attachments in a given render pass instance either happen-before
-- the load operations for those attachments, or happen-after the
-- store operations for those attachments.
--
-- The exceptions to the general rule are:
--
--
-- - For depth/stencil attachments, an aspect can be used
-- separately as attachment and non-attachment if both accesses are
-- read-only.
-- - For depth/stencil attachments, each aspect can be used
-- separately as attachment and non-attachment as long as the
-- non-attachment accesses are also via an image subresource in either
-- the IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- layout or the
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL layout,
-- and the attachment resource uses whichever of those two layouts the
-- image accesses do not.
--
--
-- Use of non-attachment aspects in these cases is only well defined if
-- the attachment is used in the subpass where the non-attachment access
-- is being made, or the layout of the image subresource is constant
-- throughout the entire render pass instance, including the
-- initialLayout and finalLayout.
--
-- Note
--
-- These restrictions mean that the render pass has full knowledge of all
-- uses of all of the attachments, so that the implementation is able to
-- make correct decisions about when and how to perform layout
-- transitions, when to overlap execution of subpasses, etc.
--
-- It is legal for a subpass to use no color or depth/stencil
-- attachments, either because it has no attachment references or because
-- all of them are ATTACHMENT_UNUSED. This kind of subpass
-- can use shader side effects such as image stores and atomics to
-- produce an output. In this case, the subpass continues to use the
-- width, height, and layers of the
-- framebuffer to define the dimensions of the rendering area, and the
-- rasterizationSamples from each pipeline’s
-- PipelineMultisampleStateCreateInfo to define the number of
-- samples used in rasterization; however, if
-- PhysicalDeviceFeatures::variableMultisampleRate is
-- FALSE, then all pipelines to be bound with the subpass
-- must have the same value for
-- PipelineMultisampleStateCreateInfo::rasterizationSamples.
--
-- Valid Usage
--
--
-- - If renderpass is not NULL_HANDLE,
-- attachmentCount must be equal to the attachment count
-- specified in renderPass
--
--
--
-- - If renderpass is not NULL_HANDLE, flags
-- does not include FRAMEBUFFER_CREATE_IMAGELESS_BIT, and
-- attachmentCount is not 0, pAttachments
-- must be a valid pointer to an array of attachmentCount
-- valid ImageView handles
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as a color attachment or resolve
-- attachment by renderPass must have been created with a
-- usage value including
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as a depth/stencil attachment by
-- renderPass must have been created with a
-- usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as a depth/stencil resolve
-- attachment by renderPass must have been created with a
-- usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- renderpass is not NULL_HANDLE, flags does not
-- include FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as an input attachment by
-- renderPass must have been created with a
-- usage value including
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE, each element of
-- pAttachments that is used as a fragment density map
-- attachment by renderPass must not have been created
-- with a flags value including
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If renderpass is not NULL_HANDLE,
-- renderPass has a fragment density map attachment, and
-- non-subsample image feature is not enabled, each element of
-- pAttachments must have been created with a
-- flags value including IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- unless that element is the fragment density map attachment
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments must have been created with a
-- Format value that matches the Format specified by the
-- corresponding AttachmentDescription in renderPass
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments must have been created with a
-- samples value that matches the samples value
-- specified by the corresponding AttachmentDescription in
-- renderPass
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as an input, color, resolve, or
-- depth/stencil attachment by renderPass must have been
-- created with a ImageCreateInfo::width greater than or
-- equal to width
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as an input, color, resolve, or
-- depth/stencil attachment by renderPass must have been
-- created with a ImageCreateInfo::height greater than or
-- equal to height
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as an input, color, resolve, or
-- depth/stencil attachment by renderPass must have been
-- created with a
-- ImageViewCreateInfo::subresourceRange.layerCount
-- greater than or equal to layers
-- - If renderpass is not NULL_HANDLE and
-- renderPass was specified with non-zero view masks, each
-- element of pAttachments that is used as an input, color,
-- resolve, or depth/stencil attachment by renderPass
-- must have a layerCount greater than the index of the
-- most significant bit set in any of those view masks
-- - If renderpass is not NULL_HANDLE and
-- renderPass was specified with non-zero view masks, each
-- element of pAttachments that is referenced by
-- fragmentDensityMapAttachment must have a
-- layerCount equal to 1 or greater than the index of
-- the most significant bit set in any of those view masks
-- - If renderpass is not NULL_HANDLE and
-- renderPass was not specified with non-zero view masks, each
-- element of pAttachments that is referenced by
-- fragmentDensityMapAttachment must have a
-- layerCount equal to 1
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, an element of
-- pAttachments that is referenced by
-- fragmentDensityMapAttachment must have a width at
-- least as large as <math>
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, an element of
-- pAttachments that is referenced by
-- fragmentDensityMapAttachment must have a height at
-- least as large as <math>
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, and renderPass was
-- specified with non-zero view masks, each element of
-- pAttachments that is used as a fragment shading rate
-- attachment by renderPass must have a
-- layerCount that is either 1, or greater than the
-- index of the most significant bit set in any of those view masks
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, and renderPass was
-- not specified with non-zero view masks, each element of
-- pAttachments that is used as a fragment shading rate
-- attachment by renderPass must have a
-- layerCount that is either 1, or greater than
-- layers
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, an element of
-- pAttachments that is used as a fragment shading rate
-- attachment must have a width at least as large as
-- ⌈width / texelWidth⌉, where texelWidth is
-- the largest value of shadingRateAttachmentTexelSize.width in
-- a FragmentShadingRateAttachmentInfoKHR which references that
-- attachment
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, an element of
-- pAttachments that is used as a fragment shading rate
-- attachment must have a height at least as large as
-- ⌈height / texelHeight⌉, where texelHeight
-- is the largest value of shadingRateAttachmentTexelSize.height
-- in a FragmentShadingRateAttachmentInfoKHR which references that
-- attachment
-- - If flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments must only specify a single mip level
-- - If flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments must have been created with the identity
-- swizzle
-- - width must be greater than 0
-- - width must be less than or equal to
-- maxFramebufferWidth
-- - height must be greater than 0
-- - height must be less than or equal to
-- maxFramebufferHeight
-- - layers must be greater than 0
-- - layers must be less than or equal to
-- maxFramebufferLayers
-- - If renderpass is not NULL_HANDLE and
-- renderPass was specified with non-zero view masks,
-- layers must be 1
-- - If flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is a 2D or 2D array image view taken from a
-- 3D image must not be a depth/stencil format
-- - If the imageless framebuffer feature is not enabled,
-- flags must not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT
-- - If flags includes
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, the pNext chain
-- must include a FramebufferAttachmentsCreateInfo
-- structure
-- - If flags includes
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- attachmentImageInfoCount member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain must be equal to either zero or
-- attachmentCount
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- width member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is used as an input, color, resolve or
-- depth/stencil attachment in renderPass must be greater
-- than or equal to width
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- height member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is used as an input, color, resolve or
-- depth/stencil attachment in renderPass must be greater
-- than or equal to height
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- width member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is referenced by
-- RenderPassFragmentDensityMapCreateInfoEXT::fragmentDensityMapAttachment
-- in renderPass must be greater than or equal to
-- <math>
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- height member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that is referenced by
-- RenderPassFragmentDensityMapCreateInfoEXT::fragmentDensityMapAttachment
-- in renderPass must be greater than or equal to
-- <math>
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- width member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is used as a fragment shading rate
-- attachment must be greater than or equal to ⌈width
-- / texelWidth⌉, where texelWidth is the largest value
-- of shadingRateAttachmentTexelSize.width in a
-- FragmentShadingRateAttachmentInfoKHR which references that
-- attachment
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- height member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is used as a fragment shading rate
-- attachment must be greater than or equal to
-- ⌈height / texelHeight⌉, where texelHeight
-- is the largest value of shadingRateAttachmentTexelSize.height
-- in a FragmentShadingRateAttachmentInfoKHR which references that
-- attachment
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- layerCount member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure in the
-- pNext chain that is used as a fragment shading rate
-- attachment must be either 1, or greater than or
-- equal to layers
-- - If renderpass is not NULL_HANDLE, flags
-- includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, and
-- renderPass was specified with non-zero view masks, each
-- element of pAttachments that is used as a fragment shading
-- rate attachment by renderPass must have a
-- layerCount that is either 1, or greater than the
-- index of the most significant bit set in any of those view masks
-- - If renderpass is not NULL_HANDLE, multiview is
-- enabled for renderPass, and flags includes
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, the layerCount
-- member of any element of the pAttachmentImageInfos member of
-- a FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain used as an input, color, resolve, or
-- depth/stencil attachment in renderPass must be greater
-- than the maximum bit index set in the view mask in the subpasses in
-- which it is used in renderPass
-- - If renderpass is not NULL_HANDLE, multiview is not
-- enabled for renderPass, and flags includes
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, the layerCount
-- member of any element of the pAttachmentImageInfos member of
-- a FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain used as an input, color, resolve, or
-- depth/stencil attachment in renderPass must be greater
-- than or equal to layers
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- usage member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that refers to an attachment used as a color
-- attachment or resolve attachment by renderPass must
-- include IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- usage member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that refers to an attachment used as a
-- depth/stencil attachment by renderPass must include
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- usage member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that refers to an attachment used as a
-- depth/stencil resolve attachment by renderPass must
-- include IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- usage member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that refers to an attachment used as an input
-- attachment by renderPass must include
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, at
-- least one element of the pViewFormats member of any element
-- of the pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain must be equal to the corresponding value
-- of AttachmentDescription::format used to create
-- renderPass
-- - If flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments must have been created with
-- ImageViewCreateInfo::viewType not equal to
-- IMAGE_VIEW_TYPE_3D
-- - If renderpass is not NULL_HANDLE and
-- flags does not include
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of
-- pAttachments that is used as a fragment shading rate
-- attachment by renderPass must have been created with a
-- usage value including
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If renderpass is not NULL_HANDLE and
-- flags includes FRAMEBUFFER_CREATE_IMAGELESS_BIT, the
-- usage member of any element of the
-- pAttachmentImageInfos member of a
-- FramebufferAttachmentsCreateInfo structure included in the
-- pNext chain that refers to an attachment used as a fragment
-- shading rate attachment by renderPass must include
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of FramebufferAttachmentsCreateInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- FramebufferCreateFlagBits values
-- - renderPass must be a valid RenderPass
-- handle
-- - Both of renderPass, and the elements of
-- pAttachments that are valid handles of non-ignored parameters
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_VERSION_1_0, FramebufferCreateFlags,
-- ImageView, RenderPass, StructureType,
-- createFramebuffer
data FramebufferCreateInfo (es :: [Type])
FramebufferCreateInfo :: Chain es -> FramebufferCreateFlags -> RenderPass -> Vector ImageView -> Word32 -> Word32 -> Word32 -> FramebufferCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of FramebufferCreateFlagBits
[$sel:flags:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> FramebufferCreateFlags
-- | renderPass is a render pass defining what render passes the
-- framebuffer will be compatible with. See Render Pass
-- Compatibility for details.
[$sel:renderPass:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> RenderPass
-- | pAttachments is a pointer to an array of ImageView
-- handles, each of which will be used as the corresponding attachment in
-- a render pass instance. If flags includes
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, this parameter is ignored.
[$sel:attachments:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> Vector ImageView
-- | width, height and layers define the
-- dimensions of the framebuffer. If the render pass uses multiview, then
-- layers must be one and each attachment requires a
-- number of layers that is greater than the maximum bit index set in the
-- view mask in the subpasses in which it is used.
[$sel:width:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> Word32
[$sel:height:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> Word32
[$sel:layers:FramebufferCreateInfo] :: FramebufferCreateInfo (es :: [Type]) -> Word32
-- | VkFramebuffer - Opaque handle to a framebuffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- RenderPassBeginInfo, createFramebuffer,
-- destroyFramebuffer
newtype Framebuffer
Framebuffer :: Word64 -> Framebuffer
-- | VkRenderPass - Opaque handle to a render pass object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- FramebufferCreateInfo, GraphicsPipelineCreateInfo,
-- RenderPassBeginInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- createRenderPass, createRenderPass2,
-- createRenderPass2KHR, destroyRenderPass,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getRenderAreaGranularity
newtype RenderPass
RenderPass :: Word64 -> RenderPass
-- | VkAttachmentLoadOp - Specify how contents of an attachment are treated
-- at the beginning of a subpass
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, RenderingAttachmentInfoKHR
newtype AttachmentLoadOp
AttachmentLoadOp :: Int32 -> AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_LOAD specifies that the previous contents of
-- the image within the render area will be preserved. For attachments
-- with a depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_READ_BIT.
pattern ATTACHMENT_LOAD_OP_LOAD :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_CLEAR specifies that the contents within the
-- render area will be cleared to a uniform value, which is specified
-- when a render pass instance is begun. For attachments with a
-- depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_LOAD_OP_CLEAR :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_DONT_CARE specifies that the previous
-- contents within the area need not be preserved; the contents of the
-- attachment will be undefined inside the render area. For attachments
-- with a depth/stencil format, this uses the access type
-- ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For attachments with
-- a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_LOAD_OP_DONT_CARE :: AttachmentLoadOp
-- | ATTACHMENT_LOAD_OP_NONE_EXT specifies that the previous
-- contents of the image within the render area will be preserved, but
-- the contents of the attachment will be undefined inside the render
-- pass. No access type is used as the image is not accessed.
pattern ATTACHMENT_LOAD_OP_NONE_EXT :: AttachmentLoadOp
-- | VkAttachmentStoreOp - Specify how contents of an attachment are
-- treated at the end of a subpass
--
-- Description
--
-- Note
--
-- ATTACHMENT_STORE_OP_DONT_CARE can cause contents
-- generated during previous render passes to be discarded before
-- reaching memory, even if no write to the attachment occurs during the
-- current render pass.
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, RenderingAttachmentInfoKHR
newtype AttachmentStoreOp
AttachmentStoreOp :: Int32 -> AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_STORE specifies the contents generated
-- during the render pass and within the render area are written to
-- memory. For attachments with a depth/stencil format, this uses the
-- access type ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For
-- attachments with a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_STORE_OP_STORE :: AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_DONT_CARE specifies the contents within the
-- render area are not needed after rendering, and may be
-- discarded; the contents of the attachment will be undefined inside the
-- render area. For attachments with a depth/stencil format, this uses
-- the access type ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT. For
-- attachments with a color format, this uses the access type
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
pattern ATTACHMENT_STORE_OP_DONT_CARE :: AttachmentStoreOp
-- | ATTACHMENT_STORE_OP_NONE_KHR specifies the contents within the
-- render area are not accessed by the store operation. However, if the
-- attachment was written to during the render pass, the contents of the
-- attachment will be undefined inside the render area.
pattern ATTACHMENT_STORE_OP_NONE_KHR :: AttachmentStoreOp
-- | VkPipelineBindPoint - Specify the bind point of a pipeline object to a
-- command buffer
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorUpdateTemplateCreateInfo,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- IndirectCommandsLayoutCreateInfoNV, SubpassDescription,
-- SubpassDescription2, cmdBindDescriptorSets,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdPushDescriptorSetKHR
newtype PipelineBindPoint
PipelineBindPoint :: Int32 -> PipelineBindPoint
-- | PIPELINE_BIND_POINT_GRAPHICS specifies binding as a graphics
-- pipeline.
pattern PIPELINE_BIND_POINT_GRAPHICS :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_COMPUTE specifies binding as a compute
-- pipeline.
pattern PIPELINE_BIND_POINT_COMPUTE :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI specifies binding as
-- a subpass shading pipeline.
pattern PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI :: PipelineBindPoint
-- | PIPELINE_BIND_POINT_RAY_TRACING_KHR specifies binding as a ray
-- tracing pipeline.
pattern PIPELINE_BIND_POINT_RAY_TRACING_KHR :: PipelineBindPoint
-- | VkRenderPassCreateFlagBits - Bitmask specifying additional properties
-- of a render pass
--
-- See Also
--
-- VK_VERSION_1_0, RenderPassCreateFlags
newtype RenderPassCreateFlagBits
RenderPassCreateFlagBits :: Flags -> RenderPassCreateFlagBits
-- | RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM specifies that the
-- created render pass is compatible with render pass transform.
pattern RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM :: RenderPassCreateFlagBits
type RenderPassCreateFlags = RenderPassCreateFlagBits
-- | VkAccessFlagBits - Bitmask specifying memory access types that will
-- participate in a memory dependency
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for AccessFlags2KHR.
--
-- Certain access types are only performed by a subset of pipeline
-- stages. Any synchronization command that takes both stage masks and
-- access masks uses both to define the access scopes - only the
-- specified access types performed by the specified stages are included
-- in the access scope. An application must not specify an access
-- flag in a synchronization command if it does not include a pipeline
-- stage in the corresponding stage mask that is able to perform accesses
-- of that type. The following table lists, for each access flag, which
-- pipeline stages can perform that type of access.
--
-- TODO: table
--
-- Supported access types
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags
newtype AccessFlagBits
AccessFlagBits :: Flags -> AccessFlagBits
-- | ACCESS_INDIRECT_COMMAND_READ_BIT specifies read access to
-- indirect command data read as part of an indirect build, trace,
-- drawing or dispatching command. Such access occurs in the
-- PIPELINE_STAGE_DRAW_INDIRECT_BIT pipeline stage.
pattern ACCESS_INDIRECT_COMMAND_READ_BIT :: AccessFlagBits
-- | ACCESS_INDEX_READ_BIT specifies read access to an index buffer
-- as part of an indexed drawing command, bound by
-- cmdBindIndexBuffer. Such access occurs in the
-- PIPELINE_STAGE_VERTEX_INPUT_BIT pipeline stage.
pattern ACCESS_INDEX_READ_BIT :: AccessFlagBits
-- | ACCESS_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a
-- vertex buffer as part of a drawing command, bound by
-- cmdBindVertexBuffers. Such access occurs in the
-- PIPELINE_STAGE_VERTEX_INPUT_BIT pipeline stage.
pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits
-- | ACCESS_UNIFORM_READ_BIT specifies read access to a uniform
-- buffer in any shader pipeline stage.
pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits
-- | ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an
-- input attachment within a render pass during subpass shading or
-- fragment shading. Such access occurs in the
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI or
-- PIPELINE_STAGE_FRAGMENT_SHADER_BIT pipeline stage.
pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_SHADER_READ_BIT specifies read access to a uniform
-- buffer, uniform texel buffer, sampled image,
-- storage buffer, physical storage buffer, shader
-- binding table, storage texel buffer, or storage
-- image in any shader pipeline stage.
pattern ACCESS_SHADER_READ_BIT :: AccessFlagBits
-- | ACCESS_SHADER_WRITE_BIT specifies write access to a storage
-- buffer, physical storage buffer, storage texel
-- buffer, or storage image in any shader pipeline stage.
pattern ACCESS_SHADER_WRITE_BIT :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_READ_BIT specifies read access to a
-- color attachment, such as via blending, logic
-- operations, or via certain subpass load operations. It does
-- not include advanced blend operations. Such access occurs in
-- the PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a
-- color, resolve, or depth/stencil resolve attachment during a
-- render pass or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: AccessFlagBits
-- | ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT specifies read access
-- to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load operations. Such
-- access occurs in the PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT or
-- PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stages.
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: AccessFlagBits
-- | ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT specifies write
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT or
-- PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stages.
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits
-- | ACCESS_TRANSFER_READ_BIT specifies read access to an image or
-- buffer in a copy operation. Such access occurs in the
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR pipeline stage.
pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits
-- | ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or
-- buffer in a clear or copy operation. Such access occurs
-- in the PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR pipeline stage.
pattern ACCESS_TRANSFER_WRITE_BIT :: AccessFlagBits
-- | ACCESS_HOST_READ_BIT specifies read access by a host operation.
-- Accesses of this type are not performed through a resource, but
-- directly on memory. Such access occurs in the
-- PIPELINE_STAGE_HOST_BIT pipeline stage.
pattern ACCESS_HOST_READ_BIT :: AccessFlagBits
-- | ACCESS_HOST_WRITE_BIT specifies write access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_HOST_BIT pipeline stage.
pattern ACCESS_HOST_WRITE_BIT :: AccessFlagBits
-- | ACCESS_MEMORY_READ_BIT specifies all read accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all READ access flags that are valid where it is
-- used.
pattern ACCESS_MEMORY_READ_BIT :: AccessFlagBits
-- | ACCESS_MEMORY_WRITE_BIT specifies all write accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all WRITE access flags that are valid where it is
-- used.
pattern ACCESS_MEMORY_WRITE_BIT :: AccessFlagBits
-- | ACCESS_NONE_KHR specifies no accesses.
pattern ACCESS_NONE_KHR :: AccessFlagBits
-- | ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to the
-- target command buffer:VkBuffer preprocess outputs in
-- cmdPreprocessGeneratedCommandsNV. Such access occurs in the
-- PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV pipeline stage.
pattern ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits
-- | ACCESS_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from
-- buffer inputs to cmdPreprocessGeneratedCommandsNV. Such access
-- occurs in the PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV pipeline
-- stage.
pattern ACCESS_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits
-- | ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR specifies
-- read access to a fragment shading rate attachment during
-- rasterization. Such access occurs in the
-- PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- pipeline stage.
pattern ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits
-- | ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read access
-- to a fragment density map attachment during dynamic fragment
-- density map operations Such access occurs in the
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT pipeline stage.
pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR specifies write
-- access to an acceleration structure or acceleration structure
-- scratch buffer as part of a build or copy command. Such access
-- occurs in the
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits
-- | ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR specifies read
-- access to an acceleration structure as part of a trace, build, or copy
-- command, or to an acceleration structure scratch buffer as part
-- of a build command. Such access occurs in the
-- PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR pipeline stage or
-- PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits
-- | ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT specifies read
-- access to color attachments, including advanced blend
-- operations. Such access occurs in the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
pattern ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits
-- | ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT specifies read access
-- to a predicate as part of conditional rendering. Such access occurs in
-- the PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT pipeline
-- stage.
pattern ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT specifies write
-- access to a transform feedback counter buffer which is written when
-- cmdEndTransformFeedbackEXT executes. Such access occurs in the
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT specifies read
-- access to a transform feedback counter buffer which is read when
-- cmdBeginTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits
-- | ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT specifies write access
-- to a transform feedback buffer made when transform feedback is active.
-- Such access occurs in the
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits
type AccessFlags = AccessFlagBits
-- | VkAttachmentDescriptionFlagBits - Bitmask specifying additional
-- properties of an attachment
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescriptionFlags
newtype AttachmentDescriptionFlagBits
AttachmentDescriptionFlagBits :: Flags -> AttachmentDescriptionFlagBits
-- | ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT specifies that the
-- attachment aliases the same device memory as other attachments.
pattern ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: AttachmentDescriptionFlagBits
type AttachmentDescriptionFlags = AttachmentDescriptionFlagBits
-- | VkDependencyFlagBits - Bitmask specifying how execution and memory
-- dependencies are formed
--
-- See Also
--
-- VK_VERSION_1_0, DependencyFlags
newtype DependencyFlagBits
DependencyFlagBits :: Flags -> DependencyFlagBits
-- | DEPENDENCY_BY_REGION_BIT specifies that dependencies will be
-- framebuffer-local.
pattern DEPENDENCY_BY_REGION_BIT :: DependencyFlagBits
-- | DEPENDENCY_VIEW_LOCAL_BIT specifies that a subpass has more
-- than one view.
pattern DEPENDENCY_VIEW_LOCAL_BIT :: DependencyFlagBits
-- | DEPENDENCY_DEVICE_GROUP_BIT specifies that dependencies are
-- non-device-local.
pattern DEPENDENCY_DEVICE_GROUP_BIT :: DependencyFlagBits
type DependencyFlags = DependencyFlagBits
-- | VkSubpassDescriptionFlagBits - Bitmask specifying usage of a subpass
--
-- Description
--
-- Note
--
-- Shader resolve operations allow for custom resolve operations, but
-- overdrawing pixels may have a performance and/or power cost.
-- Furthermore, since the content of any depth stencil attachment or
-- color attachment is undefined at the begining of a shader resolve
-- subpass, any depth testing, stencil testing, or blending operation
-- which sources these undefined values also has undefined result value.
--
-- See Also
--
-- VK_VERSION_1_0, SubpassDescriptionFlags
newtype SubpassDescriptionFlagBits
SubpassDescriptionFlagBits :: Flags -> SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- |
-- SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM
-- specifies that this subpass supports pipelines created with
-- PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM.
pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM specifies that the
-- subpass performs shader resolve operations.
pattern SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM specifies that the
-- framebuffer region is the fragment region, that is, the minimum region
-- dependencies are by pixel rather than by sample, such that any
-- fragment shader invocation can access any sample associated
-- with that fragment shader invocation.
pattern SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX specifies
-- that shaders compiled for this subpass use per-view positions which
-- only differ in value in the x component. Per-view viewport mask
-- can also be used.
pattern SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX :: SubpassDescriptionFlagBits
-- | SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX specifies that
-- shaders compiled for this subpass write the attributes for all views
-- in a single invocation of each pre-rasterization shader stage.
-- All pipelines compiled against a subpass that includes this bit
-- must write per-view attributes to the *PerViewNV[]
-- shader outputs, in addition to the non-per-view (e.g.
-- Position) outputs.
pattern SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX :: SubpassDescriptionFlagBits
type SubpassDescriptionFlags = SubpassDescriptionFlagBits
-- | VkFramebufferCreateFlagBits - Bitmask specifying framebuffer
-- properties
--
-- See Also
--
-- VK_VERSION_1_0, FramebufferCreateFlags
newtype FramebufferCreateFlagBits
FramebufferCreateFlagBits :: Flags -> FramebufferCreateFlagBits
-- | FRAMEBUFFER_CREATE_IMAGELESS_BIT specifies that image views are
-- not specified, and only attachment compatibility information will be
-- provided via a FramebufferAttachmentImageInfo structure.
pattern FRAMEBUFFER_CREATE_IMAGELESS_BIT :: FramebufferCreateFlagBits
type FramebufferCreateFlags = FramebufferCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.Pass.AttachmentDescription
instance GHC.Classes.Eq Vulkan.Core10.Pass.AttachmentReference
instance GHC.Classes.Eq Vulkan.Core10.Pass.SubpassDependency
instance GHC.Show.Show Vulkan.Core10.Pass.AttachmentDescription
instance GHC.Show.Show Vulkan.Core10.Pass.AttachmentReference
instance GHC.Show.Show Vulkan.Core10.Pass.SubpassDescription
instance GHC.Show.Show Vulkan.Core10.Pass.SubpassDependency
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pass.RenderPassCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Pass.FramebufferCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pass.FramebufferCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pass.FramebufferCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pass.FramebufferCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pass.FramebufferCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pass.FramebufferCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pass.FramebufferCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Pass.RenderPassCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pass.RenderPassCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Pass.RenderPassCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Pass.RenderPassCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Pass.RenderPassCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Pass.RenderPassCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pass.SubpassDependency
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pass.SubpassDependency
instance Foreign.Storable.Storable Vulkan.Core10.Pass.SubpassDependency
instance Vulkan.Zero.Zero Vulkan.Core10.Pass.SubpassDependency
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pass.SubpassDescription
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pass.SubpassDescription
instance Vulkan.Zero.Zero Vulkan.Core10.Pass.SubpassDescription
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pass.AttachmentReference
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pass.AttachmentReference
instance Foreign.Storable.Storable Vulkan.Core10.Pass.AttachmentReference
instance Vulkan.Zero.Zero Vulkan.Core10.Pass.AttachmentReference
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Pass.AttachmentDescription
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Pass.AttachmentDescription
instance Foreign.Storable.Storable Vulkan.Core10.Pass.AttachmentDescription
instance Vulkan.Zero.Zero Vulkan.Core10.Pass.AttachmentDescription
-- | Name
--
-- VK_EXT_fragment_density_map - device extension
--
-- VK_EXT_fragment_density_map
--
--
-- - Name String
-- VK_EXT_fragment_density_map
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 219
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-30
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Matthew Netsch, Qualcomm
-- Technologies, Inc.
- Robert VanReenen, Qualcomm Technologies,
-- Inc.
- Jonathan Wicks, Qualcomm Technologies, Inc.
- Tate
-- Hornbeck, Qualcomm Technologies, Inc.
- Sam Holmes, Qualcomm
-- Technologies, Inc.
- Jeff Leger, Qualcomm Technologies,
-- Inc.
- Jan-Harald Fredriksen, ARM
- Jeff Bolz,
-- NVIDIA
- Pat Brown, NVIDIA
- Daniel Rakos,
-- AMD
- Piers Daniell, NVIDIA
--
--
-- Description
--
-- This extension allows an application to specify areas of the render
-- target where the fragment shader may be invoked fewer times. These
-- fragments are broadcasted out to multiple pixels to cover the render
-- target.
--
-- The primary use of this extension is to reduce workloads in areas
-- where lower quality may not be perceived such as the distorted edges
-- of a lens or the periphery of a user’s gaze.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- New or Modified Built-In Variables
--
--
--
--
--
-- New SPIR-V Capabilities
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-09-25 (Matthew Netsch)
--
--
--
-- - Revision 2, 2021-09-30 (Jon Leech)
- Add interaction with
-- VK_KHR_format_feature_flags2 to
-- vk.xml
--
--
-- See Also
--
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- RenderPassFragmentDensityMapCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_fragment_density_map
-- | VkPhysicalDeviceFragmentDensityMapFeaturesEXT - Structure describing
-- fragment density map features that can be supported by an
-- implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceFragmentDensityMapFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentDensityMapFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_fragment_density_map, Bool32,
-- StructureType
data PhysicalDeviceFragmentDensityMapFeaturesEXT
PhysicalDeviceFragmentDensityMapFeaturesEXT :: Bool -> Bool -> Bool -> PhysicalDeviceFragmentDensityMapFeaturesEXT
-- | fragmentDensityMap specifies whether the implementation
-- supports render passes with a fragment density map attachment. If this
-- feature is not enabled and the pNext chain of
-- RenderPassCreateInfo includes a
-- RenderPassFragmentDensityMapCreateInfoEXT structure,
-- fragmentDensityMapAttachment must be
-- ATTACHMENT_UNUSED.
[$sel:fragmentDensityMap:PhysicalDeviceFragmentDensityMapFeaturesEXT] :: PhysicalDeviceFragmentDensityMapFeaturesEXT -> Bool
-- | fragmentDensityMapDynamic specifies whether the
-- implementation supports dynamic fragment density map image views. If
-- this feature is not enabled,
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
-- must not be included in
-- ImageViewCreateInfo::flags.
[$sel:fragmentDensityMapDynamic:PhysicalDeviceFragmentDensityMapFeaturesEXT] :: PhysicalDeviceFragmentDensityMapFeaturesEXT -> Bool
-- | fragmentDensityMapNonSubsampledImages specifies whether the
-- implementation supports regular non-subsampled image attachments with
-- fragment density map render passes. If this feature is not enabled,
-- render passes with a fragment density map attachment
-- must only have subsampled attachments bound.
[$sel:fragmentDensityMapNonSubsampledImages:PhysicalDeviceFragmentDensityMapFeaturesEXT] :: PhysicalDeviceFragmentDensityMapFeaturesEXT -> Bool
-- | VkPhysicalDeviceFragmentDensityMapPropertiesEXT - Structure describing
-- fragment density map properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceFragmentDensityMapPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_fragment_density_map, Bool32, Extent2D,
-- StructureType
data PhysicalDeviceFragmentDensityMapPropertiesEXT
PhysicalDeviceFragmentDensityMapPropertiesEXT :: Extent2D -> Extent2D -> Bool -> PhysicalDeviceFragmentDensityMapPropertiesEXT
-- | minFragmentDensityTexelSize is the minimum fragment
-- density texel size.
[$sel:minFragmentDensityTexelSize:PhysicalDeviceFragmentDensityMapPropertiesEXT] :: PhysicalDeviceFragmentDensityMapPropertiesEXT -> Extent2D
-- | maxFragmentDensityTexelSize is the maximum fragment density
-- texel size.
[$sel:maxFragmentDensityTexelSize:PhysicalDeviceFragmentDensityMapPropertiesEXT] :: PhysicalDeviceFragmentDensityMapPropertiesEXT -> Extent2D
-- | fragmentDensityInvocations specifies whether the
-- implementation may invoke additional fragment shader
-- invocations for each covered sample.
[$sel:fragmentDensityInvocations:PhysicalDeviceFragmentDensityMapPropertiesEXT] :: PhysicalDeviceFragmentDensityMapPropertiesEXT -> Bool
-- | VkRenderPassFragmentDensityMapCreateInfoEXT - Structure containing
-- fragment density map attachment for render pass
--
-- Description
--
-- The fragment density map is read at an implementation-dependent time
-- with the following constraints determined by the attachment’s image
-- view flags:
--
--
--
-- The fragment density map may additionally be read by the device
-- during PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT for any
-- mode.
--
-- If this structure is not present, it is as if
-- fragmentDensityMapAttachment was given as
-- ATTACHMENT_UNUSED.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_fragment_density_map, AttachmentReference,
-- StructureType
data RenderPassFragmentDensityMapCreateInfoEXT
RenderPassFragmentDensityMapCreateInfoEXT :: AttachmentReference -> RenderPassFragmentDensityMapCreateInfoEXT
-- | fragmentDensityMapAttachment is the fragment density map to
-- use for the render pass.
[$sel:fragmentDensityMapAttachment:RenderPassFragmentDensityMapCreateInfoEXT] :: RenderPassFragmentDensityMapCreateInfoEXT -> AttachmentReference
type EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2
pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: forall a. Integral a => a
type EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map"
pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT
module Vulkan.Core10.Memory
-- | vkAllocateMemory - Allocate device memory
--
-- Description
--
-- Allocations returned by allocateMemory are guaranteed to meet
-- any alignment requirement of the implementation. For example, if an
-- implementation requires 128 byte alignment for images and 64 byte
-- alignment for buffers, the device memory returned through this
-- mechanism would be 128-byte aligned. This ensures that applications
-- can correctly suballocate objects of different types (with
-- potentially different alignment requirements) in the same memory
-- object.
--
-- When memory is allocated, its contents are undefined with the
-- following constraint:
--
--
-- - The contents of unprotected memory must not be a function
-- of the contents of data protected memory objects, even if those memory
-- objects were previously freed.
--
--
-- Note
--
-- The contents of memory allocated by one application should not
-- be a function of data from protected memory objects of another
-- application, even if those memory objects were previously freed.
--
-- The maximum number of valid memory allocations that can exist
-- simultaneously within a Device may be restricted by
-- implementation- or platform-dependent limits. The
-- maxMemoryAllocationCount feature describes the number of
-- allocations that can exist simultaneously before encountering
-- these internal limits.
--
-- Note
--
-- For historical reasons, if maxMemoryAllocationCount is
-- exceeded, some implementations may return
-- ERROR_TOO_MANY_OBJECTS. Exceeding this limit will result in
-- undefined behavior, and an application should not rely on the use of
-- the returned error code in order to identify when the limit is
-- reached.
--
-- Note
--
-- Many protected memory implementations involve complex hardware and
-- system software support, and often have additional and much lower
-- limits on the number of simultaneous protected memory allocations
-- (from memory types with the MEMORY_PROPERTY_PROTECTED_BIT
-- property) than for non-protected memory allocations. These limits can
-- be system-wide, and depend on a variety of factors outside of the
-- Vulkan implementation, so they cannot be queried in Vulkan.
-- Applications should use as few allocations as possible from
-- such memory types by suballocating aggressively, and be prepared for
-- allocation failure even when there is apparently plenty of capacity
-- remaining in the memory heap. As a guideline, the Vulkan conformance
-- test suite requires that at least 80 minimum-size allocations can
-- exist concurrently when no other uses of protected memory are active
-- in the system.
--
-- Some platforms may have a limit on the maximum size of a single
-- allocation. For example, certain systems may fail to create
-- allocations with a size greater than or equal to 4GB. Such a limit is
-- implementation-dependent, and if such a failure occurs then the error
-- ERROR_OUT_OF_DEVICE_MEMORY must be returned. This limit
-- is advertised in
-- PhysicalDeviceMaintenance3Properties::maxMemoryAllocationSize.
--
-- The cumulative memory size allocated to a heap can be limited
-- by the size of the specified heap. In such cases, allocated memory is
-- tracked on a per-device and per-heap basis. Some platforms allow
-- overallocation into other heaps. The overallocation behavior
-- can be specified through the
-- VK_AMD_memory_overallocation_behavior extension.
--
-- If the
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT::pageableDeviceLocalMemory
-- feature is enabled, memory allocations made from a heap that includes
-- MEMORY_HEAP_DEVICE_LOCAL_BIT in
-- MemoryHeap::flags may be transparently moved to
-- host-local memory allowing multiple applications to share device-local
-- memory. If there is no space left in device-local memory when this new
-- allocation is made, other allocations may be moved out
-- transparently to make room. The operating system will determine which
-- allocations to move to device-local memory or host-local memory based
-- on platform-specific criteria. To help the operating system make good
-- choices, the application should set the appropriate memory
-- priority with MemoryPriorityAllocateInfoEXT and adjust it as
-- necessary with setDeviceMemoryPriorityEXT. Higher priority
-- allocations will moved to device-local memory first.
--
-- Memory allocations made on heaps without the
-- MEMORY_HEAP_DEVICE_LOCAL_BIT property will not be transparently
-- promoted to device-local memory by the operating system.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAllocateInfo must be a valid pointer to a valid
-- MemoryAllocateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pMemory must be a valid pointer to a
-- DeviceMemory handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- DeviceMemory, MemoryAllocateInfo
allocateMemory :: forall a io. (Extendss MemoryAllocateInfo a, PokeChain a, MonadIO io) => Device -> MemoryAllocateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io DeviceMemory
-- | A convenience wrapper to make a compatible pair of calls to
-- allocateMemory and freeMemory
--
-- To ensure that freeMemory 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.
withMemory :: forall a io r. (Extendss MemoryAllocateInfo a, PokeChain a, MonadIO io) => Device -> MemoryAllocateInfo a -> Maybe AllocationCallbacks -> (io DeviceMemory -> (DeviceMemory -> io ()) -> r) -> r
-- | vkFreeMemory - Free device memory
--
-- Description
--
-- Before freeing a memory object, an application must ensure the
-- memory object is no longer in use by the device — for example by
-- command buffers in the pending state. Memory can be
-- freed whilst still bound to resources, but those resources must
-- not be used afterwards. Freeing a memory object releases the reference
-- it held, if any, to its payload. If there are still any bound images
-- or buffers, the memory object’s payload may not be immediately
-- released by the implementation, but must be released by the
-- time all bound images and buffers have been destroyed. Once all
-- references to a payload are released, it is returned to the heap from
-- which it was allocated.
--
-- How memory objects are bound to Images and Buffers is described in
-- detail in the Resource Memory Association section.
--
-- If a memory object is mapped at the time it is freed, it is implicitly
-- unmapped.
--
-- Note
--
-- As described below, host writes are not implicitly flushed when
-- the memory object is unmapped, but the implementation must
-- guarantee that writes that have not been flushed do not affect any
-- other memory.
--
-- Valid Usage
--
--
-- - All submitted commands that refer to memory (via images
-- or buffers) must have completed execution
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If memory is not NULL_HANDLE, memory
-- must be a valid DeviceMemory handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If memory is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to memory must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- DeviceMemory
freeMemory :: forall io. MonadIO io => Device -> DeviceMemory -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkMapMemory - Map a memory object into application address space
--
-- Description
--
-- After a successful call to mapMemory the memory object
-- memory is considered to be currently host mapped.
--
-- Note
--
-- It is an application error to call mapMemory on a memory object
-- that is already host mapped.
--
-- Note
--
-- mapMemory will fail if the implementation is unable to allocate
-- an appropriately sized contiguous virtual address range, e.g. due to
-- virtual address space fragmentation or platform limits. In such cases,
-- mapMemory must return ERROR_MEMORY_MAP_FAILED.
-- The application can improve the likelihood of success by
-- reducing the size of the mapped range and/or removing unneeded
-- mappings using unmapMemory.
--
-- mapMemory does not check whether the device memory is currently
-- in use before returning the host-accessible pointer. The application
-- must guarantee that any previously submitted command that
-- writes to this range has completed before the host reads from or
-- writes to that range, and that any previously submitted command that
-- reads from that range has completed before the host writes to that
-- region (see here for details on fulfilling such a guarantee).
-- If the device memory was allocated without the
-- MEMORY_PROPERTY_HOST_COHERENT_BIT set, these guarantees
-- must be made for an extended range: the application must
-- round down the start of the range to the nearest multiple of
-- PhysicalDeviceLimits::nonCoherentAtomSize, and round
-- the end of the range up to the nearest multiple of
-- PhysicalDeviceLimits::nonCoherentAtomSize.
--
-- While a range of device memory is host mapped, the application is
-- responsible for synchronizing both device and host access to that
-- memory range.
--
-- Note
--
-- It is important for the application developer to become meticulously
-- familiar with all of the mechanisms described in the chapter on
-- Synchronization and Cache Control as they are crucial to
-- maintaining memory access ordering.
--
-- Valid Usage
--
--
-- - memory must not be currently host mapped
--
--
--
-- - offset must be less than the size of
-- memory
-- - If size is not equal to WHOLE_SIZE, size
-- must be greater than 0
-- - If size is not equal to WHOLE_SIZE, size
-- must be less than or equal to the size of the memory
-- minus offset
-- - memory must have been created with a memory type
-- that reports MEMORY_PROPERTY_HOST_VISIBLE_BIT
-- - memory must not have been allocated with multiple
-- instances
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - memory must be a valid DeviceMemory
-- handle
-- - flags must be 0
-- - ppData must be a valid pointer to a pointer
-- value
-- - memory must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to memory must be externally
-- synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, DeviceMemory,
-- DeviceSize, MemoryMapFlags
mapMemory :: forall io. MonadIO io => Device -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> io ("data" ::: Ptr ())
-- | A convenience wrapper to make a compatible pair of calls to
-- mapMemory and unmapMemory
--
-- To ensure that unmapMemory 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.
withMappedMemory :: forall io r. MonadIO io => Device -> DeviceMemory -> DeviceSize -> DeviceSize -> MemoryMapFlags -> (io (Ptr ()) -> (Ptr () -> io ()) -> r) -> r
-- | vkUnmapMemory - Unmap a previously mapped memory object
--
-- Valid Usage
--
--
-- - memory must be currently host mapped
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - memory must be a valid DeviceMemory
-- handle
-- - memory must have been created, allocated, or
-- retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to memory must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, DeviceMemory
unmapMemory :: forall io. MonadIO io => Device -> DeviceMemory -> io ()
-- | vkFlushMappedMemoryRanges - Flush mapped memory ranges
--
-- Description
--
-- flushMappedMemoryRanges guarantees that host writes to the
-- memory ranges described by pMemoryRanges are made available
-- to the host memory domain, such that they can be made available
-- to the device memory domain via memory domain operations using
-- the ACCESS_HOST_WRITE_BIT access type.
--
-- Within each range described by pMemoryRanges, each set of
-- nonCoherentAtomSize bytes in that range is flushed if any
-- byte in that set has been written by the host since it was first host
-- mapped, or the last time it was flushed. If pMemoryRanges
-- includes sets of nonCoherentAtomSize bytes where no bytes
-- have been written by the host, those bytes must not be flushed.
--
-- Unmapping non-coherent memory does not implicitly flush the host
-- mapped memory, and host writes that have not been flushed may
-- not ever be visible to the device. However, implementations
-- must ensure that writes that have not been flushed do not
-- become visible to any other memory.
--
-- Note
--
-- The above guarantee avoids a potential memory corruption in scenarios
-- where host writes to a mapped memory object have not been flushed
-- before the memory is unmapped (or freed), and the virtual address
-- range is subsequently reused for a different mapping (or memory
-- allocation).
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, MappedMemoryRange
flushMappedMemoryRanges :: forall io. MonadIO io => Device -> ("memoryRanges" ::: Vector MappedMemoryRange) -> io ()
-- | vkInvalidateMappedMemoryRanges - Invalidate ranges of mapped memory
-- objects
--
-- Description
--
-- invalidateMappedMemoryRanges guarantees that device writes to
-- the memory ranges described by pMemoryRanges, which have been
-- made available to the host memory domain using the
-- ACCESS_HOST_WRITE_BIT and ACCESS_HOST_READ_BIT access
-- types, are made visible to the host. If a range of non-coherent
-- memory is written by the host and then invalidated without first being
-- flushed, its contents are undefined.
--
-- Within each range described by pMemoryRanges, each set of
-- nonCoherentAtomSize bytes in that range is invalidated if any
-- byte in that set has been written by the device since it was first
-- host mapped, or the last time it was invalidated.
--
-- Note
--
-- Mapping non-coherent memory does not implicitly invalidate that
-- memory.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, MappedMemoryRange
invalidateMappedMemoryRanges :: forall io. MonadIO io => Device -> ("memoryRanges" ::: Vector MappedMemoryRange) -> io ()
-- | vkGetDeviceMemoryCommitment - Query the current commitment for a
-- VkDeviceMemory
--
-- Description
--
-- The implementation may update the commitment at any time, and
-- the value returned by this query may be out of date.
--
-- The implementation guarantees to allocate any committed memory from
-- the heapIndex indicated by the memory type that the memory
-- object was created with.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, Device, DeviceMemory,
-- DeviceSize
getDeviceMemoryCommitment :: forall io. MonadIO io => Device -> DeviceMemory -> io ("committedMemoryInBytes" ::: DeviceSize)
-- | VkMemoryAllocateInfo - Structure containing parameters of a memory
-- allocation
--
-- Description
--
-- The internal data of an allocated device memory object must
-- include a reference to implementation-specific resources, referred to
-- as the memory object’s payload. Applications can also
-- import and export that internal data to and from device memory objects
-- to share data between Vulkan instances and other compatible APIs. A
-- MemoryAllocateInfo structure defines a memory import operation
-- if its pNext chain includes one of the following structures:
--
--
--
-- If the parameters define an import operation and the external handle
-- type is EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
-- allocationSize is ignored. The implementation must
-- query the size of these allocations from the OS.
--
-- Whether device memory objects constructed via a memory import
-- operation hold a reference to their payload depends on the properties
-- of the handle type used to perform the import, as defined below for
-- each valid handle type. Importing memory must not modify the
-- content of the memory. Implementations must ensure that
-- importing memory does not enable the importing Vulkan instance to
-- access any memory or resources in other Vulkan instances other than
-- that corresponding to the memory object imported. Implementations
-- must also ensure accessing imported memory which has not been
-- initialized does not allow the importing Vulkan instance to obtain
-- data from the exporting Vulkan instance or vice-versa.
--
-- Note
--
-- How exported and imported memory is isolated is left to the
-- implementation, but applications should be aware that such isolation
-- may prevent implementations from placing multiple exportable
-- memory objects in the same physical or virtual page. Hence,
-- applications should avoid creating many small external memory
-- objects whenever possible.
--
-- Importing memory must not increase overall heap usage within a
-- system. However, it must affect the following per-process
-- values:
--
--
--
-- When performing a memory import operation, it is the responsibility of
-- the application to ensure the external handles and their associated
-- payloads meet all valid usage requirements. However, implementations
-- must perform sufficient validation of external handles and
-- payloads to ensure that the operation results in a valid memory object
-- which will not cause program termination, device loss, queue stalls,
-- or corruption of other resources when used as allowed according to its
-- allocation parameters. If the external handle provided does not meet
-- these requirements, the implementation must fail the memory
-- import operation with the error code
-- ERROR_INVALID_EXTERNAL_HANDLE.
--
-- Valid Usage
--
--
--
--
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA, and
-- MemoryDedicatedAllocateInfo::image is present and
-- non-NULL,
-- ImportMemoryBufferCollectionFUCHSIA::collection and
-- ImportMemoryBufferCollectionFUCHSIA::index must match
-- BufferCollectionImageCreateInfoFUCHSIA::collection and
-- BufferCollectionImageCreateInfoFUCHSIA::index,
-- respectively, of the BufferCollectionImageCreateInfoFUCHSIA
-- structure used to create the
-- MemoryDedicatedAllocateInfo::image
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA, allocationSize must
-- match MemoryRequirements::size value retrieved by
-- getImageMemoryRequirements or
-- getBufferMemoryRequirements for image-based or buffer-based
-- collections respectively
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA, the pNext chain must
-- include a MemoryDedicatedAllocateInfo structure with either its
-- image or buffer field set to a value other than
-- NULL_HANDLE.
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA and
-- MemoryDedicatedAllocateInfo::image is not
-- NULL_HANDLE, the image must be created with a
-- BufferCollectionImageCreateInfoFUCHSIA structure chained to its
-- ImageCreateInfo::pNext pointer
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA and
-- MemoryDedicatedAllocateInfo::buffer is not
-- NULL_HANDLE, the buffer must be created with a
-- BufferCollectionBufferCreateInfoFUCHSIA structure chained to
-- its BufferCreateInfo::pNext pointer
-- - If the parameters define an import operation from an
-- BufferCollectionFUCHSIA, memoryTypeIndex must
-- be from BufferCollectionPropertiesFUCHSIA as retrieved by
-- getBufferCollectionPropertiesFUCHSIA.
-- - If the pNext chain includes a
-- ExportMemoryAllocateInfo structure, and any of the handle types
-- specified in ExportMemoryAllocateInfo::handleTypes
-- require a dedicated allocation, as reported by
-- getPhysicalDeviceImageFormatProperties2 in
-- ExternalImageFormatProperties::externalMemoryProperties.externalMemoryFeatures
-- or
-- ExternalBufferProperties::externalMemoryProperties.externalMemoryFeatures,
-- the pNext chain must include a
-- MemoryDedicatedAllocateInfo or
-- DedicatedAllocationMemoryAllocateInfoNV structure with either
-- its image or buffer member set to a value other than
-- NULL_HANDLE
-- - If the pNext chain includes a
-- ExportMemoryAllocateInfo structure, it must not include
-- a ExportMemoryAllocateInfoNV or
-- ExportMemoryWin32HandleInfoNV structure
-- - If the pNext chain includes a
-- ImportMemoryWin32HandleInfoKHR structure, it must not
-- include a ImportMemoryWin32HandleInfoNV structure
-- - If the parameters define an import operation, the external handle
-- specified was created by the Vulkan API, and the external handle type
-- is EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, then the values
-- of allocationSize and memoryTypeIndex must
-- match those specified when the payload being imported was created
-- - If the parameters define an import operation and the external
-- handle specified was created by the Vulkan API, the device mask
-- specified by MemoryAllocateFlagsInfo must match the mask
-- specified when the payload being imported was allocated
-- - If the parameters define an import operation and the external
-- handle specified was created by the Vulkan API, the list of physical
-- devices that comprise the logical device passed to
-- allocateMemory must match the list of physical devices
-- that comprise the logical device on which the payload was originally
-- allocated
-- - If the parameters define an import operation and the external
-- handle is an NT handle or a global share handle created outside of the
-- Vulkan API, the value of memoryTypeIndex must be one
-- of those returned by getMemoryWin32HandlePropertiesKHR
-- - If the parameters define an import operation, the external handle
-- was created by the Vulkan API, and the external handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT or
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, then the
-- values of allocationSize and memoryTypeIndex
-- must match those specified when the payload being imported was
-- created
-- - If the parameters define an import operation and the external
-- handle type is EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
-- allocationSize must match the size specified when
-- creating the Direct3D 12 heap from which the payload was
-- extracted
-- - If the parameters define an import operation and the external
-- handle is a POSIX file descriptor created outside of the Vulkan API,
-- the value of memoryTypeIndex must be one of those
-- returned by getMemoryFdPropertiesKHR
-- - If the protected memory feature is not enabled, the
-- MemoryAllocateInfo::memoryTypeIndex must not
-- indicate a memory type that reports
-- MEMORY_PROPERTY_PROTECTED_BIT
-- - If the parameters define an import operation and the external
-- handle is a host pointer, the value of memoryTypeIndex
-- must be one of those returned by
-- getMemoryHostPointerPropertiesEXT
-- - If the parameters define an import operation and the external
-- handle is a host pointer, allocationSize must be an
-- integer multiple of
-- PhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment
-- - If the parameters define an import operation and the external
-- handle is a host pointer, the pNext chain must not
-- include a DedicatedAllocationMemoryAllocateInfoNV structure
-- with either its image or buffer field set to a value
-- other than NULL_HANDLE
-- - If the parameters define an import operation and the external
-- handle is a host pointer, the pNext chain must not
-- include a MemoryDedicatedAllocateInfo structure with either its
-- image or buffer field set to a value other than
-- NULL_HANDLE
-- - If the parameters define an import operation and the external
-- handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-- allocationSize must be the size returned by
-- getAndroidHardwareBufferPropertiesANDROID for the Android
-- hardware buffer
-- - If the parameters define an import operation and the external
-- handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-- and the pNext chain does not include a
-- MemoryDedicatedAllocateInfo structure or
-- MemoryDedicatedAllocateInfo::image is
-- NULL_HANDLE, the Android hardware buffer must have a
-- AHardwareBuffer_Desc::format of
-- AHARDWAREBUFFER_FORMAT_BLOB and a
-- AHardwareBuffer_Desc::usage that includes
-- AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER
-- - If the parameters define an import operation and the external
-- handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-- memoryTypeIndex must be one of those returned by
-- getAndroidHardwareBufferPropertiesANDROID for the Android
-- hardware buffer
-- - If the parameters do not define an import operation, and the
-- pNext chain includes a ExportMemoryAllocateInfo
-- structure with
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
-- included in its handleTypes member, and the pNext
-- chain includes a MemoryDedicatedAllocateInfo structure with
-- image not equal to NULL_HANDLE, then
-- allocationSize must be 0, otherwise
-- allocationSize must be greater than 0
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo with image that is not
-- NULL_HANDLE, the Android hardware buffer’s
-- AHardwareBuffer::usage must include at least
-- one of AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER or
-- AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo with image that is not
-- NULL_HANDLE, the format of image must be
-- FORMAT_UNDEFINED or the format returned by
-- getAndroidHardwareBufferPropertiesANDROID in
-- AndroidHardwareBufferFormatPropertiesANDROID::format
-- for the Android hardware buffer
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo structure with image that
-- is not NULL_HANDLE, the width, height, and array layer
-- dimensions of image and the Android hardware buffer’s
-- AHardwareBuffer_Desc must be identical
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo structure with image that
-- is not NULL_HANDLE, and the Android hardware buffer’s
-- AHardwareBuffer::usage includes
-- AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE, the image
-- must have a complete mipmap chain
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo structure with image that
-- is not NULL_HANDLE, and the Android hardware buffer’s
-- AHardwareBuffer::usage does not include
-- AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE, the image
-- must have exactly one mipmap level
-- - If the parameters define an import operation, the external handle
-- is an Android hardware buffer, and the pNext chain includes a
-- MemoryDedicatedAllocateInfo structure with image that
-- is not NULL_HANDLE, each bit set in the usage of image
-- must be listed in AHardwareBuffer Usage Equivalence, and
-- if there is a corresponding AHARDWAREBUFFER_USAGE bit listed
-- that bit must be included in the Android hardware buffer’s
-- AHardwareBuffer_Desc::usage
-- - If
-- MemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress
-- is not zero, MemoryAllocateFlagsInfo::flags
-- must include
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-- - If MemoryAllocateFlagsInfo::flags includes
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, the
-- bufferDeviceAddressCaptureReplay feature must be
-- enabled
-- - If MemoryAllocateFlagsInfo::flags includes
-- MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, the
-- bufferDeviceAddress feature must be enabled
-- - If the pNext chain includes a
-- ImportMemoryHostPointerInfoEXT structure,
-- MemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress
-- must be zero
-- - If the parameters define an import operation,
-- MemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress
-- must be zero
-- - If the parameters define an import operation and the external
-- handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, the value
-- of memoryTypeIndex must be an index identifying a
-- memory type from the memoryTypeBits field of the
-- MemoryZirconHandlePropertiesFUCHSIA structure populated by a
-- call to getMemoryZirconHandlePropertiesFUCHSIA
-- - If the parameters define an import operation and the external
-- handle type is
-- EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, the value
-- of allocationSize must be greater than 0 and
-- must be less than or equal to the size of the VMO as determined
-- by zx_vmo_get_size(handle) where handle is
-- the VMO handle to the imported external memory
--
--
-- 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
-- DedicatedAllocationMemoryAllocateInfoNV,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- MemoryAllocateFlagsInfo, MemoryDedicatedAllocateInfo,
-- MemoryOpaqueCaptureAddressAllocateInfo, or
-- MemoryPriorityAllocateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize, StructureType,
-- allocateMemory
data MemoryAllocateInfo (es :: [Type])
MemoryAllocateInfo :: Chain es -> DeviceSize -> Word32 -> MemoryAllocateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:MemoryAllocateInfo] :: MemoryAllocateInfo (es :: [Type]) -> Chain es
-- | allocationSize is the size of the allocation in bytes.
[$sel:allocationSize:MemoryAllocateInfo] :: MemoryAllocateInfo (es :: [Type]) -> DeviceSize
-- | memoryTypeIndex is an index identifying a memory type from
-- the memoryTypes array of the
-- PhysicalDeviceMemoryProperties structure.
[$sel:memoryTypeIndex:MemoryAllocateInfo] :: MemoryAllocateInfo (es :: [Type]) -> Word32
-- | VkMappedMemoryRange - Structure specifying a mapped memory range
--
-- Valid Usage
--
--
-- - memory must be currently host mapped
--
--
--
-- - If size is not equal to WHOLE_SIZE,
-- offset and size must specify a range
-- contained within the currently mapped range of memory
-- - If size is equal to WHOLE_SIZE, offset
-- must be within the currently mapped range of
-- memory
-- - offset must be a multiple of
-- PhysicalDeviceLimits::nonCoherentAtomSize
-- - If size is equal to WHOLE_SIZE, the end of the
-- current mapping of memory must either be a multiple of
-- PhysicalDeviceLimits::nonCoherentAtomSize bytes from
-- the beginning of the memory object, or be equal to the end of the
-- memory object
-- - If size is not equal to WHOLE_SIZE, size
-- must either be a multiple of
-- PhysicalDeviceLimits::nonCoherentAtomSize, or
-- offset plus size must equal the size of
-- memory
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - memory must be a valid DeviceMemory
-- handle
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceMemory, DeviceSize,
-- StructureType, flushMappedMemoryRanges,
-- invalidateMappedMemoryRanges
data MappedMemoryRange
MappedMemoryRange :: DeviceMemory -> DeviceSize -> DeviceSize -> MappedMemoryRange
-- | memory is the memory object to which this range belongs.
[$sel:memory:MappedMemoryRange] :: MappedMemoryRange -> DeviceMemory
-- | offset is the zero-based byte offset from the beginning of
-- the memory object.
[$sel:offset:MappedMemoryRange] :: MappedMemoryRange -> DeviceSize
-- | size is either the size of range, or WHOLE_SIZE to
-- affect the range from offset to the end of the current
-- mapping of the allocation.
[$sel:size:MappedMemoryRange] :: MappedMemoryRange -> DeviceSize
-- | VkMemoryMapFlags - Reserved for future use
--
-- Description
--
-- MemoryMapFlags is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, mapMemory
newtype MemoryMapFlags
MemoryMapFlags :: Flags -> MemoryMapFlags
instance GHC.Classes.Eq Vulkan.Core10.Memory.MappedMemoryRange
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Memory.MemoryAllocateInfo es)
instance GHC.Show.Show Vulkan.Core10.Memory.MappedMemoryRange
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Memory.MappedMemoryRange
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Memory.MappedMemoryRange
instance Foreign.Storable.Storable Vulkan.Core10.Memory.MappedMemoryRange
instance Vulkan.Zero.Zero Vulkan.Core10.Memory.MappedMemoryRange
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Memory.MemoryAllocateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Memory.MemoryAllocateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Memory.MemoryAllocateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Memory.MemoryAllocateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Memory.MemoryAllocateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Memory.MemoryAllocateInfo es)
module Vulkan.Core10.ImageView
-- | vkCreateImageView - Create an image view from an existing image
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- ImageViewCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pView must be a valid pointer to a
-- ImageView handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- ImageView, ImageViewCreateInfo
createImageView :: forall a io. (Extendss ImageViewCreateInfo a, PokeChain a, MonadIO io) => Device -> ImageViewCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io ImageView
-- | A convenience wrapper to make a compatible pair of calls to
-- createImageView and destroyImageView
--
-- To ensure that destroyImageView 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.
withImageView :: forall a io r. (Extendss ImageViewCreateInfo a, PokeChain a, MonadIO io) => Device -> ImageViewCreateInfo a -> Maybe AllocationCallbacks -> (io ImageView -> (ImageView -> io ()) -> r) -> r
-- | vkDestroyImageView - Destroy an image view object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to imageView
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when
-- imageView was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- imageView was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If imageView is not NULL_HANDLE,
-- imageView must be a valid ImageView handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If imageView is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to imageView must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- ImageView
destroyImageView :: forall io. MonadIO io => Device -> ImageView -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkComponentMapping - Structure specifying a color component mapping
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA, ComponentSwizzle,
-- ImageViewCreateInfo,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerYcbcrConversionCreateInfo
data ComponentMapping
ComponentMapping :: ComponentSwizzle -> ComponentSwizzle -> ComponentSwizzle -> ComponentSwizzle -> ComponentMapping
-- | r is a ComponentSwizzle specifying the component value
-- placed in the R component of the output vector.
--
-- r must be a valid ComponentSwizzle value
[$sel:r:ComponentMapping] :: ComponentMapping -> ComponentSwizzle
-- | g is a ComponentSwizzle specifying the component value
-- placed in the G component of the output vector.
--
-- g must be a valid ComponentSwizzle value
[$sel:g:ComponentMapping] :: ComponentMapping -> ComponentSwizzle
-- | b is a ComponentSwizzle specifying the component value
-- placed in the B component of the output vector.
--
-- b must be a valid ComponentSwizzle value
[$sel:b:ComponentMapping] :: ComponentMapping -> ComponentSwizzle
-- | a is a ComponentSwizzle specifying the component value
-- placed in the A component of the output vector.
--
-- a must be a valid ComponentSwizzle value
[$sel:a:ComponentMapping] :: ComponentMapping -> ComponentSwizzle
-- | VkImageSubresourceRange - Structure specifying an image subresource
-- range
--
-- Description
--
-- The number of mipmap levels and array layers must be a subset
-- of the image subresources in the image. If an application wants to use
-- all mip levels or layers in an image after the baseMipLevel
-- or baseArrayLayer, it can set levelCount and
-- layerCount to the special values REMAINING_MIP_LEVELS
-- and REMAINING_ARRAY_LAYERS without knowing the exact number of
-- mip levels or layers.
--
-- For cube and cube array image views, the layers of the image view
-- starting at baseArrayLayer correspond to faces in the order
-- +X, -X, +Y, -Y, +Z, -Z. For cube arrays, each set of six sequential
-- layers is a single cube, so the number of cube maps in a cube map
-- array view is layerCount / 6, and image array layer
-- (baseArrayLayer + i) is face index (i mod 6) of cube i /
-- 6. If the number of layers in the view, whether set explicitly in
-- layerCount or implied by REMAINING_ARRAY_LAYERS, is
-- not a multiple of 6, the last cube map in the array must not be
-- accessed.
--
-- aspectMask must be only IMAGE_ASPECT_COLOR_BIT,
-- IMAGE_ASPECT_DEPTH_BIT or IMAGE_ASPECT_STENCIL_BIT if
-- format is a color, depth-only or stencil-only format,
-- respectively, except if format is a multi-planar
-- format. If using a depth/stencil format with both depth and
-- stencil components, aspectMask must include at least
-- one of IMAGE_ASPECT_DEPTH_BIT and
-- IMAGE_ASPECT_STENCIL_BIT, and can include both.
--
-- When the ImageSubresourceRange structure is used to select a
-- subset of the slices of a 3D image’s mip level in order to create a 2D
-- or 2D array image view of a 3D image created with
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, baseArrayLayer
-- and layerCount specify the first slice index and the number
-- of slices to include in the created image view. Such an image view
-- can be used as a framebuffer attachment that refers only to the
-- specified range of slices of the selected mip level. However, any
-- layout transitions performed on such an attachment view during a
-- render pass instance still apply to the entire subresource referenced
-- which includes all the slices of the selected mip level.
--
-- When using an image view of a depth/stencil image to populate a
-- descriptor set (e.g. for sampling in the shader, or for use as an
-- input attachment), the aspectMask must only include
-- one bit, which selects whether the image view is used for depth reads
-- (i.e. using a floating-point sampler or input attachment in the
-- shader) or stencil reads (i.e. using an unsigned integer sampler or
-- input attachment in the shader). When an image view of a depth/stencil
-- image is used as a depth/stencil framebuffer attachment, the
-- aspectMask is ignored and both depth and stencil image
-- subresources are used.
--
-- When creating a ImageView, if sampler Y′CBCR conversion
-- is enabled in the sampler, the aspectMask of a
-- subresourceRange used by the ImageView must be
-- IMAGE_ASPECT_COLOR_BIT.
--
-- When creating a ImageView, if sampler Y′CBCR conversion is not
-- enabled in the sampler and the image format is
-- multi-planar, the image must have been created with
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT, and the aspectMask of
-- the ImageView’s subresourceRange must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT or
-- IMAGE_ASPECT_PLANE_2_BIT.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - aspectMask must not be 0
--
--
-- See Also
--
-- VK_VERSION_1_0, ImageAspectFlags,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageViewCreateInfo, cmdClearColorImage,
-- cmdClearDepthStencilImage
data ImageSubresourceRange
ImageSubresourceRange :: ImageAspectFlags -> Word32 -> Word32 -> Word32 -> Word32 -> ImageSubresourceRange
-- | aspectMask is a bitmask of ImageAspectFlagBits
-- specifying which aspect(s) of the image are included in the view.
[$sel:aspectMask:ImageSubresourceRange] :: ImageSubresourceRange -> ImageAspectFlags
-- | baseMipLevel is the first mipmap level accessible to the
-- view.
[$sel:baseMipLevel:ImageSubresourceRange] :: ImageSubresourceRange -> Word32
-- | levelCount is the number of mipmap levels (starting from
-- baseMipLevel) accessible to the view.
[$sel:levelCount:ImageSubresourceRange] :: ImageSubresourceRange -> Word32
-- | baseArrayLayer is the first array layer accessible to the
-- view.
[$sel:baseArrayLayer:ImageSubresourceRange] :: ImageSubresourceRange -> Word32
-- | layerCount is the number of array layers (starting from
-- baseArrayLayer) accessible to the view.
[$sel:layerCount:ImageSubresourceRange] :: ImageSubresourceRange -> Word32
-- | VkImageViewCreateInfo - Structure specifying parameters of a newly
-- created image view
--
-- Description
--
-- Some of the image creation parameters are inherited by the
-- view. In particular, image view creation inherits the implicit
-- parameter usage specifying the allowed usages of the image
-- view that, by default, takes the value of the corresponding
-- usage parameter specified in ImageCreateInfo at image
-- creation time. The implicit usage can be overriden by
-- adding a ImageViewUsageCreateInfo structure to the
-- pNext chain, but the view usage must be a subset of
-- the image usage. If image has a depth-stencil format and was
-- created with a ImageStencilUsageCreateInfo structure included
-- in the pNext chain of ImageCreateInfo, the usage is
-- calculated based on the subresource.aspectMask provided:
--
--
--
-- If image was created with the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, and if the
-- format of the image is not multi-planar,
-- format can be different from the image’s format, but
-- if image was created without the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag and they are
-- not equal they must be compatible. Image format
-- compatibility is defined in the Format Compatibility Classes
-- section. Views of compatible formats will have the same mapping
-- between texel coordinates and memory locations irrespective of the
-- format, with only the interpretation of the bit pattern
-- changing.
--
-- Note
--
-- Values intended to be used with one view format may not be
-- exactly preserved when written or read through a different format. For
-- example, an integer value that happens to have the bit pattern of a
-- floating point denorm or NaN may be flushed or canonicalized
-- when written or read through a view with a floating point format.
-- Similarly, a value written through a signed normalized format that has
-- a bit pattern exactly equal to -2b may be changed to -2b + 1 as
-- described in Conversion from Normalized Fixed-Point to
-- Floating-Point.
--
-- If image was created with the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag,
-- format must be compatible with the image’s
-- format as described above, or must be an uncompressed format in
-- which case it must be size-compatible with the image’s
-- format, as defined for copying data between images. In this
-- case, the resulting image view’s texel dimensions equal the dimensions
-- of the selected mip level divided by the compressed texel block size
-- and rounded up.
--
-- The ComponentMapping components member describes a
-- remapping from components of the image to components of the vector
-- returned by shader image instructions. This remapping must be
-- the identity swizzle for storage image descriptors, input attachment
-- descriptors, framebuffer attachments, and any ImageView used
-- with a combined image sampler that enables sampler Y’CBCR
-- conversion.
--
-- If the image view is to be used with a sampler which supports
-- sampler Y′CBCR conversion, an identically defined object
-- of type SamplerYcbcrConversion to that used to create the
-- sampler must be passed to createImageView in a
-- SamplerYcbcrConversionInfo included in the pNext chain
-- of ImageViewCreateInfo. Conversely, if a
-- SamplerYcbcrConversion object is passed to
-- createImageView, an identically defined
-- SamplerYcbcrConversion object must be used when sampling
-- the image.
--
-- If the image has a multi-planar format and
-- subresourceRange.aspectMask is IMAGE_ASPECT_COLOR_BIT,
-- then the format must be identical to the image
-- format, and the sampler to be used with the image view
-- must enable sampler Y′CBCR conversion.
--
-- If image was created with the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT and the image has a
-- multi-planar format, and if
-- subresourceRange.aspectMask is
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT, format must be
-- compatible with the corresponding plane of the image, and the
-- sampler to be used with the image view must not enable
-- sampler Y′CBCR conversion. The width and
-- height of the single-plane image view must be derived
-- from the multi-planar image’s dimensions in the manner listed for
-- plane compatibility for the plane.
--
-- Any view of an image plane will have the same mapping between texel
-- coordinates and memory locations as used by the components of the
-- color aspect, subject to the formulae relating texel coordinates to
-- lower-resolution planes as described in Chroma Reconstruction.
-- That is, if an R or B plane has a reduced resolution relative to the G
-- plane of the multi-planar image, the image view operates using the
-- (uplane, vplane) unnormalized coordinates of the
-- reduced-resolution plane, and these coordinates access the same memory
-- locations as the (ucolor, vcolor) unnormalized
-- coordinates of the color aspect for which chroma reconstruction
-- operations operate on the same (uplane, vplane) or
-- (iplane, jplane) coordinates.
--
-- TODO: table
--
-- Image type and image view type compatibility requirements
--
-- Valid Usage
--
--
--
--
-- - If the image cube map arrays feature is not enabled,
-- viewType must not be
-- IMAGE_VIEW_TYPE_CUBE_ARRAY
-- - If image was created with IMAGE_TYPE_3D but
-- without IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT set then
-- viewType must not be IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY
-- - If image was created with IMAGE_TYPE_3D and
-- viewType is IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY then
-- subresourceRange.levelCount must be 1
-- - If image was created with IMAGE_TYPE_3D and
-- viewType is IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY then flags must not
-- contain any of IMAGE_CREATE_SPARSE_BINDING_BIT,
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT, and
-- IMAGE_CREATE_SPARSE_ALIASED_BIT
-- - If image was created with a samples value not
-- equal to SAMPLE_COUNT_1_BIT then viewType must
-- be either IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY
-- - image must have been created with a usage
-- value containing at least one of the usages defined in the valid
-- image usage list for image views
-- - The format features of the resultant image view must
-- contain at least one bit
-- - If usage contains IMAGE_USAGE_SAMPLED_BIT, then
-- the format features of the resultant image view must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_BIT
-- - If usage contains IMAGE_USAGE_STORAGE_BIT, then
-- the image view’s format features must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_BIT
-- - If usage contains
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT, then the image view’s
-- format features must contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - If usage contains
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, then the image view’s
-- format features must contain
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If usage contains
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT, then the image view’s
-- format features must contain at least one of
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - subresourceRange.baseMipLevel must be less than
-- the mipLevels specified in ImageCreateInfo when
-- image was created
-- - If subresourceRange.levelCount is not
-- REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel +
-- subresourceRange.levelCount must be less than or equal
-- to the mipLevels specified in ImageCreateInfo when
-- image was created
-- - If image was created with usage containing
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
-- subresourceRange.levelCount must be 1
-- - If image is not a 3D image created with
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT set, or viewType
-- is not IMAGE_VIEW_TYPE_2D or IMAGE_VIEW_TYPE_2D_ARRAY,
-- subresourceRange.baseArrayLayer must be less than the
-- arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS, image is not a 3D image
-- created with IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT set, or
-- viewType is not IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY, subresourceRange.layerCount
-- must be non-zero and subresourceRange.baseArrayLayer +
-- subresourceRange.layerCount must be less than or equal
-- to the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If image is a 3D image created with
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT set, and viewType
-- is IMAGE_VIEW_TYPE_2D or IMAGE_VIEW_TYPE_2D_ARRAY,
-- subresourceRange.baseArrayLayer must be less than the
-- depth computed from baseMipLevel and extent.depth
-- specified in ImageCreateInfo when image was created,
-- according to the formula defined in Image Miplevel Sizing
-- - If subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS, image is a 3D image created
-- with IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT set, and
-- viewType is IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY, subresourceRange.layerCount
-- must be non-zero and subresourceRange.baseArrayLayer +
-- subresourceRange.layerCount must be less than or equal
-- to the depth computed from baseMipLevel and
-- extent.depth specified in ImageCreateInfo when
-- image was created, according to the formula defined in
-- Image Miplevel Sizing
-- - If image was created with the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, but without the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag, and if the
-- format of the image is not a multi-planar
-- format, format must be compatible with the
-- format used to create image, as defined in Format
-- Compatibility Classes
-- - If image was created with the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag,
-- format must be compatible with, or must be an
-- uncompressed format that is size-compatible with, the format
-- used to create image
-- - If image was created with the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag, the
-- levelCount and layerCount members of
-- subresourceRange must both be 1
-- - If image was created with the
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag and
-- format is a non-compressed format, viewType
-- must not be IMAGE_VIEW_TYPE_3D
-- - If a ImageFormatListCreateInfo structure was included in
-- the pNext chain of the ImageCreateInfo structure used
-- when creating image and
-- ImageFormatListCreateInfo::viewFormatCount is not zero
-- then format must be one of the formats in
-- ImageFormatListCreateInfo::pViewFormats
-- - If image was created with the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, if the format of
-- the image is a multi-planar format, and if
-- subresourceRange.aspectMask is one of
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT, then format must be
-- compatible with the Format for the plane of the image
-- format indicated by subresourceRange.aspectMask, as
-- defined in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes
-- - If image was not created with the
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, or if the format
-- of the image is a multi-planar format and if
-- subresourceRange.aspectMask is IMAGE_ASPECT_COLOR_BIT,
-- format must be identical to the format used
-- to create image
-- - If the image format is one of the formats that require
-- a sampler Y’CBCR conversion, then the pNext chain
-- must include a SamplerYcbcrConversionInfo structure with
-- a conversion value other than NULL_HANDLE
-- - If format has a _422 or _420 suffix
-- then image must have been created with a width that is
-- a multiple of 2
-- - If format has a _420 suffix then image
-- must have been created with a height that is a multiple of
-- 2
-- - If the pNext chain includes a
-- SamplerYcbcrConversionInfo structure with a conversion
-- value other than NULL_HANDLE, all members of
-- components must have the identity swizzle
-- - If image is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - viewType must be compatible with the type of
-- image as shown in the view type compatibility
-- table
-- - If image has an external format, format
-- must be FORMAT_UNDEFINED
-- - If image has an external format, the
-- pNext chain must include a
-- SamplerYcbcrConversionInfo structure with a conversion
-- object created with the same external format as image
-- - If image has an external format, all members of
-- components must be the identity swizzle
-- - If image was created with usage containing
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
-- viewType must be IMAGE_VIEW_TYPE_2D or
-- IMAGE_VIEW_TYPE_2D_ARRAY
-- - If the shadingRateImage feature is enabled, and If
-- image was created with usage containing
-- IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, format
-- must be FORMAT_R8_UINT
-- - If the attachmentFragmentShadingRate feature is enabled,
-- and the usage for the image view includes
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, then the
-- image view’s format features must contain
-- FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the attachmentFragmentShadingRate feature is enabled,
-- the usage for the image view includes
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, and
-- layeredShadingRateAttachments is FALSE,
-- subresourceRange.layerCount must be 1
-- - If dynamic fragment density map feature is not enabled,
-- flags must not contain
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
-- - If deferred fragment density map feature is not enabled,
-- flags must not contain
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
-- - If flags contains
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT,
-- flags must not contain
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
-- - If image was created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT and usage containing
-- IMAGE_USAGE_SAMPLED_BIT, subresourceRange.layerCount
-- must be less than or equal to
-- ::maxSubsampledArrayLayers
-- - If the invocationMask feature is enabled, and if
-- image was created with usage containing
-- IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, format
-- must be FORMAT_R8_UINT
-- - If flags does not contain
-- IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT and
-- image was created with usage containing
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, its flags
-- must not contain any of IMAGE_CREATE_PROTECTED_BIT,
-- IMAGE_CREATE_SPARSE_BINDING_BIT,
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or
-- IMAGE_CREATE_SPARSE_ALIASED_BIT
-- - If the pNext chain includes a
-- ImageViewUsageCreateInfo structure, and image was not
-- created with a ImageStencilUsageCreateInfo structure included
-- in the pNext chain of ImageCreateInfo, its
-- usage member must not include any bits that were not
-- set in the usage member of the ImageCreateInfo
-- structure used to create image
-- - If the pNext chain includes a
-- ImageViewUsageCreateInfo structure, image was created
-- with a ImageStencilUsageCreateInfo structure included in the
-- pNext chain of ImageCreateInfo, and
-- subresourceRange.aspectMask includes
-- IMAGE_ASPECT_STENCIL_BIT, the usage member of the
-- ImageViewUsageCreateInfo structure must not include any
-- bits that were not set in the usage member of the
-- ImageStencilUsageCreateInfo structure used to create
-- image
-- - If the pNext chain includes a
-- ImageViewUsageCreateInfo structure, image was created
-- with a ImageStencilUsageCreateInfo structure included in the
-- pNext chain of ImageCreateInfo, and
-- subresourceRange.aspectMask includes bits other than
-- IMAGE_ASPECT_STENCIL_BIT, the usage member of the
-- ImageViewUsageCreateInfo structure must not include any
-- bits that were not set in the usage member of the
-- ImageCreateInfo structure used to create image
-- - If viewType is IMAGE_VIEW_TYPE_1D,
-- IMAGE_VIEW_TYPE_2D, or IMAGE_VIEW_TYPE_3D; and
-- subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS, then
-- subresourceRange.layerCount must be 1
-- - If viewType is IMAGE_VIEW_TYPE_1D,
-- IMAGE_VIEW_TYPE_2D, or IMAGE_VIEW_TYPE_3D; and
-- subresourceRange.layerCount is REMAINING_ARRAY_LAYERS,
-- then the remaining number of layers must be 1
-- - If viewType is IMAGE_VIEW_TYPE_CUBE and
-- subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS, subresourceRange.layerCount
-- must be 6
-- - If viewType is IMAGE_VIEW_TYPE_CUBE_ARRAY and
-- subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS, subresourceRange.layerCount
-- must be a multiple of 6
-- - If viewType is IMAGE_VIEW_TYPE_CUBE and
-- subresourceRange.layerCount is REMAINING_ARRAY_LAYERS,
-- the remaining number of layers must be 6
-- - If viewType is IMAGE_VIEW_TYPE_CUBE_ARRAY and
-- subresourceRange.layerCount is REMAINING_ARRAY_LAYERS,
-- the remaining number of layers must be a multiple of
-- 6
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::imageViewFormatSwizzle
-- is FALSE, all elements of components must have
-- the identity swizzle
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::imageViewFormatReinterpretation
-- is FALSE, the Format in format must not
-- contain a different number of components, or a different number of
-- bits in each component, than the format of the Image in
-- image
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ComponentMapping, Format,
-- Image, ImageSubresourceRange,
-- ImageViewCreateFlags, ImageViewType,
-- StructureType, createImageView
data ImageViewCreateInfo (es :: [Type])
ImageViewCreateInfo :: Chain es -> ImageViewCreateFlags -> Image -> ImageViewType -> Format -> ComponentMapping -> ImageSubresourceRange -> ImageViewCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of ImageViewCreateFlagBits
-- describing additional parameters of the image view.
[$sel:flags:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> ImageViewCreateFlags
-- | image is a Image on which the view will be created.
[$sel:image:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> Image
-- | viewType is a ImageViewType value specifying the type
-- of the image view.
[$sel:viewType:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> ImageViewType
-- | format is a Format describing the format and type used
-- to interpret texel blocks in the image.
[$sel:format:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> Format
-- | components is a ComponentMapping structure specifying
-- a remapping of color components (or of depth or stencil components
-- after they have been converted into color components).
[$sel:components:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> ComponentMapping
-- | subresourceRange is a ImageSubresourceRange structure
-- selecting the set of mipmap levels and array layers to be accessible
-- to the view.
[$sel:subresourceRange:ImageViewCreateInfo] :: ImageViewCreateInfo (es :: [Type]) -> ImageSubresourceRange
-- | VkImageView - Opaque handle to an image view object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorImageInfo,
-- FramebufferCreateInfo, ImageViewHandleInfoNVX,
-- RenderPassAttachmentBeginInfo,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- VkVideoPictureResourceKHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, createImageView,
-- destroyImageView, getImageViewAddressNVX
newtype ImageView
ImageView :: Word64 -> ImageView
-- | VkImageViewType - Image view types
--
-- See Also
--
-- VK_VERSION_1_0, ImageViewCreateInfo,
-- PhysicalDeviceImageViewImageFormatInfoEXT
newtype ImageViewType
ImageViewType :: Int32 -> ImageViewType
pattern IMAGE_VIEW_TYPE_1D :: ImageViewType
pattern IMAGE_VIEW_TYPE_2D :: ImageViewType
pattern IMAGE_VIEW_TYPE_3D :: ImageViewType
pattern IMAGE_VIEW_TYPE_CUBE :: ImageViewType
pattern IMAGE_VIEW_TYPE_1D_ARRAY :: ImageViewType
pattern IMAGE_VIEW_TYPE_2D_ARRAY :: ImageViewType
pattern IMAGE_VIEW_TYPE_CUBE_ARRAY :: ImageViewType
-- | VkComponentSwizzle - Specify how a component is swizzled
--
-- Description
--
-- Setting the identity swizzle on a component is equivalent to setting
-- the identity mapping on that component. That is:
--
-- TODO: table
--
-- Component Mappings Equivalent To COMPONENT_SWIZZLE_IDENTITY
--
-- See Also
--
-- VK_VERSION_1_0, ComponentMapping
newtype ComponentSwizzle
ComponentSwizzle :: Int32 -> ComponentSwizzle
-- | COMPONENT_SWIZZLE_IDENTITY specifies that the component is set
-- to the identity swizzle.
pattern COMPONENT_SWIZZLE_IDENTITY :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_ZERO specifies that the component is set to
-- zero.
pattern COMPONENT_SWIZZLE_ZERO :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_ONE specifies that the component is set to
-- either 1 or 1.0, depending on whether the type of the image view
-- format is integer or floating-point respectively, as determined by the
-- Format Definition section for each Format.
pattern COMPONENT_SWIZZLE_ONE :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_R specifies that the component is set to the
-- value of the R component of the image.
pattern COMPONENT_SWIZZLE_R :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_G specifies that the component is set to the
-- value of the G component of the image.
pattern COMPONENT_SWIZZLE_G :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_B specifies that the component is set to the
-- value of the B component of the image.
pattern COMPONENT_SWIZZLE_B :: ComponentSwizzle
-- | COMPONENT_SWIZZLE_A specifies that the component is set to the
-- value of the A component of the image.
pattern COMPONENT_SWIZZLE_A :: ComponentSwizzle
-- | VkImageViewCreateFlagBits - Bitmask specifying additional parameters
-- of an image view
--
-- See Also
--
-- VK_VERSION_1_0, ImageViewCreateFlags
newtype ImageViewCreateFlagBits
ImageViewCreateFlagBits :: Flags -> ImageViewCreateFlagBits
-- | IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
-- specifies that the fragment density map will be read by the host
-- during endCommandBuffer for the primary command buffer that the
-- render pass is recorded into
pattern IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT :: ImageViewCreateFlagBits
-- | IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
-- specifies that the fragment density map will be read by device during
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
pattern IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT :: ImageViewCreateFlagBits
type ImageViewCreateFlags = ImageViewCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.ImageView.ComponentMapping
instance GHC.Classes.Eq Vulkan.Core10.ImageView.ImageSubresourceRange
instance GHC.Show.Show Vulkan.Core10.ImageView.ComponentMapping
instance GHC.Show.Show Vulkan.Core10.ImageView.ImageSubresourceRange
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.ImageView.ImageViewCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.ImageView.ImageViewCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.ImageView.ImageViewCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.ImageView.ImageViewCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.ImageView.ImageViewCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.ImageView.ImageViewCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.ImageView.ImageViewCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.ImageView.ImageSubresourceRange
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.ImageView.ImageSubresourceRange
instance Foreign.Storable.Storable Vulkan.Core10.ImageView.ImageSubresourceRange
instance Vulkan.Zero.Zero Vulkan.Core10.ImageView.ImageSubresourceRange
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.ImageView.ComponentMapping
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.ImageView.ComponentMapping
instance Foreign.Storable.Storable Vulkan.Core10.ImageView.ComponentMapping
instance Vulkan.Zero.Zero Vulkan.Core10.ImageView.ComponentMapping
-- | Name
--
-- VK_KHR_synchronization2 - device extension
--
-- VK_KHR_synchronization2
--
--
-- - Name String VK_KHR_synchronization2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 315
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-12-03
--
--
--
-- - Interactions and External Dependencies
--
- Interacts with
-- VK_KHR_create_renderpass2
-- - Contributors
--
--
-- Description
--
-- This extension modifies the original core synchronization APIs to
-- simplify the interface and improve usability of these APIs. It also
-- adds new pipeline stage and access flag types that extend into the
-- 64-bit range, as we have run out within the 32-bit range. The new
-- flags are identical to the old values within the 32-bit range, with
-- new stages and bits beyond that.
--
-- Pipeline stages and access flags are now specified together in memory
-- barrier structures, making the connection between the two more
-- obvious. Additionally, scoping the pipeline stages into the barrier
-- structs allows the use of the MEMORY_READ and
-- MEMORY_WRITE flags without sacrificing precision. The
-- per-stage access flags should be used to disambiguate specific
-- accesses in a given stage or set of stages - for instance, between
-- uniform reads and sampling operations.
--
-- Layout transitions have been simplified as well; rather than requiring
-- a different set of layouts for depth/stencil/color attachments, there
-- are generic IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR and
-- IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR layouts which are
-- contextually applied based on the image format. For example, for a
-- depth format image, IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR.
-- IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR also functionally replaces
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL.
--
-- Events are now more efficient, because they include memory dependency
-- information when you set them on the device. Previously, this
-- information was only known when waiting on an event, so the
-- dependencies could not be satisfied until the wait occurred. That
-- sometimes meant stalling the pipeline when the wait occurred. The new
-- API provides enough information for implementations to satisfy these
-- dependencies in parallel with other tasks.
--
-- Queue submission has been changed to wrap command buffers and
-- semaphores in extensible structures, which incorporate changes from
-- Vulkan 1.1, VK_KHR_device_group, and
-- VK_KHR_timeline_semaphore. This also adds a pipeline stage to
-- the semaphore signal operation, mirroring the existing pipeline stage
-- specification for wait operations.
--
-- Other miscellaneous changes include:
--
--
-- - Events can now be specified as interacting only with the device,
-- allowing more efficient access to the underlying object.
-- - Image memory barriers that do not perform an image layout
-- transition can be specified by setting oldLayout equal to
-- newLayout.
- E.g. the old and new layout can both be set
-- to IMAGE_LAYOUT_UNDEFINED, without discarding data in the
-- image.
-- - Queue family ownership transfer parameters are simplified in some
-- cases.
-- - Where two synchronization commands need to be matched up (queue
-- transfer operations, events), the dependency information specified in
-- each place must now match completely for consistency.
-- - Extensions with commands or functions with a
-- PipelineStageFlags or PipelineStageFlagBits parameter
-- have had those APIs replaced with equivalents using
-- PipelineStageFlags2KHR.
-- - The new event and barrier interfaces are now more extensible for
-- future changes.
-- - Relevant pipeline stage masks can now be specified as empty with
-- the new PIPELINE_STAGE_NONE_KHR and
-- PIPELINE_STAGE_2_NONE_KHR values.
-- - MemoryBarrier2KHR can be chained to
-- SubpassDependency2, overriding the original 32-bit stage and
-- access masks.
--
--
-- New Base Types
--
--
--
-- New Commands
--
--
--
--
--
-- If VK_AMD_buffer_marker is supported:
--
--
--
-- If VK_NV_device_diagnostic_checkpoints is supported:
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_NV_device_diagnostic_checkpoints is supported:
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_EXT_blend_operation_advanced is supported:
--
--
--
-- If VK_EXT_conditional_rendering is supported:
--
--
--
-- If VK_EXT_fragment_density_map is supported:
--
--
--
-- If VK_EXT_transform_feedback is supported:
--
--
--
-- If VK_KHR_acceleration_structure is supported:
--
--
--
-- If VK_KHR_fragment_shading_rate is supported:
--
--
--
-- If VK_KHR_ray_tracing_pipeline is supported:
--
--
--
-- If VK_NV_device_diagnostic_checkpoints is supported:
--
--
--
-- If VK_NV_device_generated_commands is supported:
--
--
--
-- If VK_NV_mesh_shader is supported:
--
--
--
-- If VK_NV_ray_tracing is supported:
--
--
--
-- If VK_NV_shading_rate_image is supported:
--
--
--
-- Examples
--
-- See
-- https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples
--
-- Version History
--
--
-- - Revision 1, 2020-12-03 (Tobias Hector)
--
--
-- See Also
--
-- AccessFlagBits2KHR, AccessFlags2KHR,
-- BufferMemoryBarrier2KHR, CommandBufferSubmitInfoKHR,
-- DependencyInfoKHR, Flags64,
-- ImageMemoryBarrier2KHR, MemoryBarrier2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PipelineStageFlagBits2KHR, PipelineStageFlags2KHR,
-- SemaphoreSubmitInfoKHR, SubmitFlagBitsKHR,
-- SubmitFlagsKHR, SubmitInfo2KHR,
-- cmdPipelineBarrier2KHR, cmdResetEvent2KHR,
-- cmdSetEvent2KHR, cmdWaitEvents2KHR,
-- cmdWriteTimestamp2KHR, queueSubmit2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_synchronization2
-- | vkCmdSetEvent2KHR - Set an event object to signaled state
--
-- Description
--
-- When cmdSetEvent2KHR is submitted to a queue, it defines the
-- first half of memory dependencies defined by pDependencyInfo,
-- as well as an event signal operation which sets the event to the
-- signaled state. A memory dependency is defined between the event
-- signal operation and commands that occur earlier in submission order.
--
-- The first synchronization scope and access scope are
-- defined by the union of all the memory dependencies defined by
-- pDependencyInfo, and are applied to all operations that occur
-- earlier in submission order. Queue family ownership
-- transfers and image layout transitions defined by
-- pDependencyInfo are also included in the first scopes.
--
-- The second synchronization scope includes only the event signal
-- operation, and any queue family ownership transfers and
-- image layout transitions defined by pDependencyInfo.
--
-- The second access scope includes only queue family ownership
-- transfers and image layout transitions.
--
-- Future cmdWaitEvents2KHR commands rely on all values of each
-- element in pDependencyInfo matching exactly with those used
-- to signal the corresponding event. cmdWaitEvents must
-- not be used to wait on the result of a signal operation defined by
-- cmdSetEvent2KHR.
--
-- Note
--
-- The extra information provided by cmdSetEvent2KHR compared to
-- cmdSetEvent allows implementations to more efficiently schedule
-- the operations required to satisfy the requested dependencies. With
-- cmdSetEvent, the full dependency information is not known until
-- cmdWaitEvents is recorded, forcing implementations to insert
-- the required operations at that point and not before.
--
-- If event is already in the signaled state when
-- cmdSetEvent2KHR is executed on the device, then
-- cmdSetEvent2KHR has no effect, no event signal operation
-- occurs, and no dependency is generated.
--
-- Valid Usage
--
--
--
--
-- - The dependencyFlags member of pDependencyInfo
-- must be 0
-- - The current device mask of commandBuffer must
-- include exactly one physical device
-- - The srcStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfo
-- must only include pipeline stages valid for the queue family
-- that was used to create the command pool that commandBuffer
-- was allocated from
-- - The dstStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfo
-- must only include pipeline stages valid for the queue family
-- that was used to create the command pool that commandBuffer
-- was allocated from
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - event must be a valid Event handle
-- - pDependencyInfo must be a valid pointer to a valid
-- DependencyInfoKHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and event must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer,
-- DependencyInfoKHR, Event
cmdSetEvent2KHR :: forall io. MonadIO io => CommandBuffer -> Event -> DependencyInfoKHR -> io ()
-- | vkCmdResetEvent2KHR - Reset an event object to non-signaled state
--
-- Description
--
-- When cmdResetEvent2KHR is submitted to a queue, it defines an
-- execution dependency on commands that were submitted before it, and
-- defines an event unsignal operation which resets the event to the
-- unsignaled state.
--
-- The first synchronization scope includes all commands that
-- occur earlier in submission order. The synchronization scope is
-- limited to operations by stageMask or stages that are
-- logically earlier than stageMask.
--
-- The second synchronization scope includes only the event
-- unsignal operation.
--
-- If event is already in the unsignaled state when
-- cmdResetEvent2KHR is executed on the device, then this command
-- has no effect, no event unsignal operation occurs, and no execution
-- dependency is generated.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - event must be a valid Event handle
-- - stageMask must be a valid combination of
-- PipelineStageFlagBits2KHR values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and event must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer, Event,
-- PipelineStageFlags2KHR
cmdResetEvent2KHR :: forall io. MonadIO io => CommandBuffer -> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> io ()
-- | vkCmdWaitEvents2KHR - Wait for one or more events
--
-- Description
--
-- When cmdWaitEvents2KHR is submitted to a queue, it inserts
-- memory dependencies according to the elements of
-- pDependencyInfos and each corresponding element of
-- pEvents. cmdWaitEvents2KHR must not be used to
-- wait on event signal operations occurring on other queues, or signal
-- operations execyted by cmdSetEvent.
--
-- The first synchronization scope and access scope of each
-- memory dependency defined by any element i of
-- pDependencyInfos are applied to operations that occurred
-- earlier in submission order than the last event signal
-- operation on element i of pEvents.
--
-- Signal operations for an event at index i are only included if:
--
--
--
-- The second synchronization scope and access scope of
-- each memory dependency defined by any element i of
-- pDependencyInfos are applied to operations that occurred
-- later in submission order than cmdWaitEvents2KHR.
--
-- Note
--
-- cmdWaitEvents2KHR is used with cmdSetEvent2KHR to define
-- a memory dependency between two sets of action commands, roughly in
-- the same way as pipeline barriers, but split into two commands such
-- that work between the two may execute unhindered.
--
-- Note
--
-- Applications should be careful to avoid race conditions when using
-- events. There is no direct ordering guarantee between
-- cmdSetEvent2KHR and cmdResetEvent2KHR,
-- cmdResetEvent, or cmdSetEvent. Another execution
-- dependency (e.g. a pipeline barrier or semaphore with
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR) is needed to prevent
-- such a race condition.
--
-- Valid Usage
--
--
--
--
-- - Members of pEvents must not have been signaled by
-- cmdSetEvent
-- - For any element i of pEvents, if that event is signaled
-- by cmdSetEvent2KHR, that command’s dependencyInfo
-- parameter must be exactly equal to the ith element of
-- pDependencyInfos
-- - For any element i of pEvents, if that event is signaled
-- by setEvent, barriers in the ith element of
-- pDependencyInfos must include only host operations in
-- their first synchronization scope
-- - For any element i of pEvents, if barriers in the ith
-- element of pDependencyInfos include only host operations, the
-- ith element of pEvents must be signaled before
-- cmdWaitEvents2KHR is executed
-- - For any element i of pEvents, if barriers in the ith
-- element of pDependencyInfos do not include host operations,
-- the ith element of pEvents must be signaled by a
-- corresponding cmdSetEvent2KHR that occurred earlier in
-- submission order
-- - The srcStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfos
-- must either include only pipeline stages valid for the queue
-- family that was used to create the command pool that
-- commandBuffer was allocated from, or include only
-- PIPELINE_STAGE_2_HOST_BIT_KHR
-- - The dstStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfos
-- must only include pipeline stages valid for the queue family
-- that was used to create the command pool that commandBuffer
-- was allocated from
-- - The dependencyFlags member of any element of
-- pDependencyInfo must be 0
-- - If pEvents includes one or more events that will be
-- signaled by setEvent after commandBuffer has been
-- submitted to a queue, then cmdWaitEvents2KHR must not be
-- called inside a render pass instance
-- - commandBuffer’s current device mask must include
-- exactly one physical device
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pEvents must be a valid pointer to an array of
-- eventCount valid Event handles
-- - pDependencyInfos must be a valid pointer to an
-- array of eventCount valid DependencyInfoKHR
-- structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - eventCount must be greater than 0
-- - Both of commandBuffer, and the elements of
-- pEvents must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer,
-- DependencyInfoKHR, Event
cmdWaitEvents2KHR :: forall io. MonadIO io => CommandBuffer -> ("events" ::: Vector Event) -> ("dependencyInfos" ::: Vector DependencyInfoKHR) -> io ()
-- | A variant of cmdWaitEvents2KHR which makes a *safe* FFI call
cmdWaitEvents2KHRSafe :: forall io. MonadIO io => CommandBuffer -> ("events" ::: Vector Event) -> ("dependencyInfos" ::: Vector DependencyInfoKHR) -> io ()
-- | vkCmdPipelineBarrier2KHR - Insert a memory dependency
--
-- Description
--
-- When cmdPipelineBarrier2KHR is submitted to a queue, it defines
-- memory dependencies between commands that were submitted before it,
-- and those submitted after it.
--
-- The first synchronization scope and access scope of each
-- memory dependency defined by pDependencyInfo are applied to
-- operations that occurred earlier in submission order.
--
-- The second synchronization scope and access scope of
-- each memory dependency defined by pDependencyInfo are applied
-- to operations that occurred later in submission order.
--
-- If cmdPipelineBarrier2KHR is recorded within a render pass
-- instance, the synchronization scopes are limited to operations
-- within the same subpass.
--
-- Valid Usage
--
--
--
--
-- - If cmdPipelineBarrier2KHR is called within a render pass
-- instance, it must not include any buffer memory barriers
-- - If cmdPipelineBarrier2KHR is called within a render pass
-- instance, the image member of any image memory barrier
-- included in this command must be an attachment used in the
-- current subpass both as an input attachment, and as either a color or
-- depth/stencil attachment
-- - If cmdPipelineBarrier2KHR is called within a render pass
-- instance, the oldLayout and newLayout members of any
-- image memory barrier included in this command must be
-- equal
-- - If cmdPipelineBarrier2KHR is called within a render pass
-- instance, the srcQueueFamilyIndex and
-- dstQueueFamilyIndex members of any image memory barrier
-- included in this command must be equal
-- - If cmdPipelineBarrier2KHR is called outside of a render
-- pass instance, DEPENDENCY_VIEW_LOCAL_BIT must not be
-- included in the dependency flags
-- - If cmdPipelineBarrier2KHR is called within a render pass
-- instance, the render pass must not have been started with
-- cmdBeginRenderingKHR
-- - The synchronization2 feature must be enabled
-- - The srcStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfo
-- must only include pipeline stages valid for the queue family
-- that was used to create the command pool that commandBuffer
-- was allocated from
-- - The dstStageMask member of any element of the
-- pMemoryBarriers, pBufferMemoryBarriers, or
-- pImageMemoryBarriers members of pDependencyInfo
-- must only include pipeline stages valid for the queue family
-- that was used to create the command pool that commandBuffer
-- was allocated from
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pDependencyInfo must be a valid pointer to a valid
-- DependencyInfoKHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer,
-- DependencyInfoKHR
cmdPipelineBarrier2KHR :: forall io. MonadIO io => CommandBuffer -> DependencyInfoKHR -> io ()
-- | vkQueueSubmit2KHR - Submits command buffers to a queue
--
-- Description
--
-- queueSubmit2KHR is a queue submission command, with each
-- batch defined by an element of pSubmits.
--
-- Semaphore operations submitted with queueSubmit2KHR have
-- additional ordering constraints compared to other submission commands,
-- with dependencies involving previous and subsequent queue operations.
-- Information about these additional constraints can be found in the
-- semaphore section of the synchronization chapter.
--
-- If any command buffer submitted to this queue is in the executable
-- state, it is moved to the pending state. Once execution of
-- all submissions of a command buffer complete, it moves from the
-- pending state, back to the executable state. If a
-- command buffer was recorded with the
-- COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT flag, it instead moves
-- back to the invalid state.
--
-- If queueSubmit2KHR fails, it may return
-- ERROR_OUT_OF_HOST_MEMORY or ERROR_OUT_OF_DEVICE_MEMORY.
-- If it does, the implementation must ensure that the state and
-- contents of any resources or synchronization primitives referenced by
-- the submitted command buffers and any semaphores referenced by
-- pSubmits is unaffected by the call or its failure. If
-- queueSubmit2KHR fails in such a way that the implementation is
-- unable to make that guarantee, the implementation must return
-- ERROR_DEVICE_LOST. See Lost Device.
--
-- Valid Usage
--
--
-- - If fence is not NULL_HANDLE, fence
-- must be unsignaled
--
--
--
-- - If fence is not NULL_HANDLE, fence
-- must not be associated with any other queue command that has
-- not yet completed execution on that queue
-- - The synchronization2 feature must be enabled
-- - If a command recorded into the commandBuffer member of
-- any element of the pCommandBufferInfos member of any element
-- of pSubmits referenced an Event, that event
-- must not be referenced by a command that has been submitted to
-- another queue and is still in the pending state
-- - The semaphore member of any binary semaphore element of
-- the pSignalSemaphoreInfos member of any element of
-- pSubmits must be unsignaled when the semaphore signal
-- operation it defines is executed on the device
-- - The stageMask member of any element of the
-- pSignalSemaphoreInfos member of any element of
-- pSubmits must only include pipeline stages that are
-- supported by the queue family which queue belongs to
-- - The stageMask member of any element of the
-- pWaitSemaphoreInfos member of any element of
-- pSubmits must only include pipeline stages that are
-- supported by the queue family which queue belongs to
-- - When a semaphore wait operation for a binary semaphore is
-- executed, as defined by the semaphore member of any element
-- of the pWaitSemaphoreInfos member of any element of
-- pSubmits, there must be no other queues waiting on the
-- same semaphore
-- - The semaphore member of any element of the
-- pWaitSemaphoreInfos member of any element of
-- pSubmits must be semaphores that are signaled, or have
-- semaphore signal operations previously submitted for
-- execution
-- - Any semaphore member of any element of the
-- pWaitSemaphoreInfos member of any element of
-- pSubmits that was created with a SemaphoreTypeKHR of
-- SEMAPHORE_TYPE_BINARY_KHR must reference a semaphore
-- signal operation that has been submitted for execution and any
-- semaphore signal operations on which it depends (if any) must
-- have also been submitted for execution
-- - The commandBuffer member of any element of the
-- pCommandBufferInfos member of any element of
-- pSubmits must be in the pending or executable
-- state
-- - If a command recorded into the commandBuffer member of
-- any element of the pCommandBufferInfos member of any element
-- of pSubmits was not recorded with the
-- COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not
-- be in the pending state
-- - Any secondary command buffers recorded into the
-- commandBuffer member of any element of the
-- pCommandBufferInfos member of any element of
-- pSubmits must be in the pending or executable
-- state
-- - If any secondary command buffers recorded into the
-- commandBuffer member of any element of the
-- pCommandBufferInfos member of any element of
-- pSubmits was not recorded with the
-- COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not
-- be in the pending state
-- - The commandBuffer member of any element of the
-- pCommandBufferInfos member of any element of
-- pSubmits must have been allocated from a
-- CommandPool that was created for the same queue family
-- queue belongs to
-- - If a command recorded into the commandBuffer member of
-- any element of the pCommandBufferInfos member of any element
-- of pSubmits includes a Queue Family Transfer Acquire
-- Operation, there must exist a previously submitted Queue
-- Family Transfer Release Operation on a queue in the queue family
-- identified by the acquire operation, with parameters matching the
-- acquire operation as defined in the definition of such acquire
-- operations, and which happens before the acquire operation
-- - If a command recorded into the commandBuffer member of
-- any element of the pCommandBufferInfos member of any element
-- of pSubmits was a cmdBeginQuery whose
-- queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, the profiling lock
-- must have been held continuously on the Device that
-- queue was retrieved from, throughout recording of those
-- command buffers
-- - If queue was not created with
-- DEVICE_QUEUE_CREATE_PROTECTED_BIT, the flags member of
-- any element of pSubmits must not include
-- SUBMIT_PROTECTED_BIT_KHR
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - If submitCount is not 0, pSubmits
-- must be a valid pointer to an array of submitCount
-- valid SubmitInfo2KHR structures
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - Both of fence, and queue that are valid handles
-- of non-ignored parameters must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to queue must be externally
-- synchronized
--
--
--
-- - Host access to fence must be externally
-- synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, Fence, Queue,
-- SubmitInfo2KHR
queueSubmit2KHR :: forall io. MonadIO io => Queue -> ("submits" ::: Vector (SomeStruct SubmitInfo2KHR)) -> Fence -> io ()
-- | vkCmdWriteTimestamp2KHR - Write a device timestamp into a query object
--
-- Description
--
-- When cmdWriteTimestamp2KHR is submitted to a queue, it defines
-- an execution dependency on commands that were submitted before it, and
-- writes a timestamp to a query pool.
--
-- The first synchronization scope includes all commands that
-- occur earlier in submission order. The synchronization scope is
-- limited to operations on the pipeline stage specified by
-- stage.
--
-- The second synchronization scope includes only the timestamp
-- write operation.
--
-- When the timestamp value is written, the availability status of the
-- query is set to available.
--
-- Note
--
-- If an implementation is unable to detect completion and latch the
-- timer at any specific stage of the pipeline, it may instead do
-- so at any logically later stage.
--
-- Comparisons between timestamps are not meaningful if the timestamps
-- are written by commands submitted to different queues.
--
-- Note
--
-- An example of such a comparison is subtracting an older timestamp from
-- a newer one to determine the execution time of a sequence of commands.
--
-- If cmdWriteTimestamp2KHR is called while executing a render
-- pass instance that has multiview enabled, the timestamp uses N
-- consecutive query indices in the query pool (starting at
-- query) where N is the number of bits set in the view mask of
-- the subpass the command is executed in. The resulting query values are
-- determined by an implementation-dependent choice of one of the
-- following behaviors:
--
--
-- - The first query is a timestamp value and (if more than one bit is
-- set in the view mask) zero is written to the remaining queries. If two
-- timestamps are written in the same subpass, the sum of the execution
-- time of all views between those commands is the difference between the
-- first query written by each command.
-- - All N queries are timestamp values. If two timestamps are written
-- in the same subpass, the sum of the execution time of all views
-- between those commands is the sum of the difference between
-- corresponding queries written by each command. The difference between
-- corresponding queries may be the execution time of a single
-- view.
--
--
-- In either case, the application can sum the differences between
-- all N queries to determine the total execution time.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled, stage
-- must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled, stage
-- must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- stage must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - The synchronization2 feature must be enabled
-- - stage must only include a single pipeline
-- stage
-- - stage must only include stages valid for the queue
-- family that was used to create the command pool that
-- commandBuffer was allocated from
-- - queryPool must have been created with a
-- queryType of QUERY_TYPE_TIMESTAMP
-- - The query identified by queryPool and query
-- must be unavailable
-- - The command pool’s queue family must support a non-zero
-- timestampValidBits
-- - query must be less than the number of queries in
-- queryPool
-- - All queries used by the command must be unavailable
-- - If cmdWriteTimestamp2KHR is called within a render pass
-- instance, the sum of query and the number of bits set in the
-- current subpass’s view mask must be less than or equal to the
-- number of queries in queryPool
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - stage must be a valid combination of
-- PipelineStageFlagBits2KHR values
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer,
-- PipelineStageFlags2KHR, QueryPool
cmdWriteTimestamp2KHR :: forall io. MonadIO io => CommandBuffer -> PipelineStageFlags2KHR -> QueryPool -> ("query" ::: Word32) -> io ()
-- | vkCmdWriteBufferMarker2AMD - Execute a pipelined write of a marker
-- value into a buffer
--
-- Description
--
-- The command will write the 32-bit marker value into the buffer only
-- after all preceding commands have finished executing up to at least
-- the specified pipeline stage. This includes the completion of other
-- preceding cmdWriteBufferMarker2AMD commands so long as their
-- specified pipeline stages occur either at the same time or earlier
-- than this command’s specified stage.
--
-- While consecutive buffer marker writes with the same stage
-- parameter implicitly complete in submission order, memory and
-- execution dependencies between buffer marker writes and other
-- operations must still be explicitly ordered using
-- synchronization commands. The access scope for buffer marker writes
-- falls under the ACCESS_TRANSFER_WRITE_BIT, and the pipeline
-- stages for identifying the synchronization scope must include
-- both stage and PIPELINE_STAGE_TRANSFER_BIT.
--
-- Note
--
-- Similar to cmdWriteTimestamp2KHR, if an implementation is
-- unable to write a marker at any specific pipeline stage, it may
-- instead do so at any logically later stage.
--
-- Note
--
-- Implementations may only support a limited number of pipelined
-- marker write operations in flight at a given time. Thus an excessive
-- number of marker write operations may degrade command execution
-- performance.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - stage must be a valid combination of
-- PipelineStageFlagBits2KHR values
-- - dstBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - Both of commandBuffer, and dstBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_AMD_buffer_marker, VK_KHR_synchronization2,
-- Buffer, CommandBuffer, DeviceSize,
-- PipelineStageFlags2KHR
cmdWriteBufferMarker2AMD :: forall io. MonadIO io => CommandBuffer -> PipelineStageFlags2KHR -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> io ()
-- | vkGetQueueCheckpointData2NV - Retrieve diagnostic checkpoint data
--
-- Description
--
-- If pCheckpointData is NULL, then the number of
-- checkpoint markers available is returned in
-- pCheckpointDataCount. Otherwise,
-- pCheckpointDataCount must point to a variable set by
-- the user to the number of elements in the pCheckpointData
-- array, and on return the variable is overwritten with the number of
-- structures actually written to pCheckpointData.
--
-- If pCheckpointDataCount is less than the number of checkpoint
-- markers available, at most pCheckpointDataCount structures
-- will be written.
--
-- Valid Usage
--
--
-- - The device that queue belongs to must be in the
-- lost state
--
--
-- Valid Usage (Implicit)
--
--
-- - queue must be a valid Queue handle
--
--
--
-- - pCheckpointDataCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pCheckpointDataCount is not
-- 0, and pCheckpointData is not NULL,
-- pCheckpointData must be a valid pointer to an array of
-- pCheckpointDataCount CheckpointData2NV structures
--
--
-- See Also
--
-- VK_KHR_synchronization2,
-- VK_NV_device_diagnostic_checkpoints, CheckpointData2NV,
-- Queue
getQueueCheckpointData2NV :: forall io. MonadIO io => Queue -> io ("checkpointData" ::: Vector CheckpointData2NV)
pattern PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV :: PipelineStageFlagBits2KHR
pattern ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV :: AccessFlagBits2KHR
pattern PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
pattern PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV :: PipelineStageFlagBits2KHR
pattern ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV :: AccessFlagBits2KHR
pattern ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: AccessFlagBits2KHR
pattern PIPELINE_STAGE_2_TRANSFER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | VkMemoryBarrier2KHR - Structure specifying a global memory barrier
--
-- Description
--
-- This structure defines a memory dependency affecting all device
-- memory.
--
-- The first synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by srcStageMask and
-- srcAccessMask.
--
-- The second synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by dstStageMask and
-- dstAccessMask.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, srcStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and srcAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, dstStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and dstAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, AccessFlags2KHR,
-- DependencyInfoKHR, PipelineStageFlags2KHR,
-- StructureType
data MemoryBarrier2KHR
MemoryBarrier2KHR :: PipelineStageFlags2KHR -> AccessFlags2KHR -> PipelineStageFlags2KHR -> AccessFlags2KHR -> MemoryBarrier2KHR
-- | srcStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the first synchronization
-- scope.
[$sel:srcStageMask:MemoryBarrier2KHR] :: MemoryBarrier2KHR -> PipelineStageFlags2KHR
-- | srcAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the first access scope.
[$sel:srcAccessMask:MemoryBarrier2KHR] :: MemoryBarrier2KHR -> AccessFlags2KHR
-- | dstStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the second synchronization
-- scope.
[$sel:dstStageMask:MemoryBarrier2KHR] :: MemoryBarrier2KHR -> PipelineStageFlags2KHR
-- | dstAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the second access scope.
[$sel:dstAccessMask:MemoryBarrier2KHR] :: MemoryBarrier2KHR -> AccessFlags2KHR
-- | VkImageMemoryBarrier2KHR - Structure specifying an image memory
-- barrier
--
-- Description
--
-- This structure defines a memory dependency limited to an image
-- subresource range, and can define a queue family transfer
-- operation and image layout transition for that subresource
-- range.
--
-- The first synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by srcStageMask and
-- srcAccessMask.
--
-- The second synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by dstStageMask and
-- dstAccessMask.
--
-- Both access scopes are limited to only memory accesses to
-- image in the subresource range defined by
-- subresourceRange.
--
-- If image was created with SHARING_MODE_EXCLUSIVE, and
-- srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, this memory barrier defines a queue
-- family transfer operation. When executed on a queue in the family
-- identified by srcQueueFamilyIndex, this barrier defines a
-- queue family release operation for the specified image
-- subresource range, and the second synchronization and access scopes do
-- not synchronize operations on that queue. When executed on a queue in
-- the family identified by dstQueueFamilyIndex, this barrier
-- defines a queue family acquire operation for the specified
-- image subresource range, and the first synchronization and access
-- scopes do not synchronize operations on that queue.
--
-- A queue family transfer operation is also defined if the values
-- are not equal, and either is one of the special queue family values
-- reserved for external memory ownership transfers, as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers.
-- A queue family release operation is defined when
-- dstQueueFamilyIndex is one of those values, and a queue
-- family acquire operation is defined when
-- srcQueueFamilyIndex is one of those values.
--
-- If oldLayout is not equal to newLayout, then the
-- memory barrier defines an image layout transition for the
-- specified image subresource range. If this memory barrier defines a
-- queue family transfer operation, the layout transition is only
-- executed once between the queues.
--
-- Note
--
-- When the old and new layout are equal, the layout values are ignored -
-- data is preserved no matter what values are specified, or what layout
-- the image is currently in.
--
-- If image has a multi-planar format and the image is
-- disjoint, then including IMAGE_ASPECT_COLOR_BIT in the
-- aspectMask member of subresourceRange is equivalent
-- to including IMAGE_ASPECT_PLANE_0_BIT,
-- IMAGE_ASPECT_PLANE_1_BIT, and (for three-plane formats only)
-- IMAGE_ASPECT_PLANE_2_BIT.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, srcStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and srcAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, dstStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and dstAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
-- - subresourceRange.baseMipLevel must be less than
-- the mipLevels specified in ImageCreateInfo when
-- image was created
-- - If subresourceRange.levelCount is not
-- REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel +
-- subresourceRange.levelCount must be less than or equal
-- to the mipLevels specified in ImageCreateInfo when
-- image was created
-- - subresourceRange.baseArrayLayer must be less than
-- the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS,
-- subresourceRange.baseArrayLayer +
-- subresourceRange.layerCount must be less than or equal
-- to the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If image is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then image
-- must have been created with IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition,
-- oldLayout must be IMAGE_LAYOUT_UNDEFINED or the
-- current layout of the image subresources affected by the barrier
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition,
-- newLayout must not be IMAGE_LAYOUT_UNDEFINED or
-- IMAGE_LAYOUT_PREINITIALIZED
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL then image
-- must have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then image
-- must have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR, image must
-- have been created with IMAGE_USAGE_COLOR_ATTACHMENT_BIT or
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR, image must
-- have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR then
-- image must have been created with
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR set
-- - If image has a single-plane color format or is not
-- disjoint, then the aspectMask member of
-- subresourceRange must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If image has a multi-planar format and the image is
-- disjoint, then the aspectMask member of
-- subresourceRange must include either at least one of
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, and
-- IMAGE_ASPECT_PLANE_2_BIT; or must include
-- IMAGE_ASPECT_COLOR_BIT
-- - If image has a multi-planar format with only two planes,
-- then the aspectMask member of subresourceRange
-- must not include IMAGE_ASPECT_PLANE_2_BIT
-- - If image has a depth/stencil format with both depth and
-- stencil and the separateDepthStencilLayouts feature is enabled,
-- then the aspectMask member of subresourceRange
-- must include either or both IMAGE_ASPECT_DEPTH_BIT and
-- IMAGE_ASPECT_STENCIL_BIT
-- - If image has a depth/stencil format with both depth and
-- stencil and the separateDepthStencilLayouts feature is not
-- enabled, then the aspectMask member of
-- subresourceRange must include both
-- IMAGE_ASPECT_DEPTH_BIT and IMAGE_ASPECT_STENCIL_BIT
-- - If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, at least one must not be a
-- special queue family reserved for external memory ownership transfers,
-- as described in ???
-- - If image was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal, and one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex is one
-- of the special queue family values reserved for external memory
-- transfers, the other must be QUEUE_FAMILY_IGNORED
-- - If image was created with a sharing mode of
-- SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal,
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must both be valid queue families, or one of the special queue
-- family values reserved for external memory transfers, as described in
-- ???
-- - If either srcStageMask or dstStageMask includes
-- PIPELINE_STAGE_2_HOST_BIT_KHR, srcQueueFamilyIndex and
-- dstQueueFamilyIndex must be equal
-- - If srcStageMask includes
-- PIPELINE_STAGE_2_HOST_BIT_KHR, and srcQueueFamilyIndex
-- and dstQueueFamilyIndex define a queue family ownership
-- transfer or oldLayout and newLayout define an
-- image layout transition, oldLayout must be one
-- of IMAGE_LAYOUT_PREINITIALIZED, IMAGE_LAYOUT_UNDEFINED,
-- or IMAGE_LAYOUT_GENERAL
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, AccessFlags2KHR,
-- DependencyInfoKHR, Image, ImageLayout,
-- ImageSubresourceRange, PipelineStageFlags2KHR,
-- StructureType
data ImageMemoryBarrier2KHR (es :: [Type])
ImageMemoryBarrier2KHR :: Chain es -> PipelineStageFlags2KHR -> AccessFlags2KHR -> PipelineStageFlags2KHR -> AccessFlags2KHR -> ImageLayout -> ImageLayout -> Word32 -> Word32 -> Image -> ImageSubresourceRange -> ImageMemoryBarrier2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> Chain es
-- | srcStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the first synchronization
-- scope.
[$sel:srcStageMask:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> PipelineStageFlags2KHR
-- | srcAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the first access scope.
[$sel:srcAccessMask:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> AccessFlags2KHR
-- | dstStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the second synchronization
-- scope.
[$sel:dstStageMask:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> PipelineStageFlags2KHR
-- | dstAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the second access scope.
[$sel:dstAccessMask:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> AccessFlags2KHR
-- | oldLayout is the old layout in an image layout
-- transition.
[$sel:oldLayout:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> ImageLayout
-- | newLayout is the new layout in an image layout
-- transition.
[$sel:newLayout:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> ImageLayout
-- | srcQueueFamilyIndex is the source queue family for a queue
-- family ownership transfer.
[$sel:srcQueueFamilyIndex:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> Word32
-- | dstQueueFamilyIndex is the destination queue family for a
-- queue family ownership transfer.
[$sel:dstQueueFamilyIndex:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> Word32
-- | image is a handle to the image affected by this barrier.
[$sel:image:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> Image
-- | subresourceRange describes the image subresource range
-- within image that is affected by this barrier.
[$sel:subresourceRange:ImageMemoryBarrier2KHR] :: ImageMemoryBarrier2KHR (es :: [Type]) -> ImageSubresourceRange
-- | VkBufferMemoryBarrier2KHR - Structure specifying a buffer memory
-- barrier
--
-- Description
--
-- This structure defines a memory dependency limited to a range
-- of a buffer, and can define a queue family transfer
-- operation for that range.
--
-- The first synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by srcStageMask and
-- srcAccessMask.
--
-- The second synchronization scope and access scope
-- described by this structure include only operations and memory
-- accesses specified by dstStageMask and
-- dstAccessMask.
--
-- Both access scopes are limited to only memory accesses to
-- buffer in the range defined by offset and
-- size.
--
-- If buffer was created with SHARING_MODE_EXCLUSIVE, and
-- srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, this memory barrier defines a queue
-- family transfer operation. When executed on a queue in the family
-- identified by srcQueueFamilyIndex, this barrier defines a
-- queue family release operation for the specified buffer range,
-- and the second synchronization and access scopes do not synchronize
-- operations on that queue. When executed on a queue in the family
-- identified by dstQueueFamilyIndex, this barrier defines a
-- queue family acquire operation for the specified buffer range,
-- and the first synchronization and access scopes do not synchronize
-- operations on that queue.
--
-- A queue family transfer operation is also defined if the values
-- are not equal, and either is one of the special queue family values
-- reserved for external memory ownership transfers, as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers.
-- A queue family release operation is defined when
-- dstQueueFamilyIndex is one of those values, and a queue
-- family acquire operation is defined when
-- srcQueueFamilyIndex is one of those values.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, srcStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, srcStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, srcStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, srcStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, srcStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- srcStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If srcAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- srcStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and srcAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- srcStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INDEX_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_UNIFORM_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or one
-- of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_SHADER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR, dstStageMask
-- must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_READ_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFER_WRITE_BIT_KHR, dstStageMask
-- must include PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_READ_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_HOST_WRITE_BIT_KHR, dstStageMask must
-- include PIPELINE_STAGE_2_HOST_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, dstStageMask
-- must include
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, dstStageMask
-- must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- or PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
-- dstStageMask must include
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
-- PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR, or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR, or one of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages
-- - If dstAccessMask includes
-- ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-- dstStageMask must include
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR or
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
-- - If rayQuery is not enabled and dstAccessMask
-- includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-- dstStageMask must not include any of the
-- VK_PIPELINE_STAGE_*_SHADER_BIT stages except
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
-- - offset must be less than the size of
-- buffer
-- - If size is not equal to WHOLE_SIZE, size
-- must be greater than 0
-- - If size is not equal to WHOLE_SIZE, size
-- must be less than or equal to than the size of buffer
-- minus offset
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, at least one must not be a
-- special queue family reserved for external memory ownership transfers,
-- as described in ???
-- - If buffer was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal, and one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex is one
-- of the special queue family values reserved for external memory
-- transfers, the other must be QUEUE_FAMILY_IGNORED
-- - If buffer was created with a sharing mode of
-- SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal,
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must both be valid queue families, or one of the special queue
-- family values reserved for external memory transfers, as described in
-- ???
-- - If either srcStageMask or dstStageMask includes
-- PIPELINE_STAGE_2_HOST_BIT_KHR, srcQueueFamilyIndex and
-- dstQueueFamilyIndex must be equal
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, AccessFlags2KHR, Buffer,
-- DependencyInfoKHR, DeviceSize,
-- PipelineStageFlags2KHR, StructureType
data BufferMemoryBarrier2KHR
BufferMemoryBarrier2KHR :: PipelineStageFlags2KHR -> AccessFlags2KHR -> PipelineStageFlags2KHR -> AccessFlags2KHR -> Word32 -> Word32 -> Buffer -> DeviceSize -> DeviceSize -> BufferMemoryBarrier2KHR
-- | srcStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the first synchronization
-- scope.
[$sel:srcStageMask:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> PipelineStageFlags2KHR
-- | srcAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the first access scope.
[$sel:srcAccessMask:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> AccessFlags2KHR
-- | dstStageMask is a PipelineStageFlags2KHR mask of
-- pipeline stages to be included in the second synchronization
-- scope.
[$sel:dstStageMask:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> PipelineStageFlags2KHR
-- | dstAccessMask is a AccessFlags2KHR mask of access
-- flags to be included in the second access scope.
[$sel:dstAccessMask:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> AccessFlags2KHR
-- | srcQueueFamilyIndex is the source queue family for a queue
-- family ownership transfer.
[$sel:srcQueueFamilyIndex:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> Word32
-- | dstQueueFamilyIndex is the destination queue family for a
-- queue family ownership transfer.
[$sel:dstQueueFamilyIndex:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> Word32
-- | buffer is a handle to the buffer whose backing memory is
-- affected by the barrier.
[$sel:buffer:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> Buffer
-- | offset is an offset in bytes into the backing memory for
-- buffer; this is relative to the base offset as bound to the
-- buffer (see bindBufferMemory).
[$sel:offset:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> DeviceSize
-- | size is a size in bytes of the affected area of backing
-- memory for buffer, or WHOLE_SIZE to use the range from
-- offset to the end of the buffer.
[$sel:size:BufferMemoryBarrier2KHR] :: BufferMemoryBarrier2KHR -> DeviceSize
-- | VkDependencyInfoKHR - Structure specifying dependency information for
-- a synchronization command
--
-- Description
--
-- This structure defines a set of memory dependencies, as well as
-- queue family transfer operations and image layout
-- transitions.
--
-- Each member of pMemoryBarriers,
-- pBufferMemoryBarriers, and pImageMemoryBarriers
-- defines a separate memory dependency.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - dependencyFlags must be a valid combination of
-- DependencyFlagBits values
-- - If memoryBarrierCount is not 0,
-- pMemoryBarriers must be a valid pointer to an array of
-- memoryBarrierCount valid MemoryBarrier2KHR
-- structures
-- - If bufferMemoryBarrierCount is not 0,
-- pBufferMemoryBarriers must be a valid pointer to an
-- array of bufferMemoryBarrierCount valid
-- BufferMemoryBarrier2KHR structures
-- - If imageMemoryBarrierCount is not 0,
-- pImageMemoryBarriers must be a valid pointer to an
-- array of imageMemoryBarrierCount valid
-- ImageMemoryBarrier2KHR structures
--
--
-- See Also
--
-- VK_KHR_synchronization2, BufferMemoryBarrier2KHR,
-- DependencyFlags, ImageMemoryBarrier2KHR,
-- MemoryBarrier2KHR, StructureType,
-- cmdPipelineBarrier2KHR, cmdSetEvent2KHR,
-- cmdWaitEvents2KHR
data DependencyInfoKHR
DependencyInfoKHR :: DependencyFlags -> Vector MemoryBarrier2KHR -> Vector BufferMemoryBarrier2KHR -> Vector (SomeStruct ImageMemoryBarrier2KHR) -> DependencyInfoKHR
-- | dependencyFlags is a bitmask of DependencyFlagBits
-- specifying how execution and memory dependencies are formed.
[$sel:dependencyFlags:DependencyInfoKHR] :: DependencyInfoKHR -> DependencyFlags
-- | pMemoryBarriers is a pointer to an array of
-- MemoryBarrier2KHR structures defining memory dependencies
-- between any memory accesses.
[$sel:memoryBarriers:DependencyInfoKHR] :: DependencyInfoKHR -> Vector MemoryBarrier2KHR
-- | pBufferMemoryBarriers is a pointer to an array of
-- BufferMemoryBarrier2KHR structures defining memory dependencies
-- between buffer ranges.
[$sel:bufferMemoryBarriers:DependencyInfoKHR] :: DependencyInfoKHR -> Vector BufferMemoryBarrier2KHR
-- | pImageMemoryBarriers is a pointer to an array of
-- ImageMemoryBarrier2KHR structures defining memory dependencies
-- between image subresources.
[$sel:imageMemoryBarriers:DependencyInfoKHR] :: DependencyInfoKHR -> Vector (SomeStruct ImageMemoryBarrier2KHR)
-- | VkSemaphoreSubmitInfoKHR - Structure specifying a semaphore signal or
-- wait operation
--
-- Description
--
-- Whether this structure defines a semaphore wait or signal operation is
-- defined by how it is used.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or
-- PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- - If the conditional rendering feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
-- - If the subpass shading feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
-- - If the invocation mask image feature is not enabled,
-- stageMask must not contain
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
-- - If the device that semaphore was created on is
-- not a device group, deviceIndex must be
-- 0
-- - If the device that semaphore was created on is a
-- device group, deviceIndex must be a valid device
-- index
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, PipelineStageFlags2KHR,
-- Semaphore, StructureType, SubmitInfo2KHR
data SemaphoreSubmitInfoKHR
SemaphoreSubmitInfoKHR :: Semaphore -> Word64 -> PipelineStageFlags2KHR -> Word32 -> SemaphoreSubmitInfoKHR
-- | semaphore is a Semaphore affected by this operation.
[$sel:semaphore:SemaphoreSubmitInfoKHR] :: SemaphoreSubmitInfoKHR -> Semaphore
-- | value is either the value used to signal semaphore
-- or the value waited on by semaphore, if semaphore is
-- a timeline semaphore. Otherwise it is ignored.
[$sel:value:SemaphoreSubmitInfoKHR] :: SemaphoreSubmitInfoKHR -> Word64
-- | stageMask is a PipelineStageFlags2KHR mask of pipeline
-- stages which limit the first synchronization scope of a semaphore
-- signal operation, or second synchronization scope of a semaphore wait
-- operation as described in the semaphore wait operation and
-- semaphore signal operation sections of the synchronization
-- chapter.
[$sel:stageMask:SemaphoreSubmitInfoKHR] :: SemaphoreSubmitInfoKHR -> PipelineStageFlags2KHR
-- | deviceIndex is the index of the device within a device group
-- that executes the semaphore wait or signal operation.
[$sel:deviceIndex:SemaphoreSubmitInfoKHR] :: SemaphoreSubmitInfoKHR -> Word32
-- | VkCommandBufferSubmitInfoKHR - Structure specifying a command buffer
-- submission
--
-- Valid Usage
--
--
--
--
-- - If deviceMask is not 0, it must be a
-- valid device mask
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - commandBuffer must be a valid CommandBuffer
-- handle
--
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBuffer,
-- StructureType, SubmitInfo2KHR
data CommandBufferSubmitInfoKHR
CommandBufferSubmitInfoKHR :: Ptr CommandBuffer_T -> Word32 -> CommandBufferSubmitInfoKHR
-- | commandBuffer is a CommandBuffer to be submitted for
-- execution.
[$sel:commandBuffer:CommandBufferSubmitInfoKHR] :: CommandBufferSubmitInfoKHR -> Ptr CommandBuffer_T
-- | deviceMask is a bitmask indicating which devices in a device
-- group execute the command buffer. A deviceMask of 0
-- is equivalent to setting all bits corresponding to valid devices in
-- the group to 1.
[$sel:deviceMask:CommandBufferSubmitInfoKHR] :: CommandBufferSubmitInfoKHR -> Word32
-- | VkSubmitInfo2KHR - Structure specifying a queue submit operation
--
-- Valid Usage
--
--
-- - If the same semaphore is used as the semaphore member of
-- both an element of pSignalSemaphoreInfos and
-- pWaitSemaphoreInfos, and that semaphore is a timeline
-- semaphore, the value member of the
-- pSignalSemaphoreInfos element must be greater than the
-- value member of the pWaitSemaphoreInfos element
--
--
--
-- - If the semaphore member of any element of
-- pSignalSemaphoreInfos is a timeline semaphore, the
-- value member of that element must have a value greater
-- than the current value of the semaphore when the semaphore signal
-- operation is executed
-- - If the semaphore member of any element of
-- pSignalSemaphoreInfos is a timeline semaphore, the
-- value member of that element must have a value which
-- does not differ from the current value of the semaphore or the value
-- of any outstanding semaphore wait or signal operation on that
-- semaphore by more than maxTimelineSemaphoreValueDifference
-- - If the semaphore member of any element of
-- pWaitSemaphoreInfos is a timeline semaphore, the
-- value member of that element must have a value which
-- does not differ from the current value of the semaphore or the value
-- of any outstanding semaphore wait or signal operation on that
-- semaphore by more than maxTimelineSemaphoreValueDifference
-- - If flags includes SUBMIT_PROTECTED_BIT_KHR, all
-- elements of pCommandBuffers must be protected command
-- buffers
-- - If flags does not include
-- SUBMIT_PROTECTED_BIT_KHR, each element of
-- pCommandBuffers must not be a protected command
-- buffer
-- - If any commandBuffer member of an element of
-- pCommandBufferInfos contains any resumed render pass
-- instances, they must be suspended by a render pass instance
-- earlier in submission order within pCommandBufferInfos
-- - If any commandBuffer member of an element of
-- pCommandBufferInfos contains any suspended render pass
-- instances, they must be resumed by a render pass instance
-- later in submission order within pCommandBufferInfos
-- - If any commandBuffer member of an element of
-- pCommandBufferInfos contains any suspended render pass
-- instances, there must be no action or synchronization
-- commands between that render pass instance and the render pass
-- instance that resumes it
-- - If any commandBuffer member of an element of
-- pCommandBufferInfos contains any suspended render pass
-- instances, there must be no render pass instances between
-- that render pass instance and the render pass instance that resumes
-- it
-- - If the variableSampleLocations limit is not supported, and
-- any commandBuffer member of an element of
-- pCommandBufferInfos contains any suspended render pass
-- instances, where a graphics pipeline has been bound, any pipelines
-- bound in the render pass instance that resumes it, or any subsequent
-- render pass instances that resume from that one and so on, must
-- use the same sample locations
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_synchronization2, CommandBufferSubmitInfoKHR,
-- SemaphoreSubmitInfoKHR, StructureType,
-- SubmitFlagsKHR, queueSubmit2KHR
data SubmitInfo2KHR (es :: [Type])
SubmitInfo2KHR :: Chain es -> SubmitFlagsKHR -> Vector SemaphoreSubmitInfoKHR -> Vector CommandBufferSubmitInfoKHR -> Vector SemaphoreSubmitInfoKHR -> SubmitInfo2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SubmitInfo2KHR] :: SubmitInfo2KHR (es :: [Type]) -> Chain es
-- | flags is a bitmask of SubmitFlagBitsKHR.
[$sel:flags:SubmitInfo2KHR] :: SubmitInfo2KHR (es :: [Type]) -> SubmitFlagsKHR
-- | pWaitSemaphoreInfos is a pointer to an array of
-- SemaphoreSubmitInfoKHR structures defining semaphore wait
-- operations.
[$sel:waitSemaphoreInfos:SubmitInfo2KHR] :: SubmitInfo2KHR (es :: [Type]) -> Vector SemaphoreSubmitInfoKHR
-- | pCommandBufferInfos is a pointer to an array of
-- CommandBufferSubmitInfoKHR structures describing command
-- buffers to execute in the batch.
[$sel:commandBufferInfos:SubmitInfo2KHR] :: SubmitInfo2KHR (es :: [Type]) -> Vector CommandBufferSubmitInfoKHR
-- | pSignalSemaphoreInfos is a pointer to an array of
-- SemaphoreSubmitInfoKHR describing semaphore signal
-- operations.
[$sel:signalSemaphoreInfos:SubmitInfo2KHR] :: SubmitInfo2KHR (es :: [Type]) -> Vector SemaphoreSubmitInfoKHR
-- | VkQueueFamilyCheckpointProperties2NV - Return structure for queue
-- family checkpoint information query
--
-- Description
--
-- Additional queue family information can be queried by setting
-- QueueFamilyProperties2::pNext to point to a
-- QueueFamilyCheckpointProperties2NV structure.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_synchronization2,
-- VK_NV_device_diagnostic_checkpoints,
-- PipelineStageFlags2KHR, StructureType
data QueueFamilyCheckpointProperties2NV
QueueFamilyCheckpointProperties2NV :: PipelineStageFlags2KHR -> QueueFamilyCheckpointProperties2NV
-- | checkpointExecutionStageMask is a mask indicating which
-- pipeline stages the implementation can execute checkpoint markers in.
[$sel:checkpointExecutionStageMask:QueueFamilyCheckpointProperties2NV] :: QueueFamilyCheckpointProperties2NV -> PipelineStageFlags2KHR
-- | VkCheckpointData2NV - Return structure for command buffer checkpoint
-- data
--
-- Valid Usage (Implicit)
--
-- The stages at which a checkpoint marker can be executed are
-- implementation-defined and can be queried by calling
-- getPhysicalDeviceQueueFamilyProperties2.
--
-- See Also
--
-- VK_KHR_synchronization2,
-- VK_NV_device_diagnostic_checkpoints,
-- PipelineStageFlags2KHR, StructureType,
-- getQueueCheckpointData2NV
data CheckpointData2NV
CheckpointData2NV :: PipelineStageFlags2KHR -> Ptr () -> CheckpointData2NV
-- | stage indicates a single pipeline stage which the checkpoint
-- marker data refers to.
[$sel:stage:CheckpointData2NV] :: CheckpointData2NV -> PipelineStageFlags2KHR
-- | pCheckpointMarker contains the value of the last checkpoint
-- marker executed in the stage that stage refers to.
[$sel:checkpointMarker:CheckpointData2NV] :: CheckpointData2NV -> Ptr ()
-- | VkPhysicalDeviceSynchronization2FeaturesKHR - Structure describing
-- whether the implementation supports v2 synchronization commands
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceSynchronization2FeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceSynchronization2FeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_synchronization2, Bool32, StructureType
data PhysicalDeviceSynchronization2FeaturesKHR
PhysicalDeviceSynchronization2FeaturesKHR :: Bool -> PhysicalDeviceSynchronization2FeaturesKHR
-- | synchronization2 indicates whether the implementation
-- supports the new set of synchronization commands introduced in
-- VK_KHR_synchronization2.
[$sel:synchronization2:PhysicalDeviceSynchronization2FeaturesKHR] :: PhysicalDeviceSynchronization2FeaturesKHR -> Bool
type AccessFlags2KHR = AccessFlagBits2KHR
-- | VkAccessFlagBits2KHR - Access flags for VkAccessFlags2KHR
--
-- Description
--
-- Note
--
-- In situations where an application wishes to select all access types
-- for a given set of pipeline stages,
-- ACCESS_2_MEMORY_READ_BIT_KHR or
-- ACCESS_2_MEMORY_WRITE_BIT_KHR can be used. This is particularly
-- useful when specifying stages that only have a single access type.
--
-- Note
--
-- The AccessFlags2KHR bitmask goes beyond the 31 individual bit
-- flags allowable within a C99 enum, which is how AccessFlagBits
-- is defined. The first 31 values are common to both, and are
-- interchangeable.
--
-- See Also
--
-- VK_KHR_synchronization2
newtype AccessFlagBits2KHR
AccessFlagBits2KHR :: Flags64 -> AccessFlagBits2KHR
-- | ACCESS_2_NONE_KHR specifies no accesses.
pattern ACCESS_2_NONE_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR specifies read access to
-- command data read from indirect buffers as part of an indirect build,
-- trace, drawing or dispatch command. Such access occurs in the
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR pipeline stage.
pattern ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INDEX_READ_BIT_KHR specifies read access to an index
-- buffer as part of an indexed drawing command, bound by
-- cmdBindIndexBuffer. Such access occurs in the
-- PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR pipeline stage.
pattern ACCESS_2_INDEX_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR specifies read access to
-- a vertex buffer as part of a drawing command, bound by
-- cmdBindVertexBuffers. Such access occurs in the
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR pipeline stage.
pattern ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_UNIFORM_READ_BIT_KHR specifies read access to a
-- uniform buffer in any shader pipeline stage.
pattern ACCESS_2_UNIFORM_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR specifies read access to
-- an input attachment within a render pass during subpass shading
-- or fragment shading. Such access occurs in the
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI or
-- PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR pipeline stage.
pattern ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_READ_BIT_KHR specifies read access to a
-- shader binding table in any shader pipeline. In addition, it is
-- equivalent to the logical OR of:
--
--
pattern ACCESS_2_SHADER_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_WRITE_BIT_KHR is equivalent to
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR.
pattern ACCESS_2_SHADER_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR specifies read access to
-- a color attachment, such as via blending, logic
-- operations, or via certain subpass load operations. It does
-- not include advanced blend operations. Such access occurs in
-- the PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR specifies write access
-- to a color, resolve, or depth/stencil resolve attachment during
-- a render pass or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR specifies read
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load operations. Such
-- access occurs in the
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR or
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR pipeline stages.
pattern ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR specifies write
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR or
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR pipeline stages.
pattern ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFER_READ_BIT_KHR specifies read access to an
-- image or buffer in a copy operation. Such access occurs in the
-- PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR, or
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR pipeline stages.
pattern ACCESS_2_TRANSFER_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFER_WRITE_BIT_KHR specifies write access to an
-- image or buffer in a clear or copy operation. Such
-- access occurs in the PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR, or
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR pipeline stages.
pattern ACCESS_2_TRANSFER_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_HOST_READ_BIT_KHR specifies read access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_2_HOST_BIT_KHR pipeline stage.
pattern ACCESS_2_HOST_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_HOST_WRITE_BIT_KHR specifies write access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_2_HOST_BIT_KHR pipeline stage.
pattern ACCESS_2_HOST_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_MEMORY_READ_BIT_KHR specifies all read accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all READ access flags that are valid where it is
-- used.
pattern ACCESS_2_MEMORY_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_MEMORY_WRITE_BIT_KHR specifies all write accesses. It
-- is always valid in any access mask, and is treated as equivalent to
-- setting all WRITE access flags that are valid where it is
-- used.
pattern ACCESS_2_MEMORY_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR specifies read access to a
-- uniform texel buffer or sampled image in any shader
-- pipeline stage.
pattern ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_STORAGE_READ_BIT_KHR specifies read access to a
-- storage buffer, physical storage buffer, storage
-- texel buffer, or storage image in any shader pipeline
-- stage.
pattern ACCESS_2_SHADER_STORAGE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR specifies write access to
-- a storage buffer, physical storage buffer, storage
-- texel buffer, or storage image in any shader pipeline
-- stage.
pattern ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI specifies read access
-- to a invocation mask image in the
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI pipeline stage.
pattern ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT specifies
-- read access to color attachments, including advanced blend
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read
-- access to a fragment density map attachment during dynamic
-- fragment density map operations. Such access occurs in the
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT pipeline
-- stage.
pattern ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR specifies write
-- access to an acceleration structure or acceleration structure
-- scratch buffer as part of a build or copy command. Such access
-- occurs in the
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR specifies read
-- access to an acceleration structure as part of a trace, build, or copy
-- command, or to an acceleration structure scratch buffer as part
-- of a build command. Such access occurs in the
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR pipeline stage or
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
-- specifies read access to a fragment shading rate attachment during
-- rasterization. Such access occurs in the
-- PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- pipeline stage.
pattern ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to
-- the target command buffer preprocess outputs. Such access occurs in
-- the PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV pipeline stage.
pattern ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits2KHR
-- | ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from
-- buffer inputs to cmdPreprocessGeneratedCommandsNV. Such access
-- occurs in the PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- pipeline stage.
pattern ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits2KHR
-- | ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT specifies read
-- access to a predicate as part of conditional rendering. Such access
-- occurs in the PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- pipeline stage.
pattern ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT specifies
-- write access to a transform feedback counter buffer which is written
-- when cmdEndTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT specifies read
-- access to a transform feedback counter buffer which is read when
-- cmdBeginTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT specifies write
-- access to a transform feedback buffer made when transform feedback is
-- active. Such access occurs in the
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits2KHR
type PipelineStageFlags2KHR = PipelineStageFlagBits2KHR
-- | VkPipelineStageFlagBits2KHR - Pipeline stage flags for
-- VkPipelineStageFlags2KHR
--
-- Description
--
-- Note
--
-- The TOP and BOTTOM pipeline stages are deprecated,
-- and applications should prefer
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR and
-- PIPELINE_STAGE_2_NONE_KHR.
--
-- Note
--
-- The PipelineStageFlags2KHR bitmask goes beyond the 31
-- individual bit flags allowable within a C99 enum, which is how
-- PipelineStageFlagBits is defined. The first 31 values are
-- common to both, and are interchangeable.
--
-- See Also
--
-- VK_KHR_synchronization2
newtype PipelineStageFlagBits2KHR
PipelineStageFlagBits2KHR :: Flags64 -> PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_NONE_KHR specifies no stages of execution.
pattern PIPELINE_STAGE_2_NONE_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the second
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the first scope.
pattern PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR specifies the stage of
-- the pipeline where indirect command parameters are consumed. This
-- stage also includes reading commands written by
-- cmdPreprocessGeneratedCommandsNV.
pattern PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR is equivalent to the
-- logical OR of:
--
--
pattern PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR specifies the vertex
-- shader stage.
pattern PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR specifies
-- the tessellation control shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- specifies the tessellation evaluation shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR specifies the geometry
-- shader stage.
pattern PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR specifies the fragment
-- shader stage.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where early fragment tests (depth and stencil
-- tests before fragment shading) are performed. This stage also includes
-- subpass load operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where late fragment tests (depth and stencil
-- tests after fragment shading) are performed. This stage also includes
-- subpass store operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR specifies the
-- stage of the pipeline after blending where the final color values are
-- output from the pipeline. This stage also includes subpass load and
-- store operations and multisample resolve operations for
-- framebuffer attachments with a color or depth/stencil format.
pattern PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR specifies the compute
-- shader stage.
pattern PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR is equivalent to
-- specifying all of:
--
--
pattern PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the first
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the second scope.
pattern PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_HOST_BIT_KHR specifies a pseudo-stage
-- indicating execution on the host of reads/writes of device memory.
-- This stage is not invoked by any commands recorded in a command
-- buffer.
pattern PIPELINE_STAGE_2_HOST_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR specifies the execution
-- of all graphics pipeline stages, and is equivalent to the logical OR
-- of:
--
--
pattern PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR specifies all operations
-- performed by all commands supported on the queue it is used with.
pattern PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COPY_BIT_KHR specifies the execution of all
-- copy commands, including cmdCopyQueryPoolResults.
pattern PIPELINE_STAGE_2_COPY_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RESOLVE_BIT_KHR specifies the execution of
-- cmdResolveImage.
pattern PIPELINE_STAGE_2_RESOLVE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BLIT_BIT_KHR specifies the execution of
-- cmdBlitImage.
pattern PIPELINE_STAGE_2_BLIT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CLEAR_BIT_KHR specifies the execution of
-- clear commands, with the exception of
-- cmdClearAttachments.
pattern PIPELINE_STAGE_2_CLEAR_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR specifies the stage of the
-- pipeline where index buffers are consumed.
pattern PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR specifies the
-- stage of the pipeline where vertex buffers are consumed.
pattern PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR is
-- equivalent to specifying all supported pre-rasterization shader
-- stages:
--
--
pattern PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI specifies the stage
-- of the pipeline where the invocation mask image is read by the
-- implementation to optimize the ray dispatch.
pattern PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI specifies the
-- subpass shading shader stage.
pattern PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_MESH_SHADER_BIT_NV specifies the mesh shader
-- stage.
pattern PIPELINE_STAGE_2_MESH_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TASK_SHADER_BIT_NV specifies the task shader
-- stage.
pattern PIPELINE_STAGE_2_TASK_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT specifies the
-- stage of the pipeline where the fragment density map is read to
-- generate the fragment areas.
pattern PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR specifies the
-- execution of the ray tracing shader stages.
pattern PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR specifies
-- the execution of acceleration structure commands.
pattern PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- specifies the stage of the pipeline where the fragment shading rate
-- attachment or shading rate image is read to determine the
-- fragment shading rate for portions of a rasterized primitive.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV specifies the stage
-- of the pipeline where device-side generation of commands via
-- cmdPreprocessGeneratedCommandsNV is handled.
pattern PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT specifies the
-- stage of the pipeline where the predicate of conditional rendering is
-- consumed.
pattern PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT specifies the stage
-- of the pipeline where vertex attribute output values are written to
-- the transform feedback buffers.
pattern PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits2KHR
type SubmitFlagsKHR = SubmitFlagBitsKHR
-- | VkSubmitFlagBitsKHR - Bitmask specifying behavior of a submission
--
-- See Also
--
-- VK_KHR_synchronization2, SubmitFlagsKHR
newtype SubmitFlagBitsKHR
SubmitFlagBitsKHR :: Flags -> SubmitFlagBitsKHR
-- | SUBMIT_PROTECTED_BIT_KHR specifies that this batch is a
-- protected submission.
pattern SUBMIT_PROTECTED_BIT_KHR :: SubmitFlagBitsKHR
type KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1
pattern KHR_SYNCHRONIZATION_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2"
pattern KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.DependencyInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.CheckpointData2NV
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_synchronization2.SubmitInfo2KHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_synchronization2.SubmitFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.DependencyInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.DependencyInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.DependencyInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.MemoryBarrier2KHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.BufferMemoryBarrier2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.SemaphoreSubmitInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.QueueFamilyCheckpointProperties2NV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.CheckpointData2NV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.CheckpointData2NV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.CheckpointData2NV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.CheckpointData2NV
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR
-- | Name
--
-- VK_HUAWEI_subpass_shading - device extension
--
-- VK_HUAWEI_subpass_shading
--
--
-- - Name String VK_HUAWEI_subpass_shading
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 370
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_create_renderpass2
- Requires
-- VK_KHR_synchronization2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-06-01
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
--
--
-- Description
--
-- This extension allows applications to execute a subpass shading
-- pipeline in a subpass of a render pass in order to save memory
-- bandwidth for algorithms like tile-based deferred rendering and
-- forward plus. A subpass shading pipeline is a pipeline with the
-- compute pipeline ability, allowed to read values from input
-- attachments, and only allowed to be dispatched inside a stand-alone
-- subpass. Its work dimension is defined by the render pass’s render
-- area size. Its workgroup size (width, height) shall be a power-of-two
-- number in width or height, with minimum value from 8, and maximum
-- value shall be decided from the render pass attachments and sample
-- counts but depends on implementation.
--
-- The GlobalInvocationId.xy of a subpass shading pipeline is
-- equal to the FragCoord.xy of a graphic pipeline in the same
-- render pass subtracted the offset of the
-- RenderPassBeginInfo::renderArea.
-- GlobalInvocationId.z is mapped to the Layer if
-- VK_EXT_shader_viewport_index_layer is supported. The
-- GlobalInvocationId.xy is equal to the index of the local
-- workgroup multiplied by the size of the local workgroup plus the
-- LocalInvocationId and the offset of the
-- RenderPassBeginInfo::renderArea.
--
-- This extension allows a subpass’s pipeline bind point to be
-- PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Sample Code
--
-- Example of subpass shading in a GLSL shader
--
--
-- #extension GL_HUAWEI_subpass_shading: enable
-- #extension GL_KHR_shader_subgroup_arithmetic: enable
--
-- layout(constant_id = 0) const uint tileWidth = 8;
-- layout(constant_id = 1) const uint tileHeight = 8;
-- layout(local_size_x_id = 0, local_size_y_id = 1, local_size_z = 1) in;
-- layout (set=0, binding=0, input_attachment_index=0) uniform subpassInput depth;
--
-- void main()
-- {
-- float d = subpassLoad(depth).x;
-- float minD = subgroupMin(d);
-- float maxD = subgroupMax(d);
-- }
--
--
-- Example of subpass shading dispatching in a subpass
--
--
-- vkCmdNextSubpass(commandBuffer, VK_SUBPASS_CONTENTS_INLINE);
-- vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipeline);
-- vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipelineLayout,
-- firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
-- vkCmdSubpassShadingHUAWEI(commandBuffer)
-- vkCmdEndRenderPass(commandBuffer);
--
--
-- Example of subpass shading render pass creation
--
--
-- VkAttachmentDescription2 attachments[] = {
-- {
-- VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
-- 0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
-- VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- },
-- {
-- VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
-- 0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
-- VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- },
-- {
-- VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
-- 0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
-- VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- },
-- {
-- VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
-- 0, VK_FORMAT_D24_UNORM_S8_UINT, VK_SAMPLE_COUNT_1_BIT,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-- VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
-- },
-- {
-- VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
-- 0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
-- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_STORE,
-- VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- }
-- };
--
-- VkAttachmentReference2 gBufferAttachmentReferences[] = {
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
-- };
-- VkAttachmentReference2 gBufferDepthStencilAttachmentReferences =
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
-- VkAttachmentReference2 depthInputAttachmentReferences[] = {
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
-- };
-- VkAttachmentReference2 preserveAttachmentReferences[] = {
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT }
-- }; // G buffer including depth/stencil
-- VkAttachmentReference2 colorAttachmentReferences[] = {
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
-- };
-- VkAttachmentReference2 resolveAttachmentReference =
-- { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT };
--
-- VkSubpassDescription2 subpasses[] = {
-- {
-- VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
-- 0, NULL, // input
-- sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // color
-- NULL, &gBufferDepthStencilAttachmentReferences, // resolve & DS
-- 0, NULL
-- },
-- {
-- VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI , 0,
-- sizeof(depthInputAttachmentReferences)/sizeof(depthInputAttachmentReferences[0]), depthInputAttachmentReferences, // input
-- 0, NULL, // color
-- NULL, NULL, // resolve & DS
-- sizeof(preserveAttachmentReferences)/sizeof(preserveAttachmentReferences[0]), preserveAttachmentReferences,
-- },
-- {
-- VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
-- sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // input
-- sizeof(colorAttachmentReferences)/sizeof(colorAttachmentReferences[0]), colorAttachmentReferences, // color
-- &resolveAttachmentReference, &gBufferDepthStencilAttachmentReferences, // resolve & DS
-- 0, NULL
-- },
-- };
--
-- VkMemoryBarrier2KHR fragmentToSubpassShading = {
-- VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
-- VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
-- VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_INPUT_ATTACHMENT_READ_BIT
-- };
--
-- VkMemoryBarrier2KHR subpassShadingToFragment = {
-- VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
-- VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_SHADER_WRITE_BIT,
-- VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_SHADER_READ_BIT
-- };
--
-- VkSubpassDependency2 dependencies[] = {
-- {
-- VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &fragmentToSubpassShading,
-- 0, 1,
-- 0, 0, 0, 0,
-- 0, 0
-- },
-- {
-- VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &subpassShadingToFragment,
-- 1, 2,
-- 0, 0, 0, 0,
-- 0, 0
-- },
-- };
--
-- VkRenderPassCreateInfo2 renderPassCreateInfo = {
-- VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, NULL, 0,
-- sizeof(attachments)/sizeof(attachments[0]), attachments,
-- sizeof(subpasses)/sizeof(subpasses[0]), subpasses,
-- sizeof(dependencies)/sizeof(dependencies[0]), dependencies,
-- 0, NULL
-- };
-- VKRenderPass renderPass;
-- vkCreateRenderPass2(device, &renderPassCreateInfo, NULL, &renderPass);
--
--
-- Example of subpass shading pipeline creation
--
--
-- VkExtent2D maxWorkgroupSize;
--
-- VkSpecializationMapEntry subpassShadingConstantMapEntries[] = {
-- { 0, 0 * sizeof(uint32_t), sizeof(uint32_t) },
-- { 1, 1 * sizeof(uint32_t), sizeof(uint32_t) }
-- };
--
-- VkSpecializationInfo subpassShadingConstants = {
-- 2, subpassShadingConstantMapEntries,
-- sizeof(VkExtent2D), &maxWorkgroupSize
-- };
--
-- VkSubpassShadingPipelineCreateInfoHUAWEI subpassShadingPipelineCreateInfo {
-- VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, NULL,
-- renderPass, 1
-- };
--
-- VkPipelineShaderStageCreateInfo subpassShadingPipelineStageCreateInfo {
-- VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL,
-- 0, VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
-- shaderModule, "main",
-- &subpassShadingConstants
-- };
--
-- VkComputePipelineCreateInfo subpassShadingComputePipelineCreateInfo = {
-- VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, &subpassShadingPipelineCreateInfo,
-- 0, &subpassShadingPipelineStageCreateInfo,
-- pipelineLayout, basePipelineHandle, basePipelineIndex
-- };
--
-- VKPipeline pipeline;
--
-- vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderPass, &maxWorkgroupSize);
-- vkCreateComputePipelines(device, pipelineCache, 1, &subpassShadingComputePipelineCreateInfo, NULL, &pipeline);
--
--
-- Version History
--
--
-- - Revision 2, 2021-06-28 (Hueilong Wang)
- Change
-- vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
-- vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI to resolve issue
-- pub1564
--
--
--
-- - Revision 1, 2020-12-15 (Hueilong Wang)
--
--
-- See Also
--
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- cmdSubpassShadingHUAWEI,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_HUAWEI_subpass_shading
-- | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI - Query maximum
-- supported subpass shading workgroup size for a give render pass
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_HUAWEI_subpass_shading, Device, Extent2D,
-- RenderPass
getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI :: forall io. MonadIO io => Device -> RenderPass -> io (Result, "maxWorkgroupSize" ::: Extent2D)
-- | vkCmdSubpassShadingHUAWEI - Dispatch compute work items
--
-- Description
--
-- When the command is executed, a global workgroup consisting of ceil
-- (render area size / local workgroup size) local workgroups is
-- assembled.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - This command must be called in a subpass with bind point
-- PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI. No draw commands
-- can be called in the same subpass. Only one
-- cmdSubpassShadingHUAWEI command can be called in a subpass
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_HUAWEI_subpass_shading, CommandBuffer
cmdSubpassShadingHUAWEI :: forall io. MonadIO io => CommandBuffer -> io ()
-- | VkSubpassShadingPipelineCreateInfoHUAWEI - Structure specifying
-- parameters of a newly created subpass shading pipeline
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_HUAWEI_subpass_shading, RenderPass,
-- StructureType
data SubpassShadingPipelineCreateInfoHUAWEI
SubpassShadingPipelineCreateInfoHUAWEI :: RenderPass -> Word32 -> SubpassShadingPipelineCreateInfoHUAWEI
-- | renderPass is a handle to a render pass object describing the
-- environment in which the pipeline will be used. The pipeline
-- must only be used with a render pass instance compatible with
-- the one provided. See Render Pass Compatibility for more
-- information.
[$sel:renderPass:SubpassShadingPipelineCreateInfoHUAWEI] :: SubpassShadingPipelineCreateInfoHUAWEI -> RenderPass
-- | subpass is the index of the subpass in the render pass where
-- this pipeline will be used.
--
-- subpass must be created with
-- PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI bind point
[$sel:subpass:SubpassShadingPipelineCreateInfoHUAWEI] :: SubpassShadingPipelineCreateInfoHUAWEI -> Word32
-- | VkPhysicalDeviceSubpassShadingPropertiesHUAWEI - Structure describing
-- subpass shading properties supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceSubpassShadingPropertiesHUAWEI structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_HUAWEI_subpass_shading, StructureType
data PhysicalDeviceSubpassShadingPropertiesHUAWEI
PhysicalDeviceSubpassShadingPropertiesHUAWEI :: Word32 -> PhysicalDeviceSubpassShadingPropertiesHUAWEI
-- | maxSubpassShadingWorkgroupSizeAspectRatio indicates the
-- maximum ratio between the width and height of the portion of the
-- subpass shading shader workgroup size.
-- maxSubpassShadingWorkgroupSizeAspectRatio must be a
-- power-of-two value, and must be less than or equal to
-- max(WorkgroupSize.x / WorkgroupSize.y,
-- WorkgroupSize.y / WorkgroupSize.x).
[$sel:maxSubpassShadingWorkgroupSizeAspectRatio:PhysicalDeviceSubpassShadingPropertiesHUAWEI] :: PhysicalDeviceSubpassShadingPropertiesHUAWEI -> Word32
-- | VkPhysicalDeviceSubpassShadingFeaturesHUAWEI - Structure describing
-- whether subpass shading is enabled
--
-- Members
--
-- If the PhysicalDeviceSubpassShadingFeaturesHUAWEI structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_HUAWEI_subpass_shading, Bool32, StructureType
data PhysicalDeviceSubpassShadingFeaturesHUAWEI
PhysicalDeviceSubpassShadingFeaturesHUAWEI :: Bool -> PhysicalDeviceSubpassShadingFeaturesHUAWEI
[$sel:subpassShading:PhysicalDeviceSubpassShadingFeaturesHUAWEI] :: PhysicalDeviceSubpassShadingFeaturesHUAWEI -> Bool
type HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2
pattern HUAWEI_SUBPASS_SHADING_SPEC_VERSION :: forall a. Integral a => a
type HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading"
pattern HUAWEI_SUBPASS_SHADING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkPipelineStageFlagBits2KHR - Pipeline stage flags for
-- VkPipelineStageFlags2KHR
--
-- Description
--
-- Note
--
-- The TOP and BOTTOM pipeline stages are deprecated,
-- and applications should prefer
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR and
-- PIPELINE_STAGE_2_NONE_KHR.
--
-- Note
--
-- The PipelineStageFlags2KHR bitmask goes beyond the 31
-- individual bit flags allowable within a C99 enum, which is how
-- PipelineStageFlagBits is defined. The first 31 values are
-- common to both, and are interchangeable.
--
-- See Also
--
-- VK_KHR_synchronization2
newtype PipelineStageFlagBits2KHR
PipelineStageFlagBits2KHR :: Flags64 -> PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_NONE_KHR specifies no stages of execution.
pattern PIPELINE_STAGE_2_NONE_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the second
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the first scope.
pattern PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR specifies the stage of
-- the pipeline where indirect command parameters are consumed. This
-- stage also includes reading commands written by
-- cmdPreprocessGeneratedCommandsNV.
pattern PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR is equivalent to the
-- logical OR of:
--
--
pattern PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR specifies the vertex
-- shader stage.
pattern PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR specifies
-- the tessellation control shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- specifies the tessellation evaluation shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR specifies the geometry
-- shader stage.
pattern PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR specifies the fragment
-- shader stage.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where early fragment tests (depth and stencil
-- tests before fragment shading) are performed. This stage also includes
-- subpass load operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where late fragment tests (depth and stencil
-- tests after fragment shading) are performed. This stage also includes
-- subpass store operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR specifies the
-- stage of the pipeline after blending where the final color values are
-- output from the pipeline. This stage also includes subpass load and
-- store operations and multisample resolve operations for
-- framebuffer attachments with a color or depth/stencil format.
pattern PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR specifies the compute
-- shader stage.
pattern PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR is equivalent to
-- specifying all of:
--
--
pattern PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the first
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the second scope.
pattern PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_HOST_BIT_KHR specifies a pseudo-stage
-- indicating execution on the host of reads/writes of device memory.
-- This stage is not invoked by any commands recorded in a command
-- buffer.
pattern PIPELINE_STAGE_2_HOST_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR specifies the execution
-- of all graphics pipeline stages, and is equivalent to the logical OR
-- of:
--
--
pattern PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR specifies all operations
-- performed by all commands supported on the queue it is used with.
pattern PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COPY_BIT_KHR specifies the execution of all
-- copy commands, including cmdCopyQueryPoolResults.
pattern PIPELINE_STAGE_2_COPY_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RESOLVE_BIT_KHR specifies the execution of
-- cmdResolveImage.
pattern PIPELINE_STAGE_2_RESOLVE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BLIT_BIT_KHR specifies the execution of
-- cmdBlitImage.
pattern PIPELINE_STAGE_2_BLIT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CLEAR_BIT_KHR specifies the execution of
-- clear commands, with the exception of
-- cmdClearAttachments.
pattern PIPELINE_STAGE_2_CLEAR_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR specifies the stage of the
-- pipeline where index buffers are consumed.
pattern PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR specifies the
-- stage of the pipeline where vertex buffers are consumed.
pattern PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR is
-- equivalent to specifying all supported pre-rasterization shader
-- stages:
--
--
pattern PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI specifies the stage
-- of the pipeline where the invocation mask image is read by the
-- implementation to optimize the ray dispatch.
pattern PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI specifies the
-- subpass shading shader stage.
pattern PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_MESH_SHADER_BIT_NV specifies the mesh shader
-- stage.
pattern PIPELINE_STAGE_2_MESH_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TASK_SHADER_BIT_NV specifies the task shader
-- stage.
pattern PIPELINE_STAGE_2_TASK_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT specifies the
-- stage of the pipeline where the fragment density map is read to
-- generate the fragment areas.
pattern PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR specifies the
-- execution of the ray tracing shader stages.
pattern PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR specifies
-- the execution of acceleration structure commands.
pattern PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- specifies the stage of the pipeline where the fragment shading rate
-- attachment or shading rate image is read to determine the
-- fragment shading rate for portions of a rasterized primitive.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV specifies the stage
-- of the pipeline where device-side generation of commands via
-- cmdPreprocessGeneratedCommandsNV is handled.
pattern PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT specifies the
-- stage of the pipeline where the predicate of conditional rendering is
-- consumed.
pattern PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT specifies the stage
-- of the pipeline where vertex attribute output values are written to
-- the transform feedback buffers.
pattern PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits2KHR
type PipelineStageFlags2KHR = PipelineStageFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
instance GHC.Classes.Eq Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance GHC.Classes.Eq Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance GHC.Show.Show Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
instance GHC.Show.Show Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance GHC.Show.Show Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance Foreign.Storable.Storable Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance Foreign.Storable.Storable Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
instance Foreign.Storable.Storable Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI
-- | Name
--
-- VK_HUAWEI_invocation_mask - device extension
--
-- VK_HUAWEI_invocation_mask
--
--
-- - Name String VK_HUAWEI_invocation_mask
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 371
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_ray_tracing_pipeline
- Requires
-- VK_KHR_synchronization2
-- - Contact
-- - Extension Proposal
-- VK_HUAWEI_invocation_mask
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-05-27
--
--
--
-- - Interactions and External Dependencies
- This
-- extension requires VK_KHR_ray_tracing_pipeline, which allow
-- to bind an invocation mask image before the ray tracing
-- command
- This extension requires
-- VK_KHR_synchronization2, which allows new pipeline stage for
-- the invocation mask image
-- - Contributors
--
--
-- Description
--
-- The rays to trace may be sparse in some use cases. For example, the
-- scene only have a few regions to reflect. Providing an invocation mask
-- image to the ray tracing commands could potentially give the hardware
-- the hint to do certain optimization without invoking an additional
-- pass to compact the ray buffer.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
-- RT mask is updated before each traceRay.
--
-- Step 1. Generate InvocationMask.
--
--
-- //the rt mask image bind as color attachment in the fragment shader
-- Layout(location = 2) out vec4 outRTmask
-- vec4 mask = vec4(x,x,x,x);
-- outRTmask = mask;
--
--
-- Step 2. traceRay with InvocationMask
--
--
-- vkCmdBindPipeline(
-- commandBuffers[imageIndex],
-- VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, m_rtPipeline);
-- vkCmdBindDescriptorSets(commandBuffers[imageIndex],
-- VK_PIPELINE_BIND_POINT_RAY_TRACING_NV,
-- m_rtPipelineLayout, 0, 1, &m_rtDescriptorSet,
-- 0, nullptr);
--
-- vkCmdBindInvocationMaskHUAWEI(
-- commandBuffers[imageIndex],
-- InvocationMaskimageView,
-- InvocationMaskimageLayout);
-- vkCmdTraceRaysKHR(commandBuffers[imageIndex],
-- pRaygenShaderBindingTable,
-- pMissShaderBindingTable,
-- swapChainExtent.width,
-- swapChainExtent.height, 1);
--
--
-- Version History
--
--
-- - Revision 1, 2021-05-27 (Yunpeng Zhu)
--
--
-- See Also
--
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- cmdBindInvocationMaskHUAWEI
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_HUAWEI_invocation_mask
-- | vkCmdBindInvocationMaskHUAWEI - Bind an invocation mask image on a
-- command buffer
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If imageView is not NULL_HANDLE,
-- imageView must be a valid ImageView handle
-- - imageLayout must be a valid ImageLayout
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and imageView that are
-- valid handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_HUAWEI_invocation_mask, CommandBuffer,
-- ImageLayout, ImageView
cmdBindInvocationMaskHUAWEI :: forall io. MonadIO io => CommandBuffer -> ImageView -> ImageLayout -> io ()
-- | VkPhysicalDeviceInvocationMaskFeaturesHUAWEI - Structure describing
-- invocation mask features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceInvocationMaskFeaturesHUAWEI structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_HUAWEI_invocation_mask, Bool32, StructureType
data PhysicalDeviceInvocationMaskFeaturesHUAWEI
PhysicalDeviceInvocationMaskFeaturesHUAWEI :: Bool -> PhysicalDeviceInvocationMaskFeaturesHUAWEI
-- | invocationMask indicates that the implementation supports the
-- use of an invocation mask image to optimize the ray dispatch.
[$sel:invocationMask:PhysicalDeviceInvocationMaskFeaturesHUAWEI] :: PhysicalDeviceInvocationMaskFeaturesHUAWEI -> Bool
type HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1
pattern HUAWEI_INVOCATION_MASK_SPEC_VERSION :: forall a. Integral a => a
type HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask"
pattern HUAWEI_INVOCATION_MASK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkAccessFlagBits2KHR - Access flags for VkAccessFlags2KHR
--
-- Description
--
-- Note
--
-- In situations where an application wishes to select all access types
-- for a given set of pipeline stages,
-- ACCESS_2_MEMORY_READ_BIT_KHR or
-- ACCESS_2_MEMORY_WRITE_BIT_KHR can be used. This is particularly
-- useful when specifying stages that only have a single access type.
--
-- Note
--
-- The AccessFlags2KHR bitmask goes beyond the 31 individual bit
-- flags allowable within a C99 enum, which is how AccessFlagBits
-- is defined. The first 31 values are common to both, and are
-- interchangeable.
--
-- See Also
--
-- VK_KHR_synchronization2
newtype AccessFlagBits2KHR
AccessFlagBits2KHR :: Flags64 -> AccessFlagBits2KHR
-- | ACCESS_2_NONE_KHR specifies no accesses.
pattern ACCESS_2_NONE_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR specifies read access to
-- command data read from indirect buffers as part of an indirect build,
-- trace, drawing or dispatch command. Such access occurs in the
-- PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR pipeline stage.
pattern ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INDEX_READ_BIT_KHR specifies read access to an index
-- buffer as part of an indexed drawing command, bound by
-- cmdBindIndexBuffer. Such access occurs in the
-- PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR pipeline stage.
pattern ACCESS_2_INDEX_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR specifies read access to
-- a vertex buffer as part of a drawing command, bound by
-- cmdBindVertexBuffers. Such access occurs in the
-- PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR pipeline stage.
pattern ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_UNIFORM_READ_BIT_KHR specifies read access to a
-- uniform buffer in any shader pipeline stage.
pattern ACCESS_2_UNIFORM_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR specifies read access to
-- an input attachment within a render pass during subpass shading
-- or fragment shading. Such access occurs in the
-- PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI or
-- PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR pipeline stage.
pattern ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_READ_BIT_KHR specifies read access to a
-- shader binding table in any shader pipeline. In addition, it is
-- equivalent to the logical OR of:
--
--
pattern ACCESS_2_SHADER_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_WRITE_BIT_KHR is equivalent to
-- ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR.
pattern ACCESS_2_SHADER_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR specifies read access to
-- a color attachment, such as via blending, logic
-- operations, or via certain subpass load operations. It does
-- not include advanced blend operations. Such access occurs in
-- the PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR specifies write access
-- to a color, resolve, or depth/stencil resolve attachment during
-- a render pass or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR specifies read
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load operations. Such
-- access occurs in the
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR or
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR pipeline stages.
pattern ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR specifies write
-- access to a depth/stencil attachment, via depth or stencil
-- operations or via certain subpass load and store
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR or
-- PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR pipeline stages.
pattern ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFER_READ_BIT_KHR specifies read access to an
-- image or buffer in a copy operation. Such access occurs in the
-- PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR, or
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR pipeline stages.
pattern ACCESS_2_TRANSFER_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFER_WRITE_BIT_KHR specifies write access to an
-- image or buffer in a clear or copy operation. Such
-- access occurs in the PIPELINE_STAGE_2_COPY_BIT_KHR,
-- PIPELINE_STAGE_2_BLIT_BIT_KHR,
-- PIPELINE_STAGE_2_CLEAR_BIT_KHR, or
-- PIPELINE_STAGE_2_RESOLVE_BIT_KHR pipeline stages.
pattern ACCESS_2_TRANSFER_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_HOST_READ_BIT_KHR specifies read access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_2_HOST_BIT_KHR pipeline stage.
pattern ACCESS_2_HOST_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_HOST_WRITE_BIT_KHR specifies write access by a host
-- operation. Accesses of this type are not performed through a resource,
-- but directly on memory. Such access occurs in the
-- PIPELINE_STAGE_2_HOST_BIT_KHR pipeline stage.
pattern ACCESS_2_HOST_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_MEMORY_READ_BIT_KHR specifies all read accesses. It is
-- always valid in any access mask, and is treated as equivalent to
-- setting all READ access flags that are valid where it is
-- used.
pattern ACCESS_2_MEMORY_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_MEMORY_WRITE_BIT_KHR specifies all write accesses. It
-- is always valid in any access mask, and is treated as equivalent to
-- setting all WRITE access flags that are valid where it is
-- used.
pattern ACCESS_2_MEMORY_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR specifies read access to a
-- uniform texel buffer or sampled image in any shader
-- pipeline stage.
pattern ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_STORAGE_READ_BIT_KHR specifies read access to a
-- storage buffer, physical storage buffer, storage
-- texel buffer, or storage image in any shader pipeline
-- stage.
pattern ACCESS_2_SHADER_STORAGE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR specifies write access to
-- a storage buffer, physical storage buffer, storage
-- texel buffer, or storage image in any shader pipeline
-- stage.
pattern ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI specifies read access
-- to a invocation mask image in the
-- PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI pipeline stage.
pattern ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI :: AccessFlagBits2KHR
-- | ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT specifies
-- read access to color attachments, including advanced blend
-- operations. Such access occurs in the
-- PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read
-- access to a fragment density map attachment during dynamic
-- fragment density map operations. Such access occurs in the
-- PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT pipeline
-- stage.
pattern ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR specifies write
-- access to an acceleration structure or acceleration structure
-- scratch buffer as part of a build or copy command. Such access
-- occurs in the
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR specifies read
-- access to an acceleration structure as part of a trace, build, or copy
-- command, or to an acceleration structure scratch buffer as part
-- of a build command. Such access occurs in the
-- PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR pipeline stage or
-- PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
-- stage.
pattern ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
-- specifies read access to a fragment shading rate attachment during
-- rasterization. Such access occurs in the
-- PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- pipeline stage.
pattern ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
-- | ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to
-- the target command buffer preprocess outputs. Such access occurs in
-- the PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV pipeline stage.
pattern ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits2KHR
-- | ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from
-- buffer inputs to cmdPreprocessGeneratedCommandsNV. Such access
-- occurs in the PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
-- pipeline stage.
pattern ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits2KHR
-- | ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT specifies read
-- access to a predicate as part of conditional rendering. Such access
-- occurs in the PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-- pipeline stage.
pattern ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT specifies
-- write access to a transform feedback counter buffer which is written
-- when cmdEndTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT specifies read
-- access to a transform feedback counter buffer which is read when
-- cmdBeginTransformFeedbackEXT executes. Such access occurs in
-- the PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits2KHR
-- | ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT specifies write
-- access to a transform feedback buffer made when transform feedback is
-- active. Such access occurs in the
-- PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT pipeline stage.
pattern ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits2KHR
type AccessFlags2KHR = AccessFlagBits2KHR
-- | VkPipelineStageFlagBits2KHR - Pipeline stage flags for
-- VkPipelineStageFlags2KHR
--
-- Description
--
-- Note
--
-- The TOP and BOTTOM pipeline stages are deprecated,
-- and applications should prefer
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR and
-- PIPELINE_STAGE_2_NONE_KHR.
--
-- Note
--
-- The PipelineStageFlags2KHR bitmask goes beyond the 31
-- individual bit flags allowable within a C99 enum, which is how
-- PipelineStageFlagBits is defined. The first 31 values are
-- common to both, and are interchangeable.
--
-- See Also
--
-- VK_KHR_synchronization2
newtype PipelineStageFlagBits2KHR
PipelineStageFlagBits2KHR :: Flags64 -> PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_NONE_KHR specifies no stages of execution.
pattern PIPELINE_STAGE_2_NONE_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the second
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the first scope.
pattern PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR specifies the stage of
-- the pipeline where indirect command parameters are consumed. This
-- stage also includes reading commands written by
-- cmdPreprocessGeneratedCommandsNV.
pattern PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR is equivalent to the
-- logical OR of:
--
--
pattern PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR specifies the vertex
-- shader stage.
pattern PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR specifies
-- the tessellation control shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
-- specifies the tessellation evaluation shader stage.
pattern PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR specifies the geometry
-- shader stage.
pattern PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR specifies the fragment
-- shader stage.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where early fragment tests (depth and stencil
-- tests before fragment shading) are performed. This stage also includes
-- subpass load operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR specifies the
-- stage of the pipeline where late fragment tests (depth and stencil
-- tests after fragment shading) are performed. This stage also includes
-- subpass store operations for framebuffer attachments with a
-- depth/stencil format.
pattern PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR specifies the
-- stage of the pipeline after blending where the final color values are
-- output from the pipeline. This stage also includes subpass load and
-- store operations and multisample resolve operations for
-- framebuffer attachments with a color or depth/stencil format.
pattern PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR specifies the compute
-- shader stage.
pattern PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR is equivalent to
-- specifying all of:
--
--
pattern PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR is equivalent to
-- PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR with
-- AccessFlags2KHR set to 0 when specified in the first
-- synchronization scope, but equivalent to
-- PIPELINE_STAGE_2_NONE_KHR in the second scope.
pattern PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_HOST_BIT_KHR specifies a pseudo-stage
-- indicating execution on the host of reads/writes of device memory.
-- This stage is not invoked by any commands recorded in a command
-- buffer.
pattern PIPELINE_STAGE_2_HOST_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR specifies the execution
-- of all graphics pipeline stages, and is equivalent to the logical OR
-- of:
--
--
pattern PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR specifies all operations
-- performed by all commands supported on the queue it is used with.
pattern PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COPY_BIT_KHR specifies the execution of all
-- copy commands, including cmdCopyQueryPoolResults.
pattern PIPELINE_STAGE_2_COPY_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RESOLVE_BIT_KHR specifies the execution of
-- cmdResolveImage.
pattern PIPELINE_STAGE_2_RESOLVE_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_BLIT_BIT_KHR specifies the execution of
-- cmdBlitImage.
pattern PIPELINE_STAGE_2_BLIT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CLEAR_BIT_KHR specifies the execution of
-- clear commands, with the exception of
-- cmdClearAttachments.
pattern PIPELINE_STAGE_2_CLEAR_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR specifies the stage of the
-- pipeline where index buffers are consumed.
pattern PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR specifies the
-- stage of the pipeline where vertex buffers are consumed.
pattern PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR is
-- equivalent to specifying all supported pre-rasterization shader
-- stages:
--
--
pattern PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI specifies the stage
-- of the pipeline where the invocation mask image is read by the
-- implementation to optimize the ray dispatch.
pattern PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI specifies the
-- subpass shading shader stage.
pattern PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_MESH_SHADER_BIT_NV specifies the mesh shader
-- stage.
pattern PIPELINE_STAGE_2_MESH_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TASK_SHADER_BIT_NV specifies the task shader
-- stage.
pattern PIPELINE_STAGE_2_TASK_SHADER_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT specifies the
-- stage of the pipeline where the fragment density map is read to
-- generate the fragment areas.
pattern PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR specifies the
-- execution of the ray tracing shader stages.
pattern PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR specifies
-- the execution of acceleration structure commands.
pattern PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- specifies the stage of the pipeline where the fragment shading rate
-- attachment or shading rate image is read to determine the
-- fragment shading rate for portions of a rasterized primitive.
pattern PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV specifies the stage
-- of the pipeline where device-side generation of commands via
-- cmdPreprocessGeneratedCommandsNV is handled.
pattern PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT specifies the
-- stage of the pipeline where the predicate of conditional rendering is
-- consumed.
pattern PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits2KHR
-- | PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT specifies the stage
-- of the pipeline where vertex attribute output values are written to
-- the transform feedback buffers.
pattern PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits2KHR
type PipelineStageFlags2KHR = PipelineStageFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
instance GHC.Show.Show Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
instance Foreign.Storable.Storable Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI
-- | Name
--
-- VK_EXT_border_color_swizzle - device extension
--
-- VK_EXT_border_color_swizzle
--
--
-- - Name String
-- VK_EXT_border_color_swizzle
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 412
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_EXT_custom_border_color
-- - Special Uses
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-10-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Graeme Leese,
-- Broadcom
- Jan-Harald Fredriksen, Arm
- Ricardo Garcia,
-- Igalia
- Shahbaz Youssefi, Google
- Stu Smith,
-- AMD
--
--
-- Description
--
-- After the publication of VK_EXT_custom_border_color, it was discovered
-- that some implementations had undefined behavior when combining a
-- sampler that uses a custom border color with image views whose
-- component mapping is not the identity mapping.
--
-- Since VK_EXT_custom_border_color has already shipped, this new
-- extension VK_EXT_border_color_swizzle was created to define the
-- interaction between custom border colors and non-identity image view
-- swizzles, and provide a work-around for implementations that must
-- pre-swizzle the sampler border color to match the image view component
-- mapping it is combined with.
--
-- This extension also defines the behavior between samplers with an
-- opaque black border color and image views with a non-identity
-- component swizzle, which was previously left undefined.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2021-10-12 (Piers Daniell)
--
--
-- See Also
--
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_border_color_swizzle
-- | VkSamplerBorderColorComponentMappingCreateInfoEXT - Structure
-- specifying the component mapping of the border color
--
-- Description
--
-- The ComponentMapping components member describes a
-- remapping from components of the border color to components of the
-- vector returned by shader image instructions when the border color is
-- used.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_border_color_swizzle, Bool32,
-- ComponentMapping, StructureType
data SamplerBorderColorComponentMappingCreateInfoEXT
SamplerBorderColorComponentMappingCreateInfoEXT :: ComponentMapping -> Bool -> SamplerBorderColorComponentMappingCreateInfoEXT
-- | components is a ComponentMapping structure specifying
-- a remapping of the border color components.
[$sel:components:SamplerBorderColorComponentMappingCreateInfoEXT] :: SamplerBorderColorComponentMappingCreateInfoEXT -> ComponentMapping
-- | srgb indicates that the sampler will be combined with an
-- image view that has an image format which is sRGB encoded.
[$sel:srgb:SamplerBorderColorComponentMappingCreateInfoEXT] :: SamplerBorderColorComponentMappingCreateInfoEXT -> Bool
-- | VkPhysicalDeviceBorderColorSwizzleFeaturesEXT - Structure describing
-- whether samplers with custom border colors require the component
-- swizzle specified in order to have defined behavior
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceBorderColorSwizzleFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_border_color_swizzle, Bool32,
-- StructureType
data PhysicalDeviceBorderColorSwizzleFeaturesEXT
PhysicalDeviceBorderColorSwizzleFeaturesEXT :: Bool -> Bool -> PhysicalDeviceBorderColorSwizzleFeaturesEXT
-- | borderColorSwizzle indicates that defined values are returned
-- by sampled image operations when used with a sampler that uses a
-- BORDER_COLOR_FLOAT_OPAQUE_BLACK,
-- BORDER_COLOR_INT_OPAQUE_BLACK,
-- BORDER_COLOR_FLOAT_CUSTOM_EXT, or
-- BORDER_COLOR_INT_CUSTOM_EXT borderColor and an image
-- view that uses a non-identity component mapping, when either
-- borderColorSwizzleFromImage is enabled or the
-- SamplerBorderColorComponentMappingCreateInfoEXT is specified.
[$sel:borderColorSwizzle:PhysicalDeviceBorderColorSwizzleFeaturesEXT] :: PhysicalDeviceBorderColorSwizzleFeaturesEXT -> Bool
-- | borderColorSwizzleFromImage indicates that the implementation
-- will return the correct border color values from sampled image
-- operations under the conditions expressed above, without the
-- application having to specify the border color component mapping when
-- creating the sampler object. If this feature bit is not set,
-- applications can chain a
-- SamplerBorderColorComponentMappingCreateInfoEXT structure when
-- creating samplers for use with image views that do not have an
-- identity swizzle and, when those samplers are combined with
-- image views using the same component mapping, sampled image operations
-- that use opaque black or custom border colors will return the correct
-- border color values.
[$sel:borderColorSwizzleFromImage:PhysicalDeviceBorderColorSwizzleFeaturesEXT] :: PhysicalDeviceBorderColorSwizzleFeaturesEXT -> Bool
type EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1
pattern EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION :: forall a. Integral a => a
type EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle"
pattern EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT
-- | Name
--
-- VK_ANDROID_external_memory_android_hardware_buffer - device extension
--
-- VK_ANDROID_external_memory_android_hardware_buffer
--
--
-- - Name String
-- VK_ANDROID_external_memory_android_hardware_buffer
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 130
-- - Revision 4
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_sampler_ycbcr_conversion
- Requires
-- VK_KHR_external_memory
- Requires
-- VK_EXT_queue_family_foreign
- Requires
-- VK_KHR_dedicated_allocation
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-30
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Ray Smith, ARM
- Chad
-- Versace, Google
- Jesse Hall, Google
- Tobias Hector,
-- Imagination
- James Jones, NVIDIA
- Tony Zlatinski,
-- NVIDIA
- Matthew Netsch, Qualcomm
- Andrew Garrard,
-- Samsung
--
--
-- Description
--
-- This extension enables an application to import Android
-- AHardwareBuffer objects created outside of the Vulkan device
-- into Vulkan memory objects, where they can be bound to images
-- and buffers. It also allows exporting an AHardwareBuffer from a
-- Vulkan memory object for symmetry with other operating systems. But
-- since not all AHardwareBuffer usages and formats have Vulkan
-- equivalents, exporting from Vulkan provides strictly less
-- functionality than creating the AHardwareBuffer externally and
-- importing it.
--
-- Some AHardwareBuffer images have implementation-defined
-- /external formats that may/ not correspond to Vulkan formats.
-- Sampler Y′CBCR conversion can be used to sample from these
-- images and convert them to a known color space.
--
-- New Base Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- Issues
--
-- 1) Other external memory objects are represented as weakly-typed
-- handles (e.g. Win32 HANDLE or POSIX file descriptor), and
-- require a handle type parameter along with handles.
-- AHardwareBuffer is strongly typed, so naming the handle type is
-- redundant. Does symmetry justify adding handle type parameters/fields
-- anyway?
--
-- RESOLVED: No. The handle type is already provided in places
-- that treat external memory objects generically. In the places we would
-- add it, the application code that would have to provide the handle
-- type value is already dealing with AHardwareBuffer-specific
-- commands/structures; the extra symmetry would not be enough to make
-- that code generic.
--
-- 2) The internal layout and therefore size of a AHardwareBuffer
-- image may depend on native usage flags that do not have corresponding
-- Vulkan counterparts. Do we provide this information to
-- createImage somehow, or allow the allocation size reported by
-- getImageMemoryRequirements to be approximate?
--
-- RESOLVED: Allow the allocation size to be unspecified when
-- allocating the memory. It has to work this way for exported image
-- memory anyway, since AHardwareBuffer allocation happens in
-- allocateMemory, and internally is performed by a separate HAL,
-- not the Vulkan implementation itself. There is a similar issue with
-- getImageSubresourceLayout: the layout is determined by the
-- allocator HAL, so it is not known until the image is bound to memory.
--
-- 3) Should the result of sampling an external-format image with the
-- suggested Y′CBCR conversion parameters yield the same results as using
-- a samplerExternalOES in OpenGL ES?
--
-- RESOLVED: This would be desirable, so that apps converting from
-- OpenGL ES to Vulkan could get the same output given the same input.
-- But since sampling and conversion from Y′CBCR images is so loosely
-- defined in OpenGL ES, multiple implementations do it in a way that
-- does not conform to Vulkan’s requirements. Modifying the OpenGL ES
-- implementation would be difficult, and would change the output of
-- existing unmodified applications. Changing the output only for
-- applications that are being modified gives developers the chance to
-- notice and mitigate any problems. Implementations are encouraged to
-- minimize differences as much as possible without causing compatibility
-- problems for existing OpenGL ES applications or violating Vulkan
-- requirements.
--
-- 4) Should an AHardwareBuffer with
-- AHARDWAREBUFFER_USAGE_CPU_* usage be mappable in Vulkan?
-- Should it be possible to export an AHardwareBuffers with such
-- usage?
--
-- RESOLVED: Optional, and mapping in Vulkan is not the same as
-- AHardwareBuffer_lock. The semantics of these are different:
-- mapping in memory is persistent, just gives a raw view of the memory
-- contents, and does not involve ownership.
-- AHardwareBuffer_lock gives the host exclusive access to the
-- buffer, is temporary, and allows for reformatting copy-in/copy-out.
-- Implementations are not required to support host-visible memory types
-- for imported Android hardware buffers or resources backed by them. If
-- a host-visible memory type is supported and used, the memory can be
-- mapped in Vulkan, but doing so follows Vulkan semantics: it is just a
-- raw view of the data and does not imply ownership (this means
-- implementations must not internally call AHardwareBuffer_lock
-- to implement mapMemory, or assume the application has done so).
-- Implementations are not required to support linear-tiled images backed
-- by Android hardware buffers, even if the AHardwareBuffer has
-- CPU usage. There is no reliable way to allocate memory in Vulkan that
-- can be exported to a AHardwareBuffer with CPU usage.
--
-- 5) Android may add new AHardwareBuffer formats and usage flags
-- over time. Can reference to them be added to this extension, or do
-- they need a new extension?
--
-- RESOLVED: This extension can document the interaction between
-- the new AHB formats/usages and existing Vulkan features. No new Vulkan
-- features or implementation requirements can be added. The extension
-- version number will be incremented when this additional documentation
-- is added, but the version number does not indicate that an
-- implementaiton supports Vulkan memory or resources that map to the new
-- AHardwareBuffer features: support for that must be queried with
-- getPhysicalDeviceImageFormatProperties2 or is implied by
-- successfully allocating a AHardwareBuffer outside of Vulkan
-- that uses the new feature and has a GPU usage flag.
--
-- In essence, these are new features added to a new Android API level,
-- rather than new Vulkan features. The extension will only document how
-- existing Vulkan features map to that new Android feature.
--
-- Version History
--
--
-- - Revision 4, 2021-09-30 (Jon Leech)
- Add interaction with
-- VK_KHR_format_feature_flags2 to
-- vk.xml
--
--
--
-- - Revision 3, 2019-08-27 (Jon Leech)
- Update revision history
-- to correspond to XML version number
-- - Revision 2, 2018-04-09 (Petr Kraus)
- Markup fixes and remove
-- incorrect Draft status
-- - Revision 1, 2018-03-04 (Jesse Hall)
--
--
-- See Also
--
-- AHardwareBuffer,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- ExternalFormatANDROID,
-- ImportAndroidHardwareBufferInfoANDROID,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- getAndroidHardwareBufferPropertiesANDROID,
-- getMemoryAndroidHardwareBufferANDROID
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer
-- | vkGetAndroidHardwareBufferPropertiesANDROID - Get Properties of
-- External Memory Android Hardware Buffers
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- AndroidHardwareBufferPropertiesANDROID, Device
getAndroidHardwareBufferPropertiesANDROID :: forall a io. (Extendss AndroidHardwareBufferPropertiesANDROID a, PokeChain a, PeekChain a, MonadIO io) => Device -> Ptr AHardwareBuffer -> io (AndroidHardwareBufferPropertiesANDROID a)
-- | vkGetMemoryAndroidHardwareBufferANDROID - Get an Android hardware
-- buffer for a memory object
--
-- Description
--
-- Each call to getMemoryAndroidHardwareBufferANDROID must
-- return an Android hardware buffer with a new reference acquired in
-- addition to the reference held by the DeviceMemory. To avoid
-- leaking resources, the application must release the reference
-- by calling AHardwareBuffer_release when it is no longer
-- needed. When called with the same handle in
-- MemoryGetAndroidHardwareBufferInfoANDROID::memory,
-- getMemoryAndroidHardwareBufferANDROID must return the
-- same Android hardware buffer object. If the device memory was created
-- by importing an Android hardware buffer,
-- getMemoryAndroidHardwareBufferANDROID must return that
-- same Android hardware buffer object.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- Device, MemoryGetAndroidHardwareBufferInfoANDROID
getMemoryAndroidHardwareBufferANDROID :: forall io. MonadIO io => Device -> MemoryGetAndroidHardwareBufferInfoANDROID -> io (Ptr AHardwareBuffer)
-- | VkImportAndroidHardwareBufferInfoANDROID - Import memory from an
-- Android hardware buffer
--
-- Description
--
-- If the allocateMemory command succeeds, the implementation
-- must acquire a reference to the imported hardware buffer, which
-- it must release when the device memory object is freed. If the
-- command fails, the implementation must not retain a reference.
--
-- Valid Usage
--
--
--
--
-- - If buffer is not NULL, it must be a valid
-- Android hardware buffer object with
-- AHardwareBuffer_Desc::usage compatible with Vulkan
-- as described in Android Hardware Buffers
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- StructureType
data ImportAndroidHardwareBufferInfoANDROID
ImportAndroidHardwareBufferInfoANDROID :: Ptr AHardwareBuffer -> ImportAndroidHardwareBufferInfoANDROID
-- | buffer is the Android hardware buffer to import.
[$sel:buffer:ImportAndroidHardwareBufferInfoANDROID] :: ImportAndroidHardwareBufferInfoANDROID -> Ptr AHardwareBuffer
-- | VkAndroidHardwareBufferUsageANDROID - Struct containing Android
-- hardware buffer usage flags
--
-- Description
--
-- The androidHardwareBufferUsage field must include
-- Android hardware buffer usage flags listed in the AHardwareBuffer
-- Usage Equivalence table when the corresponding Vulkan image usage
-- or image creation flags are included in the usage or
-- flags fields of PhysicalDeviceImageFormatInfo2. It
-- must include at least one GPU usage flag
-- (AHARDWAREBUFFER_USAGE_GPU_*), even if none of the
-- corresponding Vulkan usages or flags are requested.
--
-- Note
--
-- Requiring at least one GPU usage flag ensures that Android hardware
-- buffer memory will be allocated in a memory pool accessible to the
-- Vulkan implementation, and that specializing the memory layout based
-- on usage flags does not prevent it from being compatible with Vulkan.
-- Implementations may avoid unnecessary restrictions caused by
-- this requirement by using vendor usage flags to indicate that only the
-- Vulkan uses indicated in ImageFormatProperties2 are required.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- StructureType
data AndroidHardwareBufferUsageANDROID
AndroidHardwareBufferUsageANDROID :: Word64 -> AndroidHardwareBufferUsageANDROID
-- | androidHardwareBufferUsage returns the Android hardware
-- buffer usage flags.
[$sel:androidHardwareBufferUsage:AndroidHardwareBufferUsageANDROID] :: AndroidHardwareBufferUsageANDROID -> Word64
-- | VkAndroidHardwareBufferPropertiesANDROID - Properties of External
-- Memory Android Hardware Buffers
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- DeviceSize, StructureType,
-- getAndroidHardwareBufferPropertiesANDROID
data AndroidHardwareBufferPropertiesANDROID (es :: [Type])
AndroidHardwareBufferPropertiesANDROID :: Chain es -> DeviceSize -> Word32 -> AndroidHardwareBufferPropertiesANDROID (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:AndroidHardwareBufferPropertiesANDROID] :: AndroidHardwareBufferPropertiesANDROID (es :: [Type]) -> Chain es
-- | allocationSize is the size of the external memory
[$sel:allocationSize:AndroidHardwareBufferPropertiesANDROID] :: AndroidHardwareBufferPropertiesANDROID (es :: [Type]) -> DeviceSize
-- | memoryTypeBits is a bitmask containing one bit set for every
-- memory type which the specified Android hardware buffer can be
-- imported as.
[$sel:memoryTypeBits:AndroidHardwareBufferPropertiesANDROID] :: AndroidHardwareBufferPropertiesANDROID (es :: [Type]) -> Word32
-- | VkMemoryGetAndroidHardwareBufferInfoANDROID - Structure describing an
-- Android hardware buffer memory export operation
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - memory must be a valid DeviceMemory
-- handle
--
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- DeviceMemory, StructureType,
-- getMemoryAndroidHardwareBufferANDROID
data MemoryGetAndroidHardwareBufferInfoANDROID
MemoryGetAndroidHardwareBufferInfoANDROID :: DeviceMemory -> MemoryGetAndroidHardwareBufferInfoANDROID
-- | memory is the memory object from which the Android hardware
-- buffer will be exported.
[$sel:memory:MemoryGetAndroidHardwareBufferInfoANDROID] :: MemoryGetAndroidHardwareBufferInfoANDROID -> DeviceMemory
-- | VkAndroidHardwareBufferFormatPropertiesANDROID - Structure describing
-- the image format properties of an Android hardware buffer
--
-- Description
--
-- If the Android hardware buffer has one of the formats listed in the
-- Format Equivalence table, then format must have
-- the equivalent Vulkan format listed in the table. Otherwise,
-- format may be FORMAT_UNDEFINED, indicating the
-- Android hardware buffer can only be used with an external
-- format.
--
-- The formatFeatures member must include
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT and at least one of
-- FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or
-- FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, and should
-- include FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT and
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT.
--
-- Note
--
-- The formatFeatures member only indicates the features
-- available when using an external-format image created from the
-- Android hardware buffer. Images from Android hardware buffers with a
-- format other than FORMAT_UNDEFINED are subject to the format
-- capabilities obtained from getPhysicalDeviceFormatProperties2,
-- and getPhysicalDeviceImageFormatProperties2 with appropriate
-- parameters. These sets of features are independent of each other, e.g.
-- the external format will support sampler Y′CBCR conversion even if the
-- non-external format does not, and writing to non-external format
-- images is possible but writing to external format images is not.
--
-- Android hardware buffers with the same external format must
-- have the same support for
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
-- FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
-- FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
-- and
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT.
-- in formatFeatures. Other format features may differ
-- between Android hardware buffers that have the same external format.
-- This allows applications to use the same SamplerYcbcrConversion
-- object (and samplers and pipelines created from them) for any Android
-- hardware buffers that have the same external format.
--
-- If format is not FORMAT_UNDEFINED, then the value of
-- samplerYcbcrConversionComponents must be valid when
-- used as the components member of
-- SamplerYcbcrConversionCreateInfo with that format. If
-- format is FORMAT_UNDEFINED, all members of
-- samplerYcbcrConversionComponents must be the
-- identity swizzle.
--
-- Implementations may not always be able to determine the color
-- model, numerical range, or chroma offsets of the image contents, so
-- the values in AndroidHardwareBufferFormatPropertiesANDROID are
-- only suggestions. Applications should treat these values as
-- sensible defaults to use in the absence of more reliable information
-- obtained through some other means. If the underlying physical device
-- is also usable via OpenGL ES with the GL_OES_EGL_image_external
-- extension, the implementation should suggest values that will
-- produce similar sampled values as would be obtained by sampling the
-- same external image via samplerExternalOES in OpenGL ES using
-- equivalent sampler parameters.
--
-- Note
--
-- Since GL_OES_EGL_image_external does not require the same
-- sampling and conversion calculations as Vulkan does, achieving
-- identical results between APIs may not be possible on some
-- implementations.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- ChromaLocation, ComponentMapping, Format,
-- FormatFeatureFlags, SamplerYcbcrModelConversion,
-- SamplerYcbcrRange, StructureType
data AndroidHardwareBufferFormatPropertiesANDROID
AndroidHardwareBufferFormatPropertiesANDROID :: Format -> Word64 -> FormatFeatureFlags -> ComponentMapping -> SamplerYcbcrModelConversion -> SamplerYcbcrRange -> ChromaLocation -> ChromaLocation -> AndroidHardwareBufferFormatPropertiesANDROID
-- | format is the Vulkan format corresponding to the Android
-- hardware buffer’s format, or FORMAT_UNDEFINED if there is not
-- an equivalent Vulkan format.
[$sel:format:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> Format
-- | externalFormat is an implementation-defined external format
-- identifier for use with ExternalFormatANDROID. It must
-- not be zero.
[$sel:externalFormat:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> Word64
-- | formatFeatures describes the capabilities of this external
-- format when used with an image bound to memory imported from
-- buffer.
[$sel:formatFeatures:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> FormatFeatureFlags
-- | samplerYcbcrConversionComponents is the component swizzle
-- that should be used in SamplerYcbcrConversionCreateInfo.
[$sel:samplerYcbcrConversionComponents:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> ComponentMapping
-- | suggestedYcbcrModel is a suggested color model to use in the
-- SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYcbcrModel:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> SamplerYcbcrModelConversion
-- | suggestedYcbcrRange is a suggested numerical value range to
-- use in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYcbcrRange:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> SamplerYcbcrRange
-- | suggestedXChromaOffset is a suggested X chroma offset to use
-- in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedXChromaOffset:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> ChromaLocation
-- | suggestedYChromaOffset is a suggested Y chroma offset to use
-- in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYChromaOffset:AndroidHardwareBufferFormatPropertiesANDROID] :: AndroidHardwareBufferFormatPropertiesANDROID -> ChromaLocation
-- | VkExternalFormatANDROID - Structure containing an Android hardware
-- buffer external format
--
-- Description
--
-- If externalFormat is zero, the effect is as if the
-- ExternalFormatANDROID structure was not present. Otherwise, the
-- image will have the specified external format.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- StructureType
data ExternalFormatANDROID
ExternalFormatANDROID :: Word64 -> ExternalFormatANDROID
-- | externalFormat is an implementation-defined identifier for
-- the external format
--
-- externalFormat must be 0 or a value returned
-- in the externalFormat member of
-- AndroidHardwareBufferFormatPropertiesANDROID by an earlier call
-- to getAndroidHardwareBufferPropertiesANDROID
[$sel:externalFormat:ExternalFormatANDROID] :: ExternalFormatANDROID -> Word64
-- | VkAndroidHardwareBufferFormatProperties2ANDROID - Structure describing
-- the image format properties of an Android hardware buffer
--
-- Description
--
-- The bits reported in formatFeatures must include the
-- bits reported in the corresponding fields of
-- AndroidHardwareBufferFormatPropertiesANDROID::formatFeatures.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_ANDROID_external_memory_android_hardware_buffer,
-- VK_KHR_format_feature_flags2, ChromaLocation,
-- ComponentMapping, Format, FormatFeatureFlags2KHR,
-- SamplerYcbcrModelConversion, SamplerYcbcrRange,
-- StructureType
data AndroidHardwareBufferFormatProperties2ANDROID
AndroidHardwareBufferFormatProperties2ANDROID :: Format -> Word64 -> FormatFeatureFlags2KHR -> ComponentMapping -> SamplerYcbcrModelConversion -> SamplerYcbcrRange -> ChromaLocation -> ChromaLocation -> AndroidHardwareBufferFormatProperties2ANDROID
-- | format is the Vulkan format corresponding to the Android
-- hardware buffer’s format, or FORMAT_UNDEFINED if there is not
-- an equivalent Vulkan format.
[$sel:format:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> Format
-- | externalFormat is an implementation-defined external format
-- identifier for use with ExternalFormatANDROID. It must
-- not be zero.
[$sel:externalFormat:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> Word64
-- | formatFeatures describes the capabilities of this external
-- format when used with an image bound to memory imported from
-- buffer.
[$sel:formatFeatures:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> FormatFeatureFlags2KHR
-- | samplerYcbcrConversionComponents is the component swizzle
-- that should be used in SamplerYcbcrConversionCreateInfo.
[$sel:samplerYcbcrConversionComponents:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> ComponentMapping
-- | suggestedYcbcrModel is a suggested color model to use in the
-- SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYcbcrModel:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> SamplerYcbcrModelConversion
-- | suggestedYcbcrRange is a suggested numerical value range to
-- use in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYcbcrRange:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> SamplerYcbcrRange
-- | suggestedXChromaOffset is a suggested X chroma offset to use
-- in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedXChromaOffset:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> ChromaLocation
-- | suggestedYChromaOffset is a suggested Y chroma offset to use
-- in SamplerYcbcrConversionCreateInfo.
[$sel:suggestedYChromaOffset:AndroidHardwareBufferFormatProperties2ANDROID] :: AndroidHardwareBufferFormatProperties2ANDROID -> ChromaLocation
type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 4
pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION :: forall a. Integral a => a
type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME = "VK_ANDROID_external_memory_android_hardware_buffer"
pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
data AHardwareBuffer
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es)
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance GHC.Show.Show Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.MemoryGetAndroidHardwareBufferInfoANDROID
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
instance Foreign.Storable.Storable Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID
module Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion
-- | vkCreateSamplerYcbcrConversion - Create a new Y′CBCR conversion
--
-- Description
--
-- The interpretation of the configured sampler Y′CBCR conversion is
-- described in more detail in the description of sampler Y′CBCR
-- conversion in the Image Operations chapter.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, AllocationCallbacks, Device,
-- SamplerYcbcrConversion, SamplerYcbcrConversionCreateInfo
createSamplerYcbcrConversion :: forall a io. (Extendss SamplerYcbcrConversionCreateInfo a, PokeChain a, MonadIO io) => Device -> SamplerYcbcrConversionCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io SamplerYcbcrConversion
-- | A convenience wrapper to make a compatible pair of calls to
-- createSamplerYcbcrConversion and
-- destroySamplerYcbcrConversion
--
-- To ensure that destroySamplerYcbcrConversion 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.
withSamplerYcbcrConversion :: forall a io r. (Extendss SamplerYcbcrConversionCreateInfo a, PokeChain a, MonadIO io) => Device -> SamplerYcbcrConversionCreateInfo a -> Maybe AllocationCallbacks -> (io SamplerYcbcrConversion -> (SamplerYcbcrConversion -> io ()) -> r) -> r
-- | vkDestroySamplerYcbcrConversion - Destroy a created Y′CBCR conversion
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If ycbcrConversion is not NULL_HANDLE,
-- ycbcrConversion must be a valid
-- SamplerYcbcrConversion handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If ycbcrConversion is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to ycbcrConversion must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_1, AllocationCallbacks, Device,
-- SamplerYcbcrConversion
destroySamplerYcbcrConversion :: forall io. MonadIO io => Device -> SamplerYcbcrConversion -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkSamplerYcbcrConversionInfo - Structure specifying Y′CBCR conversion
-- to a sampler or image view
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, SamplerYcbcrConversion,
-- StructureType
data SamplerYcbcrConversionInfo
SamplerYcbcrConversionInfo :: SamplerYcbcrConversion -> SamplerYcbcrConversionInfo
-- | conversion is a SamplerYcbcrConversion handle created
-- with createSamplerYcbcrConversion.
--
-- conversion must be a valid
-- SamplerYcbcrConversion handle
[$sel:conversion:SamplerYcbcrConversionInfo] :: SamplerYcbcrConversionInfo -> SamplerYcbcrConversion
-- | VkSamplerYcbcrConversionCreateInfo - Structure specifying the
-- parameters of the newly created conversion
--
-- Description
--
-- Note
--
-- Setting forceExplicitReconstruction to TRUE may
-- have a performance penalty on implementations where explicit
-- reconstruction is not the default mode of operation.
--
-- If format supports
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
-- the forceExplicitReconstruction value behaves as if it was
-- set to TRUE.
--
-- If the pNext chain includes a ExternalFormatANDROID
-- structure with non-zero externalFormat member, the sampler
-- Y′CBCR conversion object represents an external format
-- conversion, and format must be
-- FORMAT_UNDEFINED. Such conversions must only be used to
-- sample image views with a matching external format. When
-- creating an external format conversion, the value of
-- components is ignored.
--
-- Valid Usage
--
--
-- - If an external format conversion is being created, format
-- must be FORMAT_UNDEFINED
--
--
--
-- - If an external format conversion is not being created,
-- format must represent unsigned normalized values (i.e.
-- the format must be a UNORM format)
-- - The potential format features of the sampler Y′CBCR
-- conversion must support
-- FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or
-- FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
-- - If the potential format features of the sampler Y′CBCR
-- conversion do not support
-- FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
-- xChromaOffset and yChromaOffset must not be
-- CHROMA_LOCATION_COSITED_EVEN if the corresponding components
-- are downsampled
-- - If the potential format features of the sampler Y′CBCR
-- conversion do not support
-- FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
-- xChromaOffset and yChromaOffset must not be
-- CHROMA_LOCATION_MIDPOINT if the corresponding components are
-- downsampled
-- - If the format has a _422 or _420 suffix, then
-- components.g must be the identity swizzle
-- - If the format has a _422 or _420 suffix, then
-- components.a must be the identity swizzle,
-- COMPONENT_SWIZZLE_ONE, or COMPONENT_SWIZZLE_ZERO
-- - If the format has a _422 or _420 suffix, then
-- components.r must be the identity swizzle or
-- COMPONENT_SWIZZLE_B
-- - If the format has a _422 or _420 suffix, then
-- components.b must be the identity swizzle or
-- COMPONENT_SWIZZLE_R
-- - If the format has a _422 or _420 suffix, and if
-- either components.r or components.b is the
-- identity swizzle, both values must be the identity
-- swizzle
-- - If ycbcrModel is not
-- SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then
-- components.r, components.g, and
-- components.b must correspond to components of the
-- format; that is, components.r,
-- components.g, and components.b must not be
-- COMPONENT_SWIZZLE_ZERO or COMPONENT_SWIZZLE_ONE, and
-- must not correspond to a component containing zero or one as a
-- consequence of conversion to RGBA
-- - If ycbcrRange is SAMPLER_YCBCR_RANGE_ITU_NARROW
-- then the R, G and B components obtained by applying the
-- component swizzle to format must each have a
-- bit-depth greater than or equal to 8
-- - If the potential format features of the sampler Y′CBCR
-- conversion do not support
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
-- forceExplicitReconstruction must be FALSE
-- - If the potential format features of the sampler Y′CBCR
-- conversion do not support
-- FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
-- chromaFilter must not be FILTER_LINEAR
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- If chromaFilter is FILTER_NEAREST, chroma samples are
-- reconstructed to luma component resolution using nearest-neighbour
-- sampling. Otherwise, chroma samples are reconstructed using
-- interpolation. More details can be found in the description of
-- sampler Y′CBCR conversion in the Image Operations chapter.
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, ChromaLocation,
-- ComponentMapping, Filter, Format,
-- SamplerYcbcrModelConversion, SamplerYcbcrRange,
-- StructureType, createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR
data SamplerYcbcrConversionCreateInfo (es :: [Type])
SamplerYcbcrConversionCreateInfo :: Chain es -> Format -> SamplerYcbcrModelConversion -> SamplerYcbcrRange -> ComponentMapping -> ChromaLocation -> ChromaLocation -> Filter -> Bool -> SamplerYcbcrConversionCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> Chain es
-- | format is the format of the image from which color
-- information will be retrieved.
[$sel:format:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> Format
-- | ycbcrModel describes the color matrix for conversion between
-- color models.
[$sel:ycbcrModel:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> SamplerYcbcrModelConversion
-- | ycbcrRange describes whether the encoded values have headroom
-- and foot room, or whether the encoding uses the full numerical range.
[$sel:ycbcrRange:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> SamplerYcbcrRange
-- | components applies a swizzle based on
-- ComponentSwizzle enums prior to range expansion and color model
-- conversion.
[$sel:components:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> ComponentMapping
-- | xChromaOffset describes the sample location associated
-- with downsampled chroma components in the x dimension.
-- xChromaOffset has no effect for formats in which chroma
-- components are not downsampled horizontally.
[$sel:xChromaOffset:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> ChromaLocation
-- | yChromaOffset describes the sample location associated
-- with downsampled chroma components in the y dimension.
-- yChromaOffset has no effect for formats in which the chroma
-- components are not downsampled vertically.
[$sel:yChromaOffset:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> ChromaLocation
-- | chromaFilter is the filter for chroma reconstruction.
[$sel:chromaFilter:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> Filter
-- | forceExplicitReconstruction can be used to ensure that
-- reconstruction is done explicitly, if supported.
[$sel:forceExplicitReconstruction:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> Bool
-- | VkBindImagePlaneMemoryInfo - Structure specifying how to bind an image
-- plane to memory
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ImageAspectFlagBits,
-- StructureType
data BindImagePlaneMemoryInfo
BindImagePlaneMemoryInfo :: ImageAspectFlagBits -> BindImagePlaneMemoryInfo
-- | planeAspect is a ImageAspectFlagBits value specifying
-- the aspect of the disjoint image plane to bind.
[$sel:planeAspect:BindImagePlaneMemoryInfo] :: BindImagePlaneMemoryInfo -> ImageAspectFlagBits
-- | VkImagePlaneMemoryRequirementsInfo - Structure specifying image plane
-- for memory requirements
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ImageAspectFlagBits,
-- StructureType
data ImagePlaneMemoryRequirementsInfo
ImagePlaneMemoryRequirementsInfo :: ImageAspectFlagBits -> ImagePlaneMemoryRequirementsInfo
-- | planeAspect is a ImageAspectFlagBits value specifying
-- the aspect corresponding to the image plane to query.
[$sel:planeAspect:ImagePlaneMemoryRequirementsInfo] :: ImagePlaneMemoryRequirementsInfo -> ImageAspectFlagBits
-- | VkPhysicalDeviceSamplerYcbcrConversionFeatures - Structure describing
-- Y′CBCR conversion features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following feature:
--
-- Description
--
-- If the PhysicalDeviceSamplerYcbcrConversionFeatures structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceSamplerYcbcrConversionFeatures can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_sampler_ycbcr_conversion, VK_VERSION_1_1,
-- Bool32, StructureType
data PhysicalDeviceSamplerYcbcrConversionFeatures
PhysicalDeviceSamplerYcbcrConversionFeatures :: Bool -> PhysicalDeviceSamplerYcbcrConversionFeatures
-- | samplerYcbcrConversion specifies whether the implementation
-- supports sampler Y′CBCR conversion. If
-- samplerYcbcrConversion is FALSE, sampler Y′CBCR
-- conversion is not supported, and samplers using sampler Y′CBCR
-- conversion must not be used.
[$sel:samplerYcbcrConversion:PhysicalDeviceSamplerYcbcrConversionFeatures] :: PhysicalDeviceSamplerYcbcrConversionFeatures -> Bool
-- | VkSamplerYcbcrConversionImageFormatProperties - Structure specifying
-- combined image sampler descriptor count for multi-planar images
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, StructureType
data SamplerYcbcrConversionImageFormatProperties
SamplerYcbcrConversionImageFormatProperties :: Word32 -> SamplerYcbcrConversionImageFormatProperties
-- | combinedImageSamplerDescriptorCount is the number of combined
-- image sampler descriptors that the implementation uses to access the
-- format.
[$sel:combinedImageSamplerDescriptorCount:SamplerYcbcrConversionImageFormatProperties] :: SamplerYcbcrConversionImageFormatProperties -> Word32
-- | VkSamplerYcbcrConversion - Opaque handle to a device-specific sampler
-- Y′CBCR conversion description
--
-- See Also
--
-- VK_VERSION_1_1, SamplerYcbcrConversionInfo,
-- createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR
newtype SamplerYcbcrConversion
SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion
-- | VkFormat - Available image formats
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AttachmentDescription, AttachmentDescription2,
-- BufferViewCreateInfo,
-- CommandBufferInheritanceRenderingInfoKHR,
-- FramebufferAttachmentImageInfo, GeometryTrianglesNV,
-- ImageCreateInfo, ImageFormatListCreateInfo,
-- ImageViewASTCDecodeModeEXT, ImageViewCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PipelineRenderingCreateInfoKHR,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR,
-- SwapchainCreateInfoKHR, VertexInputAttributeDescription,
-- VertexInputAttributeDescription2EXT,
-- VkVideoFormatPropertiesKHR, VkVideoSessionCreateInfoKHR,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceFormatProperties,
-- getPhysicalDeviceFormatProperties2,
-- getPhysicalDeviceFormatProperties2KHR,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype Format
Format :: Int32 -> Format
-- | FORMAT_UNDEFINED specifies that the format is not specified.
pattern FORMAT_UNDEFINED :: 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_R4G4_UNORM_PACK8 :: 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_R4G4B4A4_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_B4G4R4A4_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_R5G6B5_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_B5G6R5_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_R5G5B5A1_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_B5G5R5A1_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_A1R5G5B5_UNORM_PACK16 :: Format
-- | FORMAT_R8_UNORM specifies a one-component, 8-bit unsigned
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_UNORM :: Format
-- | FORMAT_R8_SNORM specifies a one-component, 8-bit signed
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has a single 8-bit R component.
pattern FORMAT_R8_UINT :: Format
-- | FORMAT_R8_SINT specifies a one-component, 8-bit signed integer
-- format that has a single 8-bit R component.
pattern FORMAT_R8_SINT :: 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_R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8A8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8A8_SRGB :: 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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_SINT_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_A8B8G8R8_SRGB_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2R10G10B10_SINT_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2B10G10R10_SINT_PACK32 :: Format
-- | FORMAT_R16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_UNORM :: Format
-- | FORMAT_R16_SNORM specifies a one-component, 16-bit signed
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R16_UINT specifies a one-component, 16-bit unsigned
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_UINT :: Format
-- | FORMAT_R16_SINT specifies a one-component, 16-bit signed
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_SINT :: Format
-- | FORMAT_R16_SFLOAT specifies a one-component, 16-bit signed
-- floating-point format that has a single 16-bit R component.
pattern FORMAT_R16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16A16_SFLOAT :: Format
-- | FORMAT_R32_UINT specifies a one-component, 32-bit unsigned
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_UINT :: Format
-- | FORMAT_R32_SINT specifies a one-component, 32-bit signed
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_SINT :: Format
-- | FORMAT_R32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has a single 32-bit R component.
pattern FORMAT_R32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32A32_SFLOAT :: Format
-- | FORMAT_R64_UINT specifies a one-component, 64-bit unsigned
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_UINT :: Format
-- | FORMAT_R64_SINT specifies a one-component, 64-bit signed
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_SINT :: Format
-- | FORMAT_R64_SFLOAT specifies a one-component, 64-bit signed
-- floating-point format that has a single 64-bit R component.
pattern FORMAT_R64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64A64_SFLOAT :: 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_B10G11R11_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_E5B9G9R9_UFLOAT_PACK32 :: Format
-- | FORMAT_D16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit depth component.
pattern FORMAT_D16_UNORM :: 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_X8_D24_UNORM_PACK32 :: Format
-- | FORMAT_D32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has 32 bits in the depth component.
pattern FORMAT_D32_SFLOAT :: Format
-- | FORMAT_S8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has 8 bits in the stencil component.
pattern FORMAT_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_D16_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_D24_UNORM_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_D32_SFLOAT_S8_UINT :: 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_UNORM_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_RGB_SRGB_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_UNORM_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_BC1_RGBA_SRGB_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_UNORM_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_BC2_SRGB_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_UNORM_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_BC3_SRGB_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_UNORM_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_BC4_SNORM_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_UNORM_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_BC5_SNORM_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_UFLOAT_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_BC6H_SFLOAT_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_UNORM_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_BC7_SRGB_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_UNORM_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_R8G8B8_SRGB_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_UNORM_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_R8G8B8A1_SRGB_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_UNORM_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_ETC2_R8G8B8A8_SRGB_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_UNORM_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_R11_SNORM_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_UNORM_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_EAC_R11G11_SNORM_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_UNORM_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_4x4_SRGB_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_UNORM_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_5x4_SRGB_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_UNORM_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_5x5_SRGB_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_UNORM_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_6x5_SRGB_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_UNORM_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_6x6_SRGB_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_UNORM_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_8x5_SRGB_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_UNORM_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_8x6_SRGB_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_UNORM_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_8x8_SRGB_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_UNORM_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_10x5_SRGB_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_UNORM_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_10x6_SRGB_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_UNORM_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_10x8_SRGB_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_UNORM_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_10x10_SRGB_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_UNORM_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_12x10_SRGB_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_UNORM_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_ASTC_12x12_SRGB_BLOCK :: 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_A4B4G4R4_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_A4R4G4B4_UNORM_PACK16_EXT :: Format
-- | FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT :: Format
-- | FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT 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. Both planes
-- have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G8_B8R8_2PLANE_444_UNORM_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_12x12_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_12x10_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_10x10_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_10x8_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_10x6_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_10x5_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_8x8_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_8x6_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_8x5_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_6x6_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_6x5_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_5x5_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_5x4_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_ASTC_4x4_SFLOAT_BLOCK_EXT :: 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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_SRGB_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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_UNORM_BLOCK_IMG :: 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_B16_R16_3PLANE_444_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 dimension
-- 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 <math>.
-- 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_420_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.
-- This format only supports images 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_B16G16R16G16_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.
-- This format only supports images 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_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_B12X4_R12X4_3PLANE_444_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, with the bottom 4 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_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, with the bottom 4 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B12X4G12X4R12X4G12X4_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. This
-- format only supports images 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_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_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: 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_R12X4G12X4_UNORM_2PACK16 :: 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_R12X4_UNORM_PACK16 :: 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_B10X6_R10X6_3PLANE_444_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, with the bottom 6 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_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, with the bottom 6 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B10X6G10X6R10X6G10X6_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. This
-- format only supports images 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_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_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: 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_R10X6G10X6_UNORM_2PACK16 :: 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_R10X6_UNORM_PACK16 :: 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_B8_R8_3PLANE_444_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 dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_420_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.
-- This format only supports images 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_B8G8R8G8_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.
-- This format only supports images 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
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkObjectType - Specify an enumeration to track object handle types
--
-- Description
--
-- '
--
-- TODO: table
--
-- ObjectType and Vulkan Handle Relationship
--
-- See Also
--
-- VK_VERSION_1_0, DebugUtilsObjectNameInfoEXT,
-- DebugUtilsObjectTagInfoEXT,
-- DeviceMemoryReportCallbackDataEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype ObjectType
ObjectType :: Int32 -> ObjectType
pattern OBJECT_TYPE_UNKNOWN :: ObjectType
pattern OBJECT_TYPE_INSTANCE :: ObjectType
pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
pattern OBJECT_TYPE_DEVICE :: ObjectType
pattern OBJECT_TYPE_QUEUE :: ObjectType
pattern OBJECT_TYPE_SEMAPHORE :: ObjectType
pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType
pattern OBJECT_TYPE_FENCE :: ObjectType
pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType
pattern OBJECT_TYPE_BUFFER :: ObjectType
pattern OBJECT_TYPE_IMAGE :: ObjectType
pattern OBJECT_TYPE_EVENT :: ObjectType
pattern OBJECT_TYPE_QUERY_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType
pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType
pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
pattern OBJECT_TYPE_RENDER_PASS :: ObjectType
pattern OBJECT_TYPE_PIPELINE :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
pattern OBJECT_TYPE_SAMPLER :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType
pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType
pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
pattern OBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
pattern OBJECT_TYPE_CU_MODULE_NVX :: ObjectType
pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a
-- buffer
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for FormatFeatureFlags2KHR and 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:
--
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image
-- view can be sampled from.
-- - FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image
-- view can be used as a storage image.
-- - FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
-- - FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image
-- view can be used as a framebuffer color attachment and as an
-- input attachment.
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_BLIT_DST_BIT specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - 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. Where depth
-- comparison is supported it may be linear filtered whether this
-- bit is present or not, but where this bit is not present the filtered
-- value may be computed 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.
-- - FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
-- - FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
-- - 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.
-- - FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried
-- is a depth/stencil format, this only specifies that the depth aspect
-- is cubic filterable.
-- - 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.
-- - 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.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - 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.
--
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that
-- an image view can be used as a fragment density map
-- attachment.
-- - 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties::format:
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FormatFeatureFlags
newtype FormatFeatureFlagBits
FormatFeatureFlagBits :: Flags -> FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view
-- can be sampled from.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view
-- can be used as a storage image.
pattern FORMAT_FEATURE_STORAGE_IMAGE_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_STORAGE_IMAGE_ATOMIC_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_UNIFORM_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_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_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format
-- can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_VERTEX_BUFFER_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_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_COLOR_ATTACHMENT_BLEND_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_DEPTH_STENCIL_ATTACHMENT_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_SRC_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_BLIT_DST_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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: 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_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: 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_SAMPLED_IMAGE_FILTER_MINMAX_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_COSITED_CHROMA_SAMPLES_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_DISJOINT_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_FORCEABLE_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_CHROMA_RECONSTRUCTION_EXPLICIT_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_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_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_MIDPOINT_CHROMA_SAMPLES_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_DST_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits
type FormatFeatureFlags = FormatFeatureFlagBits
-- | VkImageAspectFlagBits - Bitmask specifying which aspects of an image
-- are included in a view
--
-- See Also
--
-- VK_VERSION_1_0, BindImagePlaneMemoryInfo,
-- DeviceImageMemoryRequirementsKHR, ImageAspectFlags,
-- ImagePlaneMemoryRequirementsInfo
newtype ImageAspectFlagBits
ImageAspectFlagBits :: Flags -> ImageAspectFlagBits
-- | IMAGE_ASPECT_COLOR_BIT specifies the color aspect.
pattern IMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_DEPTH_BIT specifies the depth aspect.
pattern IMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_STENCIL_BIT specifies the stencil aspect.
pattern IMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_METADATA_BIT specifies the metadata aspect, used
-- for sparse resource operations.
pattern IMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_NONE_KHR specifies no image aspect, or the image
-- aspect is not applicable.
pattern IMAGE_ASPECT_NONE_KHR :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT specifies memory
-- plane 3.
pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT specifies memory
-- plane 2.
pattern IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT specifies memory
-- plane 1.
pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT specifies memory
-- plane 0.
pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_2_BIT specifies plane 2 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_1_BIT specifies plane 1 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits
-- | IMAGE_ASPECT_PLANE_0_BIT specifies plane 0 of a
-- multi-planar image format.
pattern IMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits
type ImageAspectFlags = ImageAspectFlagBits
-- | VkSamplerYcbcrModelConversion - Color model component of a color space
--
-- Description
--
--
--
--
--
-- In the VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_* color
-- models, for the input to the sampler Y′CBCR range expansion and model
-- conversion:
--
--
-- - the Y (Y′ luma) component corresponds to the G component of an RGB
-- image.
-- - the CB (CB or “U” blue color difference) component corresponds to
-- the B component of an RGB image.
-- - the CR (CR or “V” red color difference) component corresponds to
-- the R component of an RGB image.
-- - the alpha component, if present, is not modified by color model
-- conversion.
--
--
-- These rules reflect the mapping of components after the component
-- swizzle operation (controlled by
-- SamplerYcbcrConversionCreateInfo::components).
--
-- Note
--
-- For example, an “YUVA” 32-bit format comprising four 8-bit components
-- can be implemented as FORMAT_R8G8B8A8_UNORM with a component
-- mapping:
--
--
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype SamplerYcbcrModelConversion
SamplerYcbcrModelConversion :: Int32 -> SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: SamplerYcbcrModelConversion
-- | VkSamplerYcbcrRange - Range of encoded values in a color space
--
-- Description
--
-- The formulae for these conversions is described in the Sampler
-- Y′CBCR Range Expansion section of the Image Operations
-- chapter.
--
-- No range modification takes place if ycbcrModel is
-- SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; the
-- ycbcrRange field of SamplerYcbcrConversionCreateInfo
-- is ignored in this case.
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype SamplerYcbcrRange
SamplerYcbcrRange :: Int32 -> SamplerYcbcrRange
-- | SAMPLER_YCBCR_RANGE_ITU_FULL specifies that the full range of
-- the encoded values are valid and interpreted according to the ITU
-- “full range” quantization rules.
pattern SAMPLER_YCBCR_RANGE_ITU_FULL :: SamplerYcbcrRange
-- | SAMPLER_YCBCR_RANGE_ITU_NARROW specifies that headroom and foot
-- room are reserved in the numerical range of encoded values, and the
-- remaining values are expanded according to the ITU “narrow range”
-- quantization rules.
pattern SAMPLER_YCBCR_RANGE_ITU_NARROW :: SamplerYcbcrRange
-- | VkChromaLocation - Position of downsampled chroma samples
--
-- See Also
--
-- VK_VERSION_1_1,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- BufferCollectionPropertiesFUCHSIA,
-- SamplerYcbcrConversionCreateInfo
newtype ChromaLocation
ChromaLocation :: Int32 -> ChromaLocation
-- | CHROMA_LOCATION_COSITED_EVEN specifies that downsampled chroma
-- samples are aligned with luma samples with even coordinates.
pattern CHROMA_LOCATION_COSITED_EVEN :: ChromaLocation
-- | CHROMA_LOCATION_MIDPOINT specifies that downsampled chroma
-- samples are located half way between each even luma sample and the
-- nearest higher odd luma sample.
pattern CHROMA_LOCATION_MIDPOINT :: ChromaLocation
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es)
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo
-- | Name
--
-- VK_KHR_sampler_ycbcr_conversion - device extension
--
-- VK_KHR_sampler_ycbcr_conversion
--
--
-- - Name String
-- VK_KHR_sampler_ycbcr_conversion
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 157
-- - Revision 14
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_maintenance1
- Requires
-- VK_KHR_bind_memory2
- Requires
-- VK_KHR_get_memory_requirements2
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-08-11
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Andrew Garrard, Samsung
-- Electronics
- Tobias Hector, Imagination
-- Technologies
- James Jones, NVIDIA
- Daniel Koch,
-- NVIDIA
- Daniel Rakos, AMD
- Romain Guy,
-- Google
- Jesse Hall, Google
- Tom Cooksey, ARM
-- Ltd
- Jeff Leger, Qualcomm Technologies, Inc
- Jan-Harald
-- Fredriksen, ARM Ltd
- Jan Outters, Samsung
-- Electronics
- Alon Or-bach, Samsung Electronics
- Michael
-- Worcester, Imagination Technologies
- Jeff Bolz,
-- NVIDIA
- Tony Zlatinski, NVIDIA
- Matthew Netsch, Qualcomm
-- Technologies, Inc
--
--
-- Description
--
-- The use of Y′CBCR sampler conversion is an area in 3D graphics not
-- used by most Vulkan developers. It is mainly used for processing
-- inputs from video decoders and cameras. The use of the extension
-- assumes basic knowledge of Y′CBCR concepts.
--
-- This extension provides the ability to perform specified color space
-- conversions during texture sampling operations for the Y′CBCR color
-- space natively. It also adds a selection of multi-planar formats,
-- image aspect plane, and the ability to bind memory to the planes of an
-- image collectively or separately.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. However, if Vulkan 1.1 is supported and
-- this extension is not, the samplerYcbcrConversion capability
-- is optional. The original type, enum and command names are still
-- available as aliases of the core functionality.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_EXT_debug_report is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-01-24 (Andrew Garrard)
--
--
--
-- - Revision 2, 2017-01-25 (Andrew Garrard)
- After initial
-- feedback
-- - Revision 3, 2017-01-27 (Andrew Garrard)
- Higher bit depth
-- formats, renaming, swizzle
-- - Revision 4, 2017-02-22 (Andrew Garrard)
- Added query
-- function, formats as RGB, clarifications
-- - Revision 5, 2017-04-?? (Andrew Garrard)
- Simplified query
-- and removed output conversions
-- - Revision 6, 2017-04-24 (Andrew Garrard)
- Tidying,
-- incorporated new image query, restored transfer
-- functions
-- - Revision 7, 2017-04-25 (Andrew Garrard)
- Added cosited
-- option/midpoint requirement for formats,
-- “bypassConversion”
-- - Revision 8, 2017-04-25 (Andrew Garrard)
-- - Revision 9, 2017-04-27 (Andrew Garrard)
-- - Revision 10, 2017-04-28 (Andrew Garrard)
-- - Revision 11, 2017-04-29 (Andrew Garrard)
- Now Ycbcr
-- conversion, and KHR
-- - Revision 12, 2017-06-06 (Andrew Garrard)
- Added conversion
-- to image view creation
-- - Revision 13, 2017-07-13 (Andrew Garrard)
- Allowed
-- cosited-only chroma samples for formats
-- - Revision 14, 2017-08-11 (Andrew Garrard)
- Reflected
-- quantization changes in BT.2100-1
--
--
-- See Also
--
-- BindImagePlaneMemoryInfoKHR, ChromaLocationKHR,
-- ImagePlaneMemoryRequirementsInfoKHR,
-- PhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
-- SamplerYcbcrConversionCreateInfoKHR,
-- SamplerYcbcrConversionImageFormatPropertiesKHR,
-- SamplerYcbcrConversionInfoKHR,
-- SamplerYcbcrConversionKHR,
-- SamplerYcbcrModelConversionKHR, SamplerYcbcrRangeKHR,
-- createSamplerYcbcrConversionKHR,
-- destroySamplerYcbcrConversionKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_sampler_ycbcr_conversion
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR :: StructureType
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT :: DebugReportObjectTypeEXT
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR :: ObjectType
pattern FORMAT_G8B8G8R8_422_UNORM_KHR :: Format
pattern FORMAT_B8G8R8G8_422_UNORM_KHR :: Format
pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR :: Format
pattern FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR :: Format
pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR :: Format
pattern FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR :: Format
pattern FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR :: Format
pattern FORMAT_R10X6_UNORM_PACK16_KHR :: Format
pattern FORMAT_R10X6G10X6_UNORM_2PACK16_KHR :: Format
pattern FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR :: Format
pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR :: Format
pattern FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR :: Format
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR :: Format
pattern FORMAT_R12X4_UNORM_PACK16_KHR :: Format
pattern FORMAT_R12X4G12X4_UNORM_2PACK16_KHR :: Format
pattern FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR :: Format
pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR :: Format
pattern FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR :: Format
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR :: Format
pattern FORMAT_G16B16G16R16_422_UNORM_KHR :: Format
pattern FORMAT_B16G16R16G16_422_UNORM_KHR :: Format
pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR :: Format
pattern FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR :: Format
pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR :: Format
pattern FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR :: Format
pattern FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR :: Format
pattern IMAGE_ASPECT_PLANE_0_BIT_KHR :: ImageAspectFlagBits
pattern IMAGE_ASPECT_PLANE_1_BIT_KHR :: ImageAspectFlagBits
pattern IMAGE_ASPECT_PLANE_2_BIT_KHR :: ImageAspectFlagBits
pattern IMAGE_CREATE_DISJOINT_BIT_KHR :: ImageCreateFlagBits
pattern FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_DISJOINT_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits
pattern SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR :: SamplerYcbcrModelConversion
pattern SAMPLER_YCBCR_RANGE_ITU_FULL_KHR :: SamplerYcbcrRange
pattern SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR :: SamplerYcbcrRange
pattern CHROMA_LOCATION_COSITED_EVEN_KHR :: ChromaLocation
pattern CHROMA_LOCATION_MIDPOINT_KHR :: ChromaLocation
createSamplerYcbcrConversionKHR :: forall (a :: [Type]) io. (Extendss SamplerYcbcrConversionCreateInfo a, PokeChain a, MonadIO io) => Device -> SamplerYcbcrConversionCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io SamplerYcbcrConversion
destroySamplerYcbcrConversionKHR :: MonadIO io => Device -> SamplerYcbcrConversion -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
type SamplerYcbcrConversionKHR = SamplerYcbcrConversion
type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion
type SamplerYcbcrRangeKHR = SamplerYcbcrRange
type ChromaLocationKHR = ChromaLocation
type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo
type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo
type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo
type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo
type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures
type SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties
type KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 14
pattern KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION :: forall a. Integral a => a
type KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion"
pattern KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
module Vulkan.Core10.OtherTypes
-- | VkMemoryBarrier - Structure specifying a global memory barrier
--
-- Description
--
-- The first access scope is limited to access types in the
-- source access mask specified by srcAccessMask.
--
-- The second access scope is limited to access types in the
-- destination access mask specified by dstAccessMask.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags, StructureType,
-- cmdPipelineBarrier, cmdWaitEvents
data MemoryBarrier
MemoryBarrier :: AccessFlags -> AccessFlags -> MemoryBarrier
-- | srcAccessMask is a bitmask of AccessFlagBits
-- specifying a source access mask.
--
-- srcAccessMask must be a valid combination of
-- AccessFlagBits values
[$sel:srcAccessMask:MemoryBarrier] :: MemoryBarrier -> AccessFlags
-- | dstAccessMask is a bitmask of AccessFlagBits
-- specifying a destination access mask.
--
-- dstAccessMask must be a valid combination of
-- AccessFlagBits values
[$sel:dstAccessMask:MemoryBarrier] :: MemoryBarrier -> AccessFlags
-- | VkBufferMemoryBarrier - Structure specifying a buffer memory barrier
--
-- Description
--
-- The first access scope is limited to access to memory through
-- the specified buffer range, via access types in the source access
-- mask specified by srcAccessMask. If
-- srcAccessMask includes ACCESS_HOST_WRITE_BIT, memory
-- writes performed by that access type are also made visible, as that
-- access type is not performed through a resource.
--
-- The second access scope is limited to access to memory through
-- the specified buffer range, via access types in the destination
-- access mask specified by dstAccessMask. If
-- dstAccessMask includes ACCESS_HOST_WRITE_BIT or
-- ACCESS_HOST_READ_BIT, available memory writes are also made
-- visible to accesses of those types, as those access types are not
-- performed through a resource.
--
-- If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, and srcQueueFamilyIndex is
-- equal to the current queue family, then the memory barrier defines a
-- queue family release operation for the specified buffer range,
-- and the second access scope includes no access, as if
-- dstAccessMask was 0.
--
-- If dstQueueFamilyIndex is not equal to
-- srcQueueFamilyIndex, and dstQueueFamilyIndex is
-- equal to the current queue family, then the memory barrier defines a
-- queue family acquire operation for the specified buffer range,
-- and the first access scope includes no access, as if
-- srcAccessMask was 0.
--
-- Valid Usage
--
--
-- - offset must be less than the size of
-- buffer
--
--
--
-- - If size is not equal to WHOLE_SIZE, size
-- must be greater than 0
-- - If size is not equal to WHOLE_SIZE, size
-- must be less than or equal to than the size of buffer
-- minus offset
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, at least one must not be a
-- special queue family reserved for external memory ownership transfers,
-- as described in ???
-- - If buffer was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal, and one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex is one
-- of the special queue family values reserved for external memory
-- transfers, the other must be QUEUE_FAMILY_IGNORED
-- - If buffer was created with a sharing mode of
-- SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal,
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must both be valid queue families, or one of the special queue
-- family values reserved for external memory transfers, as described in
-- ???
-- - If the synchronization2 feature is not enabled, and
-- buffer was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, at least one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must be QUEUE_FAMILY_IGNORED
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - buffer must be a valid Buffer handle
--
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags, Buffer,
-- DeviceSize, StructureType, cmdPipelineBarrier,
-- cmdWaitEvents
data BufferMemoryBarrier
BufferMemoryBarrier :: AccessFlags -> AccessFlags -> Word32 -> Word32 -> Buffer -> DeviceSize -> DeviceSize -> BufferMemoryBarrier
-- | srcAccessMask is a bitmask of AccessFlagBits
-- specifying a source access mask.
[$sel:srcAccessMask:BufferMemoryBarrier] :: BufferMemoryBarrier -> AccessFlags
-- | dstAccessMask is a bitmask of AccessFlagBits
-- specifying a destination access mask.
[$sel:dstAccessMask:BufferMemoryBarrier] :: BufferMemoryBarrier -> AccessFlags
-- | srcQueueFamilyIndex is the source queue family for a queue
-- family ownership transfer.
[$sel:srcQueueFamilyIndex:BufferMemoryBarrier] :: BufferMemoryBarrier -> Word32
-- | dstQueueFamilyIndex is the destination queue family for a
-- queue family ownership transfer.
[$sel:dstQueueFamilyIndex:BufferMemoryBarrier] :: BufferMemoryBarrier -> Word32
-- | buffer is a handle to the buffer whose backing memory is
-- affected by the barrier.
[$sel:buffer:BufferMemoryBarrier] :: BufferMemoryBarrier -> Buffer
-- | offset is an offset in bytes into the backing memory for
-- buffer; this is relative to the base offset as bound to the
-- buffer (see bindBufferMemory).
[$sel:offset:BufferMemoryBarrier] :: BufferMemoryBarrier -> DeviceSize
-- | size is a size in bytes of the affected area of backing
-- memory for buffer, or WHOLE_SIZE to use the range from
-- offset to the end of the buffer.
[$sel:size:BufferMemoryBarrier] :: BufferMemoryBarrier -> DeviceSize
-- | VkImageMemoryBarrier - Structure specifying the parameters of an image
-- memory barrier
--
-- Description
--
-- The first access scope is limited to access to memory through
-- the specified image subresource range, via access types in the
-- source access mask specified by srcAccessMask. If
-- srcAccessMask includes ACCESS_HOST_WRITE_BIT, memory
-- writes performed by that access type are also made visible, as that
-- access type is not performed through a resource.
--
-- The second access scope is limited to access to memory through
-- the specified image subresource range, via access types in the
-- destination access mask specified by dstAccessMask. If
-- dstAccessMask includes ACCESS_HOST_WRITE_BIT or
-- ACCESS_HOST_READ_BIT, available memory writes are also made
-- visible to accesses of those types, as those access types are not
-- performed through a resource.
--
-- If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, and srcQueueFamilyIndex is
-- equal to the current queue family, then the memory barrier defines a
-- queue family release operation for the specified image
-- subresource range, and the second access scope includes no access, as
-- if dstAccessMask was 0.
--
-- If dstQueueFamilyIndex is not equal to
-- srcQueueFamilyIndex, and dstQueueFamilyIndex is
-- equal to the current queue family, then the memory barrier defines a
-- queue family acquire operation for the specified image
-- subresource range, and the first access scope includes no access, as
-- if srcAccessMask was 0.
--
-- If the synchronization2 feature is not enabled or
-- oldLayout is not equal to newLayout,
-- oldLayout and newLayout define an image layout
-- transition for the specified image subresource range.
--
-- Note
--
-- If the synchronization2 feature is enabled, when the old and
-- new layout are equal, the layout values are ignored - data is
-- preserved no matter what values are specified, or what layout the
-- image is currently in.
--
-- If image has a multi-planar format and the image is
-- disjoint, then including IMAGE_ASPECT_COLOR_BIT in the
-- aspectMask member of subresourceRange is equivalent
-- to including IMAGE_ASPECT_PLANE_0_BIT,
-- IMAGE_ASPECT_PLANE_1_BIT, and (for three-plane formats only)
-- IMAGE_ASPECT_PLANE_2_BIT.
--
-- Valid Usage
--
--
-- - subresourceRange.baseMipLevel must be less than
-- the mipLevels specified in ImageCreateInfo when
-- image was created
--
--
--
-- - If subresourceRange.levelCount is not
-- REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel +
-- subresourceRange.levelCount must be less than or equal
-- to the mipLevels specified in ImageCreateInfo when
-- image was created
-- - subresourceRange.baseArrayLayer must be less than
-- the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If subresourceRange.layerCount is not
-- REMAINING_ARRAY_LAYERS,
-- subresourceRange.baseArrayLayer +
-- subresourceRange.layerCount must be less than or equal
-- to the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - If image is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then image
-- must have been created with IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition,
-- oldLayout must be IMAGE_LAYOUT_UNDEFINED or the
-- current layout of the image subresources affected by the barrier
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition,
-- newLayout must not be IMAGE_LAYOUT_UNDEFINED or
-- IMAGE_LAYOUT_PREINITIALIZED
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL then
-- image must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL then image
-- must have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then image
-- must have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL then image
-- must have been created with
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR, image must
-- have been created with IMAGE_USAGE_COLOR_ATTACHMENT_BIT or
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR, image must
-- have been created with at least one of
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_SAMPLED_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If srcQueueFamilyIndex and dstQueueFamilyIndex
-- define a queue family ownership transfer or oldLayout
-- and newLayout define an image layout transition, and
-- oldLayout or newLayout is
-- IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR then
-- image must have been created with
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR set
-- - If image has a single-plane color format or is not
-- disjoint, then the aspectMask member of
-- subresourceRange must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If image has a multi-planar format and the image is
-- disjoint, then the aspectMask member of
-- subresourceRange must include either at least one of
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, and
-- IMAGE_ASPECT_PLANE_2_BIT; or must include
-- IMAGE_ASPECT_COLOR_BIT
-- - If image has a multi-planar format with only two planes,
-- then the aspectMask member of subresourceRange
-- must not include IMAGE_ASPECT_PLANE_2_BIT
-- - If image has a depth/stencil format with both depth and
-- stencil and the separateDepthStencilLayouts feature is enabled,
-- then the aspectMask member of subresourceRange
-- must include either or both IMAGE_ASPECT_DEPTH_BIT and
-- IMAGE_ASPECT_STENCIL_BIT
-- - If image has a depth/stencil format with both depth and
-- stencil and the separateDepthStencilLayouts feature is not
-- enabled, then the aspectMask member of
-- subresourceRange must include both
-- IMAGE_ASPECT_DEPTH_BIT and IMAGE_ASPECT_STENCIL_BIT
-- - If srcQueueFamilyIndex is not equal to
-- dstQueueFamilyIndex, at least one must not be a
-- special queue family reserved for external memory ownership transfers,
-- as described in ???
-- - If image was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal, and one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex is one
-- of the special queue family values reserved for external memory
-- transfers, the other must be QUEUE_FAMILY_IGNORED
-- - If image was created with a sharing mode of
-- SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex and
-- dstQueueFamilyIndex are not equal,
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must both be valid queue families, or one of the special queue
-- family values reserved for external memory transfers, as described in
-- ???
-- - If the synchronization2 feature is not enabled, and
-- image was created with a sharing mode of
-- SHARING_MODE_CONCURRENT, at least one of
-- srcQueueFamilyIndex and dstQueueFamilyIndex
-- must be QUEUE_FAMILY_IGNORED
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of SampleLocationsInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - oldLayout must be a valid ImageLayout
-- value
-- - newLayout must be a valid ImageLayout
-- value
-- - image must be a valid Image handle
-- - subresourceRange must be a valid
-- ImageSubresourceRange structure
--
--
-- See Also
--
-- VK_VERSION_1_0, AccessFlags, Image,
-- ImageLayout, ImageSubresourceRange,
-- StructureType, cmdPipelineBarrier, cmdWaitEvents
data ImageMemoryBarrier (es :: [Type])
ImageMemoryBarrier :: Chain es -> AccessFlags -> AccessFlags -> ImageLayout -> ImageLayout -> Word32 -> Word32 -> Image -> ImageSubresourceRange -> ImageMemoryBarrier (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> Chain es
-- | srcAccessMask is a bitmask of AccessFlagBits
-- specifying a source access mask.
[$sel:srcAccessMask:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> AccessFlags
-- | dstAccessMask is a bitmask of AccessFlagBits
-- specifying a destination access mask.
[$sel:dstAccessMask:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> AccessFlags
-- | oldLayout is the old layout in an image layout
-- transition.
[$sel:oldLayout:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> ImageLayout
-- | newLayout is the new layout in an image layout
-- transition.
[$sel:newLayout:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> ImageLayout
-- | srcQueueFamilyIndex is the source queue family for a queue
-- family ownership transfer.
[$sel:srcQueueFamilyIndex:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> Word32
-- | dstQueueFamilyIndex is the destination queue family for a
-- queue family ownership transfer.
[$sel:dstQueueFamilyIndex:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> Word32
-- | image is a handle to the image affected by this barrier.
[$sel:image:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> Image
-- | subresourceRange describes the image subresource range
-- within image that is affected by this barrier.
[$sel:subresourceRange:ImageMemoryBarrier] :: ImageMemoryBarrier (es :: [Type]) -> ImageSubresourceRange
-- | VkPipelineCacheHeaderVersionOne - Structure describing the layout of
-- the pipeline cache header
--
-- Description
--
-- Unlike most structures declared by the Vulkan API, all fields of this
-- structure are written with the least significant byte first,
-- regardless of host byte-order.
--
-- The C language specification does not define the packing of structure
-- members. This layout assumes tight structure member packing, with
-- members laid out in the order listed in the structure, and the
-- intended size of the structure is 32 bytes. If a compiler produces
-- code that diverges from that pattern, applications must employ
-- another method to set values at the correct offsets.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, PipelineCacheHeaderVersion
data PipelineCacheHeaderVersionOne
PipelineCacheHeaderVersionOne :: Word32 -> PipelineCacheHeaderVersion -> Word32 -> Word32 -> ByteString -> PipelineCacheHeaderVersionOne
-- | headerSize is the length in bytes of the pipeline cache
-- header.
--
-- headerSize must be 32
[$sel:headerSize:PipelineCacheHeaderVersionOne] :: PipelineCacheHeaderVersionOne -> Word32
-- | headerVersion is a PipelineCacheHeaderVersion enum
-- value specifying the version of the header. A consumer of the pipeline
-- cache should use the cache version to interpret the remainder
-- of the cache header.
--
-- headerVersion must be
-- PIPELINE_CACHE_HEADER_VERSION_ONE
--
-- headerVersion must be a valid
-- PipelineCacheHeaderVersion value
[$sel:headerVersion:PipelineCacheHeaderVersionOne] :: PipelineCacheHeaderVersionOne -> PipelineCacheHeaderVersion
-- | vendorID is the
-- PhysicalDeviceProperties::vendorID of the
-- implementation.
[$sel:vendorID:PipelineCacheHeaderVersionOne] :: PipelineCacheHeaderVersionOne -> Word32
-- | deviceID is the
-- PhysicalDeviceProperties::deviceID of the
-- implementation.
[$sel:deviceID:PipelineCacheHeaderVersionOne] :: PipelineCacheHeaderVersionOne -> Word32
-- | pipelineCacheUUID is the
-- PhysicalDeviceProperties::pipelineCacheUUID of the
-- implementation.
[$sel:pipelineCacheUUID:PipelineCacheHeaderVersionOne] :: PipelineCacheHeaderVersionOne -> ByteString
-- | VkDrawIndirectCommand - Structure specifying a indirect drawing
-- command
--
-- Description
--
-- The members of DrawIndirectCommand have the same meaning as the
-- similarly named parameters of cmdDraw.
--
-- Valid Usage
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, cmdDrawIndirect
data DrawIndirectCommand
DrawIndirectCommand :: Word32 -> Word32 -> Word32 -> Word32 -> DrawIndirectCommand
-- | vertexCount is the number of vertices to draw.
[$sel:vertexCount:DrawIndirectCommand] :: DrawIndirectCommand -> Word32
-- | instanceCount is the number of instances to draw.
[$sel:instanceCount:DrawIndirectCommand] :: DrawIndirectCommand -> Word32
-- | firstVertex is the index of the first vertex to draw.
[$sel:firstVertex:DrawIndirectCommand] :: DrawIndirectCommand -> Word32
-- | firstInstance is the instance ID of the first instance to
-- draw.
[$sel:firstInstance:DrawIndirectCommand] :: DrawIndirectCommand -> Word32
-- | VkDrawIndexedIndirectCommand - Structure specifying a indexed indirect
-- drawing command
--
-- Description
--
-- The members of DrawIndexedIndirectCommand have the same meaning
-- as the similarly named parameters of cmdDrawIndexed.
--
-- Valid Usage
--
--
--
--
-- - (indexSize × (firstIndex + indexCount)
-- + offset) must be less than or equal to the size of
-- the bound index buffer, with indexSize being based on the
-- type specified by indexType, where the index buffer,
-- indexType, and offset are specified via
-- cmdBindIndexBuffer
-- - If the drawIndirectFirstInstance feature is not enabled,
-- firstInstance must be 0
--
--
-- See Also
--
-- VK_VERSION_1_0, cmdDrawIndexedIndirect
data DrawIndexedIndirectCommand
DrawIndexedIndirectCommand :: Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> DrawIndexedIndirectCommand
-- | indexCount is the number of vertices to draw.
[$sel:indexCount:DrawIndexedIndirectCommand] :: DrawIndexedIndirectCommand -> Word32
-- | instanceCount is the number of instances to draw.
[$sel:instanceCount:DrawIndexedIndirectCommand] :: DrawIndexedIndirectCommand -> Word32
-- | firstIndex is the base index within the index buffer.
[$sel:firstIndex:DrawIndexedIndirectCommand] :: DrawIndexedIndirectCommand -> Word32
-- | vertexOffset is the value added to the vertex index before
-- indexing into the vertex buffer.
[$sel:vertexOffset:DrawIndexedIndirectCommand] :: DrawIndexedIndirectCommand -> Int32
-- | firstInstance is the instance ID of the first instance to
-- draw.
[$sel:firstInstance:DrawIndexedIndirectCommand] :: DrawIndexedIndirectCommand -> Word32
-- | VkDispatchIndirectCommand - Structure specifying a indirect
-- dispatching command
--
-- Description
--
-- The members of DispatchIndirectCommand have the same meaning as
-- the corresponding parameters of cmdDispatch.
--
-- Valid Usage
--
-- See Also
--
-- VK_VERSION_1_0, cmdDispatchIndirect
data DispatchIndirectCommand
DispatchIndirectCommand :: Word32 -> Word32 -> Word32 -> DispatchIndirectCommand
-- | x is the number of local workgroups to dispatch in the X
-- dimension.
--
-- x must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0]
[$sel:x:DispatchIndirectCommand] :: DispatchIndirectCommand -> Word32
-- | y is the number of local workgroups to dispatch in the Y
-- dimension.
--
-- y must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
[$sel:y:DispatchIndirectCommand] :: DispatchIndirectCommand -> Word32
-- | z is the number of local workgroups to dispatch in the Z
-- dimension.
--
-- z must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
[$sel:z:DispatchIndirectCommand] :: DispatchIndirectCommand -> Word32
-- | VkBaseOutStructure - Base structure for a read-only pointer chain
--
-- Description
--
-- BaseOutStructure can be used to facilitate iterating through a
-- structure pointer chain that returns data back to the application.
--
-- See Also
--
-- VK_VERSION_1_0, BaseOutStructure, StructureType
data BaseOutStructure
BaseOutStructure :: StructureType -> Ptr BaseOutStructure -> BaseOutStructure
-- | sType is the structure type of the structure being iterated
-- through.
[$sel:sType:BaseOutStructure] :: BaseOutStructure -> StructureType
-- | pNext is NULL or a pointer to the next structure in
-- a structure chain.
[$sel:next:BaseOutStructure] :: BaseOutStructure -> Ptr BaseOutStructure
-- | VkBaseInStructure - Base structure for a read-only pointer chain
--
-- Description
--
-- BaseInStructure can be used to facilitate iterating through a
-- read-only structure pointer chain.
--
-- See Also
--
-- VK_VERSION_1_0, BaseInStructure, StructureType
data BaseInStructure
BaseInStructure :: StructureType -> Ptr BaseInStructure -> BaseInStructure
-- | sType is the structure type of the structure being iterated
-- through.
[$sel:sType:BaseInStructure] :: BaseInStructure -> StructureType
-- | pNext is NULL or a pointer to the next structure in
-- a structure chain.
[$sel:next:BaseInStructure] :: BaseInStructure -> Ptr BaseInStructure
-- | VkObjectType - Specify an enumeration to track object handle types
--
-- Description
--
-- '
--
-- TODO: table
--
-- ObjectType and Vulkan Handle Relationship
--
-- See Also
--
-- VK_VERSION_1_0, DebugUtilsObjectNameInfoEXT,
-- DebugUtilsObjectTagInfoEXT,
-- DeviceMemoryReportCallbackDataEXT, getPrivateDataEXT,
-- setPrivateDataEXT
newtype ObjectType
ObjectType :: Int32 -> ObjectType
pattern OBJECT_TYPE_UNKNOWN :: ObjectType
pattern OBJECT_TYPE_INSTANCE :: ObjectType
pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
pattern OBJECT_TYPE_DEVICE :: ObjectType
pattern OBJECT_TYPE_QUEUE :: ObjectType
pattern OBJECT_TYPE_SEMAPHORE :: ObjectType
pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType
pattern OBJECT_TYPE_FENCE :: ObjectType
pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType
pattern OBJECT_TYPE_BUFFER :: ObjectType
pattern OBJECT_TYPE_IMAGE :: ObjectType
pattern OBJECT_TYPE_EVENT :: ObjectType
pattern OBJECT_TYPE_QUERY_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType
pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType
pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType
pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
pattern OBJECT_TYPE_RENDER_PASS :: ObjectType
pattern OBJECT_TYPE_PIPELINE :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
pattern OBJECT_TYPE_SAMPLER :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType
pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType
pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType
pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
pattern OBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
pattern OBJECT_TYPE_CU_MODULE_NVX :: ObjectType
pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
-- | VkVendorId - Khronos vendor IDs
--
-- Description
--
-- Note
--
-- Khronos vendor IDs may be allocated by vendors at any time. Only the
-- latest canonical versions of this Specification, of the corresponding
-- vk.xml API Registry, and of the corresponding
-- vulkan_core.h header file must contain all reserved
-- Khronos vendor IDs.
--
-- Only Khronos vendor IDs are given symbolic names at present. PCI
-- vendor IDs returned by the implementation can be looked up in the
-- PCI-SIG database.
--
-- See Also
--
-- VK_VERSION_1_0
newtype VendorId
VendorId :: Int32 -> VendorId
pattern VENDOR_ID_VIV :: VendorId
pattern VENDOR_ID_VSI :: VendorId
pattern VENDOR_ID_KAZAN :: VendorId
pattern VENDOR_ID_CODEPLAY :: VendorId
pattern VENDOR_ID_MESA :: VendorId
pattern VENDOR_ID_POCL :: VendorId
instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.MemoryBarrier
instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance GHC.Show.Show Vulkan.Core10.OtherTypes.MemoryBarrier
instance GHC.Show.Show Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.OtherTypes.ImageMemoryBarrier es)
instance GHC.Show.Show Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne
instance GHC.Show.Show Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance GHC.Show.Show Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance GHC.Show.Show Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.DispatchIndirectCommand
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.DrawIndirectCommand
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.OtherTypes.ImageMemoryBarrier
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.OtherTypes.ImageMemoryBarrier es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.OtherTypes.ImageMemoryBarrier es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.OtherTypes.ImageMemoryBarrier es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.OtherTypes.ImageMemoryBarrier es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.OtherTypes.ImageMemoryBarrier es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.BufferMemoryBarrier
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.OtherTypes.MemoryBarrier
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.OtherTypes.MemoryBarrier
instance Foreign.Storable.Storable Vulkan.Core10.OtherTypes.MemoryBarrier
instance Vulkan.Zero.Zero Vulkan.Core10.OtherTypes.MemoryBarrier
module Vulkan.Core10.Image
-- | vkCreateImage - Create a new image object
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- ImageCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pImage must be a valid pointer to a Image
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Image, ImageCreateInfo
createImage :: forall a io. (Extendss ImageCreateInfo a, PokeChain a, MonadIO io) => Device -> ImageCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Image
-- | A convenience wrapper to make a compatible pair of calls to
-- createImage and destroyImage
--
-- To ensure that destroyImage 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.
withImage :: forall a io r. (Extendss ImageCreateInfo a, PokeChain a, MonadIO io) => Device -> ImageCreateInfo a -> Maybe AllocationCallbacks -> (io Image -> (Image -> io ()) -> r) -> r
-- | vkDestroyImage - Destroy an image object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to image, either
-- directly or via a ImageView, must have completed
-- execution
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If image is not NULL_HANDLE, image
-- must be a valid Image handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If image is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to image must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Image
destroyImage :: forall io. MonadIO io => Device -> Image -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetImageSubresourceLayout - Retrieve information about an image
-- subresource
--
-- Description
--
-- If the image is linear, then the returned layout is valid for
-- host access.
--
-- If the image’s tiling is IMAGE_TILING_LINEAR and its format is
-- a multi-planar format, then getImageSubresourceLayout
-- describes one format plane of the image. If the image’s tiling
-- is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then
-- getImageSubresourceLayout describes one memory plane of
-- the image. If the image’s tiling is
-- IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT and the image is
-- non-linear, then the returned layout has an
-- implementation-dependent meaning; the vendor of the image’s DRM
-- format modifier may provide documentation that explains how
-- to interpret the returned layout.
--
-- getImageSubresourceLayout is invariant for the lifetime of a
-- single image. However, the subresource layout of images in Android
-- hardware buffer external memory is not known until the image has been
-- bound to memory, so applications must not call
-- getImageSubresourceLayout for such an image before it has been
-- bound.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - image must be a valid Image handle
-- - pSubresource must be a valid pointer to a valid
-- ImageSubresource structure
-- - pLayout must be a valid pointer to a
-- SubresourceLayout structure
-- - image must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Image,
-- ImageSubresource, SubresourceLayout
getImageSubresourceLayout :: forall io. MonadIO io => Device -> Image -> ImageSubresource -> io SubresourceLayout
-- | VkImageCreateInfo - Structure specifying the parameters of a newly
-- created image object
--
-- Description
--
-- Images created with tiling equal to
-- IMAGE_TILING_LINEAR have further restrictions on their limits
-- and capabilities compared to images created with tiling equal
-- to IMAGE_TILING_OPTIMAL. Creation of images with tiling
-- IMAGE_TILING_LINEAR may not be supported unless other
-- parameters meet all of the constraints:
--
--
--
-- Images created with one of the formats that require a sampler
-- Y’CBCR conversion, have further restrictions on their limits and
-- capabilities compared to images created with other formats. Creation
-- of images with a format requiring Y′CBCR conversion may
-- not be supported unless other parameters meet all of the constraints:
--
--
--
-- Implementations may support additional limits and capabilities
-- beyond those listed above.
--
-- To determine the set of valid usage bits for a given format,
-- call getPhysicalDeviceFormatProperties.
--
-- If the size of the resultant image would exceed
-- maxResourceSize, then createImage must fail and
-- return ERROR_OUT_OF_DEVICE_MEMORY. This failure may
-- occur even when all image creation parameters satisfy their valid
-- usage requirements.
--
-- Note
--
-- For images created without IMAGE_CREATE_EXTENDED_USAGE_BIT a
-- usage bit is valid if it is supported for the format the
-- image is created with.
--
-- For images created with IMAGE_CREATE_EXTENDED_USAGE_BIT a
-- usage bit is valid if it is supported for at least one of the
-- formats a ImageView created from the image can have (see
-- Image Views for more detail).
--
-- Image Creation Limits
--
-- Valid values for some image creation parameters are limited by a
-- numerical upper bound or by inclusion in a bitset. For example,
-- ImageCreateInfo::arrayLayers is limited by
-- imageCreateMaxArrayLayers, defined below; and
-- ImageCreateInfo::samples is limited by
-- imageCreateSampleCounts, also defined below.
--
-- Several limiting values are defined below, as well as assisting values
-- from which the limiting values are derived. The limiting values are
-- referenced by the relevant valid usage statements of
-- ImageCreateInfo.
--
--
-- - Let uint64_t imageCreateDrmFormatModifiers[] be the set
-- of Linux DRM format modifiers that the resultant image
-- may have.
-- - Let VkBool32 imageCreateMaybeLinear indicate if the
-- resultant image may be linear.
-- - Let VkFormatFeatureFlags imageCreateFormatFeatures be the
-- set of valid format features available during image
-- creation.
-- - Let VkImageFormatProperties2
-- imageCreateImageFormatPropertiesList[] be defined as
-- follows.
- If ImageCreateInfo::pNext contains no
-- ExternalFormatANDROID structure with non-zero
-- externalFormat, then
-- imageCreateImageFormatPropertiesList is the list of
-- structures obtained by calling
-- getPhysicalDeviceImageFormatProperties2, possibly multiple
-- times, as follows:
- The parameters
-- PhysicalDeviceImageFormatInfo2::format,
-- imageType, tiling, usage, and
-- flags must be equal to those in
-- ImageCreateInfo.
- If
-- ImageCreateInfo::pNext contains a
-- ExternalMemoryImageCreateInfo structure whose
-- handleTypes is not 0, then
-- PhysicalDeviceImageFormatInfo2::pNext must
-- contain a PhysicalDeviceExternalImageFormatInfo structure whose
-- handleType is not 0; and
-- getPhysicalDeviceImageFormatProperties2 must be called
-- for each handle type in
-- ExternalMemoryImageCreateInfo::handleTypes,
-- successively setting
-- PhysicalDeviceExternalImageFormatInfo::handleType on
-- each call.
- If ImageCreateInfo::pNext contains
-- no ExternalMemoryImageCreateInfo structure, or contains a
-- structure whose handleTypes is 0, then
-- PhysicalDeviceImageFormatInfo2::pNext must
-- either contain no PhysicalDeviceExternalImageFormatInfo
-- structure, or contain a structure whose handleType is
-- 0.
- If tiling is
-- IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then
-- PhysicalDeviceImageFormatInfo2::pNext must
-- contain a PhysicalDeviceImageDrmFormatModifierInfoEXT structure
-- where sharingMode is equal to
-- ImageCreateInfo::sharingMode; and, if
-- sharingMode is SHARING_MODE_CONCURRENT, then
-- queueFamilyIndexCount and pQueueFamilyIndices
-- must be equal to those in ImageCreateInfo; and, if
-- flags contains IMAGE_CREATE_MUTABLE_FORMAT_BIT, then
-- the ImageFormatListCreateInfo structure included in the
-- pNext chain of PhysicalDeviceImageFormatInfo2
-- must be equivalent to the one included in the pNext
-- chain of ImageCreateInfo; and
-- getPhysicalDeviceImageFormatProperties2 must be called
-- for each modifier in imageCreateDrmFormatModifiers,
-- successively setting
-- PhysicalDeviceImageDrmFormatModifierInfoEXT::drmFormatModifier
-- on each call.
- If tiling is not
-- IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then
-- PhysicalDeviceImageFormatInfo2::pNext must
-- contain no PhysicalDeviceImageDrmFormatModifierInfoEXT
-- structure.
- If any call to
-- getPhysicalDeviceImageFormatProperties2 returns an error, then
-- imageCreateImageFormatPropertiesList is defined to be the
-- empty list.
- If
-- ImageCreateInfo::pNext contains a
-- ExternalFormatANDROID structure with non-zero
-- externalFormat, then
-- imageCreateImageFormatPropertiesList contains a single
-- element
-- where:
-- - Let uint32_t imageCreateMaxMipLevels be the minimum value
-- of ImageFormatProperties::maxMipLevels in
-- imageCreateImageFormatPropertiesList. The value is undefined
-- if imageCreateImageFormatPropertiesList is empty.
-- - Let uint32_t imageCreateMaxArrayLayers be the minimum
-- value of ImageFormatProperties::maxArrayLayers in
-- imageCreateImageFormatPropertiesList. The value is undefined
-- if imageCreateImageFormatPropertiesList is empty.
-- - Let VkExtent3D imageCreateMaxExtent be the component-wise
-- minimum over all ImageFormatProperties::maxExtent
-- values in imageCreateImageFormatPropertiesList. The value is
-- undefined if imageCreateImageFormatPropertiesList is
-- empty.
-- - Let VkSampleCountFlags imageCreateSampleCounts be the
-- intersection of each
-- ImageFormatProperties::sampleCounts in
-- imageCreateImageFormatPropertiesList. The value is undefined
-- if imageCreateImageFormatPropertiesList is empty.
--
--
-- Valid Usage
--
--
-- - Each of the following values (as described in Image Creation
-- Limits) must not be undefined :
-- imageCreateMaxMipLevels, imageCreateMaxArrayLayers,
-- imageCreateMaxExtent, and
-- imageCreateSampleCounts
--
--
--
-- - If sharingMode is SHARING_MODE_CONCURRENT,
-- pQueueFamilyIndices must be a valid pointer to an
-- array of queueFamilyIndexCount uint32_t values
-- - If sharingMode is SHARING_MODE_CONCURRENT,
-- queueFamilyIndexCount must be greater than
-- 1
-- - If sharingMode is SHARING_MODE_CONCURRENT, each
-- element of pQueueFamilyIndices must be unique and
-- must be less than pQueueFamilyPropertyCount returned
-- by either getPhysicalDeviceQueueFamilyProperties or
-- getPhysicalDeviceQueueFamilyProperties2 for the
-- physicalDevice that was used to create device
-- - If the pNext chain includes a
-- ExternalFormatANDROID structure, and its
-- externalFormat member is non-zero the format
-- must be FORMAT_UNDEFINED
-- - If the pNext chain does not include a
-- ExternalFormatANDROID structure, or does and its
-- externalFormat member is 0, the format
-- must not be FORMAT_UNDEFINED
-- - extent.width must be greater than 0
-- - extent.height must be greater than 0
-- - extent.depth must be greater than 0
-- - mipLevels must be greater than 0
-- - arrayLayers must be greater than 0
-- - If flags contains
-- IMAGE_CREATE_CUBE_COMPATIBLE_BIT, imageType
-- must be IMAGE_TYPE_2D
-- - If flags contains
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, imageType
-- must be IMAGE_TYPE_2D
-- - If flags contains
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, imageType
-- must be IMAGE_TYPE_3D
-- - extent.width must be less than or equal to
-- imageCreateMaxExtent.width (as defined in Image Creation
-- Limits)
-- - extent.height must be less than or equal to
-- imageCreateMaxExtent.height (as defined in Image Creation
-- Limits)
-- - extent.depth must be less than or equal to
-- imageCreateMaxExtent.depth (as defined in Image Creation
-- Limits)
-- - If imageType is IMAGE_TYPE_2D and flags
-- contains IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
-- extent.width and extent.height must be equal
-- and arrayLayers must be greater than or equal to
-- 6
-- - If imageType is IMAGE_TYPE_1D, both
-- extent.height and extent.depth must be
-- 1
-- - If imageType is IMAGE_TYPE_2D,
-- extent.depth must be 1
-- - mipLevels must be less than or equal to the number
-- of levels in the complete mipmap chain based on extent.width,
-- extent.height, and extent.depth
-- - mipLevels must be less than or equal to
-- imageCreateMaxMipLevels (as defined in Image Creation
-- Limits)
-- - arrayLayers must be less than or equal to
-- imageCreateMaxArrayLayers (as defined in Image Creation
-- Limits)
-- - If imageType is IMAGE_TYPE_3D,
-- arrayLayers must be 1
-- - If samples is not SAMPLE_COUNT_1_BIT, then
-- imageType must be IMAGE_TYPE_2D, flags
-- must not contain IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
-- mipLevels must be equal to 1, and
-- imageCreateMaybeLinear (as defined in Image Creation
-- Limits) must be FALSE,
-- - If samples is not SAMPLE_COUNT_1_BIT,
-- usage must not contain
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
-- - If usage includes
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, then bits other than
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, and
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT must not be set
-- - If usage includes
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT, extent.width
-- must be less than or equal to
-- PhysicalDeviceLimits::maxFramebufferWidth
-- - If usage includes
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT, extent.height
-- must be less than or equal to
-- PhysicalDeviceLimits::maxFramebufferHeight
-- - If usage includes
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, extent.width
-- must be less than or equal to <math>
-- - If usage includes
-- IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
-- extent.height must be less than or equal to
-- <math>
-- - If usage includes
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, usage
-- must also contain at least one of
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - samples must be a bit value that is set in
-- imageCreateSampleCounts (as defined in Image Creation
-- Limits)
-- - If the multisampled storage images feature is not enabled,
-- and usage contains IMAGE_USAGE_STORAGE_BIT,
-- samples must be SAMPLE_COUNT_1_BIT
-- - If the sparse bindings feature is not enabled,
-- flags must not contain
-- IMAGE_CREATE_SPARSE_BINDING_BIT
-- - If the sparse aliased residency feature is not enabled,
-- flags must not contain
-- IMAGE_CREATE_SPARSE_ALIASED_BIT
-- - If tiling is IMAGE_TILING_LINEAR, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If imageType is IMAGE_TYPE_1D, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for 2D images feature is not
-- enabled, and imageType is IMAGE_TYPE_2D,
-- flags must not contain
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for 3D images feature is not
-- enabled, and imageType is IMAGE_TYPE_3D,
-- flags must not contain
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for images with 2 samples feature
-- is not enabled, imageType is IMAGE_TYPE_2D, and
-- samples is SAMPLE_COUNT_2_BIT, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for images with 4 samples feature
-- is not enabled, imageType is IMAGE_TYPE_2D, and
-- samples is SAMPLE_COUNT_4_BIT, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for images with 8 samples feature
-- is not enabled, imageType is IMAGE_TYPE_2D, and
-- samples is SAMPLE_COUNT_8_BIT, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse residency for images with 16 samples feature
-- is not enabled, imageType is IMAGE_TYPE_2D, and
-- samples is SAMPLE_COUNT_16_BIT, flags
-- must not contain IMAGE_CREATE_SPARSE_RESIDENCY_BIT
-- - If flags contains
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT or
-- IMAGE_CREATE_SPARSE_ALIASED_BIT, it must also contain
-- IMAGE_CREATE_SPARSE_BINDING_BIT
-- - If any of the bits IMAGE_CREATE_SPARSE_BINDING_BIT,
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or
-- IMAGE_CREATE_SPARSE_ALIASED_BIT are set,
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT must not also be
-- set
-- - If the protected memory feature is not enabled, flags
-- must not contain IMAGE_CREATE_PROTECTED_BIT
-- - If any of the bits IMAGE_CREATE_SPARSE_BINDING_BIT,
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or
-- IMAGE_CREATE_SPARSE_ALIASED_BIT are set,
-- IMAGE_CREATE_PROTECTED_BIT must not also be set
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfoNV structure, it must not
-- contain a ExternalMemoryImageCreateInfo structure
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfo structure, its
-- handleTypes member must only contain bits that are
-- also in
-- ExternalImageFormatProperties::externalMemoryProperties.compatibleHandleTypes,
-- as returned by getPhysicalDeviceImageFormatProperties2 with
-- format, imageType, tiling, usage,
-- and flags equal to those in this structure, and with a
-- PhysicalDeviceExternalImageFormatInfo structure included in the
-- pNext chain, with a handleType equal to any one of
-- the handle types specified in
-- ExternalMemoryImageCreateInfo::handleTypes
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfoNV structure, its
-- handleTypes member must only contain bits that are
-- also in
-- ExternalImageFormatPropertiesNV::externalMemoryProperties.compatibleHandleTypes,
-- as returned by getPhysicalDeviceExternalImageFormatPropertiesNV
-- with format, imageType, tiling,
-- usage, and flags equal to those in this structure,
-- and with externalHandleType equal to any one of the handle
-- types specified in
-- ExternalMemoryImageCreateInfoNV::handleTypes
-- - If the logical device was created with
-- DeviceGroupDeviceCreateInfo::physicalDeviceCount equal
-- to 1, flags must not contain
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
-- - If flags contains
-- IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, then
-- mipLevels must be one, arrayLayers
-- must be one, imageType must be
-- IMAGE_TYPE_2D. and imageCreateMaybeLinear (as defined
-- in Image Creation Limits) must be FALSE
-- - If flags contains
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, then
-- format must be a compressed image format
-- - If flags contains
-- IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, then
-- flags must also contain
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT
-- - initialLayout must be
-- IMAGE_LAYOUT_UNDEFINED or
-- IMAGE_LAYOUT_PREINITIALIZED
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfo or
-- ExternalMemoryImageCreateInfoNV structure whose
-- handleTypes member is not 0, initialLayout
-- must be IMAGE_LAYOUT_UNDEFINED
-- - If the image format is one of the formats that require
-- a sampler Y’CBCR conversion, mipLevels must be
-- 1
-- - If the image format is one of the formats that require
-- a sampler Y’CBCR conversion, samples must be
-- SAMPLE_COUNT_1_BIT
-- - If the image format is one of the formats that require
-- a sampler Y’CBCR conversion, imageType must be
-- IMAGE_TYPE_2D
-- - If the image format is one of the formats that require
-- a sampler Y’CBCR conversion, and the ycbcrImageArrays
-- feature is not enabled, arrayLayers must be 1
-- - If format is a multi-planar format, and if
-- imageCreateFormatFeatures (as defined in Image Creation
-- Limits) does not contain FORMAT_FEATURE_DISJOINT_BIT, then
-- flags must not contain
-- IMAGE_CREATE_DISJOINT_BIT
-- - If format is not a multi-planar format, and
-- flags does not include IMAGE_CREATE_ALIAS_BIT,
-- flags must not contain
-- IMAGE_CREATE_DISJOINT_BIT
-- - If format has a _422 or _420 suffix,
-- width must be a multiple of 2
-- - If format has a _420 suffix, height
-- must be a multiple of 2
-- - If tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
-- then the pNext chain must include exactly one of
-- ImageDrmFormatModifierListCreateInfoEXT or
-- ImageDrmFormatModifierExplicitCreateInfoEXT structures
-- - If the pNext chain includes a
-- ImageDrmFormatModifierListCreateInfoEXT or
-- ImageDrmFormatModifierExplicitCreateInfoEXT structure, then
-- tiling must be
-- IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
-- - If tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
-- and flags contains IMAGE_CREATE_MUTABLE_FORMAT_BIT,
-- then the pNext chain must include a
-- ImageFormatListCreateInfo structure with non-zero
-- viewFormatCount
-- - If flags contains
-- IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT
-- format must be a depth or depth/stencil format
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfo structure whose
-- handleTypes member includes
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-- imageType must be IMAGE_TYPE_2D
-- - If the pNext chain includes a
-- ExternalMemoryImageCreateInfo structure whose
-- handleTypes member includes
-- EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
-- mipLevels must either be 1 or equal to the
-- number of levels in the complete mipmap chain based on
-- extent.width, extent.height, and
-- extent.depth
-- - If the pNext chain includes a
-- ExternalFormatANDROID structure whose externalFormat
-- member is not 0, flags must not include
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT
-- - If the pNext chain includes a
-- ExternalFormatANDROID structure whose externalFormat
-- member is not 0, usage must not include any
-- usages except IMAGE_USAGE_SAMPLED_BIT
-- - If the pNext chain includes a
-- ExternalFormatANDROID structure whose externalFormat
-- member is not 0, tiling must be
-- IMAGE_TILING_OPTIMAL
-- - If format is a depth-stencil format, usage
-- includes IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, and the
-- pNext chain includes a ImageStencilUsageCreateInfo
-- structure, then its
-- ImageStencilUsageCreateInfo::stencilUsage member
-- must also include
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If format is a depth-stencil format, usage does
-- not include IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, and the
-- pNext chain includes a ImageStencilUsageCreateInfo
-- structure, then its
-- ImageStencilUsageCreateInfo::stencilUsage member
-- must also not include
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If format is a depth-stencil format, usage
-- includes IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, and the
-- pNext chain includes a ImageStencilUsageCreateInfo
-- structure, then its
-- ImageStencilUsageCreateInfo::stencilUsage member
-- must also include
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
-- - If format is a depth-stencil format, usage does
-- not include IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, and the
-- pNext chain includes a ImageStencilUsageCreateInfo
-- structure, then its
-- ImageStencilUsageCreateInfo::stencilUsage member
-- must also not include
-- IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
-- - If Format is a depth-stencil format and the pNext
-- chain includes a ImageStencilUsageCreateInfo structure with its
-- stencilUsage member including
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT, extent.width
-- must be less than or equal to
-- PhysicalDeviceLimits::maxFramebufferWidth
-- - If format is a depth-stencil format and the
-- pNext chain includes a ImageStencilUsageCreateInfo
-- structure with its stencilUsage member including
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT, extent.height
-- must be less than or equal to
-- PhysicalDeviceLimits::maxFramebufferHeight
-- - If the multisampled storage images feature is not enabled,
-- format is a depth-stencil format and the pNext chain
-- includes a ImageStencilUsageCreateInfo structure with its
-- stencilUsage including IMAGE_USAGE_STORAGE_BIT,
-- samples must be SAMPLE_COUNT_1_BIT
-- - If flags contains
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, imageType
-- must be IMAGE_TYPE_2D or IMAGE_TYPE_3D
-- - If flags contains
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, it must not contain
-- IMAGE_CREATE_CUBE_COMPATIBLE_BIT and the format
-- must not be a depth/stencil format
-- - If flags contains
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV and imageType is
-- IMAGE_TYPE_2D, extent.width and extent.height
-- must be greater than 1
-- - If flags contains
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV and imageType is
-- IMAGE_TYPE_3D, extent.width, extent.height,
-- and extent.depth must be greater than 1
-- - If usage includes
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
-- imageType must be IMAGE_TYPE_2D
-- - If usage includes
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
-- samples must be SAMPLE_COUNT_1_BIT
-- - If usage includes
-- IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, tiling
-- must be IMAGE_TILING_OPTIMAL
-- - If flags contains IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
-- tiling must be IMAGE_TILING_OPTIMAL
-- - If flags contains IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
-- imageType must be IMAGE_TYPE_2D
-- - If flags contains IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
-- flags must not contain
-- IMAGE_CREATE_CUBE_COMPATIBLE_BIT
-- - If flags contains IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
-- mipLevels must be 1
-- - If usage includes
-- IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, tiling
-- must be IMAGE_TILING_LINEAR
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::imageView2DOn3DImage
-- is FALSE, flags must not contain
-- IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
-- - If the VK_KHR_portability_subset extension is enabled,
-- and
-- PhysicalDevicePortabilitySubsetFeaturesKHR::multisampleArrayImage
-- is FALSE, and samples is not
-- SAMPLE_COUNT_1_BIT, then arrayLayers must be
-- 1
-- - If a ImageFormatListCreateInfo structure was included in
-- the pNext chain and
-- ImageFormatListCreateInfo::viewFormatCount is not
-- zero, then all of the formats in
-- ImageFormatListCreateInfo::pViewFormats must be
-- compatible with the format as described in the
-- compatibility table
-- - If flags does not contain
-- IMAGE_CREATE_MUTABLE_FORMAT_BIT and the pNext chain
-- includes a ImageFormatListCreateInfo structure, then
-- ImageFormatListCreateInfo::viewFormatCount must
-- be 0 or 1
-- - If the Image is to be used to import memory from a
-- BufferCollectionFUCHSIA, a
-- BufferCollectionImageCreateInfoFUCHSIA structure must be
-- chained to pNext.
--
--
-- 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
-- BufferCollectionImageCreateInfoFUCHSIA,
-- DedicatedAllocationImageCreateInfoNV,
-- ExternalFormatANDROID, ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageFormatListCreateInfo, ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH265ProfileEXT, VkVideoProfileKHR, or
-- VkVideoProfilesKHR
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- ImageCreateFlagBits values
-- - imageType must be a valid ImageType
-- value
-- - format must be a valid Format value
-- - samples must be a valid SampleCountFlagBits
-- value
-- - tiling must be a valid ImageTiling
-- value
-- - usage must be a valid combination of
-- ImageUsageFlagBits values
-- - usage must not be 0
-- - sharingMode must be a valid SharingMode
-- value
-- - initialLayout must be a valid ImageLayout
-- value
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceImageMemoryRequirementsKHR,
-- Extent3D, Format, ImageCreateFlags,
-- ImageFormatConstraintsInfoFUCHSIA, ImageLayout,
-- ImageTiling, ImageType, ImageUsageFlags,
-- SampleCountFlagBits, SharingMode, StructureType,
-- createImage
data ImageCreateInfo (es :: [Type])
ImageCreateInfo :: Chain es -> ImageCreateFlags -> ImageType -> Format -> Extent3D -> Word32 -> Word32 -> SampleCountFlagBits -> ImageTiling -> ImageUsageFlags -> SharingMode -> Vector Word32 -> ImageLayout -> ImageCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of ImageCreateFlagBits describing
-- additional parameters of the image.
[$sel:flags:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> ImageCreateFlags
-- | imageType is a ImageType value specifying the basic
-- dimensionality of the image. Layers in array textures do not count as
-- a dimension for the purposes of the image type.
[$sel:imageType:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> ImageType
-- | format is a Format describing the format and type of
-- the texel blocks that will be contained in the image.
[$sel:format:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Format
-- | extent is a Extent3D describing the number of data
-- elements in each dimension of the base level.
[$sel:extent:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Extent3D
-- | mipLevels describes the number of levels of detail available
-- for minified sampling of the image.
[$sel:mipLevels:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Word32
-- | arrayLayers is the number of layers in the image.
[$sel:arrayLayers:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Word32
-- | samples is a SampleCountFlagBits value specifying the
-- number of samples per texel.
[$sel:samples:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> SampleCountFlagBits
-- | tiling is a ImageTiling value specifying the tiling
-- arrangement of the texel blocks in memory.
[$sel:tiling:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> ImageTiling
-- | usage is a bitmask of ImageUsageFlagBits describing
-- the intended usage of the image.
[$sel:usage:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> ImageUsageFlags
-- | sharingMode is a SharingMode value specifying the
-- sharing mode of the image when it will be accessed by multiple queue
-- families.
[$sel:sharingMode:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> SharingMode
-- | pQueueFamilyIndices is a pointer to an array of queue
-- families that will access this image. It is ignored if
-- sharingMode is not SHARING_MODE_CONCURRENT.
[$sel:queueFamilyIndices:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> Vector Word32
-- | initialLayout is a ImageLayout value specifying the
-- initial ImageLayout of all image subresources of the image. See
-- Image Layouts.
[$sel:initialLayout:ImageCreateInfo] :: ImageCreateInfo (es :: [Type]) -> ImageLayout
-- | VkSubresourceLayout - Structure specifying subresource layout
--
-- Description
--
-- If the image is linear, then rowPitch,
-- arrayPitch and depthPitch describe the layout of the
-- image subresource in linear memory. For uncompressed formats,
-- rowPitch is the number of bytes between texels with the same
-- x coordinate in adjacent rows (y coordinates differ by one).
-- arrayPitch is the number of bytes between texels with the
-- same x and y coordinate in adjacent array layers of the image (array
-- layer values differ by one). depthPitch is the number of
-- bytes between texels with the same x and y coordinate in adjacent
-- slices of a 3D image (z coordinates differ by one). Expressed as an
-- addressing formula, the starting byte of a texel in the image
-- subresource has address:
--
--
-- // (x,y,z,layer) are in texel coordinates
-- address(x,y,z,layer) = layer*arrayPitch + z*depthPitch + y*rowPitch + x*elementSize + offset
--
--
-- For compressed formats, the rowPitch is the number of bytes
-- between compressed texel blocks in adjacent rows. arrayPitch
-- is the number of bytes between compressed texel blocks in adjacent
-- array layers. depthPitch is the number of bytes between
-- compressed texel blocks in adjacent slices of a 3D image.
--
--
-- // (x,y,z,layer) are in compressed texel block coordinates
-- address(x,y,z,layer) = layer*arrayPitch + z*depthPitch + y*rowPitch + x*compressedTexelBlockByteSize + offset;
--
--
-- The value of arrayPitch is undefined for images that were not
-- created as arrays. depthPitch is defined only for 3D images.
--
-- If the image has a single-plane color format and its tiling is
-- IMAGE_TILING_LINEAR , then the aspectMask member of
-- ImageSubresource must be IMAGE_ASPECT_COLOR_BIT.
--
-- If the image has a depth/stencil format and its tiling is
-- IMAGE_TILING_LINEAR , then aspectMask must be
-- either IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT. On implementations that store depth
-- and stencil aspects separately, querying each of these image
-- subresource layouts will return a different offset and
-- size representing the region of memory used for that aspect.
-- On implementations that store depth and stencil aspects interleaved,
-- the same offset and size are returned and represent
-- the interleaved memory allocation.
--
-- If the image has a multi-planar format and its tiling is
-- IMAGE_TILING_LINEAR , then the aspectMask member of
-- ImageSubresource must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- (for 3-plane formats only) IMAGE_ASPECT_PLANE_2_BIT. Querying
-- each of these image subresource layouts will return a different
-- offset and size representing the region of memory
-- used for that plane. If the image is disjoint, then the
-- offset is relative to the base address of the plane. If the
-- image is non-disjoint, then the offset is relative to
-- the base address of the image.
--
-- If the image’s tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
-- then the aspectMask member of ImageSubresource
-- must be one of VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT,
-- where the maximum allowed plane index i is defined by the
-- DrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCount
-- associated with the image’s ImageCreateInfo::format
-- and modifier. The memory range used by the subresource is
-- described by offset and size. If the image is
-- disjoint, then the offset is relative to the base
-- address of the memory plane. If the image is
-- non-disjoint, then the offset is relative to the base
-- address of the image. If the image is non-linear, then
-- rowPitch, arrayPitch, and depthPitch have
-- an implementation-dependent meaning.
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- getImageSubresourceLayout
data SubresourceLayout
SubresourceLayout :: DeviceSize -> DeviceSize -> DeviceSize -> DeviceSize -> DeviceSize -> SubresourceLayout
-- | offset is the byte offset from the start of the image or the
-- plane where the image subresource begins.
[$sel:offset:SubresourceLayout] :: SubresourceLayout -> DeviceSize
-- | size is the size in bytes of the image subresource.
-- size includes any extra memory that is required based on
-- rowPitch.
[$sel:size:SubresourceLayout] :: SubresourceLayout -> DeviceSize
-- | rowPitch describes the number of bytes between each row of
-- texels in an image.
[$sel:rowPitch:SubresourceLayout] :: SubresourceLayout -> DeviceSize
-- | arrayPitch describes the number of bytes between each array
-- layer of an image.
[$sel:arrayPitch:SubresourceLayout] :: SubresourceLayout -> DeviceSize
-- | depthPitch describes the number of bytes between each slice
-- of 3D image.
[$sel:depthPitch:SubresourceLayout] :: SubresourceLayout -> DeviceSize
-- | VkImage - Opaque handle to an image object
--
-- See Also
--
-- VK_VERSION_1_0, BindImageMemoryInfo,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImageSparseMemoryRequirementsInfo2, ImageViewCreateInfo,
-- MemoryDedicatedAllocateInfo, ResolveImageInfo2KHR,
-- SparseImageMemoryBindInfo,
-- SparseImageOpaqueMemoryBindInfo, bindImageMemory,
-- cmdBlitImage, cmdClearColorImage,
-- cmdClearDepthStencilImage, cmdCopyBufferToImage,
-- cmdCopyImage, cmdCopyImageToBuffer,
-- cmdResolveImage, createImage, destroyImage,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements,
-- getImageSparseMemoryRequirements,
-- getImageSubresourceLayout, getSwapchainImagesKHR
newtype Image
Image :: Word64 -> Image
-- | VkImageLayout - Layout of image and image subresources
--
-- Description
--
-- The type(s) of device access supported by each layout are:
--
-- The layout of each image subresource is not a state of the image
-- subresource itself, but is rather a property of how the data in memory
-- is organized, and thus for each mechanism of accessing an image in the
-- API the application must specify a parameter or structure
-- member that indicates which image layout the image subresource(s) are
-- considered to be in when the image will be accessed. For transfer
-- commands, this is a parameter to the command (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies).
-- For use as a framebuffer attachment, this is a member in the
-- substructures of the RenderPassCreateInfo (see Render
-- Pass). For use in a descriptor set, this is a member in the
-- DescriptorImageInfo structure (see
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates).
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout, AttachmentReference,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DescriptorImageInfo, ImageCreateInfo,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- ResolveImageInfo2KHR, cmdBindInvocationMaskHUAWEI,
-- cmdBindShadingRateImageNV, cmdBlitImage,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- cmdCopyBufferToImage, cmdCopyImage,
-- cmdCopyImageToBuffer, cmdResolveImage
newtype ImageLayout
ImageLayout :: Int32 -> ImageLayout
-- | IMAGE_LAYOUT_UNDEFINED specifies that the layout is unknown.
-- Image memory cannot be transitioned into this layout. This
-- layout can be used as the initialLayout member of
-- ImageCreateInfo. This layout can be used in place of the
-- current image layout in a layout transition, but doing so will cause
-- the contents of the image’s memory to be undefined.
pattern IMAGE_LAYOUT_UNDEFINED :: ImageLayout
-- | IMAGE_LAYOUT_GENERAL supports all types of device access.
pattern IMAGE_LAYOUT_GENERAL :: ImageLayout
-- | IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL must only be used
-- as a color or resolve attachment in a Framebuffer. This layout
-- is valid only for image subresources of images created with the
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT usage bit enabled.
pattern IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL specifies a
-- layout for both the depth and stencil aspects of a depth/stencil
-- format image allowing read and write access as a depth/stencil
-- attachment. It is equivalent to
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL specifies a layout
-- for both the depth and stencil aspects of a depth/stencil format image
-- allowing read only access as a depth/stencil attachment or in shaders
-- as a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL specifies a layout
-- allowing read-only access in a shader as a sampled image, combined
-- image/sampler, or input attachment. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT usage bits enabled.
pattern IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL must only be used as a
-- source image of a transfer command (see the definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL must only be used as a
-- destination image of a transfer command. This layout is valid only for
-- image subresources of images created with the
-- IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled.
pattern IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_PREINITIALIZED specifies that an image’s memory is
-- in a defined layout and can be populated by data, but that it
-- has not yet been initialized by the driver. Image memory cannot
-- be transitioned into this layout. This layout can be used as
-- the initialLayout member of ImageCreateInfo. This
-- layout is intended to be used as the initial layout for an image whose
-- contents are written by the host, and hence the data can be
-- written to memory immediately, without first executing a layout
-- transition. Currently, IMAGE_LAYOUT_PREINITIALIZED is only
-- useful with linear images because there is not a standard
-- layout defined for IMAGE_TILING_OPTIMAL images.
pattern IMAGE_LAYOUT_PREINITIALIZED :: ImageLayout
-- | IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR specifies a layout that
-- must only be used with attachment accesses in the graphics
-- pipeline.
pattern IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR specifies a layout allowing
-- read only access as an attachment, or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- must only be used as a fragment shading rate attachment
-- or shading rate image. This layout is valid only for image
-- subresources of images created with the
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR :: ImageLayout
-- | IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT must only
-- be used as a fragment density map attachment in a RenderPass.
-- This layout is valid only for image subresources of images created
-- with the IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT usage bit
-- enabled.
pattern IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT :: ImageLayout
-- | IMAGE_LAYOUT_SHARED_PRESENT_KHR is valid only for shared
-- presentable images, and must be used for any usage the image
-- supports.
pattern IMAGE_LAYOUT_SHARED_PRESENT_KHR :: ImageLayout
-- | IMAGE_LAYOUT_PRESENT_SRC_KHR must only be used for
-- presenting a presentable image for display. A swapchain’s image
-- must be transitioned to this layout before calling
-- queuePresentKHR, and must be transitioned away from this
-- layout after calling acquireNextImageKHR.
pattern IMAGE_LAYOUT_PRESENT_SRC_KHR :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read-only
-- access as a stencil attachment or in shaders as a sampled image,
-- combined image/sampler, or input attachment.
pattern IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL specifies a layout for
-- the stencil aspect of a depth/stencil format image allowing read and
-- write access as a stencil attachment.
pattern IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL specifies a layout for the
-- depth aspect of a depth/stencil format image allowing read-only access
-- as a depth attachment or in shaders as a sampled image, combined
-- image/sampler, or input attachment.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL specifies a layout for
-- the depth aspect of a depth/stencil format image allowing read and
-- write access as a depth attachment.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the depth aspect as a depth attachment, and read only
-- access to the stencil aspect as a stencil attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL :: ImageLayout
-- | IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- specifies a layout for depth/stencil format images allowing read and
-- write access to the stencil aspect as a stencil attachment, and read
-- only access to the depth aspect as a depth attachment or in shaders as
-- a sampled image, combined image/sampler, or input attachment. It is
-- equivalent to IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL and
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.
pattern IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL :: ImageLayout
instance GHC.Classes.Eq Vulkan.Core10.Image.SubresourceLayout
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Image.ImageCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.Image.SubresourceLayout
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.Image.SubresourceLayout
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.Image.SubresourceLayout
instance Foreign.Storable.Storable Vulkan.Core10.Image.SubresourceLayout
instance Vulkan.Zero.Zero Vulkan.Core10.Image.SubresourceLayout
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Image.ImageCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Image.ImageCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Image.ImageCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Image.ImageCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Image.ImageCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Image.ImageCreateInfo es)
-- | Name
--
-- VK_EXT_image_drm_format_modifier - device extension
--
-- VK_EXT_image_drm_format_modifier
--
--
-- - Name String
-- VK_EXT_image_drm_format_modifier
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 159
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_bind_memory2
- Requires
-- VK_KHR_get_physical_device_properties2
- Requires
-- VK_KHR_image_format_list
- Requires
-- VK_KHR_sampler_ycbcr_conversion
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-30
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Antoine Labour,
-- Google
- Bas Nieuwenhuizen, Google
- Chad Versace,
-- Google
- James Jones, NVIDIA
- Jason Ekstrand,
-- Intel
- Jőrg Wagner, ARM
- Kristian Høgsberg Kristensen,
-- Google
- Ray Smith, ARM
--
--
-- Description
--
-- This extension provides the ability to use DRM format modifiers
-- with images, enabling Vulkan to better integrate with the Linux
-- ecosystem of graphics, video, and display APIs.
--
-- Its functionality closely overlaps with
-- EGL_EXT_image_dma_buf_import_modifiers2^ and
-- EGL_MESA_image_dma_buf_export3^. Unlike the EGL
-- extensions, this extension does not require the use of a specific
-- handle type (such as a dma_buf) for external memory and provides more
-- explicit control of image creation.
--
-- Introduction to DRM Format Modifiers
--
-- A DRM format modifier is a 64-bit, vendor-prefixed, semi-opaque
-- unsigned integer. Most modifiers represent a concrete,
-- vendor-specific tiling format for images. Some exceptions are
-- DRM_FORMAT_MOD_LINEAR (which is not vendor-specific);
-- DRM_FORMAT_MOD_NONE (which is an alias of
-- DRM_FORMAT_MOD_LINEAR due to historical accident); and
-- DRM_FORMAT_MOD_INVALID (which does not represent a tiling
-- format). The modifier’s vendor prefix consists of the 8 most
-- significant bits. The canonical list of modifiers and vendor
-- prefixes is found in drm_fourcc.h in the Linux kernel source.
-- The other dominant source of modifiers are vendor kernel trees.
--
-- One goal of modifiers in the Linux ecosystem is to enumerate
-- for each vendor a reasonably sized set of tiling formats that are
-- appropriate for images shared across processes, APIs, and/or devices,
-- where each participating component may possibly be from different
-- vendors. A non-goal is to enumerate all tiling formats supported by
-- all vendors. Some tiling formats used internally by vendors are
-- inappropriate for sharing; no modifiers should be assigned to
-- such tiling formats.
--
-- Modifier values typically do not describe memory layouts. More
-- precisely, a modifier's lower 56 bits usually have no
-- structure. Instead, modifiers name memory layouts; they name a
-- small set of vendor-preferred layouts for image sharing. As a
-- consequence, in each vendor namespace the modifier values are often
-- sequentially allocated starting at 1.
--
-- Each modifier is usually supported by a single vendor and its
-- name matches the pattern {VENDOR}_FORMAT_MOD_* or
-- DRM_FORMAT_MOD_{VENDOR}_*. Examples are
-- I915_FORMAT_MOD_X_TILED and
-- DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED. An exception is
-- DRM_FORMAT_MOD_LINEAR, which is supported by most vendors.
--
-- Many APIs in Linux use modifiers to negotiate and specify the
-- memory layout of shared images. For example, a Wayland compositor and
-- Wayland client may, by relaying modifiers over the Wayland
-- protocol zwp_linux_dmabuf_v1, negotiate a vendor-specific
-- tiling format for a shared wl_buffer. The client may allocate
-- the underlying memory for the wl_buffer with GBM, providing
-- the chosen modifier to gbm_bo_create_with_modifiers.
-- The client may then import the wl_buffer into Vulkan for
-- producing image content, providing the resource’s dma_buf to
-- ImportMemoryFdInfoKHR and its modifier to
-- ImageDrmFormatModifierExplicitCreateInfoEXT. The compositor may
-- then import the wl_buffer into OpenGL for sampling, providing
-- the resource’s dma_buf and modifier to eglCreateImage.
-- The compositor may also bypass OpenGL and submit the
-- wl_buffer directly to the kernel’s display API, providing the
-- dma_buf and modifier through drm_mode_fb_cmd2.
--
-- Format Translation
--
-- Modifier-capable APIs often pair modifiers with DRM
-- formats, which are defined in drm_fourcc.h. However,
-- VK_EXT_image_drm_format_modifier uses Format instead
-- of DRM formats. The application must convert between Format and
-- DRM format when it sends or receives a DRM format to or from an
-- external API.
--
-- The mapping from Format to DRM format is lossy. Therefore, when
-- receiving a DRM format from an external API, often the application
-- must use information from the external API to accurately map the DRM
-- format to a Format. For example, DRM formats do not distinguish
-- between RGB and sRGB (as of 2018-03-28); external information is
-- required to identify the image’s colorspace.
--
-- The mapping between Format and DRM format is also incomplete.
-- For some DRM formats there exist no corresponding Vulkan format, and
-- for some Vulkan formats there exist no corresponding DRM format.
--
-- Usage Patterns
--
-- Three primary usage patterns are intended for this extension:
--
--
-- - Negotiation. The application negotiates with
-- modifier-aware, external components to determine sets of image
-- creation parameters supported among all components.In the Linux
-- ecosystem, the negotiation usually assumes the image is a 2D,
-- single-sampled, non-mipmapped, non-array image; this extension permits
-- that assumption but does not require it. The result of the negotiation
-- usually resembles a set of tuples such as /(drmFormat,
-- drmFormatModifier)/, where each participating component supports all
-- tuples in the set.Many details of this negotiation—such as the
-- protocol used during negotiation, the set of image creation parameters
-- expressable in the protocol, and how the protocol chooses which
-- process and which API will create the image—are outside the scope of
-- this specification.In this extension,
-- getPhysicalDeviceFormatProperties2 with
-- DrmFormatModifierPropertiesListEXT serves a primary role during
-- the negotiation, and getPhysicalDeviceImageFormatProperties2
-- with PhysicalDeviceImageDrmFormatModifierInfoEXT serves a
-- secondary role.
-- - Import. The application imports an image with a
-- modifier.In this pattern, the application receives from an
-- external source the image’s memory and its creation parameters, which
-- are often the result of the negotiation described above. Some image
-- creation parameters are implicitly defined by the external source; for
-- example, IMAGE_TYPE_2D is often assumed. Some image creation
-- parameters are usually explicit, such as the image’s format,
-- drmFormatModifier, and extent; and each plane’s
-- offset and rowPitch.Before creating the image, the
-- application first verifies that the physical device supports the
-- received creation parameters by querying
-- getPhysicalDeviceFormatProperties2 with
-- DrmFormatModifierPropertiesListEXT and
-- getPhysicalDeviceImageFormatProperties2 with
-- PhysicalDeviceImageDrmFormatModifierInfoEXT. Then the
-- application creates the image by chaining
-- ImageDrmFormatModifierExplicitCreateInfoEXT and
-- ExternalMemoryImageCreateInfo onto ImageCreateInfo.
-- - Export. The application creates an image and allocates its
-- memory. Then the application exports to modifier-aware
-- consumers the image’s memory handles; its creation parameters; its
-- modifier; and the offset, size, and
-- rowPitch of each memory plane.In this pattern, the
-- Vulkan device is the authority for the image; it is the allocator of
-- the image’s memory and the decider of the image’s creation parameters.
-- When choosing the image’s creation parameters, the application usually
-- chooses a tuple /(format, drmFormatModifier)/ from the result of the
-- negotiation described above. The negotiation’s result often contains
-- multiple tuples that share the same format but differ in their
-- modifier. In this case, the application should defer the choice
-- of the image’s modifier to the Vulkan implementation by
-- providing all such modifiers to
-- ImageDrmFormatModifierListCreateInfoEXT::pDrmFormatModifiers;
-- and the implementation should choose from pDrmFormatModifiers
-- the optimal modifier in consideration with the other image
-- parameters.The application creates the image by chaining
-- ImageDrmFormatModifierListCreateInfoEXT and
-- ExternalMemoryImageCreateInfo onto ImageCreateInfo. The
-- protocol and APIs by which the application will share the image with
-- external consumers will likely determine the value of
-- ExternalMemoryImageCreateInfo::handleTypes. The
-- implementation chooses for the image an optimal modifier from
-- ImageDrmFormatModifierListCreateInfoEXT::pDrmFormatModifiers.
-- The application then queries the implementation-chosen modifier
-- with getImageDrmFormatModifierPropertiesEXT, and queries the
-- memory layout of each plane with getImageSubresourceLayout.The
-- application then allocates the image’s memory with
-- MemoryAllocateInfo, adding chained extending structures for
-- external memory; binds it to the image; and exports the memory, for
-- example, with getMemoryFdKHR.Finally, the application sends the
-- image’s creation parameters, its modifier, its per-plane memory
-- layout, and the exported memory handle to the external consumers. The
-- details of how the application transmits this information to external
-- consumers is outside the scope of this specification.
--
--
-- Prior Art
--
-- Extension EGL_EXT_image_dma_buf_import1^ introduced
-- the ability to create an EGLImage by importing for each plane
-- a dma_buf, offset, and row pitch.
--
-- Later, extension
-- EGL_EXT_image_dma_buf_import_modifiers2^ introduced
-- the ability to query which combination of formats and modifiers
-- the implementation supports and to specify modifiers during
-- creation of the EGLImage.
--
-- Extension EGL_MESA_image_dma_buf_export3^ is the
-- inverse of EGL_EXT_image_dma_buf_import_modifiers.
--
-- The Linux kernel modesetting API (KMS), when configuring the display’s
-- framebuffer with struct drm_mode_fb_cmd24^, allows one
-- to specify the frambuffer’s modifier as well as a per-plane
-- memory handle, offset, and row pitch.
--
-- GBM, a graphics buffer manager for Linux, allows creation of a
-- gbm_bo (that is, a graphics buffer object) by
-- importing data similar to that in
-- EGL_EXT_image_dma_buf_import_modifiers1^; and
-- symmetrically allows exporting the same data from the gbm_bo.
-- See the references to modifier and plane in
-- gbm.h5^.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- Issues
--
-- 1) Should this extension define a single DRM format modifier per
-- Image? Or define one per plane?
--
-- +
--
-- RESOLVED: There exists a single DRM format modifier per
-- Image.
--
-- DISCUSSION: Prior art, such as
-- EGL_EXT_image_dma_buf_import_modifiers2^, struct
-- drm_mode_fb_cmd24^, and struct
-- gbm_import_fd_modifier_data5^, allows defining one
-- modifier per plane. However, developers of the GBM and kernel
-- APIs concede it was a mistake. Beginning in Linux 4.10, the kernel
-- requires that the application provide the same DRM format
-- modifier for each plane. (See Linux commit
-- bae781b259269590109e8a4a8227331362b88212). And GBM provides an
-- entry point, gbm_bo_get_modifier, for querying the
-- modifier of the image but does not provide one to query the
-- modifier of individual planes.
--
-- 2) When creating an image with
-- ImageDrmFormatModifierExplicitCreateInfoEXT, which is typically
-- used when importing an image, should the application explicitly
-- provide the size of each plane?
--
-- +
--
-- RESOLVED: No. The application must not provide the size.
-- To enforce this, the API requires that
-- ImageDrmFormatModifierExplicitCreateInfoEXT::pPlaneLayouts->size
-- must be 0.
--
-- DISCUSSION: Prior art, such as
-- EGL_EXT_image_dma_buf_import_modifiers2^, struct
-- drm_mode_fb_cmd24^, and struct
-- gbm_import_fd_modifier_data5^, omits from the API the size
-- of each plane. Instead, the APIs infer each plane’s size from the
-- import parameters, which include the image’s pixel format and a
-- dma_buf, offset, and row pitch for each plane.
--
-- However, Vulkan differs from EGL and GBM with regards to image
-- creation in the following ways:
--
--
-- - Undedicated allocation by default. When importing or
-- exporting a set of dma_bufs as an EGLImage or
-- gbm_bo, common practice mandates that each dma_buf’s memory
-- be dedicated (in the sense of VK_KHR_dedicated_allocation) to
-- the image (though not necessarily dedicated to a single plane). In
-- particular, neither the GBM documentation nor the EGL extension
-- specifications explicitly state this requirement, but in light of
-- common practice this is likely due to under-specification rather than
-- intentional omission. In contrast,
-- VK_EXT_image_drm_format_modifier permits, but does not
-- require, the implementation to require dedicated allocations for
-- images created with IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.
-- - Separation of image creation and memory allocation. When
-- importing a set of dma_bufs as an EGLImage or
-- gbm_bo, EGL and GBM create the image resource and bind it to
-- memory (the dma_bufs) simultaneously. This allows EGL and GBM to query
-- each dma_buf’s size during image creation. In Vulkan, image creation
-- and memory allocation are independent unless a dedicated allocation is
-- used (as in VK_KHR_dedicated_allocation). Therefore, without
-- requiring dedicated allocation, Vulkan cannot query the size of each
-- dma_buf (or other external handle) when calculating the image’s memory
-- layout. Even if dedication allocation were required, Vulkan cannot
-- calculate the image’s memory layout until after the image is bound to
-- its dma_ufs.
--
--
-- The above differences complicate the potential inference of plane size
-- in Vulkan. Consider the following problematic cases:
--
--
-- - Padding. Some plane of the image may require
-- implementation-dependent padding.
-- - Metadata. For some modifiers, the image may have a
-- metadata plane which requires a non-trivial calculation to determine
-- its size.
-- - Mipmapped, array, and 3D images. The implementation may
-- support IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT for images whose
-- mipLevels, arrayLayers, or depth is greater
-- than 1. For such images with certain modifiers, the calculation
-- of each plane’s size may be non-trivial.
--
--
-- However, an application-provided plane size solves none of the above
-- problems.
--
-- For simplicity, consider an external image with a single memory plane.
-- The implementation is obviously capable calculating the image’s size
-- when its tiling is IMAGE_TILING_OPTIMAL. Likewise, any
-- reasonable implementation is capable of calculating the image’s size
-- when its tiling uses a supported modifier.
--
-- Suppose that the external image’s size is smaller than the
-- implementation-calculated size. If the application provided the
-- external image’s size to createImage, the implementation would
-- observe the mismatched size and recognize its inability to comprehend
-- the external image’s layout (unless the implementation used the
-- application-provided size to select a refinement of the tiling layout
-- indicated by the modifier, which is strongly discouraged). The
-- implementation would observe the conflict, and reject image creation
-- with ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT. On the
-- other hand, if the application did not provide the external image’s
-- size to createImage, then the application would observe after
-- calling getImageMemoryRequirements that the external image’s
-- size is less than the size required by the implementation. The
-- application would observe the conflict and refuse to bind the
-- Image to the external memory. In both cases, the result is
-- explicit failure.
--
-- Suppose that the external image’s size is larger than the
-- implementation-calculated size. If the application provided the
-- external image’s size to createImage, for reasons similar to
-- above the implementation would observe the mismatched size and
-- recognize its inability to comprehend the image data residing in the
-- extra size. The implementation, however, must assume that image data
-- resides in the entire size provided by the application. The
-- implementation would observe the conflict and reject image creation
-- with ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT. On the
-- other hand, if the application did not provide the external image’s
-- size to createImage, then the application would observe after
-- calling getImageMemoryRequirements that the external image’s
-- size is larger than the implementation-usable size. The application
-- would observe the conflict and refuse to bind the Image to the
-- external memory. In both cases, the result is explicit failure.
--
-- Therefore, an application-provided size provides no benefit, and this
-- extension should not require it. This decision renders
-- SubresourceLayout::size an unused field during image
-- creation, and thus introduces a risk that implementations may require
-- applications to submit sideband creation parameters in the unused
-- field. To prevent implementations from relying on sideband data, this
-- extension requires the application to set size to 0.
--
-- References
--
--
-- - EGL_EXT_image_dma_buf_import
--
--
--
-- - EGL_EXT_image_dma_buf_import_modifiers
-- - EGL_MESA_image_dma_buf_export
--
-- - <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/drm/drm_mode.h?id=refs/tags/v4.10#n392
-- struct drm_mode_fb_cmd2>
-- - gbm.h
--
--
-- Version History
--
--
-- - Revision 1, 2018-08-29 (Chad Versace)
--
--
--
-- - Revision 2, 2021-09-30 (Jon Leech)
- Add interaction with
-- VK_KHR_format_feature_flags2 to
-- vk.xml
--
--
-- See Also
--
-- DrmFormatModifierPropertiesEXT,
-- DrmFormatModifierPropertiesListEXT,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- getImageDrmFormatModifierPropertiesEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_image_drm_format_modifier
-- | vkGetImageDrmFormatModifierPropertiesEXT - Returns an image’s DRM
-- format modifier
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier, Device, Image,
-- ImageDrmFormatModifierPropertiesEXT
getImageDrmFormatModifierPropertiesEXT :: forall io. MonadIO io => Device -> Image -> io ImageDrmFormatModifierPropertiesEXT
-- | VkDrmFormatModifierPropertiesListEXT - Structure specifying the list
-- of DRM format modifiers supported for a format
--
-- Description
--
-- If pDrmFormatModifierProperties is NULL, then the
-- function returns in drmFormatModifierCount the number of
-- modifiers compatible with the queried format. Otherwise, the
-- application must set drmFormatModifierCount to the
-- length of the array pDrmFormatModifierProperties; the
-- function will write at most drmFormatModifierCount elements
-- to the array, and will return in drmFormatModifierCount the
-- number of elements written.
--
-- Among the elements in array pDrmFormatModifierProperties,
-- each returned drmFormatModifier must be unique.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier,
-- DrmFormatModifierPropertiesEXT, StructureType
data DrmFormatModifierPropertiesListEXT
DrmFormatModifierPropertiesListEXT :: Word32 -> Ptr DrmFormatModifierPropertiesEXT -> DrmFormatModifierPropertiesListEXT
-- | drmFormatModifierCount is an inout parameter related to the
-- number of modifiers compatible with the format, as described
-- below.
[$sel:drmFormatModifierCount:DrmFormatModifierPropertiesListEXT] :: DrmFormatModifierPropertiesListEXT -> Word32
-- | pDrmFormatModifierProperties is either NULL or a
-- pointer to an array of DrmFormatModifierPropertiesEXT
-- structures.
[$sel:drmFormatModifierProperties:DrmFormatModifierPropertiesListEXT] :: DrmFormatModifierPropertiesListEXT -> Ptr DrmFormatModifierPropertiesEXT
-- | VkDrmFormatModifierPropertiesEXT - Structure specifying properties of
-- a format when combined with a DRM format modifier
--
-- Description
--
-- The returned drmFormatModifierTilingFeatures must
-- contain at least one bit.
--
-- The implementation must not return
-- DRM_FORMAT_MOD_INVALID in drmFormatModifier.
--
-- An image’s memory planecount (as returned by
-- drmFormatModifierPlaneCount) is distinct from its format
-- planecount (in the sense of multi-planar Y′CBCR formats).
-- In ImageAspectFlags, each
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT represents a memory
-- plane and each VK_IMAGE_ASPECT_PLANE_i_BIT a format
-- plane.
--
-- An image’s set of format planes is an ordered partition of the
-- image’s content into separable groups of format components. The
-- ordered partition is encoded in the name of each Format. For
-- example, FORMAT_G8_B8R8_2PLANE_420_UNORM contains two format
-- planes; the first plane contains the green component and the
-- second plane contains the blue component and red component. If the
-- format name does not contain PLANE, then the format contains
-- a single plane; for example, FORMAT_R8G8B8A8_UNORM. Some
-- commands, such as cmdCopyBufferToImage, do not operate on all
-- format components in the image, but instead operate only on the
-- format planes explicitly chosen by the application and operate
-- on each format plane independently.
--
-- An image’s set of memory planes is an ordered partition of the
-- image’s memory rather than the image’s content. Each
-- memory plane is a contiguous range of memory. The union of an
-- image’s memory planes is not necessarily contiguous.
--
-- If an image is linear, then the partition is the same for
-- memory planes and for /format planes/. Therefore, if the
-- returned drmFormatModifier is DRM_FORMAT_MOD_LINEAR,
-- then drmFormatModifierPlaneCount must equal the
-- format planecount, and drmFormatModifierTilingFeatures
-- must be identical to the
-- FormatProperties2::linearTilingFeatures returned in
-- the same pNext chain.
--
-- If an image is non-linear, then the partition of the image’s
-- memory into memory planes is implementation-specific and
-- may be unrelated to the partition of the image’s content
-- into format planes. For example, consider an image whose
-- format is FORMAT_G8_B8_R8_3PLANE_420_UNORM,
-- tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, whose
-- drmFormatModifier is not DRM_FORMAT_MOD_LINEAR, and
-- flags lacks IMAGE_CREATE_DISJOINT_BIT. The image has 3
-- format planes, and commands such cmdCopyBufferToImage
-- act on each format plane independently as if the data of each
-- format plane were separable from the data of the other planes.
-- In a straightforward implementation, the implementation may
-- store the image’s content in 3 adjacent memory planes where
-- each memory plane corresponds exactly to a format plane.
-- However, the implementation may also store the image’s content
-- in a single memory plane where all format components are
-- combined using an implementation-private block-compressed format; or
-- the implementation may store the image’s content in a
-- collection of 7 adjacent memory planes using an
-- implementation-private sharding technique. Because the image is
-- non-linear and non-disjoint, the implementation has much freedom when
-- choosing the image’s placement in memory.
--
-- The memory planecount applies to function parameters and
-- structures only when the API specifies an explicit requirement on
-- drmFormatModifierPlaneCount. In all other cases, the /memory
-- planecount/ is ignored.
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier,
-- DrmFormatModifierPropertiesListEXT, FormatFeatureFlags
data DrmFormatModifierPropertiesEXT
DrmFormatModifierPropertiesEXT :: Word64 -> Word32 -> FormatFeatureFlags -> DrmFormatModifierPropertiesEXT
-- | drmFormatModifier is a Linux DRM format modifier.
[$sel:drmFormatModifier:DrmFormatModifierPropertiesEXT] :: DrmFormatModifierPropertiesEXT -> Word64
-- | drmFormatModifierPlaneCount is the number of memory
-- planes in any image created with format and
-- drmFormatModifier. An image’s /memory planecount is
-- distinct from its format planecount/, as explained below.
[$sel:drmFormatModifierPlaneCount:DrmFormatModifierPropertiesEXT] :: DrmFormatModifierPropertiesEXT -> Word32
-- | drmFormatModifierTilingFeatures is a bitmask of
-- FormatFeatureFlagBits that are supported by any image created
-- with format and drmFormatModifier.
[$sel:drmFormatModifierTilingFeatures:DrmFormatModifierPropertiesEXT] :: DrmFormatModifierPropertiesEXT -> FormatFeatureFlags
-- | VkPhysicalDeviceImageDrmFormatModifierInfoEXT - Structure specifying a
-- DRM format modifier as image creation parameter
--
-- Description
--
-- If the drmFormatModifier is incompatible with the parameters
-- specified in PhysicalDeviceImageFormatInfo2 and its
-- pNext chain, then
-- getPhysicalDeviceImageFormatProperties2 returns
-- ERROR_FORMAT_NOT_SUPPORTED. The implementation must
-- support the query of any drmFormatModifier, including unknown
-- and invalid modifier values.
--
-- Valid Usage
--
--
-- - If sharingMode is SHARING_MODE_CONCURRENT, then
-- pQueueFamilyIndices must be a valid pointer to an
-- array of queueFamilyIndexCount uint32_t values
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier, SharingMode,
-- StructureType
data PhysicalDeviceImageDrmFormatModifierInfoEXT
PhysicalDeviceImageDrmFormatModifierInfoEXT :: Word64 -> SharingMode -> Vector Word32 -> PhysicalDeviceImageDrmFormatModifierInfoEXT
-- | drmFormatModifier is the image’s Linux DRM format
-- modifier, corresponding to
-- ImageDrmFormatModifierExplicitCreateInfoEXT::modifier
-- or to
-- ImageDrmFormatModifierListCreateInfoEXT::pModifiers.
[$sel:drmFormatModifier:PhysicalDeviceImageDrmFormatModifierInfoEXT] :: PhysicalDeviceImageDrmFormatModifierInfoEXT -> Word64
-- | sharingMode specifies how the image will be accessed by
-- multiple queue families.
[$sel:sharingMode:PhysicalDeviceImageDrmFormatModifierInfoEXT] :: PhysicalDeviceImageDrmFormatModifierInfoEXT -> SharingMode
-- | pQueueFamilyIndices is a pointer to an array of queue
-- families that will access the image. It is ignored if
-- sharingMode is not SHARING_MODE_CONCURRENT.
[$sel:queueFamilyIndices:PhysicalDeviceImageDrmFormatModifierInfoEXT] :: PhysicalDeviceImageDrmFormatModifierInfoEXT -> Vector Word32
-- | VkImageDrmFormatModifierListCreateInfoEXT - Specify that an image must
-- be created with a DRM format modifier from the provided list
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pDrmFormatModifiers must be a valid pointer to an
-- array of drmFormatModifierCount uint64_t values
-- - drmFormatModifierCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier, StructureType
data ImageDrmFormatModifierListCreateInfoEXT
ImageDrmFormatModifierListCreateInfoEXT :: Vector Word64 -> ImageDrmFormatModifierListCreateInfoEXT
-- | pDrmFormatModifiers is a pointer to an array of /Linux DRM
-- format modifiers/.
[$sel:drmFormatModifiers:ImageDrmFormatModifierListCreateInfoEXT] :: ImageDrmFormatModifierListCreateInfoEXT -> Vector Word64
-- | VkImageDrmFormatModifierExplicitCreateInfoEXT - Specify that an image
-- be created with the provided DRM format modifier and explicit memory
-- layout
--
-- Description
--
-- The ith member of pPlaneLayouts describes the layout
-- of the image’s ith memory plane (that is,
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT). In each element of
-- pPlaneLayouts, the implementation must ignore
-- size. The implementation calculates the size of each plane,
-- which the application can query with
-- getImageSubresourceLayout.
--
-- When creating an image with
-- ImageDrmFormatModifierExplicitCreateInfoEXT, it is the
-- application’s responsibility to satisfy all valid usage requirements.
-- However, the implementation must validate that the provided
-- pPlaneLayouts, when combined with the provided
-- drmFormatModifier and other creation parameters in
-- ImageCreateInfo and its pNext chain, produce a valid
-- image. (This validation is necessarily implementation-dependent and
-- outside the scope of Vulkan, and therefore not described by valid
-- usage requirements). If this validation fails, then createImage
-- returns ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If drmFormatModifierPlaneCount is not 0,
-- pPlaneLayouts must be a valid pointer to an array of
-- drmFormatModifierPlaneCount SubresourceLayout
-- structures
--
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier, StructureType,
-- SubresourceLayout
data ImageDrmFormatModifierExplicitCreateInfoEXT
ImageDrmFormatModifierExplicitCreateInfoEXT :: Word64 -> Vector SubresourceLayout -> ImageDrmFormatModifierExplicitCreateInfoEXT
-- | drmFormatModifier is the Linux DRM format modifier
-- with which the image will be created.
[$sel:drmFormatModifier:ImageDrmFormatModifierExplicitCreateInfoEXT] :: ImageDrmFormatModifierExplicitCreateInfoEXT -> Word64
-- | pPlaneLayouts is a pointer to an array of
-- SubresourceLayout structures describing the image’s memory
-- planes.
[$sel:planeLayouts:ImageDrmFormatModifierExplicitCreateInfoEXT] :: ImageDrmFormatModifierExplicitCreateInfoEXT -> Vector SubresourceLayout
-- | VkImageDrmFormatModifierPropertiesEXT - Properties of an image’s Linux
-- DRM format modifier
--
-- Description
--
-- If the image was created with
-- ImageDrmFormatModifierListCreateInfoEXT, then the returned
-- drmFormatModifier must belong to the list of modifiers
-- provided at time of image creation in
-- ImageDrmFormatModifierListCreateInfoEXT::pDrmFormatModifiers.
-- If the image was created with
-- ImageDrmFormatModifierExplicitCreateInfoEXT, then the returned
-- drmFormatModifier must be the modifier provided at
-- time of image creation in
-- ImageDrmFormatModifierExplicitCreateInfoEXT::drmFormatModifier.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier, StructureType,
-- getImageDrmFormatModifierPropertiesEXT
data ImageDrmFormatModifierPropertiesEXT
ImageDrmFormatModifierPropertiesEXT :: Word64 -> ImageDrmFormatModifierPropertiesEXT
-- | drmFormatModifier returns the image’s Linux DRM format
-- modifier.
[$sel:drmFormatModifier:ImageDrmFormatModifierPropertiesEXT] :: ImageDrmFormatModifierPropertiesEXT -> Word64
-- | VkDrmFormatModifierPropertiesList2EXT - Structure specifying the list
-- of DRM format modifiers supported for a format
--
-- Description
--
-- If pDrmFormatModifierProperties is NULL, the number
-- of modifiers compatible with the queried format is returned
-- in drmFormatModifierCount. Otherwise, the application
-- must set drmFormatModifierCount to the length of the
-- array pDrmFormatModifierProperties; the function will write
-- at most drmFormatModifierCount elements to the array, and
-- will return in drmFormatModifierCount the number of elements
-- written.
--
-- Among the elements in array pDrmFormatModifierProperties,
-- each returned drmFormatModifier must be unique.
--
-- Among the elements in array pDrmFormatModifierProperties, the
-- bits reported in drmFormatModifierTilingFeatures must
-- include the bits reported in the corresponding element of
-- DrmFormatModifierPropertiesListEXT::pDrmFormatModifierProperties.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier,
-- VK_KHR_format_feature_flags2,
-- DrmFormatModifierProperties2EXT, StructureType
data DrmFormatModifierPropertiesList2EXT
DrmFormatModifierPropertiesList2EXT :: Word32 -> Ptr DrmFormatModifierProperties2EXT -> DrmFormatModifierPropertiesList2EXT
-- | drmFormatModifierCount is an inout parameter related to the
-- number of modifiers compatible with the format, as described
-- below.
[$sel:drmFormatModifierCount:DrmFormatModifierPropertiesList2EXT] :: DrmFormatModifierPropertiesList2EXT -> Word32
-- | pDrmFormatModifierProperties is either NULL or a
-- pointer to an array of DrmFormatModifierProperties2EXT
-- structures.
[$sel:drmFormatModifierProperties:DrmFormatModifierPropertiesList2EXT] :: DrmFormatModifierPropertiesList2EXT -> Ptr DrmFormatModifierProperties2EXT
-- | VkDrmFormatModifierProperties2EXT - Structure specifying properties of
-- a format when combined with a DRM format modifier
--
-- See Also
--
-- VK_EXT_image_drm_format_modifier,
-- VK_KHR_format_feature_flags2,
-- DrmFormatModifierPropertiesList2EXT,
-- FormatFeatureFlags2KHR
data DrmFormatModifierProperties2EXT
DrmFormatModifierProperties2EXT :: Word64 -> Word32 -> FormatFeatureFlags2KHR -> DrmFormatModifierProperties2EXT
-- | drmFormatModifier is a Linux DRM format modifier.
[$sel:drmFormatModifier:DrmFormatModifierProperties2EXT] :: DrmFormatModifierProperties2EXT -> Word64
-- | drmFormatModifierPlaneCount is the number of memory
-- planes in any image created with format and
-- drmFormatModifier. An image’s /memory planecount is
-- distinct from its format planecount/, as explained below.
[$sel:drmFormatModifierPlaneCount:DrmFormatModifierProperties2EXT] :: DrmFormatModifierProperties2EXT -> Word32
-- | drmFormatModifierTilingFeatures is a bitmask of
-- FormatFeatureFlagBits2KHR that are supported by any image
-- created with format and drmFormatModifier.
[$sel:drmFormatModifierTilingFeatures:DrmFormatModifierProperties2EXT] :: DrmFormatModifierProperties2EXT -> FormatFeatureFlags2KHR
type EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2
pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: forall a. Integral a => a
type EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier"
pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.PhysicalDeviceImageDrmFormatModifierInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierListCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierProperties2EXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierListCreateInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierListCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierListCreateInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.PhysicalDeviceImageDrmFormatModifierInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.PhysicalDeviceImageDrmFormatModifierInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.PhysicalDeviceImageDrmFormatModifierInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT
module Vulkan.Core10.Fence
-- | vkCreateFence - Create a new fence object
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- FenceCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pFence must be a valid pointer to a Fence
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Fence, FenceCreateInfo
createFence :: forall a io. (Extendss FenceCreateInfo a, PokeChain a, MonadIO io) => Device -> FenceCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Fence
-- | A convenience wrapper to make a compatible pair of calls to
-- createFence and destroyFence
--
-- To ensure that destroyFence 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.
withFence :: forall a io r. (Extendss FenceCreateInfo a, PokeChain a, MonadIO io) => Device -> FenceCreateInfo a -> Maybe AllocationCallbacks -> (io Fence -> (Fence -> io ()) -> r) -> r
-- | vkDestroyFence - Destroy a fence object
--
-- Valid Usage
--
--
-- - All queue submission commands that refer to fence
-- must have completed execution
--
--
--
-- - If AllocationCallbacks were provided when fence
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when fence
-- was created, pAllocator must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If fence is not NULL_HANDLE, fence
-- must be a valid Fence handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If fence is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to fence must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- Fence
destroyFence :: forall io. MonadIO io => Device -> Fence -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkResetFences - Resets one or more fence objects
--
-- Description
--
-- If any member of pFences currently has its payload
-- imported with temporary permanence, that fence’s prior permanent
-- payload is first restored. The remaining operations described
-- therefore operate on the restored payload.
--
-- When resetFences is executed on the host, it defines a /fence
-- unsignal operation/ for each fence, which resets the fence to the
-- unsignaled state.
--
-- If any member of pFences is already in the unsignaled state
-- when resetFences is executed, then resetFences has no
-- effect on that fence.
--
-- Valid Usage
--
--
-- - Each element of pFences must not be currently
-- associated with any queue command that has not yet completed execution
-- on that queue
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pFences must be a valid pointer to an array of
-- fenceCount valid Fence handles
-- - fenceCount must be greater than 0
-- - Each element of pFences must have been created,
-- allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to each member of pFences must be
-- externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Fence
resetFences :: forall io. MonadIO io => Device -> ("fences" ::: Vector Fence) -> io ()
-- | vkGetFenceStatus - Return the status of a fence
--
-- Description
--
-- Upon success, getFenceStatus returns the status of the fence
-- object, with the following return codes:
--
-- TODO: table
--
-- Fence Object Status Codes
--
-- If a queue submission command is pending execution, then the
-- value returned by this command may immediately be out of date.
--
-- If the device has been lost (see Lost Device),
-- getFenceStatus may return any of the above status codes.
-- If the device has been lost and getFenceStatus is called
-- repeatedly, it will eventually return either SUCCESS or
-- ERROR_DEVICE_LOST.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Device, Fence
getFenceStatus :: forall io. MonadIO io => Device -> Fence -> io Result
-- | vkWaitForFences - Wait for one or more fences to become signaled
--
-- Description
--
-- If the condition is satisfied when waitForFences is called,
-- then waitForFences returns immediately. If the condition is not
-- satisfied at the time waitForFences is called, then
-- waitForFences will block and wait until the condition is
-- satisfied or the timeout has expired, whichever is sooner.
--
-- If timeout is zero, then waitForFences does not wait,
-- but simply returns the current state of the fences. TIMEOUT
-- will be returned in this case if the condition is not satisfied, even
-- though no actual wait was performed.
--
-- If the condition is satisfied before the timeout has expired,
-- waitForFences returns SUCCESS. Otherwise,
-- waitForFences returns TIMEOUT after the timeout
-- has expired.
--
-- If device loss occurs (see Lost Device) before the timeout has
-- expired, waitForFences must return in finite time with
-- either SUCCESS or ERROR_DEVICE_LOST.
--
-- Note
--
-- While we guarantee that waitForFences must return in
-- finite time, no guarantees are made that it returns immediately upon
-- device loss. However, the client can reasonably expect that the delay
-- will be on the order of seconds and that calling waitForFences
-- will not result in a permanently (or seemingly permanently) dead
-- process.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pFences must be a valid pointer to an array of
-- fenceCount valid Fence handles
-- - fenceCount must be greater than 0
-- - Each element of pFences must have been created,
-- allocated, or retrieved from device
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, Device, Fence
waitForFences :: forall io. MonadIO io => Device -> ("fences" ::: Vector Fence) -> ("waitAll" ::: Bool) -> ("timeout" ::: Word64) -> io Result
-- | A variant of waitForFences which makes a *safe* FFI call
waitForFencesSafe :: forall io. MonadIO io => Device -> ("fences" ::: Vector Fence) -> ("waitAll" ::: Bool) -> ("timeout" ::: Word64) -> io Result
-- | VkFenceCreateInfo - Structure specifying parameters of a newly created
-- fence
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FenceCreateFlags, StructureType,
-- createFence
data FenceCreateInfo (es :: [Type])
FenceCreateInfo :: Chain es -> FenceCreateFlags -> FenceCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:FenceCreateInfo] :: FenceCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of FenceCreateFlagBits specifying
-- the initial state and behavior of the fence.
[$sel:flags:FenceCreateInfo] :: FenceCreateInfo (es :: [Type]) -> FenceCreateFlags
-- | VkFence - Opaque handle to a fence object
--
-- See Also
--
-- VK_VERSION_1_0, AcquireNextImageInfoKHR,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- acquireNextImageKHR, createFence, destroyFence,
-- getFenceStatus, queueBindSparse, queueSubmit,
-- queueSubmit2KHR, registerDeviceEventEXT,
-- registerDisplayEventEXT, resetFences,
-- waitForFences
newtype Fence
Fence :: Word64 -> Fence
-- | VkFenceCreateFlagBits - Bitmask specifying initial state and behavior
-- of a fence
--
-- See Also
--
-- VK_VERSION_1_0, FenceCreateFlags
newtype FenceCreateFlagBits
FenceCreateFlagBits :: Flags -> FenceCreateFlagBits
-- | FENCE_CREATE_SIGNALED_BIT specifies that the fence object is
-- created in the signaled state. Otherwise, it is created in the
-- unsignaled state.
pattern FENCE_CREATE_SIGNALED_BIT :: FenceCreateFlagBits
type FenceCreateFlags = FenceCreateFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Fence.FenceCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Fence.FenceCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Fence.FenceCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Fence.FenceCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Fence.FenceCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Fence.FenceCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Fence.FenceCreateInfo es)
module Vulkan.Core10.DeviceInitialization
-- | 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
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Instance,
-- InstanceCreateInfo
createInstance :: forall a io. (Extendss InstanceCreateInfo a, PokeChain a, MonadIO io) => InstanceCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Instance
-- | 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.
withInstance :: forall a io r. (Extendss InstanceCreateInfo a, PokeChain a, MonadIO io) => InstanceCreateInfo a -> Maybe AllocationCallbacks -> (io Instance -> (Instance -> io ()) -> r) -> r
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks, Instance
destroyInstance :: forall io. MonadIO io => Instance -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | 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, and 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
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Instance, PhysicalDevice
enumeratePhysicalDevices :: forall io. MonadIO io => Instance -> io (Result, "physicalDevices" ::: Vector PhysicalDevice)
-- | vkGetDeviceProcAddr - Return a function pointer for a command
--
-- Parameters
--
-- The table below defines the various use cases for
-- getDeviceProcAddr and expected return value (“fp” is “function
-- pointer”) for each case. A valid returned function pointer (“fp”)
-- must not be NULL.
--
-- 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.
--
-- TODO: table
--
-- 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, VK_VERSION_1_0, Device
getDeviceProcAddr :: forall io. MonadIO io => Device -> ("name" ::: ByteString) -> 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. A valid returned function pointer
-- (“fp”) must not be NULL.
--
-- The returned function pointer is of type PFN_vkVoidFunction,
-- and must be cast to the type of the command being queried
-- before use.
--
-- TODO: table
--
-- getInstanceProcAddr behavior
--
--
-- - 1 "*" means any representable value for the parameter
-- (including valid values, invalid values, and NULL).
-- - 2 The global commands are: enumerateInstanceVersion,
-- enumerateInstanceExtensionProperties,
-- enumerateInstanceLayerProperties, and createInstance.
-- Dispatchable commands are all other commands which are not
-- global.
-- - 3 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.
-- - 4 An “available device extension” is a device extension
-- supported by any physical device enumerated by instance.
-- - 5 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, VK_VERSION_1_0, Instance
getInstanceProcAddr :: forall io. MonadIO io => Instance -> ("name" ::: ByteString) -> io PFN_vkVoidFunction
-- | vkGetPhysicalDeviceProperties - Returns properties of a physical
-- device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, PhysicalDevice,
-- PhysicalDeviceProperties
getPhysicalDeviceProperties :: forall io. MonadIO io => PhysicalDevice -> io PhysicalDeviceProperties
-- | 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
--
-- VK_VERSION_1_0, PhysicalDevice,
-- QueueFamilyProperties
getPhysicalDeviceQueueFamilyProperties :: forall io. MonadIO io => PhysicalDevice -> io ("queueFamilyProperties" ::: Vector QueueFamilyProperties)
-- | vkGetPhysicalDeviceMemoryProperties - Reports memory information for
-- the specified physical device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, PhysicalDevice,
-- PhysicalDeviceMemoryProperties
getPhysicalDeviceMemoryProperties :: forall io. MonadIO io => PhysicalDevice -> io PhysicalDeviceMemoryProperties
-- | vkGetPhysicalDeviceFeatures - Reports capabilities of a physical
-- device
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, PhysicalDevice,
-- PhysicalDeviceFeatures
getPhysicalDeviceFeatures :: forall io. MonadIO io => PhysicalDevice -> io PhysicalDeviceFeatures
-- | vkGetPhysicalDeviceFormatProperties - Lists physical device’s format
-- capabilities
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, Format, FormatProperties,
-- PhysicalDevice
getPhysicalDeviceFormatProperties :: forall io. MonadIO io => PhysicalDevice -> Format -> io FormatProperties
-- | 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
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Format, ImageCreateFlags,
-- ImageFormatProperties, ImageTiling, ImageType,
-- ImageUsageFlags, PhysicalDevice
getPhysicalDeviceImageFormatProperties :: forall io. MonadIO io => PhysicalDevice -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> io ImageFormatProperties
-- | 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.
--
-- Note
--
-- The encoding of driverVersion is implementation-defined. It
-- may not use the same encoding as apiVersion.
-- Applications should follow information from the vendor on how
-- to extract the version information from driverVersion.
--
-- 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
--
-- VK_VERSION_1_0, PhysicalDeviceLimits,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceSparseProperties, PhysicalDeviceType,
-- getPhysicalDeviceProperties
data PhysicalDeviceProperties
PhysicalDeviceProperties :: Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceType -> ByteString -> ByteString -> PhysicalDeviceLimits -> PhysicalDeviceSparseProperties -> PhysicalDeviceProperties
-- | apiVersion is the version of Vulkan supported by the device,
-- encoded as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-coreversions-versionnumbers.
[$sel:apiVersion:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> Word32
-- | driverVersion is the vendor-specified version of the driver.
[$sel:driverVersion:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> Word32
-- | vendorID is a unique identifier for the vendor (see
-- below) of the physical device.
[$sel:vendorID:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> Word32
-- | deviceID is a unique identifier for the physical device among
-- devices available from the vendor.
[$sel:deviceID:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> Word32
-- | deviceType is a PhysicalDeviceType specifying the type
-- of device.
[$sel:deviceType:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> PhysicalDeviceType
-- | deviceName is an array of
-- MAX_PHYSICAL_DEVICE_NAME_SIZE char containing a
-- null-terminated UTF-8 string which is the name of the device.
[$sel:deviceName:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> ByteString
-- | pipelineCacheUUID is an array of UUID_SIZE
-- uint8_t values representing a universally unique identifier
-- for the device.
[$sel:pipelineCacheUUID:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> ByteString
-- | limits is the PhysicalDeviceLimits structure
-- specifying device-specific limits of the physical device. See
-- Limits for details.
[$sel:limits:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> PhysicalDeviceLimits
-- | sparseProperties is the PhysicalDeviceSparseProperties
-- structure specifying various sparse related properties of the physical
-- device. See Sparse Properties for details.
[$sel:sparseProperties:PhysicalDeviceProperties] :: PhysicalDeviceProperties -> PhysicalDeviceSparseProperties
-- | VkApplicationInfo - Structure specifying application information
--
-- 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
-- “Architecture of the Vulkan Loader Interfaces” 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_API_VERSION(0,1,0,0).
--
-- Valid Usage
--
--
-- - If apiVersion is not 0, then it must be
-- greater than 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
--
-- VK_VERSION_1_0, InstanceCreateInfo, StructureType
data ApplicationInfo
ApplicationInfo :: Maybe ByteString -> Word32 -> Maybe ByteString -> Word32 -> Word32 -> ApplicationInfo
-- | pApplicationName is NULL or is a pointer to a
-- null-terminated UTF-8 string containing the name of the application.
[$sel:applicationName:ApplicationInfo] :: ApplicationInfo -> Maybe ByteString
-- | applicationVersion is an unsigned integer variable containing
-- the developer-supplied version number of the application.
[$sel:applicationVersion:ApplicationInfo] :: ApplicationInfo -> Word32
-- | pEngineName is NULL or is a pointer to a
-- null-terminated UTF-8 string containing the name of the engine (if
-- any) used to create the application.
[$sel:engineName:ApplicationInfo] :: ApplicationInfo -> Maybe ByteString
-- | engineVersion is an unsigned integer variable containing the
-- developer-supplied version number of the engine used to create the
-- application.
[$sel:engineVersion:ApplicationInfo] :: ApplicationInfo -> Word32
-- | apiVersion must be the highest version of Vulkan that
-- the application is designed to use, encoded as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-coreversions-versionnumbers.
-- The patch version number specified in apiVersion is ignored
-- when creating an instance object. Only the major and minor versions of
-- the instance must match those requested in apiVersion.
[$sel:apiVersion:ApplicationInfo] :: ApplicationInfo -> Word32
-- | VkInstanceCreateInfo - Structure specifying parameters of a newly
-- created instance
--
-- Description
--
-- To capture events that occur while creating or destroying an instance,
-- an application can link a DebugReportCallbackCreateInfoEXT
-- structure or a DebugUtilsMessengerCreateInfoEXT structure to
-- the pNext element of the InstanceCreateInfo structure
-- given to createInstance. This callback is only valid for the
-- duration of the createInstance and the destroyInstance
-- call. Use createDebugReportCallbackEXT or
-- createDebugUtilsMessengerEXT to create persistent callback
-- objects.
--
-- Valid Usage
--
--
--
--
--
-- 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
--
-- VK_VERSION_1_0, ApplicationInfo,
-- InstanceCreateFlags, StructureType,
-- createInstance
data InstanceCreateInfo (es :: [Type])
InstanceCreateInfo :: Chain es -> InstanceCreateFlags -> Maybe ApplicationInfo -> Vector ByteString -> Vector ByteString -> InstanceCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:InstanceCreateInfo] :: InstanceCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:InstanceCreateInfo] :: InstanceCreateInfo (es :: [Type]) -> InstanceCreateFlags
-- | pApplicationInfo is NULL or a pointer to a
-- ApplicationInfo structure. If not NULL, this
-- information helps implementations recognize behavior inherent to
-- classes of applications. ApplicationInfo is defined in detail
-- below.
[$sel:applicationInfo:InstanceCreateInfo] :: InstanceCreateInfo (es :: [Type]) -> Maybe ApplicationInfo
-- | ppEnabledLayerNames is a pointer to an array of
-- enabledLayerCount null-terminated UTF-8 strings containing
-- the names of layers to enable for the created instance. The layers are
-- loaded in the order they are listed in this array, with the first
-- array element being the closest to the application, and the last array
-- element being the closest to the driver. See the
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-layers
-- section for further details.
[$sel:enabledLayerNames:InstanceCreateInfo] :: InstanceCreateInfo (es :: [Type]) -> Vector ByteString
-- | ppEnabledExtensionNames is a pointer to an array of
-- enabledExtensionCount null-terminated UTF-8 strings
-- containing the names of extensions to enable.
[$sel:enabledExtensionNames:InstanceCreateInfo] :: InstanceCreateInfo (es :: [Type]) -> Vector ByteString
-- | 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) specifies 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
--
-- VK_VERSION_1_0, Extent3D, QueueFamilyProperties2,
-- QueueFlags, getPhysicalDeviceQueueFamilyProperties
data QueueFamilyProperties
QueueFamilyProperties :: QueueFlags -> Word32 -> Word32 -> Extent3D -> QueueFamilyProperties
-- | queueFlags is a bitmask of QueueFlagBits indicating
-- capabilities of the queues in this queue family.
[$sel:queueFlags:QueueFamilyProperties] :: QueueFamilyProperties -> QueueFlags
-- | queueCount is the unsigned integer count of queues in this
-- queue family. Each queue family must support at least one
-- queue.
[$sel:queueCount:QueueFamilyProperties] :: QueueFamilyProperties -> Word32
-- | timestampValidBits is the unsigned integer count of
-- meaningful bits in the timestamps written via
-- cmdWriteTimestamp2KHR or 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.
[$sel:timestampValidBits:QueueFamilyProperties] :: QueueFamilyProperties -> Word32
-- | minImageTransferGranularity is the minimum granularity
-- supported for image transfer operations on the queues in this queue
-- family.
[$sel:minImageTransferGranularity:QueueFamilyProperties] :: QueueFamilyProperties -> Extent3D
-- | 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
--
-- VK_VERSION_1_0, MemoryHeap, MemoryType,
-- PhysicalDeviceMemoryProperties2,
-- getPhysicalDeviceMemoryProperties
data PhysicalDeviceMemoryProperties
PhysicalDeviceMemoryProperties :: Word32 -> Vector MemoryType -> Word32 -> Vector MemoryHeap -> PhysicalDeviceMemoryProperties
-- | memoryTypeCount is the number of valid elements in the
-- memoryTypes array.
[$sel:memoryTypeCount:PhysicalDeviceMemoryProperties] :: PhysicalDeviceMemoryProperties -> Word32
-- | memoryTypes is an array of MAX_MEMORY_TYPES
-- MemoryType structures describing the memory types that
-- can be used to access memory allocated from the heaps specified
-- by memoryHeaps.
[$sel:memoryTypes:PhysicalDeviceMemoryProperties] :: PhysicalDeviceMemoryProperties -> Vector MemoryType
-- | memoryHeapCount is the number of valid elements in the
-- memoryHeaps array.
[$sel:memoryHeapCount:PhysicalDeviceMemoryProperties] :: PhysicalDeviceMemoryProperties -> Word32
-- | memoryHeaps is an array of MAX_MEMORY_HEAPS
-- MemoryHeap structures describing the memory heaps from
-- which memory can be allocated.
[$sel:memoryHeaps:PhysicalDeviceMemoryProperties] :: PhysicalDeviceMemoryProperties -> Vector MemoryHeap
-- | VkMemoryType - Structure specifying memory type
--
-- See Also
--
-- VK_VERSION_1_0, MemoryPropertyFlags,
-- PhysicalDeviceMemoryProperties
data MemoryType
MemoryType :: MemoryPropertyFlags -> Word32 -> MemoryType
-- | propertyFlags is a bitmask of MemoryPropertyFlagBits
-- of properties for this memory type.
[$sel:propertyFlags:MemoryType] :: MemoryType -> MemoryPropertyFlags
-- | heapIndex describes which memory heap this memory type
-- corresponds to, and must be less than memoryHeapCount
-- from the PhysicalDeviceMemoryProperties structure.
[$sel:heapIndex:MemoryType] :: MemoryType -> Word32
-- | VkMemoryHeap - Structure specifying a memory heap
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize, MemoryHeapFlags,
-- PhysicalDeviceMemoryProperties
data MemoryHeap
MemoryHeap :: DeviceSize -> MemoryHeapFlags -> MemoryHeap
-- | size is the total memory size in bytes in the heap.
[$sel:size:MemoryHeap] :: MemoryHeap -> DeviceSize
-- | flags is a bitmask of MemoryHeapFlagBits specifying
-- attribute flags for the heap.
[$sel:flags:MemoryHeap] :: MemoryHeap -> MemoryHeapFlags
-- | 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
--
-- VK_VERSION_1_0, FormatFeatureFlags,
-- FormatProperties2, getPhysicalDeviceFormatProperties
data FormatProperties
FormatProperties :: FormatFeatureFlags -> FormatFeatureFlags -> FormatFeatureFlags -> FormatProperties
-- | linearTilingFeatures is a bitmask of
-- FormatFeatureFlagBits specifying features supported by images
-- created with a tiling parameter of
-- IMAGE_TILING_LINEAR.
[$sel:linearTilingFeatures:FormatProperties] :: FormatProperties -> FormatFeatureFlags
-- | optimalTilingFeatures is a bitmask of
-- FormatFeatureFlagBits specifying features supported by images
-- created with a tiling parameter of
-- IMAGE_TILING_OPTIMAL.
[$sel:optimalTilingFeatures:FormatProperties] :: FormatProperties -> FormatFeatureFlags
-- | bufferFeatures is a bitmask of FormatFeatureFlagBits
-- specifying features supported by buffers.
[$sel:bufferFeatures:FormatProperties] :: FormatProperties -> FormatFeatureFlags
-- | 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.
--
--
--
-- - maxMipLevels is the maximum number of mipmap levels.
-- maxMipLevels must be equal to the number of levels in
-- the complete mipmap chain based on the maxExtent.width,
-- maxExtent.height, and maxExtent.depth, except when
-- one of the following conditions is true, in which case it may
-- instead be
-- 1:
-- - maxArrayLayers is the maximum number of array layers.
-- maxArrayLayers must be no less than
-- PhysicalDeviceLimits::maxImageArrayLayers, except when
-- one of the following conditions is true, in which case it may
-- instead be 1:
-- - If tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
-- then maxArrayLayers must not be 0.
-- - sampleCounts is a bitmask of SampleCountFlagBits
-- specifying all the supported sample counts for this image as described
-- below.
-- - maxResourceSize is an upper bound on the total image size
-- in bytes, inclusive of all image subresources. Implementations
-- may have an address space limit on total size of a resource,
-- which is advertised by this property. maxResourceSize
-- must be at least 231.
--
--
-- 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
--
-- VK_VERSION_1_0, DeviceSize, Extent3D,
-- ExternalImageFormatPropertiesNV, ImageFormatProperties2,
-- SampleCountFlags, getPhysicalDeviceImageFormatProperties
data ImageFormatProperties
ImageFormatProperties :: Extent3D -> Word32 -> Word32 -> SampleCountFlags -> DeviceSize -> ImageFormatProperties
[$sel:maxExtent:ImageFormatProperties] :: ImageFormatProperties -> Extent3D
[$sel:maxMipLevels:ImageFormatProperties] :: ImageFormatProperties -> Word32
[$sel:maxArrayLayers:ImageFormatProperties] :: ImageFormatProperties -> Word32
[$sel:sampleCounts:ImageFormatProperties] :: ImageFormatProperties -> SampleCountFlags
[$sel:maxResourceSize:ImageFormatProperties] :: ImageFormatProperties -> DeviceSize
-- | VkPhysicalDeviceFeatures - Structure describing the fine-grained
-- features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, DeviceCreateInfo,
-- PhysicalDeviceFeatures2, getPhysicalDeviceFeatures
data PhysicalDeviceFeatures
PhysicalDeviceFeatures :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceFeatures
-- | robustBufferAccess specifies that accesses to buffers are
-- bounds-checked against the range of the buffer descriptor (as
-- determined by DescriptorBufferInfo::range,
-- BufferViewCreateInfo::range, or the size of the
-- buffer). Out of bounds accesses must not cause application
-- termination, and the effects of shader loads, stores, and atomics
-- must conform to an implementation-dependent behavior as
-- described below.
--
--
-- - A buffer access is considered to be out of bounds if any of the
-- following are true:
- The pointer was formed by
-- OpImageTexelPointer and the coordinate is less than zero or
-- greater than or equal to the number of whole elements in the bound
-- range.
- The pointer was not formed by
-- OpImageTexelPointer and the object pointed to is not wholly
-- contained within the bound range. This includes accesses performed via
-- variable pointers where the buffer descriptor being accessed
-- cannot be statically determined. Uninitialized pointers and pointers
-- equal to OpConstantNull are treated as pointing to a
-- zero-sized object, so all accesses through such pointers are
-- considered to be out of bounds. Buffer accesses through buffer device
-- addresses are not bounds-checked. If the
-- cooperativeMatrixRobustBufferAccess feature is not enabled,
-- then accesses using OpCooperativeMatrixLoadNV and
-- OpCooperativeMatrixStoreNV may not be
-- bounds-checked.NoteIf a SPIR-V OpLoad instruction loads a
-- structure and the tail end of the structure is out of bounds, then all
-- members of the structure are considered out of bounds even if the
-- members at the end are not statically used.
- If
-- robustBufferAccess2 is not enabled and any buffer access is
-- determined to be out of bounds, then any other access of the same type
-- (load, store, or atomic) to the same buffer that accesses an address
-- less than 16 bytes away from the out of bounds address may also
-- be considered out of bounds.
- If the access is a load that
-- reads from the same memory locations as a prior store in the same
-- shader invocation, with no other intervening accesses to the same
-- memory locations in that shader invocation, then the result of the
-- load may be the value stored by the store instruction, even if
-- the access is out of bounds. If the load is Volatile, then an
-- out of bounds load must return the appropriate out of bounds
-- value.
-- - Accesses to descriptors written with a NULL_HANDLE resource
-- or view are not considered to be out of bounds. Instead, each type of
-- descriptor access defines a specific behavior for accesses to a null
-- descriptor.
-- - Out-of-bounds buffer loads will return any of the following
-- values:
- If the access is to a uniform buffer and
-- robustBufferAccess2 is enabled, loads of offsets between the
-- end of the descriptor range and the end of the descriptor range
-- rounded up to a multiple of
-- robustUniformBufferAccessSizeAlignment bytes must return
-- either zero values or the contents of the memory at the offset being
-- loaded. Loads of offsets past the descriptor range rounded up to a
-- multiple of robustUniformBufferAccessSizeAlignment bytes
-- must return zero values.
- If the access is to a storage
-- buffer and robustBufferAccess2 is enabled, loads of offsets
-- between the end of the descriptor range and the end of the descriptor
-- range rounded up to a multiple of
-- robustStorageBufferAccessSizeAlignment bytes must return
-- either zero values or the contents of the memory at the offset being
-- loaded. Loads of offsets past the descriptor range rounded up to a
-- multiple of robustStorageBufferAccessSizeAlignment bytes
-- must return zero values. Similarly, stores to addresses between
-- the end of the descriptor range and the end of the descriptor range
-- rounded up to a multiple of
-- robustStorageBufferAccessSizeAlignment bytes may be
-- discarded.
- Non-atomic accesses to storage buffers that are a
-- multiple of 32 bits may be decomposed into 32-bit accesses that
-- are individually bounds-checked.
- If the access is to an index
-- buffer and robustBufferAccess2 is enabled, zero values
-- must be returned.
- If the access is to a uniform texel
-- buffer or storage texel buffer and robustBufferAccess2 is
-- enabled, zero values must be returned, and then Conversion
-- to RGBA is applied based on the buffer view’s
-- format.
- Values from anywhere within the memory range(s) bound
-- to the buffer (possibly including bytes of memory past the end of the
-- buffer, up to the end of the bound range).
- Zero values, or
-- (0,0,0,x) vectors for vector reads where x is a valid value
-- represented in the type of the vector components and may be any
-- of:
- 0, 1, or the maximum representable positive integer value,
-- for signed or unsigned integer components
- 0.0 or 1.0, for
-- floating-point components
-- - Out-of-bounds writes may modify values within the memory
-- range(s) bound to the buffer, but must not modify any other
-- memory.
-- - Out-of-bounds atomics may modify values within the memory
-- range(s) bound to the buffer, but must not modify any other
-- memory, and return an undefined value.
- If
-- robustBufferAccess2 is enabled, out of bounds atomics
-- must not modify any memory, and return an undefined
-- value.
-- - If robustBufferAccess2 is disabled, vertex input attributes
-- are considered out of bounds if the offset of the attribute in the
-- bound vertex buffer range plus the size of the attribute is greater
-- than either:
- vertexBufferRangeSize, if
-- bindingStride == 0;
-- or
- (vertexBufferRangeSize -
-- (vertexBufferRangeSize %
-- bindingStride))
where vertexBufferRangeSize
-- is the byte size of the memory range bound to the vertex buffer
-- binding and bindingStride is the byte stride of the
-- corresponding vertex input binding. Further, if any vertex input
-- attribute using a specific vertex input binding is out of bounds, then
-- all vertex input attributes using that vertex input binding for that
-- vertex shader invocation are considered out of bounds.- If a
-- vertex input attribute is out of bounds, it will be assigned one of
-- the following values:
- Values from anywhere within the memory
-- range(s) bound to the buffer, converted according to the format of the
-- attribute.
- Zero values, format converted according to the
-- format of the attribute.
- Zero values, or (0,0,0,x) vectors, as
-- described above.
-- - If robustBufferAccess2 is enabled, vertex input attributes
-- are considered out of bounds if the offset of the attribute in the
-- bound vertex buffer range plus the size of the attribute is greater
-- than the byte size of the memory range bound to the vertex buffer
-- binding.
- If a vertex input attribute is out of bounds, the
-- raw data extracted are zero values, and missing G, B, or A
-- components are filled with (0,0,1).
-- - If robustBufferAccess is not enabled, applications
-- must not perform out of bounds accesses.
--
[$sel:robustBufferAccess:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | fullDrawIndexUint32 specifies the full 32-bit range of
-- indices is supported for indexed draw calls when using a
-- IndexType of INDEX_TYPE_UINT32.
-- maxDrawIndexedIndexValue is the maximum index value that
-- may be used (aside from the primitive restart index, which is
-- always 232-1 when the IndexType is INDEX_TYPE_UINT32).
-- If this feature is supported, maxDrawIndexedIndexValue
-- must be 232-1; otherwise it must be no smaller than
-- 224-1. See maxDrawIndexedIndexValue.
[$sel:fullDrawIndexUint32:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | imageCubeArray specifies whether image views with a
-- ImageViewType of IMAGE_VIEW_TYPE_CUBE_ARRAY can
-- be created, and that the corresponding SampledCubeArray and
-- ImageCubeArray SPIR-V capabilities can be used in
-- shader code.
[$sel:imageCubeArray:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | independentBlend specifies whether the
-- PipelineColorBlendAttachmentState settings are controlled
-- independently per-attachment. If this feature is not enabled, the
-- PipelineColorBlendAttachmentState settings for all color
-- attachments must be identical. Otherwise, a different
-- PipelineColorBlendAttachmentState can be provided for
-- each bound color attachment.
[$sel:independentBlend:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | geometryShader specifies whether geometry shaders are
-- supported. If this feature is not enabled, the
-- SHADER_STAGE_GEOMETRY_BIT and
-- PIPELINE_STAGE_GEOMETRY_SHADER_BIT enum values must not
-- be used. This also specifies whether shader modules can declare
-- the Geometry capability.
[$sel:geometryShader:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | tessellationShader specifies whether tessellation control and
-- evaluation shaders are supported. If this feature is not enabled, the
-- SHADER_STAGE_TESSELLATION_CONTROL_BIT,
-- SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, and
-- STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO enum
-- values must not be used. This also specifies whether shader
-- modules can declare the Tessellation capability.
[$sel:tessellationShader:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sampleRateShading specifies whether Sample Shading and
-- multisample interpolation are supported. If this feature is not
-- enabled, the sampleShadingEnable member of the
-- PipelineMultisampleStateCreateInfo structure must be set
-- to FALSE and the minSampleShading member is ignored.
-- This also specifies whether shader modules can declare the
-- SampleRateShading capability.
[$sel:sampleRateShading:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | dualSrcBlend specifies whether blend operations which take
-- two sources are supported. If this feature is not enabled, the
-- BLEND_FACTOR_SRC1_COLOR,
-- BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
-- BLEND_FACTOR_SRC1_ALPHA, and
-- BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA enum values must not
-- be used as source or destination blending factors. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-dsb.
[$sel:dualSrcBlend:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | logicOp specifies whether logic operations are supported. If
-- this feature is not enabled, the logicOpEnable member of the
-- PipelineColorBlendStateCreateInfo structure must be set
-- to FALSE, and the logicOp member is ignored.
[$sel:logicOp:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | multiDrawIndirect specifies whether multiple draw indirect is
-- supported. If this feature is not enabled, the drawCount
-- parameter to the cmdDrawIndirect and
-- cmdDrawIndexedIndirect commands must be 0 or 1. The
-- maxDrawIndirectCount member of the
-- PhysicalDeviceLimits structure must also be 1 if this
-- feature is not supported. See maxDrawIndirectCount.
[$sel:multiDrawIndirect:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | drawIndirectFirstInstance specifies whether indirect drawing
-- calls support the firstInstance parameter. If this feature is
-- not enabled, the firstInstance member of all
-- DrawIndirectCommand and DrawIndexedIndirectCommand
-- structures that are provided to the cmdDrawIndirect and
-- cmdDrawIndexedIndirect commands must be 0.
[$sel:drawIndirectFirstInstance:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | depthClamp specifies whether depth clamping is supported. If
-- this feature is not enabled, the depthClampEnable member of
-- the PipelineRasterizationStateCreateInfo structure must
-- be set to FALSE. Otherwise, setting depthClampEnable
-- to TRUE will enable depth clamping.
[$sel:depthClamp:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | depthBiasClamp specifies whether depth bias clamping is
-- supported. If this feature is not enabled, the depthBiasClamp
-- member of the PipelineRasterizationStateCreateInfo structure
-- must be set to 0.0 unless the DYNAMIC_STATE_DEPTH_BIAS
-- dynamic state is enabled, and the depthBiasClamp parameter to
-- cmdSetDepthBias must be set to 0.0.
[$sel:depthBiasClamp:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | fillModeNonSolid specifies whether point and wireframe fill
-- modes are supported. If this feature is not enabled, the
-- POLYGON_MODE_POINT and POLYGON_MODE_LINE enum values
-- must not be used.
[$sel:fillModeNonSolid:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | depthBounds specifies whether depth bounds tests are
-- supported. If this feature is not enabled, the
-- depthBoundsTestEnable member of the
-- PipelineDepthStencilStateCreateInfo structure must be
-- set to FALSE. When depthBoundsTestEnable is set to
-- FALSE, the minDepthBounds and maxDepthBounds
-- members of the PipelineDepthStencilStateCreateInfo structure
-- are ignored.
[$sel:depthBounds:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | wideLines specifies whether lines with width other than 1.0
-- are supported. If this feature is not enabled, the lineWidth
-- member of the PipelineRasterizationStateCreateInfo structure
-- must be set to 1.0 unless the DYNAMIC_STATE_LINE_WIDTH
-- dynamic state is enabled, and the lineWidth parameter to
-- cmdSetLineWidth must be set to 1.0. When this feature is
-- supported, the range and granularity of supported line widths are
-- indicated by the lineWidthRange and
-- lineWidthGranularity members of the
-- PhysicalDeviceLimits structure, respectively.
[$sel:wideLines:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | largePoints specifies whether points with size greater than
-- 1.0 are supported. If this feature is not enabled, only a point size
-- of 1.0 written by a shader is supported. The range and granularity of
-- supported point sizes are indicated by the pointSizeRange and
-- pointSizeGranularity members of the
-- PhysicalDeviceLimits structure, respectively.
[$sel:largePoints:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | alphaToOne specifies whether the implementation is able to
-- replace the alpha value of the fragment shader color output in the
-- Multisample Coverage fragment operation. If this feature is not
-- enabled, then the alphaToOneEnable member of the
-- PipelineMultisampleStateCreateInfo structure must be set
-- to FALSE. Otherwise setting alphaToOneEnable to
-- TRUE will enable alpha-to-one behavior.
[$sel:alphaToOne:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | multiViewport specifies whether more than one viewport is
-- supported. If this feature is not enabled:
--
--
[$sel:multiViewport:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | samplerAnisotropy specifies whether anisotropic filtering is
-- supported. If this feature is not enabled, the
-- anisotropyEnable member of the SamplerCreateInfo
-- structure must be FALSE.
[$sel:samplerAnisotropy:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | textureCompressionETC2 specifies whether all of the ETC2 and
-- EAC compressed texture formats are supported. If this feature is
-- enabled, then the FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
-- FORMAT_FEATURE_BLIT_SRC_BIT and
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT features
-- must be supported in optimalTilingFeatures for the
-- following formats:
--
--
--
-- To query for additional properties, or if the feature is not enabled,
-- getPhysicalDeviceFormatProperties and
-- getPhysicalDeviceImageFormatProperties can be used to
-- check for supported properties of individual formats as normal.
[$sel:textureCompressionETC2:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | textureCompressionASTC_LDR specifies whether all of the ASTC
-- LDR compressed texture formats are supported. If this feature is
-- enabled, then the FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
-- FORMAT_FEATURE_BLIT_SRC_BIT and
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT features
-- must be supported in optimalTilingFeatures for the
-- following formats:
--
--
--
-- To query for additional properties, or if the feature is not enabled,
-- getPhysicalDeviceFormatProperties and
-- getPhysicalDeviceImageFormatProperties can be used to
-- check for supported properties of individual formats as normal.
[$sel:textureCompressionASTC_LDR:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | textureCompressionBC specifies whether all of the BC
-- compressed texture formats are supported. If this feature is enabled,
-- then the FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
-- FORMAT_FEATURE_BLIT_SRC_BIT and
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT features
-- must be supported in optimalTilingFeatures for the
-- following formats:
--
--
--
-- To query for additional properties, or if the feature is not enabled,
-- getPhysicalDeviceFormatProperties and
-- getPhysicalDeviceImageFormatProperties can be used to
-- check for supported properties of individual formats as normal.
[$sel:textureCompressionBC:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | occlusionQueryPrecise specifies whether occlusion queries
-- returning actual sample counts are supported. Occlusion queries are
-- created in a QueryPool by specifying the queryType of
-- QUERY_TYPE_OCCLUSION in the QueryPoolCreateInfo
-- structure which is passed to createQueryPool. If this feature
-- is enabled, queries of this type can enable
-- QUERY_CONTROL_PRECISE_BIT in the flags parameter to
-- cmdBeginQuery. If this feature is not supported, the
-- implementation supports only boolean occlusion queries. When any
-- samples are passed, boolean queries will return a non-zero result
-- value, otherwise a result value of zero is returned. When this feature
-- is enabled and QUERY_CONTROL_PRECISE_BIT is set, occlusion
-- queries will report the actual number of samples passed.
[$sel:occlusionQueryPrecise:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | pipelineStatisticsQuery specifies whether the pipeline
-- statistics queries are supported. If this feature is not enabled,
-- queries of type QUERY_TYPE_PIPELINE_STATISTICS cannot be
-- created, and none of the QueryPipelineStatisticFlagBits bits
-- can be set in the pipelineStatistics member of the
-- QueryPoolCreateInfo structure.
[$sel:pipelineStatisticsQuery:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | vertexPipelineStoresAndAtomics specifies whether storage
-- buffers and images support stores and atomic operations in the vertex,
-- tessellation, and geometry shader stages. If this feature is not
-- enabled, all storage image, storage texel buffer, and storage buffer
-- variables used by these stages in shader modules must be
-- decorated with the NonWritable decoration (or the
-- readonly memory qualifier in GLSL).
[$sel:vertexPipelineStoresAndAtomics:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | fragmentStoresAndAtomics specifies whether storage buffers
-- and images support stores and atomic operations in the fragment shader
-- stage. If this feature is not enabled, all storage image, storage
-- texel buffer, and storage buffer variables used by the fragment stage
-- in shader modules must be decorated with the
-- NonWritable decoration (or the readonly memory
-- qualifier in GLSL).
[$sel:fragmentStoresAndAtomics:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderTessellationAndGeometryPointSize specifies whether the
-- PointSize built-in decoration is available in the
-- tessellation control, tessellation evaluation, and geometry shader
-- stages. If this feature is not enabled, members decorated with the
-- PointSize built-in decoration must not be read from or
-- written to and all points written from a tessellation or geometry
-- shader will have a size of 1.0. This also specifies whether shader
-- modules can declare the TessellationPointSize
-- capability for tessellation control and evaluation shaders, or if the
-- shader modules can declare the GeometryPointSize
-- capability for geometry shaders. An implementation supporting this
-- feature must also support one or both of the
-- tessellationShader or geometryShader features.
[$sel:shaderTessellationAndGeometryPointSize:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderImageGatherExtended specifies whether the extended set
-- of image gather instructions are available in shader code. If this
-- feature is not enabled, the OpImage*Gather instructions do
-- not support the Offset and ConstOffsets operands.
-- This also specifies whether shader modules can declare the
-- ImageGatherExtended capability.
[$sel:shaderImageGatherExtended:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageImageExtendedFormats specifies whether all the
-- “storage image extended formats” below are supported; if this feature
-- is supported, then the FORMAT_FEATURE_STORAGE_IMAGE_BIT
-- must be supported in optimalTilingFeatures for the
-- following formats:
--
--
--
-- Note
--
-- shaderStorageImageExtendedFormats feature only adds a
-- guarantee of format support, which is specified for the whole physical
-- device. Therefore enabling or disabling the feature via
-- createDevice has no practical effect.
--
-- To query for additional properties, or if the feature is not
-- supported, getPhysicalDeviceFormatProperties and
-- getPhysicalDeviceImageFormatProperties can be used to
-- check for supported properties of individual formats, as usual rules
-- allow.
--
-- FORMAT_R32G32_UINT, FORMAT_R32G32_SINT, and
-- FORMAT_R32G32_SFLOAT from StorageImageExtendedFormats
-- SPIR-V capability, are already covered by core Vulkan mandatory
-- format support.
[$sel:shaderStorageImageExtendedFormats:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageImageMultisample specifies whether multisampled
-- storage images are supported. If this feature is not enabled, images
-- that are created with a usage that includes
-- IMAGE_USAGE_STORAGE_BIT must be created with
-- samples equal to SAMPLE_COUNT_1_BIT. This also
-- specifies whether shader modules can declare the
-- StorageImageMultisample and ImageMSArray
-- capabilities.
[$sel:shaderStorageImageMultisample:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageImageReadWithoutFormat specifies whether storage
-- images require a format qualifier to be specified when reading.
-- shaderStorageImageReadWithoutFormat applies only to formats
-- listed in the storage without format list.
[$sel:shaderStorageImageReadWithoutFormat:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageImageWriteWithoutFormat specifies whether
-- storage images require a format qualifier to be specified when
-- writing. shaderStorageImageWriteWithoutFormat applies only to
-- formats listed in the storage without format list.
[$sel:shaderStorageImageWriteWithoutFormat:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderUniformBufferArrayDynamicIndexing specifies whether
-- arrays of uniform buffers can be indexed by dynamically
-- uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also specifies whether shader modules can
-- declare the UniformBufferArrayDynamicIndexing capability.
[$sel:shaderUniformBufferArrayDynamicIndexing:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderSampledImageArrayDynamicIndexing specifies whether
-- arrays of samplers or sampled images can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE must be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also specifies whether shader modules can declare
-- the SampledImageArrayDynamicIndexing capability.
[$sel:shaderSampledImageArrayDynamicIndexing:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageBufferArrayDynamicIndexing specifies whether
-- arrays of storage buffers can be indexed by dynamically uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also specifies whether shader modules can
-- declare the StorageBufferArrayDynamicIndexing capability.
[$sel:shaderStorageBufferArrayDynamicIndexing:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderStorageImageArrayDynamicIndexing specifies whether
-- arrays of storage images can be indexed by dynamically uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE must be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also specifies whether shader modules can declare
-- the StorageImageArrayDynamicIndexing capability.
[$sel:shaderStorageImageArrayDynamicIndexing:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderClipDistance specifies whether clip distances are
-- supported in shader code. If this feature is not enabled, any members
-- decorated with the ClipDistance built-in decoration
-- must not be read from or written to in shader modules. This
-- also specifies whether shader modules can declare the
-- ClipDistance capability.
[$sel:shaderClipDistance:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderCullDistance specifies whether cull distances are
-- supported in shader code. If this feature is not enabled, any members
-- decorated with the CullDistance built-in decoration
-- must not be read from or written to in shader modules. This
-- also specifies whether shader modules can declare the
-- CullDistance capability.
[$sel:shaderCullDistance:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderFloat64 specifies whether 64-bit floats (doubles) are
-- supported in shader code. If this feature is not enabled, 64-bit
-- floating-point types must not be used in shader code. This also
-- specifies whether shader modules can declare the
-- Float64 capability. Declaring and using 64-bit floats is
-- enabled for all storage classes that SPIR-V allows with the
-- Float64 capability.
[$sel:shaderFloat64:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderInt64 specifies whether 64-bit integers (signed and
-- unsigned) are supported in shader code. If this feature is not
-- enabled, 64-bit integer types must not be used in shader code.
-- This also specifies whether shader modules can declare the
-- Int64 capability. Declaring and using 64-bit integers is
-- enabled for all storage classes that SPIR-V allows with the
-- Int64 capability.
[$sel:shaderInt64:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderInt16 specifies whether 16-bit integers (signed and
-- unsigned) are supported in shader code. If this feature is not
-- enabled, 16-bit integer types must not be used in shader code.
-- This also specifies whether shader modules can declare the
-- Int16 capability. However, this only enables a subset of the
-- storage classes that SPIR-V allows for the Int16 SPIR-V
-- capability: Declaring and using 16-bit integers in the
-- Private, Workgroup (for non-Block variables), and
-- Function storage classes is enabled, while declaring them in
-- the interface storage classes (e.g., UniformConstant,
-- Uniform, StorageBuffer, Input,
-- Output, and PushConstant) is not enabled.
[$sel:shaderInt16:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderResourceResidency specifies whether image operations
-- that return resource residency information are supported in shader
-- code. If this feature is not enabled, the OpImageSparse*
-- instructions must not be used in shader code. This also
-- specifies whether shader modules can declare the
-- SparseResidency capability. The feature requires at least one
-- of the sparseResidency* features to be supported.
[$sel:shaderResourceResidency:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | shaderResourceMinLod specifies whether image operations
-- specifying the minimum resource LOD are supported in shader code. If
-- this feature is not enabled, the MinLod image operand
-- must not be used in shader code. This also specifies whether
-- shader modules can declare the MinLod capability.
[$sel:shaderResourceMinLod:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseBinding specifies whether resource memory can be
-- managed at opaque sparse block level instead of at the object level.
-- If this feature is not enabled, resource memory must be bound
-- only on a per-object basis using the bindBufferMemory and
-- bindImageMemory commands. In this case, buffers and images
-- must not be created with
-- BUFFER_CREATE_SPARSE_BINDING_BIT and
-- IMAGE_CREATE_SPARSE_BINDING_BIT set in the flags
-- member of the BufferCreateInfo and ImageCreateInfo
-- structures, respectively. Otherwise resource memory can be
-- managed as described in Sparse Resource Features.
[$sel:sparseBinding:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidencyBuffer specifies whether the device can
-- access partially resident buffers. If this feature is not enabled,
-- buffers must not be created with
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the BufferCreateInfo structure.
[$sel:sparseResidencyBuffer:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidencyImage2D specifies whether the device
-- can access partially resident 2D images with 1 sample per
-- pixel. If this feature is not enabled, images with an
-- imageType of IMAGE_TYPE_2D and samples set to
-- SAMPLE_COUNT_1_BIT must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidencyImage2D:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidencyImage3D specifies whether the device
-- can access partially resident 3D images. If this feature is not
-- enabled, images with an imageType of IMAGE_TYPE_3D
-- must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidencyImage3D:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidency2Samples specifies whether the physical device
-- can access partially resident 2D images with 2 samples per
-- pixel. If this feature is not enabled, images with an
-- imageType of IMAGE_TYPE_2D and samples set to
-- SAMPLE_COUNT_2_BIT must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidency2Samples:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidency4Samples specifies whether the physical device
-- can access partially resident 2D images with 4 samples per
-- pixel. If this feature is not enabled, images with an
-- imageType of IMAGE_TYPE_2D and samples set to
-- SAMPLE_COUNT_4_BIT must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidency4Samples:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidency8Samples specifies whether the physical device
-- can access partially resident 2D images with 8 samples per
-- pixel. If this feature is not enabled, images with an
-- imageType of IMAGE_TYPE_2D and samples set to
-- SAMPLE_COUNT_8_BIT must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidency8Samples:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidency16Samples specifies whether the physical
-- device can access partially resident 2D images with 16 samples
-- per pixel. If this feature is not enabled, images with an
-- imageType of IMAGE_TYPE_2D and samples set to
-- SAMPLE_COUNT_16_BIT must not be created with
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags
-- member of the ImageCreateInfo structure.
[$sel:sparseResidency16Samples:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | sparseResidencyAliased specifies whether the physical device
-- can correctly access data aliased into multiple locations. If
-- this feature is not enabled, the
-- BUFFER_CREATE_SPARSE_ALIASED_BIT and
-- IMAGE_CREATE_SPARSE_ALIASED_BIT enum values must not be
-- used in flags members of the BufferCreateInfo and
-- ImageCreateInfo structures, respectively.
[$sel:sparseResidencyAliased:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | variableMultisampleRate specifies whether all pipelines that
-- will be bound to a command buffer during a subpass which uses no
-- attachments must have the same value for
-- PipelineMultisampleStateCreateInfo::rasterizationSamples.
-- If set to TRUE, the implementation supports variable
-- multisample rates in a subpass which uses no attachments. If set to
-- FALSE, then all pipelines bound in such a subpass must
-- have the same multisample rate. This has no effect in situations where
-- a subpass uses any attachments.
[$sel:variableMultisampleRate:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | inheritedQueries specifies whether a secondary command buffer
-- may be executed while a query is active.
[$sel:inheritedQueries:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool
-- | VkPhysicalDeviceSparseProperties - Structure specifying physical
-- device sparse memory properties
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, PhysicalDeviceProperties
data PhysicalDeviceSparseProperties
PhysicalDeviceSparseProperties :: Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceSparseProperties
-- | 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.
[$sel:residencyStandard2DBlockShape:PhysicalDeviceSparseProperties] :: PhysicalDeviceSparseProperties -> 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.
[$sel:residencyStandard2DMultisampleBlockShape:PhysicalDeviceSparseProperties] :: PhysicalDeviceSparseProperties -> 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.
[$sel:residencyStandard3DBlockShape:PhysicalDeviceSparseProperties] :: PhysicalDeviceSparseProperties -> 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.
[$sel:residencyAlignedMipSize:PhysicalDeviceSparseProperties] :: PhysicalDeviceSparseProperties -> 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 was populated with 0; writes to non-resident regions will be
-- discarded.
[$sel:residencyNonResidentStrict:PhysicalDeviceSparseProperties] :: PhysicalDeviceSparseProperties -> Bool
-- | 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.
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, DeviceSize,
-- PhysicalDeviceProperties, SampleCountFlags
data PhysicalDeviceLimits
PhysicalDeviceLimits :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> DeviceSize -> DeviceSize -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32) -> Word32 -> (Word32, Word32, Word32) -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Float -> Float -> Word32 -> (Word32, Word32) -> (Float, Float) -> Word32 -> Word64 -> DeviceSize -> DeviceSize -> DeviceSize -> Int32 -> Word32 -> Int32 -> Word32 -> Float -> Float -> Word32 -> Word32 -> Word32 -> Word32 -> SampleCountFlags -> SampleCountFlags -> SampleCountFlags -> SampleCountFlags -> Word32 -> SampleCountFlags -> SampleCountFlags -> SampleCountFlags -> SampleCountFlags -> SampleCountFlags -> Word32 -> Bool -> Float -> Word32 -> Word32 -> Word32 -> Word32 -> (Float, Float) -> (Float, Float) -> Float -> Float -> Bool -> Bool -> DeviceSize -> DeviceSize -> DeviceSize -> PhysicalDeviceLimits
-- | maxImageDimension1D is the largest dimension (width)
-- that is guaranteed to be supported for all images created with an
-- imageType of IMAGE_TYPE_1D. Some combinations of image
-- parameters (format, usage, etc.) may allow support for larger
-- dimensions, which can be queried using
-- getPhysicalDeviceImageFormatProperties.
[$sel:maxImageDimension1D:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxImageDimension2D is the largest dimension (width
-- or height) that is guaranteed to be supported for all images
-- created with an imageType of IMAGE_TYPE_2D and without
-- IMAGE_CREATE_CUBE_COMPATIBLE_BIT set in flags. Some
-- combinations of image parameters (format, usage, etc.) may
-- allow support for larger dimensions, which can be queried using
-- getPhysicalDeviceImageFormatProperties.
[$sel:maxImageDimension2D:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxImageDimension3D is the largest dimension (width,
-- height, or depth) that is guaranteed to be supported
-- for all images created with an imageType of
-- IMAGE_TYPE_3D. Some combinations of image parameters (format,
-- usage, etc.) may allow support for larger dimensions, which
-- can be queried using
-- getPhysicalDeviceImageFormatProperties.
[$sel:maxImageDimension3D:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxImageDimensionCube is the largest dimension
-- (width or height) that is guaranteed to be supported
-- for all images created with an imageType of
-- IMAGE_TYPE_2D and with IMAGE_CREATE_CUBE_COMPATIBLE_BIT
-- set in flags. Some combinations of image parameters (format,
-- usage, etc.) may allow support for larger dimensions, which
-- can be queried using
-- getPhysicalDeviceImageFormatProperties.
[$sel:maxImageDimensionCube:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxImageArrayLayers is the maximum number of layers
-- (arrayLayers) for an image.
[$sel:maxImageArrayLayers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTexelBufferElements is the maximum number of addressable
-- texels for a buffer view created on a buffer which was created with
-- the BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or
-- BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT set in the usage
-- member of the BufferCreateInfo structure.
[$sel:maxTexelBufferElements:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxUniformBufferRange is the maximum value that can be
-- specified in the range member of a
-- DescriptorBufferInfo structure passed to
-- updateDescriptorSets for descriptors of type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC.
[$sel:maxUniformBufferRange:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxStorageBufferRange is the maximum value that can be
-- specified in the range member of a
-- DescriptorBufferInfo structure passed to
-- updateDescriptorSets for descriptors of type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC.
[$sel:maxStorageBufferRange:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPushConstantsSize is the maximum size, in bytes, of the
-- pool of push constant memory. For each of the push constant ranges
-- indicated by the pPushConstantRanges member of the
-- PipelineLayoutCreateInfo structure, (offset +
-- size) must be less than or equal to this limit.
[$sel:maxPushConstantsSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxMemoryAllocationCount is the maximum number of device
-- memory allocations, as created by allocateMemory, which
-- can simultaneously exist.
[$sel:maxMemoryAllocationCount:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxSamplerAllocationCount is the maximum number of sampler
-- objects, as created by createSampler, which can
-- simultaneously exist on a device.
[$sel:maxSamplerAllocationCount:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | bufferImageGranularity is the granularity, in bytes, at which
-- buffer or linear image resources, and optimal image resources
-- can be bound to adjacent offsets in the same
-- DeviceMemory object without aliasing. See Buffer-Image
-- Granularity for more details.
[$sel:bufferImageGranularity:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | sparseAddressSpaceSize is the total amount of address space
-- available, in bytes, for sparse memory resources. This is an upper
-- bound on the sum of the sizes of all sparse resources, regardless of
-- whether any memory is bound to them.
[$sel:sparseAddressSpaceSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | maxBoundDescriptorSets is the maximum number of descriptor
-- sets that can be simultaneously used by a pipeline. All
-- DescriptorSet decorations in shader modules must have a
-- value less than maxBoundDescriptorSets. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sets.
[$sel:maxBoundDescriptorSets:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorSamplers is the maximum number of
-- samplers that can be accessible to a single shader stage in a
-- pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_SAMPLER or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a shader stage
-- when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampler
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-combinedimagesampler.
[$sel:maxPerStageDescriptorSamplers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorUniformBuffers is the maximum number of
-- uniform buffers that can be accessible to a single shader stage
-- in a pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a shader stage
-- when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformbuffer
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformbufferdynamic.
[$sel:maxPerStageDescriptorUniformBuffers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorStorageBuffers is the maximum number of
-- storage buffers that can be accessible to a single shader stage
-- in a pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a pipeline
-- shader stage when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebuffer
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebufferdynamic.
[$sel:maxPerStageDescriptorStorageBuffers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorSampledImages is the maximum number of
-- sampled images that can be accessible to a single shader stage
-- in a pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, or
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER count against this limit.
-- Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a pipeline
-- shader stage when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-combinedimagesampler,
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampledimage,
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformtexelbuffer.
[$sel:maxPerStageDescriptorSampledImages:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorStorageImages is the maximum number of
-- storage images that can be accessible to a single shader stage
-- in a pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER count against this limit.
-- Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a pipeline
-- shader stage when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage,
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagetexelbuffer.
[$sel:maxPerStageDescriptorStorageImages:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageDescriptorInputAttachments is the maximum number
-- of input attachments that can be accessible to a single shader
-- stage in a pipeline layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT count against this limit. Only
-- descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. A descriptor is accessible to a pipeline
-- shader stage when the stageFlags member of the
-- DescriptorSetLayoutBinding structure has the bit for that
-- shader stage set. These are only supported for the fragment stage. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-inputattachment.
[$sel:maxPerStageDescriptorInputAttachments:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxPerStageResources is the maximum number of resources that
-- can be accessible to a single shader stage in a pipeline
-- layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE,
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT count against this limit. Only
-- descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. For the fragment shader stage the
-- framebuffer color attachments also count against this limit.
[$sel:maxPerStageResources:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetSamplers is the maximum number of samplers
-- that can be included in a pipeline layout. Descriptors with a
-- type of DESCRIPTOR_TYPE_SAMPLER or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampler
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-combinedimagesampler.
[$sel:maxDescriptorSetSamplers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetUniformBuffers is the maximum number of
-- uniform buffers that can be included in a pipeline layout.
-- Descriptors with a type of DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformbuffer
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformbufferdynamic.
[$sel:maxDescriptorSetUniformBuffers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetUniformBuffersDynamic is the maximum number
-- of dynamic uniform buffers that can be included in a pipeline
-- layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformbufferdynamic.
[$sel:maxDescriptorSetUniformBuffersDynamic:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetStorageBuffers is the maximum number of
-- storage buffers that can be included in a pipeline layout.
-- Descriptors with a type of DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebuffer
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebufferdynamic.
[$sel:maxDescriptorSetStorageBuffers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetStorageBuffersDynamic is the maximum number
-- of dynamic storage buffers that can be included in a pipeline
-- layout. Descriptors with a type of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC count against this
-- limit. Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebufferdynamic.
[$sel:maxDescriptorSetStorageBuffersDynamic:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetSampledImages is the maximum number of
-- sampled images that can be included in a pipeline layout.
-- Descriptors with a type of
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, or
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER count against this limit.
-- Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-combinedimagesampler,
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampledimage,
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformtexelbuffer.
[$sel:maxDescriptorSetSampledImages:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetStorageImages is the maximum number of
-- storage images that can be included in a pipeline layout.
-- Descriptors with a type of DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER count against this limit.
-- Only descriptors in descriptor set layouts created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage,
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagetexelbuffer.
[$sel:maxDescriptorSetStorageImages:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDescriptorSetInputAttachments is the maximum number of
-- input attachments that can be included in a pipeline layout.
-- Descriptors with a type of DESCRIPTOR_TYPE_INPUT_ATTACHMENT
-- count against this limit. Only descriptors in descriptor set layouts
-- created without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
-- count against this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-inputattachment.
[$sel:maxDescriptorSetInputAttachments:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxVertexInputAttributes is the maximum number of vertex
-- input attributes that can be specified for a graphics pipeline.
-- These are described in the array of
-- VertexInputAttributeDescription structures that are provided at
-- graphics pipeline creation time via the
-- pVertexAttributeDescriptions member of the
-- PipelineVertexInputStateCreateInfo structure. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-attrib
-- and
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input.
[$sel:maxVertexInputAttributes:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxVertexInputBindings is the maximum number of vertex
-- buffers that can be specified for providing vertex attributes
-- to a graphics pipeline. These are described in the array of
-- VertexInputBindingDescription structures that are provided at
-- graphics pipeline creation time via the
-- pVertexBindingDescriptions member of the
-- PipelineVertexInputStateCreateInfo structure. The
-- binding member of VertexInputBindingDescription
-- must be less than this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input.
[$sel:maxVertexInputBindings:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxVertexInputAttributeOffset is the maximum vertex input
-- attribute offset that can be added to the vertex input binding
-- stride. The offset member of the
-- VertexInputAttributeDescription structure must be less
-- than or equal to this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input.
[$sel:maxVertexInputAttributeOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxVertexInputBindingStride is the maximum vertex input
-- binding stride that can be specified in a vertex input binding.
-- The stride member of the VertexInputBindingDescription
-- structure must be less than or equal to this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input.
[$sel:maxVertexInputBindingStride:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxVertexOutputComponents is the maximum number of components
-- of output variables which can be output by a vertex shader. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-vertex.
[$sel:maxVertexOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationGenerationLevel is the maximum tessellation
-- generation level supported by the fixed-function tessellation
-- primitive generator. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#tessellation.
[$sel:maxTessellationGenerationLevel:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationPatchSize is the maximum patch size, in
-- vertices, of patches that can be processed by the tessellation
-- control shader and tessellation primitive generator. The
-- patchControlPoints member of the
-- PipelineTessellationStateCreateInfo structure specified at
-- pipeline creation time and the value provided in the
-- OutputVertices execution mode of shader modules must
-- be less than or equal to this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#tessellation.
[$sel:maxTessellationPatchSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationControlPerVertexInputComponents is the maximum
-- number of components of input variables which can be provided
-- as per-vertex inputs to the tessellation control shader stage.
[$sel:maxTessellationControlPerVertexInputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationControlPerVertexOutputComponents is the
-- maximum number of components of per-vertex output variables which
-- can be output from the tessellation control shader stage.
[$sel:maxTessellationControlPerVertexOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationControlPerPatchOutputComponents is the maximum
-- number of components of per-patch output variables which can be
-- output from the tessellation control shader stage.
[$sel:maxTessellationControlPerPatchOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationControlTotalOutputComponents is the maximum
-- total number of components of per-vertex and per-patch output
-- variables which can be output from the tessellation control
-- shader stage.
[$sel:maxTessellationControlTotalOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationEvaluationInputComponents is the maximum
-- number of components of input variables which can be provided
-- as per-vertex inputs to the tessellation evaluation shader stage.
[$sel:maxTessellationEvaluationInputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxTessellationEvaluationOutputComponents is the maximum
-- number of components of per-vertex output variables which can
-- be output from the tessellation evaluation shader stage.
[$sel:maxTessellationEvaluationOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxGeometryShaderInvocations is the maximum invocation count
-- supported for instanced geometry shaders. The value provided in the
-- Invocations execution mode of shader modules must be
-- less than or equal to this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#geometry.
[$sel:maxGeometryShaderInvocations:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxGeometryInputComponents is the maximum number of
-- components of input variables which can be provided as inputs
-- to the geometry shader stage.
[$sel:maxGeometryInputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxGeometryOutputComponents is the maximum number of
-- components of output variables which can be output from the
-- geometry shader stage.
[$sel:maxGeometryOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxGeometryOutputVertices is the maximum number of vertices
-- which can be emitted by any geometry shader.
[$sel:maxGeometryOutputVertices:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxGeometryTotalOutputComponents is the maximum total number
-- of components of output variables, across all emitted vertices, which
-- can be output from the geometry shader stage.
[$sel:maxGeometryTotalOutputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFragmentInputComponents is the maximum number of
-- components of input variables which can be provided as inputs
-- to the fragment shader stage.
[$sel:maxFragmentInputComponents:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFragmentOutputAttachments is the maximum number of output
-- attachments which can be written to by the fragment shader
-- stage.
[$sel:maxFragmentOutputAttachments:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFragmentDualSrcAttachments is the maximum number of output
-- attachments which can be written to by the fragment shader
-- stage when blending is enabled and one of the dual source blend modes
-- is in use. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-dsb
-- and dualSrcBlend.
[$sel:maxFragmentDualSrcAttachments:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFragmentCombinedOutputResources is the total number of
-- storage buffers, storage images, and output Location
-- decorated color attachments (described in Fragment Output
-- Interface) which can be used in the fragment shader stage.
[$sel:maxFragmentCombinedOutputResources:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxComputeSharedMemorySize is the maximum total storage size,
-- in bytes, available for variables declared with the Workgroup
-- storage class in shader modules (or with the shared storage
-- qualifier in GLSL) in the compute shader stage. When variables
-- declared with the Workgroup storage class are explicitly laid
-- out (hence they are also decorated with Block), the amount of
-- storage consumed is the size of the largest Block variable, not
-- counting any padding at the end. The amount of storage consumed by the
-- non-Block variables declared with the Workgroup storage class
-- is implementation-dependent. However, the amount of storage consumed
-- may not exceed the largest block size that would be obtained if all
-- active non-Block variables declared with Workgroup storage
-- class were assigned offsets in an arbitrary order by successively
-- taking the smallest valid offset according to the Standard Storage
-- Buffer Layout rules. (This is equivalent to using the GLSL std430
-- layout rules.)
[$sel:maxComputeSharedMemorySize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxComputeWorkGroupCount[3] is the maximum number of local
-- workgroups that can be dispatched by a single dispatching
-- command. These three values represent the maximum number of local
-- workgroups for the X, Y, and Z dimensions, respectively. The workgroup
-- count parameters to the dispatching commands must be less than
-- or equal to the corresponding limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#dispatch.
[$sel:maxComputeWorkGroupCount:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Word32, Word32, Word32)
-- | maxComputeWorkGroupInvocations is the maximum total number of
-- compute shader invocations in a single local workgroup. The product of
-- the X, Y, and Z sizes, as specified by the LocalSize or
-- LocalSizeId execution mode in shader modules or by the object
-- decorated by the WorkgroupSize decoration, must be
-- less than or equal to this limit.
[$sel:maxComputeWorkGroupInvocations:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxComputeWorkGroupSize[3] is the maximum size of a local
-- compute workgroup, per dimension. These three values represent the
-- maximum local workgroup size in the X, Y, and Z dimensions,
-- respectively. The x, y, and z sizes, as
-- specified by the LocalSize or LocalSizeId execution
-- mode or by the object decorated by the WorkgroupSize
-- decoration in shader modules, must be less than or equal to the
-- corresponding limit.
[$sel:maxComputeWorkGroupSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Word32, Word32, Word32)
-- | subPixelPrecisionBits is the number of bits of subpixel
-- precision in framebuffer coordinates xf and yf. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast.
[$sel:subPixelPrecisionBits:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | subTexelPrecisionBits is the number of bits of precision in
-- the division along an axis of an image used for minification and
-- magnification filters. 2subTexelPrecisionBits is the actual
-- number of divisions along each axis of the image represented.
-- Sub-texel values calculated during image sampling will snap to these
-- locations when generating the filtered results.
[$sel:subTexelPrecisionBits:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | mipmapPrecisionBits is the number of bits of division that
-- the LOD calculation for mipmap fetching get snapped to when
-- determining the contribution from each mip level to the mip filtered
-- results. 2mipmapPrecisionBits is the actual number of
-- divisions.
[$sel:mipmapPrecisionBits:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDrawIndexedIndexValue is the maximum index value that
-- can be used for indexed draw calls when using 32-bit indices.
-- This excludes the primitive restart index value of 0xFFFFFFFF. See
-- fullDrawIndexUint32.
[$sel:maxDrawIndexedIndexValue:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxDrawIndirectCount is the maximum draw count that is
-- supported for indirect drawing calls. See multiDrawIndirect.
[$sel:maxDrawIndirectCount:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxSamplerLodBias is the maximum absolute sampler LOD bias.
-- The sum of the mipLodBias member of the
-- SamplerCreateInfo structure and the Bias operand of
-- image sampling operations in shader modules (or 0 if no Bias
-- operand is provided to an image sampling operation) are clamped to the
-- range [-maxSamplerLodBias,+maxSamplerLodBias]. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-mipLodBias.
[$sel:maxSamplerLodBias:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | maxSamplerAnisotropy is the maximum degree of sampler
-- anisotropy. The maximum degree of anisotropic filtering used for an
-- image sampling operation is the minimum of the maxAnisotropy
-- member of the SamplerCreateInfo structure and this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-maxAnisotropy.
[$sel:maxSamplerAnisotropy:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | maxViewports is the maximum number of active viewports. The
-- viewportCount member of the
-- PipelineViewportStateCreateInfo structure that is provided at
-- pipeline creation must be less than or equal to this limit.
[$sel:maxViewports:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxViewportDimensions[2] are the maximum viewport dimensions
-- in the X (width) and Y (height) dimensions, respectively. The maximum
-- viewport dimensions must be greater than or equal to the
-- largest image which can be created and used as a framebuffer
-- attachment. See Controlling the Viewport.
[$sel:maxViewportDimensions:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Word32, Word32)
-- | viewportBoundsRange[2] is the [minimum, maximum] range that
-- the corners of a viewport must be contained in. This range
-- must be at least [-2 × size, 2 × size - 1],
-- where size = max(maxViewportDimensions[0],
-- maxViewportDimensions[1]). See Controlling the
-- Viewport.
--
-- Note
--
-- The intent of the viewportBoundsRange limit is to allow a
-- maximum sized viewport to be arbitrarily shifted relative to the
-- output target as long as at least some portion intersects. This would
-- give a bounds limit of [-size + 1, 2 × size - 1]
-- which would allow all possible non-empty-set intersections of the
-- output target and the viewport. Since these numbers are typically
-- powers of two, picking the signed number range using the smallest
-- possible number of bits ends up with the specified range.
[$sel:viewportBoundsRange:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Float, Float)
-- | viewportSubPixelBits is the number of bits of subpixel
-- precision for viewport bounds. The subpixel precision that
-- floating-point viewport bounds are interpreted at is given by this
-- limit.
[$sel:viewportSubPixelBits:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | minMemoryMapAlignment is the minimum required
-- alignment, in bytes, of host visible memory allocations within the
-- host address space. When mapping a memory allocation with
-- mapMemory, subtracting offset bytes from the returned
-- pointer will always produce an integer multiple of this limit. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-device-hostaccess.
-- The value must be a power of two.
[$sel:minMemoryMapAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word64
-- | minTexelBufferOffsetAlignment is the minimum required
-- alignment, in bytes, for the offset member of the
-- BufferViewCreateInfo structure for texel buffers. The value
-- must be a power of two. If texelBufferAlignment is
-- enabled, this limit is equivalent to the maximum of the
-- uniformTexelBufferOffsetAlignmentBytes and
-- storageTexelBufferOffsetAlignmentBytes members of
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, but smaller
-- alignment is optionally allowed by
-- storageTexelBufferOffsetSingleTexelAlignment and
-- uniformTexelBufferOffsetSingleTexelAlignment. If
-- texelBufferAlignment is not enabled,
-- BufferViewCreateInfo::offset must be a multiple
-- of this value.
[$sel:minTexelBufferOffsetAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | minUniformBufferOffsetAlignment is the minimum
-- required alignment, in bytes, for the offset member of
-- the DescriptorBufferInfo structure for uniform buffers. When a
-- descriptor of type DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC is updated, the
-- offset must be an integer multiple of this limit.
-- Similarly, dynamic offsets for uniform buffers must be
-- multiples of this limit. The value must be a power of two.
[$sel:minUniformBufferOffsetAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | minStorageBufferOffsetAlignment is the minimum
-- required alignment, in bytes, for the offset member of
-- the DescriptorBufferInfo structure for storage buffers. When a
-- descriptor of type DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC is updated, the
-- offset must be an integer multiple of this limit.
-- Similarly, dynamic offsets for storage buffers must be
-- multiples of this limit. The value must be a power of two.
[$sel:minStorageBufferOffsetAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | minTexelOffset is the minimum offset value for the
-- ConstOffset image operand of any of the
-- OpImageSample* or OpImageFetch* image instructions.
[$sel:minTexelOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Int32
-- | maxTexelOffset is the maximum offset value for the
-- ConstOffset image operand of any of the
-- OpImageSample* or OpImageFetch* image instructions.
[$sel:maxTexelOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | minTexelGatherOffset is the minimum offset value for the
-- Offset, ConstOffset, or ConstOffsets image
-- operands of any of the OpImage*Gather image instructions.
[$sel:minTexelGatherOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Int32
-- | maxTexelGatherOffset is the maximum offset value for the
-- Offset, ConstOffset, or ConstOffsets image
-- operands of any of the OpImage*Gather image instructions.
[$sel:maxTexelGatherOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | minInterpolationOffset is the base minimum (inclusive)
-- negative offset value for the Offset operand of the
-- InterpolateAtOffset extended instruction.
[$sel:minInterpolationOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | maxInterpolationOffset is the base maximum (inclusive)
-- positive offset value for the Offset operand of the
-- InterpolateAtOffset extended instruction.
[$sel:maxInterpolationOffset:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | subPixelInterpolationOffsetBits is the number of fractional
-- bits that the x and y offsets to the
-- InterpolateAtOffset extended instruction may be
-- rounded to as fixed-point values.
[$sel:subPixelInterpolationOffsetBits:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFramebufferWidth is the maximum width for a framebuffer.
-- The width member of the FramebufferCreateInfo
-- structure must be less than or equal to this limit.
[$sel:maxFramebufferWidth:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFramebufferHeight is the maximum height for a framebuffer.
-- The height member of the FramebufferCreateInfo
-- structure must be less than or equal to this limit.
[$sel:maxFramebufferHeight:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxFramebufferLayers is the maximum layer count for a layered
-- framebuffer. The layers member of the
-- FramebufferCreateInfo structure must be less than or
-- equal to this limit.
[$sel:maxFramebufferLayers:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | framebufferColorSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the color sample counts that are
-- supported for all framebuffer color attachments with floating- or
-- fixed-point formats. For color attachments with integer formats, see
-- framebufferIntegerColorSampleCounts.
[$sel:framebufferColorSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | framebufferDepthSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the supported depth sample
-- counts for all framebuffer depth/stencil attachments, when the format
-- includes a depth component.
[$sel:framebufferDepthSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | framebufferStencilSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the supported stencil sample
-- counts for all framebuffer depth/stencil attachments, when the format
-- includes a stencil component.
[$sel:framebufferStencilSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | framebufferNoAttachmentsSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the supported sample counts for
-- a subpass which uses no attachments.
[$sel:framebufferNoAttachmentsSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | maxColorAttachments is the maximum number of color
-- attachments that can be used by a subpass in a render pass. The
-- colorAttachmentCount member of the SubpassDescription
-- or SubpassDescription2 structure must be less than or
-- equal to this limit.
[$sel:maxColorAttachments:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | sampledImageColorSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the sample counts supported for
-- all 2D images created with IMAGE_TILING_OPTIMAL, usage
-- containing IMAGE_USAGE_SAMPLED_BIT, and a non-integer color
-- format.
[$sel:sampledImageColorSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | sampledImageIntegerSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the sample counts supported for
-- all 2D images created with IMAGE_TILING_OPTIMAL, usage
-- containing IMAGE_USAGE_SAMPLED_BIT, and an integer color
-- format.
[$sel:sampledImageIntegerSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | sampledImageDepthSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the sample counts supported for
-- all 2D images created with IMAGE_TILING_OPTIMAL, usage
-- containing IMAGE_USAGE_SAMPLED_BIT, and a depth format.
[$sel:sampledImageDepthSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | sampledImageStencilSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the sample counts supported for
-- all 2D images created with IMAGE_TILING_OPTIMAL, usage
-- containing IMAGE_USAGE_SAMPLED_BIT, and a stencil format.
[$sel:sampledImageStencilSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | storageImageSampleCounts is a bitmask1 of
-- SampleCountFlagBits indicating the sample counts supported for
-- all 2D images created with IMAGE_TILING_OPTIMAL, and
-- usage containing IMAGE_USAGE_STORAGE_BIT.
[$sel:storageImageSampleCounts:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> SampleCountFlags
-- | maxSampleMaskWords is the maximum number of array elements of
-- a variable decorated with the SampleMask built-in decoration.
[$sel:maxSampleMaskWords:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | timestampComputeAndGraphics specifies support for timestamps
-- on all graphics and compute queues. If this limit is set to
-- TRUE, all queues that advertise the QUEUE_GRAPHICS_BIT
-- or QUEUE_COMPUTE_BIT in the
-- QueueFamilyProperties::queueFlags support
-- QueueFamilyProperties::timestampValidBits of at least
-- 36. See Timestamp Queries.
[$sel:timestampComputeAndGraphics:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Bool
-- | timestampPeriod is the number of nanoseconds required
-- for a timestamp query to be incremented by 1. See Timestamp
-- Queries.
[$sel:timestampPeriod:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | maxClipDistances is the maximum number of clip distances that
-- can be used in a single shader stage. The size of any array
-- declared with the ClipDistance built-in decoration in a
-- shader module must be less than or equal to this limit.
[$sel:maxClipDistances:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxCullDistances is the maximum number of cull distances that
-- can be used in a single shader stage. The size of any array
-- declared with the CullDistance built-in decoration in a
-- shader module must be less than or equal to this limit.
[$sel:maxCullDistances:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | maxCombinedClipAndCullDistances is the maximum combined
-- number of clip and cull distances that can be used in a single
-- shader stage. The sum of the sizes of any pair of arrays declared with
-- the ClipDistance and CullDistance built-in
-- decoration used by a single shader stage in a shader module
-- must be less than or equal to this limit.
[$sel:maxCombinedClipAndCullDistances:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | discreteQueuePriorities is the number of discrete priorities
-- that can be assigned to a queue based on the value of each
-- member of DeviceQueueCreateInfo::pQueuePriorities.
-- This must be at least 2, and levels must be spread
-- evenly over the range, with at least one level at 1.0, and another at
-- 0.0. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-priority.
[$sel:discreteQueuePriorities:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word32
-- | pointSizeRange[2] is the range
-- [minimum,maximum] of supported sizes for points.
-- Values written to variables decorated with the PointSize
-- built-in decoration are clamped to this range.
[$sel:pointSizeRange:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Float, Float)
-- | lineWidthRange[2] is the range
-- [minimum,maximum] of supported widths for lines.
-- Values specified by the lineWidth member of the
-- PipelineRasterizationStateCreateInfo or the lineWidth
-- parameter to cmdSetLineWidth are clamped to this range.
[$sel:lineWidthRange:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> (Float, Float)
-- | pointSizeGranularity is the granularity of supported point
-- sizes. Not all point sizes in the range defined by
-- pointSizeRange are supported. This limit specifies the
-- granularity (or increment) between successive supported point sizes.
[$sel:pointSizeGranularity:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | lineWidthGranularity is the granularity of supported line
-- widths. Not all line widths in the range defined by
-- lineWidthRange are supported. This limit specifies the
-- granularity (or increment) between successive supported line widths.
[$sel:lineWidthGranularity:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Float
-- | strictLines specifies whether lines are rasterized according
-- to the preferred method of rasterization. If set to FALSE,
-- lines may be rasterized under a relaxed set of rules. If set to
-- TRUE, lines are rasterized as per the strict definition. See
-- Basic Line Segment Rasterization.
[$sel:strictLines:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Bool
-- | standardSampleLocations specifies whether rasterization uses
-- the standard sample locations as documented in Multisampling.
-- If set to TRUE, the implementation uses the documented sample
-- locations. If set to FALSE, the implementation may use
-- different sample locations.
[$sel:standardSampleLocations:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Bool
-- | optimalBufferCopyOffsetAlignment is the optimal buffer offset
-- alignment in bytes for cmdCopyBufferToImage2KHR,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer2KHR, and
-- cmdCopyImageToBuffer. The per texel alignment requirements are
-- enforced, but applications should use the optimal alignment for
-- optimal performance and power use. The value must be a power of
-- two.
[$sel:optimalBufferCopyOffsetAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | optimalBufferCopyRowPitchAlignment is the optimal buffer row
-- pitch alignment in bytes for cmdCopyBufferToImage2KHR,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer2KHR, and
-- cmdCopyImageToBuffer. Row pitch is the number of bytes between
-- texels with the same X coordinate in adjacent rows (Y coordinates
-- differ by one). The per texel alignment requirements are enforced, but
-- applications should use the optimal alignment for optimal
-- performance and power use. The value must be a power of two.
[$sel:optimalBufferCopyRowPitchAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | nonCoherentAtomSize is the size and alignment in bytes that
-- bounds concurrent access to host-mapped device memory. The
-- value must be a power of two.
--
--
[$sel:nonCoherentAtomSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize
-- | VkInstance - Opaque handle to an instance object
--
-- See Also
--
-- VK_VERSION_1_0, createAndroidSurfaceKHR,
-- createDebugReportCallbackEXT,
-- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT,
-- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT,
-- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA,
-- createInstance, createMacOSSurfaceMVK,
-- createMetalSurfaceEXT, createScreenSurfaceQNX,
-- createStreamDescriptorSurfaceGGP, createViSurfaceNN,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- debugReportMessageEXT, destroyDebugReportCallbackEXT,
-- destroyDebugUtilsMessengerEXT, destroyInstance,
-- destroySurfaceKHR, enumeratePhysicalDeviceGroups,
-- enumeratePhysicalDeviceGroupsKHR,
-- enumeratePhysicalDevices, getInstanceProcAddr,
-- submitDebugUtilsMessageEXT
data Instance
Instance :: Ptr Instance_T -> InstanceCmds -> Instance
[$sel:instanceHandle:Instance] :: Instance -> Ptr Instance_T
[$sel:instanceCmds:Instance] :: Instance -> InstanceCmds
-- | VkPhysicalDevice - Opaque handle to a physical device object
--
-- See Also
--
-- VK_VERSION_1_0, DeviceGroupDeviceCreateInfo,
-- PhysicalDeviceGroupProperties, acquireDrmDisplayEXT,
-- acquireWinrtDisplayNV, acquireXlibDisplayEXT,
-- createDevice, createDisplayModeKHR,
-- enumerateDeviceExtensionProperties,
-- enumerateDeviceLayerProperties,
-- enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
-- enumeratePhysicalDevices, getDisplayModeProperties2KHR,
-- getDisplayModePropertiesKHR,
-- getDisplayPlaneCapabilities2KHR,
-- getDisplayPlaneCapabilitiesKHR,
-- getDisplayPlaneSupportedDisplaysKHR, getDrmDisplayEXT,
-- 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,
-- getPhysicalDeviceScreenPresentationSupportQNX,
-- getPhysicalDeviceSparseImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR,
-- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,
-- getPhysicalDeviceSurfaceCapabilities2EXT,
-- getPhysicalDeviceSurfaceCapabilities2KHR,
-- getPhysicalDeviceSurfaceCapabilitiesKHR,
-- getPhysicalDeviceSurfaceFormats2KHR,
-- getPhysicalDeviceSurfaceFormatsKHR,
-- getPhysicalDeviceSurfacePresentModes2EXT,
-- getPhysicalDeviceSurfacePresentModesKHR,
-- getPhysicalDeviceSurfaceSupportKHR,
-- getPhysicalDeviceToolPropertiesEXT,
-- vkGetPhysicalDeviceVideoCapabilitiesKHR,
-- vkGetPhysicalDeviceVideoFormatPropertiesKHR,
-- getPhysicalDeviceWaylandPresentationSupportKHR,
-- getPhysicalDeviceWin32PresentationSupportKHR,
-- getPhysicalDeviceXcbPresentationSupportKHR,
-- getPhysicalDeviceXlibPresentationSupportKHR,
-- getRandROutputDisplayEXT, getWinrtDisplayNV,
-- releaseDisplayEXT
data PhysicalDevice
PhysicalDevice :: Ptr PhysicalDevice_T -> InstanceCmds -> PhysicalDevice
[$sel:physicalDeviceHandle:PhysicalDevice] :: PhysicalDevice -> Ptr PhysicalDevice_T
[$sel:instanceCmds:PhysicalDevice] :: PhysicalDevice -> InstanceCmds
-- | 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, VK_VERSION_1_0,
-- allocateMemory, createAccelerationStructureKHR,
-- createAccelerationStructureNV, createAndroidSurfaceKHR,
-- createBuffer, createBufferCollectionFUCHSIA,
-- createBufferView, createCommandPool,
-- createComputePipelines, createCuFunctionNVX,
-- createCuModuleNVX, 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, createScreenSurfaceQNX,
-- createSemaphore, createShaderModule,
-- createSharedSwapchainsKHR,
-- createStreamDescriptorSurfaceGGP, createSwapchainKHR,
-- createValidationCacheEXT, createViSurfaceNN,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- createWaylandSurfaceKHR, createWin32SurfaceKHR,
-- createXcbSurfaceKHR, createXlibSurfaceKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, 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,
-- vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, freeMemory,
-- registerDeviceEventEXT, registerDisplayEventEXT
data AllocationCallbacks
AllocationCallbacks :: Ptr () -> PFN_vkAllocationFunction -> PFN_vkReallocationFunction -> PFN_vkFreeFunction -> PFN_vkInternalAllocationNotification -> PFN_vkInternalFreeNotification -> AllocationCallbacks
-- | pUserData is a value to be interpreted by the implementation
-- of the callbacks. When any of the callbacks in
-- AllocationCallbacks are called, the Vulkan implementation will
-- pass this value as the first parameter to the callback. This value
-- can vary each time an allocator is passed into a command, even
-- when the same object takes an allocator in multiple commands.
[$sel:userData:AllocationCallbacks] :: AllocationCallbacks -> Ptr ()
-- | pfnAllocation is a PFN_vkAllocationFunction pointer to
-- an application-defined memory allocation function.
[$sel:pfnAllocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkAllocationFunction
-- | pfnReallocation is a PFN_vkReallocationFunction
-- pointer to an application-defined memory reallocation function.
[$sel:pfnReallocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkReallocationFunction
-- | pfnFree is a PFN_vkFreeFunction pointer to an
-- application-defined memory free function.
[$sel:pfnFree:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkFreeFunction
-- | pfnInternalAllocation is a
-- PFN_vkInternalAllocationNotification pointer to an
-- application-defined function that is called by the implementation when
-- the implementation makes internal allocations.
[$sel:pfnInternalAllocation:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkInternalAllocationNotification
-- | pfnInternalFree is a PFN_vkInternalFreeNotification
-- pointer to an application-defined function that is called by the
-- implementation when the implementation frees internal allocations.
[$sel:pfnInternalFree:AllocationCallbacks] :: AllocationCallbacks -> PFN_vkInternalFreeNotification
-- | VkInstanceCreateFlags - Reserved for future use
--
-- Description
--
-- InstanceCreateFlags is a bitmask type for setting a mask, but
-- is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, InstanceCreateInfo
newtype InstanceCreateFlags
InstanceCreateFlags :: Flags -> InstanceCreateFlags
-- | VkImageType - Specifies the type of an image object
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype ImageType
ImageType :: Int32 -> ImageType
-- | IMAGE_TYPE_1D specifies a one-dimensional image.
pattern IMAGE_TYPE_1D :: ImageType
-- | IMAGE_TYPE_2D specifies a two-dimensional image.
pattern IMAGE_TYPE_2D :: ImageType
-- | IMAGE_TYPE_3D specifies a three-dimensional image.
pattern IMAGE_TYPE_3D :: ImageType
-- | VkImageTiling - Specifies the tiling arrangement of data in an image
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype ImageTiling
ImageTiling :: Int32 -> ImageTiling
-- | IMAGE_TILING_OPTIMAL specifies optimal tiling (texels are laid
-- out in an implementation-dependent arrangement, for more efficient
-- memory access).
pattern IMAGE_TILING_OPTIMAL :: 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_LINEAR :: 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.
pattern IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: ImageTiling
-- | VkInternalAllocationType - Allocation type
--
-- See Also
--
-- PFN_vkInternalAllocationNotification,
-- PFN_vkInternalFreeNotification, VK_VERSION_1_0
newtype InternalAllocationType
InternalAllocationType :: Int32 -> InternalAllocationType
-- | INTERNAL_ALLOCATION_TYPE_EXECUTABLE specifies that the
-- allocation is intended for execution by the host.
pattern INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: InternalAllocationType
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
newtype SystemAllocationScope
SystemAllocationScope :: Int32 -> SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_COMMAND :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_OBJECT :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_CACHE :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_DEVICE :: SystemAllocationScope
pattern SYSTEM_ALLOCATION_SCOPE_INSTANCE :: SystemAllocationScope
-- | 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
--
-- VK_VERSION_1_0, PhysicalDeviceProperties
newtype PhysicalDeviceType
PhysicalDeviceType :: Int32 -> PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_OTHER - the device does not match any
-- other available types.
pattern PHYSICAL_DEVICE_TYPE_OTHER :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU - the device is typically
-- one embedded in or tightly coupled with the host.
pattern PHYSICAL_DEVICE_TYPE_INTEGRATED_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_DISCRETE_GPU :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU - the device is typically a
-- virtual node in a virtualization environment.
pattern PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: PhysicalDeviceType
-- | PHYSICAL_DEVICE_TYPE_CPU - the device is typically running on
-- the same processors as the host.
pattern PHYSICAL_DEVICE_TYPE_CPU :: PhysicalDeviceType
-- | VkFormat - Available image formats
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AttachmentDescription, AttachmentDescription2,
-- BufferViewCreateInfo,
-- CommandBufferInheritanceRenderingInfoKHR,
-- FramebufferAttachmentImageInfo, GeometryTrianglesNV,
-- ImageCreateInfo, ImageFormatListCreateInfo,
-- ImageViewASTCDecodeModeEXT, ImageViewCreateInfo,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PipelineRenderingCreateInfoKHR,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR,
-- SwapchainCreateInfoKHR, VertexInputAttributeDescription,
-- VertexInputAttributeDescription2EXT,
-- VkVideoFormatPropertiesKHR, VkVideoSessionCreateInfoKHR,
-- getPhysicalDeviceExternalImageFormatPropertiesNV,
-- getPhysicalDeviceFormatProperties,
-- getPhysicalDeviceFormatProperties2,
-- getPhysicalDeviceFormatProperties2KHR,
-- getPhysicalDeviceImageFormatProperties,
-- getPhysicalDeviceSparseImageFormatProperties
newtype Format
Format :: Int32 -> Format
-- | FORMAT_UNDEFINED specifies that the format is not specified.
pattern FORMAT_UNDEFINED :: 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_R4G4_UNORM_PACK8 :: 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_R4G4B4A4_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_B4G4R4A4_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_R5G6B5_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_B5G6R5_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_R5G5B5A1_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_B5G5R5A1_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_A1R5G5B5_UNORM_PACK16 :: Format
-- | FORMAT_R8_UNORM specifies a one-component, 8-bit unsigned
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_UNORM :: Format
-- | FORMAT_R8_SNORM specifies a one-component, 8-bit signed
-- normalized format that has a single 8-bit R component.
pattern FORMAT_R8_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has a single 8-bit R component.
pattern FORMAT_R8_UINT :: Format
-- | FORMAT_R8_SINT specifies a one-component, 8-bit signed integer
-- format that has a single 8-bit R component.
pattern FORMAT_R8_SINT :: 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_R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R8G8B8A8_SRGB :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_B8G8R8A8_SRGB :: 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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_SINT_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_A8B8G8R8_SRGB_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2R10G10B10_SINT_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_UNORM_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_SNORM_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_USCALED_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_SSCALED_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_UINT_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_A2B10G10R10_SINT_PACK32 :: Format
-- | FORMAT_R16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_UNORM :: Format
-- | FORMAT_R16_SNORM specifies a one-component, 16-bit signed
-- normalized format that has a single 16-bit R component.
pattern FORMAT_R16_SNORM :: 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_USCALED :: 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_SSCALED :: Format
-- | FORMAT_R16_UINT specifies a one-component, 16-bit unsigned
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_UINT :: Format
-- | FORMAT_R16_SINT specifies a one-component, 16-bit signed
-- integer format that has a single 16-bit R component.
pattern FORMAT_R16_SINT :: Format
-- | FORMAT_R16_SFLOAT specifies a one-component, 16-bit signed
-- floating-point format that has a single 16-bit R component.
pattern FORMAT_R16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16_SFLOAT :: 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_UNORM :: 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_SNORM :: 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_USCALED :: 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_SSCALED :: 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_UINT :: 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_SINT :: 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_R16G16B16A16_SFLOAT :: Format
-- | FORMAT_R32_UINT specifies a one-component, 32-bit unsigned
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_UINT :: Format
-- | FORMAT_R32_SINT specifies a one-component, 32-bit signed
-- integer format that has a single 32-bit R component.
pattern FORMAT_R32_SINT :: Format
-- | FORMAT_R32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has a single 32-bit R component.
pattern FORMAT_R32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32_SFLOAT :: 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_UINT :: 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_SINT :: 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_R32G32B32A32_SFLOAT :: Format
-- | FORMAT_R64_UINT specifies a one-component, 64-bit unsigned
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_UINT :: Format
-- | FORMAT_R64_SINT specifies a one-component, 64-bit signed
-- integer format that has a single 64-bit R component.
pattern FORMAT_R64_SINT :: Format
-- | FORMAT_R64_SFLOAT specifies a one-component, 64-bit signed
-- floating-point format that has a single 64-bit R component.
pattern FORMAT_R64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64_SFLOAT :: 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_UINT :: 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_SINT :: 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_R64G64B64A64_SFLOAT :: 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_B10G11R11_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_E5B9G9R9_UFLOAT_PACK32 :: Format
-- | FORMAT_D16_UNORM specifies a one-component, 16-bit unsigned
-- normalized format that has a single 16-bit depth component.
pattern FORMAT_D16_UNORM :: 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_X8_D24_UNORM_PACK32 :: Format
-- | FORMAT_D32_SFLOAT specifies a one-component, 32-bit signed
-- floating-point format that has 32 bits in the depth component.
pattern FORMAT_D32_SFLOAT :: Format
-- | FORMAT_S8_UINT specifies a one-component, 8-bit unsigned
-- integer format that has 8 bits in the stencil component.
pattern FORMAT_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_D16_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_D24_UNORM_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_D32_SFLOAT_S8_UINT :: 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_UNORM_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_RGB_SRGB_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_UNORM_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_BC1_RGBA_SRGB_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_UNORM_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_BC2_SRGB_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_UNORM_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_BC3_SRGB_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_UNORM_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_BC4_SNORM_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_UNORM_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_BC5_SNORM_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_UFLOAT_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_BC6H_SFLOAT_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_UNORM_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_BC7_SRGB_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_UNORM_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_R8G8B8_SRGB_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_UNORM_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_R8G8B8A1_SRGB_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_UNORM_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_ETC2_R8G8B8A8_SRGB_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_UNORM_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_R11_SNORM_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_UNORM_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_EAC_R11G11_SNORM_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_UNORM_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_4x4_SRGB_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_UNORM_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_5x4_SRGB_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_UNORM_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_5x5_SRGB_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_UNORM_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_6x5_SRGB_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_UNORM_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_6x6_SRGB_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_UNORM_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_8x5_SRGB_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_UNORM_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_8x6_SRGB_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_UNORM_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_8x8_SRGB_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_UNORM_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_10x5_SRGB_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_UNORM_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_10x6_SRGB_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_UNORM_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_10x8_SRGB_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_UNORM_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_10x10_SRGB_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_UNORM_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_12x10_SRGB_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_UNORM_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_ASTC_12x12_SRGB_BLOCK :: 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_A4B4G4R4_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_A4R4G4B4_UNORM_PACK16_EXT :: Format
-- | FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT :: Format
-- | FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT 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. Both planes have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT :: Format
-- | FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT 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. Both planes
-- have 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, and
-- IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
pattern FORMAT_G8_B8R8_2PLANE_444_UNORM_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_12x12_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_12x10_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_10x10_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_10x8_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_10x6_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_10x5_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_8x8_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_8x6_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_8x5_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_6x6_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_6x5_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_5x5_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_5x4_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_ASTC_4x4_SFLOAT_BLOCK_EXT :: 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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_SRGB_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_4BPP_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_PVRTC2_2BPP_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_4BPP_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_PVRTC1_2BPP_UNORM_BLOCK_IMG :: 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_B16_R16_3PLANE_444_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 dimension
-- 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 <math>.
-- 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16R16_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G16_B16_R16_3PLANE_420_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.
-- This format only supports images 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_B16G16R16G16_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.
-- This format only supports images 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_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_B12X4_R12X4_3PLANE_444_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, with the bottom 4 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_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, with the bottom 4 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4R12X4_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B12X4G12X4R12X4G12X4_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. This
-- format only supports images 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_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_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: 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_R12X4G12X4_UNORM_2PACK16 :: 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_R12X4_UNORM_PACK16 :: 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_B10X6_R10X6_3PLANE_444_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, with the bottom 6 bits of
-- each word unused. The horizontal dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_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, with the bottom 6 bits of
-- each word unused. The horizontal and vertical dimensions of the BR
-- plane are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6R10X6_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: 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. This
-- format only supports images 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_B10X6G10X6R10X6G10X6_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. This
-- format only supports images 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_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_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: 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_R10X6G10X6_UNORM_2PACK16 :: 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_R10X6_UNORM_PACK16 :: 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_B8_R8_3PLANE_444_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 dimension 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 <math>. 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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_422_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 are 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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8R8_2PLANE_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. This format only
-- supports images with a width and height that is a multiple of two.
pattern FORMAT_G8_B8_R8_3PLANE_420_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.
-- This format only supports images 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_B8G8R8G8_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.
-- This format only supports images 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
-- | VkQueueFlagBits - Bitmask specifying capabilities of queues in a queue
-- family
--
-- Description
--
-- 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
--
-- VK_VERSION_1_0, QueueFlags
newtype QueueFlagBits
QueueFlagBits :: Flags -> QueueFlagBits
-- | QUEUE_GRAPHICS_BIT specifies that queues in this queue family
-- support graphics operations.
pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits
-- | QUEUE_COMPUTE_BIT specifies that queues in this queue family
-- support compute operations.
pattern QUEUE_COMPUTE_BIT :: QueueFlagBits
-- | QUEUE_TRANSFER_BIT specifies that queues in this queue family
-- support transfer operations.
pattern QUEUE_TRANSFER_BIT :: QueueFlagBits
-- | QUEUE_SPARSE_BINDING_BIT specifies that queues in this queue
-- family support sparse memory management operations (see Sparse
-- Resources). If any of the sparse resource features are enabled,
-- then at least one queue family must support this bit.
pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits
-- | QUEUE_PROTECTED_BIT specifies that queues in this queue family
-- support the DEVICE_QUEUE_CREATE_PROTECTED_BIT bit. (see
-- Protected Memory). If the physical device supports the
-- protectedMemory feature, at least one of its queue families
-- must support this bit.
pattern QUEUE_PROTECTED_BIT :: QueueFlagBits
type QueueFlags = QueueFlagBits
-- | 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
--
-- VK_VERSION_1_0, MemoryPropertyFlags
newtype MemoryPropertyFlagBits
MemoryPropertyFlagBits :: Flags -> 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_DEVICE_LOCAL_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_VISIBLE_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_COHERENT_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_HOST_CACHED_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_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits
-- | MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV bit specifies that external
-- devices can access this memory directly.
pattern MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV :: 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_UNCACHED_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_DEVICE_COHERENT_BIT_AMD :: 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.
pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits
type MemoryPropertyFlags = MemoryPropertyFlagBits
-- | VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap
--
-- See Also
--
-- VK_VERSION_1_0, MemoryHeapFlags
newtype MemoryHeapFlagBits
MemoryHeapFlagBits :: Flags -> 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_DEVICE_LOCAL_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.
pattern MEMORY_HEAP_MULTI_INSTANCE_BIT :: MemoryHeapFlagBits
type MemoryHeapFlags = MemoryHeapFlagBits
-- | VkImageUsageFlagBits - Bitmask specifying intended usage of an image
--
-- See Also
--
-- VK_VERSION_1_0, ImageUsageFlags
newtype ImageUsageFlagBits
ImageUsageFlagBits :: Flags -> ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSFER_SRC_BIT specifies that the image
-- can be used as the source of a transfer command.
pattern IMAGE_USAGE_TRANSFER_SRC_BIT :: ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSFER_DST_BIT specifies that the image
-- can be used as the destination of a transfer command.
pattern IMAGE_USAGE_TRANSFER_DST_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_SAMPLED_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_STORAGE_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_COLOR_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_DEPTH_STENCIL_ATTACHMENT_BIT :: ImageUsageFlagBits
-- | IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT specifies that
-- implementations may support using memory allocations
-- with the MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT to back an image
-- with this usage. 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_TRANSIENT_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_INPUT_ATTACHMENT_BIT :: ImageUsageFlagBits
pattern IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI :: ImageUsageFlagBits
-- | IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR specifies
-- that the image can be used to create a ImageView
-- suitable for use as a fragment shading rate attachment or
-- shading rate image
pattern IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: ImageUsageFlagBits
type ImageUsageFlags = ImageUsageFlagBits
-- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an
-- image
--
-- Description
--
-- See Sparse Resource Features and Sparse Physical Device
-- Features for more details.
--
-- See Also
--
-- VK_VERSION_1_0, ImageCreateFlags
newtype ImageCreateFlagBits
ImageCreateFlagBits :: Flags -> ImageCreateFlagBits
-- | IMAGE_CREATE_SPARSE_BINDING_BIT specifies that the image will
-- be backed using sparse memory binding.
pattern IMAGE_CREATE_SPARSE_BINDING_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_RESIDENCY_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_SPARSE_ALIASED_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_MUTABLE_FORMAT_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_CUBE_COMPATIBLE_BIT :: 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:
--
--
-- - Image data read as an image sampler will have undefined values if
-- the sampler was not created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or was not sampled through
-- the use of a combined image sampler with an immutable sampler in
-- DescriptorSetLayoutBinding.
-- - Image data read with an input attachment will have undefined
-- values if the contents were not written as an attachment in an earlier
-- subpass of the same render pass.
-- - Image data read as an image sampler in the fragment shader will be
-- additionally be read by the device during
-- PIPELINE_STAGE_VERTEX_SHADER_BIT if
-- ::subsampledCoarseReconstructionEarlyAccess is TRUE and
-- the sampler was created with flags containing
-- SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.
-- - Image data read with load operations are resampled to the fragment
-- density of the render pass if ::subsampledLoads is TRUE.
-- Otherwise, values of image data are undefined.
-- - Image contents outside of the render area take on undefined values
-- if the image is stored as a render pass attachment.
--
pattern IMAGE_CREATE_SUBSAMPLED_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_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: ImageCreateFlagBits
-- | IMAGE_CREATE_CORNER_SAMPLED_BIT_NV specifies that the image is
-- a corner-sampled image.
pattern IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: 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_DISJOINT_BIT :: ImageCreateFlagBits
-- | IMAGE_CREATE_PROTECTED_BIT specifies that the image is a
-- protected image.
pattern IMAGE_CREATE_PROTECTED_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_EXTENDED_USAGE_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_BLOCK_TEXEL_VIEW_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_2D_ARRAY_COMPATIBLE_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_SPLIT_INSTANCE_BIND_REGIONS_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.
pattern IMAGE_CREATE_ALIAS_BIT :: ImageCreateFlagBits
type ImageCreateFlags = ImageCreateFlagBits
-- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a
-- buffer
--
-- Description
--
-- These values all have the same meaning as the equivalently named
-- values for FormatFeatureFlags2KHR and 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:
--
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image
-- view can be sampled from.
-- - FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image
-- view can be used as a storage image.
-- - FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
-- - FORMAT_FEATURE_COLOR_ATTACHMENT_BIT specifies that an image
-- view can be used as a framebuffer color attachment and as an
-- input attachment.
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_BLIT_SRC_BIT specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_BLIT_DST_BIT specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - 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. Where depth
-- comparison is supported it may be linear filtered whether this
-- bit is present or not, but where this bit is not present the filtered
-- value may be computed 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.
-- - FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
-- - FORMAT_FEATURE_TRANSFER_DST_BIT specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
-- - 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.
-- - FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried
-- is a depth/stencil format, this only specifies that the depth aspect
-- is cubic filterable.
-- - 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.
-- - 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.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - 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.
--
-- - 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.
-- - 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.
-- - FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that
-- an image view can be used as a fragment density map
-- attachment.
-- - 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties::format:
--
--
--
-- See Also
--
-- VK_VERSION_1_0, FormatFeatureFlags
newtype FormatFeatureFlagBits
FormatFeatureFlagBits :: Flags -> FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_BIT specifies that an image view
-- can be sampled from.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_STORAGE_IMAGE_BIT specifies that an image view
-- can be used as a storage image.
pattern FORMAT_FEATURE_STORAGE_IMAGE_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_STORAGE_IMAGE_ATOMIC_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_UNIFORM_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_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_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_VERTEX_BUFFER_BIT specifies that the format
-- can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_VERTEX_BUFFER_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_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_COLOR_ATTACHMENT_BLEND_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_DEPTH_STENCIL_ATTACHMENT_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_SRC_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_BLIT_DST_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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: 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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: 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_FRAGMENT_DENSITY_MAP_BIT_EXT :: 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_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits
pattern FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: 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_SAMPLED_IMAGE_FILTER_MINMAX_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_COSITED_CHROMA_SAMPLES_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_DISJOINT_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_FORCEABLE_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_CHROMA_RECONSTRUCTION_EXPLICIT_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_SEPARATE_RECONSTRUCTION_FILTER_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_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_MIDPOINT_CHROMA_SAMPLES_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_DST_BIT :: FormatFeatureFlagBits
-- | FORMAT_FEATURE_TRANSFER_SRC_BIT specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_TRANSFER_SRC_BIT :: FormatFeatureFlagBits
type FormatFeatureFlags = FormatFeatureFlagBits
-- | VkSampleCountFlagBits - Bitmask specifying sample counts supported for
-- an image used for storage operations
--
-- See Also
--
-- VK_VERSION_1_0, AttachmentDescription,
-- AttachmentDescription2, AttachmentSampleCountInfoAMD,
-- CommandBufferInheritanceRenderingInfoKHR,
-- FramebufferMixedSamplesCombinationNV, ImageCreateInfo,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PipelineMultisampleStateCreateInfo, SampleCountFlags,
-- SampleLocationsInfoEXT,
-- getPhysicalDeviceMultisamplePropertiesEXT,
-- getPhysicalDeviceSparseImageFormatProperties
newtype SampleCountFlagBits
SampleCountFlagBits :: Flags -> SampleCountFlagBits
-- | SAMPLE_COUNT_1_BIT specifies an image with one sample per
-- pixel.
pattern SAMPLE_COUNT_1_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_2_BIT specifies an image with 2 samples per pixel.
pattern SAMPLE_COUNT_2_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_4_BIT specifies an image with 4 samples per pixel.
pattern SAMPLE_COUNT_4_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_8_BIT specifies an image with 8 samples per pixel.
pattern SAMPLE_COUNT_8_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_16_BIT specifies an image with 16 samples per
-- pixel.
pattern SAMPLE_COUNT_16_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_32_BIT specifies an image with 32 samples per
-- pixel.
pattern SAMPLE_COUNT_32_BIT :: SampleCountFlagBits
-- | SAMPLE_COUNT_64_BIT specifies an image with 64 samples per
-- pixel.
pattern SAMPLE_COUNT_64_BIT :: SampleCountFlagBits
type SampleCountFlags = SampleCountFlagBits
type FN_vkInternalAllocationNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO ()
-- | PFN_vkInternalAllocationNotification - Application-defined memory
-- allocation notification function
--
-- Description
--
-- This is a purely informational callback.
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification
type FN_vkInternalFreeNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO ()
-- | PFN_vkInternalFreeNotification - Application-defined memory free
-- notification function
--
-- Description
--
--
-- described link:https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-host-allocation-scope[here^].
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkInternalFreeNotification = FunPtr FN_vkInternalFreeNotification
type FN_vkReallocationFunction = ("pUserData" ::: Ptr ()) -> ("pOriginal" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ())
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkReallocationFunction = FunPtr FN_vkReallocationFunction
type FN_vkAllocationFunction = ("pUserData" ::: Ptr ()) -> CSize -> ("alignment" ::: CSize) -> SystemAllocationScope -> IO (Ptr ())
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkAllocationFunction = FunPtr FN_vkAllocationFunction
type FN_vkFreeFunction = ("pUserData" ::: Ptr ()) -> ("pMemory" ::: Ptr ()) -> IO ()
-- | 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
--
-- VK_VERSION_1_0, AllocationCallbacks
type PFN_vkFreeFunction = FunPtr FN_vkFreeFunction
type FN_vkVoidFunction = () -> IO ()
-- | PFN_vkVoidFunction - Placeholder function pointer type returned by
-- queries
--
-- See Also
--
-- VK_VERSION_1_0, getDeviceProcAddr,
-- getInstanceProcAddr
type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.MemoryType
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.MemoryHeap
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.FormatProperties
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.ApplicationInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.QueueFamilyProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.MemoryType
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.MemoryHeap
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.FormatProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.ImageFormatProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance GHC.Show.Show Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.ImageFormatProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.ImageFormatProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.ImageFormatProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.ImageFormatProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.FormatProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.FormatProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.FormatProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.FormatProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.MemoryHeap
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.MemoryHeap
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.MemoryHeap
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.MemoryHeap
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.MemoryType
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.MemoryType
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.MemoryType
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.MemoryType
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.QueueFamilyProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.QueueFamilyProperties
instance Foreign.Storable.Storable Vulkan.Core10.DeviceInitialization.QueueFamilyProperties
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.QueueFamilyProperties
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.DeviceInitialization.InstanceCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.DeviceInitialization.InstanceCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DeviceInitialization.ApplicationInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DeviceInitialization.ApplicationInfo
instance Vulkan.Zero.Zero Vulkan.Core10.DeviceInitialization.ApplicationInfo
-- | Name
--
-- VK_NV_external_memory_capabilities - instance extension
--
-- VK_NV_external_memory_capabilities
--
--
-- - Name String
-- VK_NV_external_memory_capabilities
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 56
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
- Deprecated by
-- VK_KHR_external_memory_capabilities extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-19
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with Vulkan 1.1.
- Interacts with
-- VK_KHR_dedicated_allocation.
- Interacts with
-- VK_NV_dedicated_allocation.
-- - Contributors
--
--
-- Description
--
-- Applications may wish to import memory from the Direct 3D API, or
-- export memory to other Vulkan instances. This extension provides a set
-- of capability queries that allow applications determine what types of
-- win32 memory handles an implementation supports for a given set of use
-- cases.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enums
--
--
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Why do so many external memory capabilities need to be queried on a
-- per-memory-handle-type basis?
--
-- RESOLVED: This is because some handle types are based on
-- OS-native objects that have far more limited capabilities than the
-- very generic Vulkan memory objects. Not all memory handle types can
-- name memory objects that support 3D images, for example. Some handle
-- types cannot even support the deferred image and memory binding
-- behavior of Vulkan and require specifying the image when allocating or
-- importing the memory object.
--
-- 2) Does the ExternalImageFormatPropertiesNV struct need to
-- include a list of memory type bits that support the given handle type?
--
-- RESOLVED: No. The memory types that do not support the handle
-- types will simply be filtered out of the results returned by
-- getImageMemoryRequirements when a set of handle types was
-- specified at image creation time.
--
-- 3) Should the non-opaque handle types be moved to their own extension?
--
-- RESOLVED: Perhaps. However, defining the handle type bits does
-- very little and does not require any platform-specific types on its
-- own, and it is easier to maintain the bitmask values in a single
-- extension for now. Presumably more handle types could be added by
-- separate extensions though, and it would be midly weird to have some
-- platform-specific ones defined in the core spec and some in extensions
--
-- Version History
--
--
-- - Revision 1, 2016-08-19 (James Jones)
--
--
-- See Also
--
-- ExternalImageFormatPropertiesNV,
-- ExternalMemoryFeatureFlagBitsNV,
-- ExternalMemoryFeatureFlagsNV,
-- ExternalMemoryHandleTypeFlagBitsNV,
-- ExternalMemoryHandleTypeFlagsNV,
-- getPhysicalDeviceExternalImageFormatPropertiesNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_external_memory_capabilities
-- | vkGetPhysicalDeviceExternalImageFormatPropertiesNV - Determine image
-- capabilities compatible with external memory handle types
--
-- Description
--
-- If externalHandleType is 0,
-- pExternalImageFormatProperties->imageFormatProperties will
-- return the same values as a call to
-- getPhysicalDeviceImageFormatProperties, and the other members
-- of pExternalImageFormatProperties will all be 0. Otherwise,
-- they are filled in as described for
-- ExternalImageFormatPropertiesNV.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalImageFormatPropertiesNV,
-- ExternalMemoryHandleTypeFlagsNV, Format,
-- ImageCreateFlags, ImageTiling, ImageType,
-- ImageUsageFlags, PhysicalDevice
getPhysicalDeviceExternalImageFormatPropertiesNV :: forall io. MonadIO io => PhysicalDevice -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV) -> io ExternalImageFormatPropertiesNV
-- | VkExternalImageFormatPropertiesNV - Structure specifying external
-- image format properties
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalMemoryFeatureFlagsNV,
-- ExternalMemoryHandleTypeFlagsNV, ImageFormatProperties,
-- getPhysicalDeviceExternalImageFormatPropertiesNV
data ExternalImageFormatPropertiesNV
ExternalImageFormatPropertiesNV :: ImageFormatProperties -> ExternalMemoryFeatureFlagsNV -> ExternalMemoryHandleTypeFlagsNV -> ExternalMemoryHandleTypeFlagsNV -> ExternalImageFormatPropertiesNV
-- | imageFormatProperties will be filled in as when calling
-- getPhysicalDeviceImageFormatProperties, but the values returned
-- may vary depending on the external handle type requested.
[$sel:imageFormatProperties:ExternalImageFormatPropertiesNV] :: ExternalImageFormatPropertiesNV -> ImageFormatProperties
-- | externalMemoryFeatures is a bitmask of
-- ExternalMemoryFeatureFlagBitsNV, indicating properties of the
-- external memory handle type
-- (getPhysicalDeviceExternalImageFormatPropertiesNV::externalHandleType)
-- being queried, or 0 if the external memory handle type is 0.
[$sel:externalMemoryFeatures:ExternalImageFormatPropertiesNV] :: ExternalImageFormatPropertiesNV -> ExternalMemoryFeatureFlagsNV
-- | exportFromImportedHandleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBitsNV containing a bit set for
-- every external handle type that may be used to create memory
-- from which the handles of the type specified in
-- getPhysicalDeviceExternalImageFormatPropertiesNV::externalHandleType
-- can be exported, or 0 if the external memory handle type is 0.
[$sel:exportFromImportedHandleTypes:ExternalImageFormatPropertiesNV] :: ExternalImageFormatPropertiesNV -> ExternalMemoryHandleTypeFlagsNV
-- | compatibleHandleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBitsNV containing a bit set for
-- every external handle type that may be specified simultaneously
-- with the handle type specified by
-- getPhysicalDeviceExternalImageFormatPropertiesNV::externalHandleType
-- when calling allocateMemory, or 0 if the external memory handle
-- type is 0. compatibleHandleTypes will always contain
-- getPhysicalDeviceExternalImageFormatPropertiesNV::externalHandleType
[$sel:compatibleHandleTypes:ExternalImageFormatPropertiesNV] :: ExternalImageFormatPropertiesNV -> ExternalMemoryHandleTypeFlagsNV
type ExternalMemoryHandleTypeFlagsNV = ExternalMemoryHandleTypeFlagBitsNV
-- | VkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external
-- memory handle types
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalMemoryHandleTypeFlagsNV
newtype ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV :: Flags -> ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV, or one
-- duplicated from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV specifies a
-- valid NT handle to memory returned by
-- IDXGIResource1::CreateSharedHandle, or a handle duplicated
-- from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV specifies a
-- handle to memory returned by
-- IDXGIResource::GetSharedHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
type ExternalMemoryFeatureFlagsNV = ExternalMemoryFeatureFlagBitsNV
-- | VkExternalMemoryFeatureFlagBitsNV - Bitmask specifying external memory
-- features
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalImageFormatPropertiesNV,
-- ExternalMemoryFeatureFlagsNV,
-- getPhysicalDeviceExternalImageFormatPropertiesNV
newtype ExternalMemoryFeatureFlagBitsNV
ExternalMemoryFeatureFlagBitsNV :: Flags -> ExternalMemoryFeatureFlagBitsNV
-- | EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV specifies that
-- external memory of the specified type must be created as a
-- dedicated allocation when used in the manner specified.
pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
-- | EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV specifies that the
-- implementation supports exporting handles of the specified type.
pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
-- | EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV specifies that the
-- implementation supports importing handles of the specified type.
pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: ExternalMemoryFeatureFlagBitsNV
type NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
pattern NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall a. Integral a => a
type NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities"
pattern NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance Data.Bits.Bits Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryFeatureFlagBitsNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV
-- | Name
--
-- VK_NV_external_memory_win32 - device extension
--
-- VK_NV_external_memory_win32
--
--
-- - Name String
-- VK_NV_external_memory_win32
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 58
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_NV_external_memory
-- - Deprecation state
- Deprecated by
-- VK_KHR_external_memory_win32 extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Carsten Rohde, NVIDIA
--
--
-- Description
--
-- Applications may wish to export memory to other Vulkan instances or
-- other APIs, or import memory from other Vulkan instances or other APIs
-- to enable Vulkan workloads to be split up across application module,
-- process, or API boundaries. This extension enables win32 applications
-- to export win32 handles from Vulkan memory objects such that the
-- underlying resources can be referenced outside the Vulkan instance
-- that created them, and import win32 handles created in the Direct3D
-- API to Vulkan memory objects.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) If memory objects are shared between processes and APIs, is this
-- considered aliasing according to the rules outlined in the Memory
-- Aliasing section?
--
-- RESOLVED: Yes, but strict exceptions to the rules are added to
-- allow some forms of aliasing in these cases. Further, other extensions
-- may build upon these new aliasing rules to define specific support
-- usage within Vulkan for imported native memory objects, or memory
-- objects from other APIs.
--
-- 2) Are new image layouts or metadata required to specify image layouts
-- and layout transitions compatible with non-Vulkan APIs, or with other
-- instances of the same Vulkan driver?
--
-- RESOLVED: No. Separate instances of the same Vulkan driver
-- running on the same GPU should have identical internal layout
-- semantics, so applictions have the tools they need to ensure views of
-- images are consistent between the two instances. Other APIs will fall
-- into two categories: Those that are Vulkan compatible (a term to be
-- defined by subsequent interopability extensions), or Vulkan
-- incompatible. When sharing images with Vulkan incompatible APIs, the
-- Vulkan image must be transitioned to the IMAGE_LAYOUT_GENERAL
-- layout before handing it off to the external API.
--
-- Note this does not attempt to address cross-device transitions, nor
-- transitions to engines on the same device which are not visible within
-- the Vulkan API. Both of these are beyond the scope of this extension.
--
-- 3) Do applications need to call CloseHandle() on the values
-- returned from getMemoryWin32HandleNV when handleType
-- is EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV?
--
-- RESOLVED: Yes, unless it is passed back in to another driver
-- instance to import the object. A successful get call transfers
-- ownership of the handle to the application, while an import transfers
-- ownership to the associated driver. Destroying the memory object will
-- not destroy the handle or the handle’s reference to the underlying
-- memory resource.
--
-- Examples
--
--
-- //
-- // Create an exportable memory object and export an external
-- // handle from it.
-- //
--
-- // Pick an external format and handle type.
-- static const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
-- static const VkExternalMemoryHandleTypeFlagsNV handleType =
-- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV;
--
-- extern VkPhysicalDevice physicalDevice;
-- extern VkDevice device;
--
-- VkPhysicalDeviceMemoryProperties memoryProperties;
-- VkExternalImageFormatPropertiesNV properties;
-- VkExternalMemoryImageCreateInfoNV externalMemoryImageCreateInfo;
-- VkDedicatedAllocationImageCreateInfoNV dedicatedImageCreateInfo;
-- VkImageCreateInfo imageCreateInfo;
-- VkImage image;
-- VkMemoryRequirements imageMemoryRequirements;
-- uint32_t numMemoryTypes;
-- uint32_t memoryType;
-- VkExportMemoryAllocateInfoNV exportMemoryAllocateInfo;
-- VkDedicatedAllocationMemoryAllocateInfoNV dedicatedAllocationInfo;
-- VkMemoryAllocateInfo memoryAllocateInfo;
-- VkDeviceMemory memory;
-- VkResult result;
-- HANDLE memoryHnd;
--
-- // Figure out how many memory types the device supports
-- vkGetPhysicalDeviceMemoryProperties(physicalDevice,
-- &memoryProperties);
-- numMemoryTypes = memoryProperties.memoryTypeCount;
--
-- // Check the external handle type capabilities for the chosen format
-- // Exportable 2D image support with at least 1 mip level, 1 array
-- // layer, and VK_SAMPLE_COUNT_1_BIT using optimal tiling and supporting
-- // texturing and color rendering is required.
-- result = vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
-- physicalDevice,
-- format,
-- VK_IMAGE_TYPE_2D,
-- VK_IMAGE_TILING_OPTIMAL,
-- VK_IMAGE_USAGE_SAMPLED_BIT |
-- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-- 0,
-- handleType,
-- &properties);
--
-- if ((result != VK_SUCCESS) ||
-- !(properties.externalMemoryFeatures &
-- VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV)) {
-- abort();
-- }
--
-- // Set up the external memory image creation info
-- memset(&externalMemoryImageCreateInfo,
-- 0, sizeof(externalMemoryImageCreateInfo));
-- externalMemoryImageCreateInfo.sType =
-- VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
-- externalMemoryImageCreateInfo.handleTypes = handleType;
-- if (properties.externalMemoryFeatures &
-- VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV) {
-- memset(&dedicatedImageCreateInfo, 0, sizeof(dedicatedImageCreateInfo));
-- dedicatedImageCreateInfo.sType =
-- VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
-- dedicatedImageCreateInfo.dedicatedAllocation = VK_TRUE;
-- externalMemoryImageCreateInfo.pNext = &dedicatedImageCreateInfo;
-- }
-- // Set up the core image creation info
-- memset(&imageCreateInfo, 0, sizeof(imageCreateInfo));
-- imageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
-- imageCreateInfo.pNext = &externalMemoryImageCreateInfo;
-- imageCreateInfo.format = format;
-- imageCreateInfo.extent.width = 64;
-- imageCreateInfo.extent.height = 64;
-- imageCreateInfo.extent.depth = 1;
-- imageCreateInfo.mipLevels = 1;
-- imageCreateInfo.arrayLayers = 1;
-- imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT;
-- imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
-- imageCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT |
-- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
-- imageCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
-- imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
--
-- vkCreateImage(device, &imageCreateInfo, NULL, &image);
--
-- vkGetImageMemoryRequirements(device,
-- image,
-- &imageMemoryRequirements);
--
-- // For simplicity, just pick the first compatible memory type.
-- for (memoryType = 0; memoryType < numMemoryTypes; memoryType++) {
-- if ((1 << memoryType) & imageMemoryRequirements.memoryTypeBits) {
-- break;
-- }
-- }
--
-- // At least one memory type must be supported given the prior external
-- // handle capability check.
-- assert(memoryType < numMemoryTypes);
--
-- // Allocate the external memory object.
-- memset(&exportMemoryAllocateInfo, 0, sizeof(exportMemoryAllocateInfo));
-- exportMemoryAllocateInfo.sType =
-- VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
-- exportMemoryAllocateInfo.handleTypes = handleType;
-- if (properties.externalMemoryFeatures &
-- VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV) {
-- memset(&dedicatedAllocationInfo, 0, sizeof(dedicatedAllocationInfo));
-- dedicatedAllocationInfo.sType =
-- VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
-- dedicatedAllocationInfo.image = image;
-- exportMemoryAllocateInfo.pNext = &dedicatedAllocationInfo;
-- }
-- memset(&memoryAllocateInfo, 0, sizeof(memoryAllocateInfo));
-- memoryAllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
-- memoryAllocateInfo.pNext = &exportMemoryAllocateInfo;
-- memoryAllocateInfo.allocationSize = imageMemoryRequirements.size;
-- memoryAllocateInfo.memoryTypeIndex = memoryType;
--
-- vkAllocateMemory(device, &memoryAllocateInfo, NULL, &memory);
--
-- if (!(properties.externalMemoryFeatures &
-- VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV)) {
-- vkBindImageMemory(device, image, memory, 0);
-- }
--
-- // Get the external memory opaque FD handle
-- vkGetMemoryWin32HandleNV(device, memory, &memoryHnd);
--
--
-- Version History
--
--
-- - Revision 1, 2016-08-11 (James Jones)
--
--
-- See Also
--
-- ExportMemoryWin32HandleInfoNV,
-- ImportMemoryWin32HandleInfoNV, getMemoryWin32HandleNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_external_memory_win32
-- | vkGetMemoryWin32HandleNV - Retrieve Win32 handle to a device memory
-- object
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_NV_external_memory_win32, Device,
-- DeviceMemory, ExternalMemoryHandleTypeFlagsNV
getMemoryWin32HandleNV :: forall io. MonadIO io => Device -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> io HANDLE
-- | VkImportMemoryWin32HandleInfoNV - Import Win32 memory created on the
-- same physical device
--
-- Description
--
-- If handleType is 0, this structure is ignored by
-- consumers of the MemoryAllocateInfo structure it is chained
-- from.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_external_memory_win32,
-- ExternalMemoryHandleTypeFlagsNV, StructureType
data ImportMemoryWin32HandleInfoNV
ImportMemoryWin32HandleInfoNV :: ExternalMemoryHandleTypeFlagsNV -> HANDLE -> ImportMemoryWin32HandleInfoNV
-- | handleType is 0 or a
-- ExternalMemoryHandleTypeFlagBitsNV value specifying the type of
-- memory handle in handle.
--
-- handleType must not have more than one bit set
--
-- handleType must be a valid combination of
-- ExternalMemoryHandleTypeFlagBitsNV values
[$sel:handleType:ImportMemoryWin32HandleInfoNV] :: ImportMemoryWin32HandleInfoNV -> ExternalMemoryHandleTypeFlagsNV
-- | handle is a Windows HANDLE referring to the memory.
--
-- handle must be a valid handle to memory, obtained as
-- specified by handleType
[$sel:handle:ImportMemoryWin32HandleInfoNV] :: ImportMemoryWin32HandleInfoNV -> HANDLE
-- | VkExportMemoryWin32HandleInfoNV - Specify security attributes and
-- access rights for Win32 memory handles
--
-- Description
--
-- If this structure is not present, or if pAttributes is set to
-- NULL, default security descriptor values will be used, and
-- child processes created by the application will not inherit the
-- handle, as described in the MSDN documentation for “Synchronization
-- Object Security and Access Rights”1. Further, if the structure is not
-- present, the access rights will be
--
-- DXGI_SHARED_RESOURCE_READ |
-- DXGI_SHARED_RESOURCE_WRITE
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pAttributes is not NULL, pAttributes
-- must be a valid pointer to a valid SECURITY_ATTRIBUTES
-- value
--
--
-- See Also
--
-- VK_NV_external_memory_win32, StructureType
data ExportMemoryWin32HandleInfoNV
ExportMemoryWin32HandleInfoNV :: Ptr SECURITY_ATTRIBUTES -> DWORD -> ExportMemoryWin32HandleInfoNV
-- | pAttributes is a pointer to a Windows
-- SECURITY_ATTRIBUTES structure specifying security attributes of
-- the handle.
[$sel:attributes:ExportMemoryWin32HandleInfoNV] :: ExportMemoryWin32HandleInfoNV -> Ptr SECURITY_ATTRIBUTES
-- | dwAccess is a DWORD specifying access rights of the
-- handle.
[$sel:dwAccess:ExportMemoryWin32HandleInfoNV] :: ExportMemoryWin32HandleInfoNV -> DWORD
type NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1
pattern NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: forall a. Integral a => a
type NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_NV_external_memory_win32"
pattern NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type HANDLE = Ptr ()
type DWORD = Word32
data SECURITY_ATTRIBUTES
-- | VkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external
-- memory handle types
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalMemoryHandleTypeFlagsNV
newtype ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV :: Flags -> ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV, or one
-- duplicated from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV specifies a
-- valid NT handle to memory returned by
-- IDXGIResource1::CreateSharedHandle, or a handle duplicated
-- from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV specifies a
-- handle to memory returned by
-- IDXGIResource::GetSharedHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
type ExternalMemoryHandleTypeFlagsNV = ExternalMemoryHandleTypeFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV
-- | Name
--
-- VK_KHR_external_memory_win32 - device extension
--
-- VK_KHR_external_memory_win32
--
--
-- - Name String
-- VK_KHR_external_memory_win32
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 74
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_memory
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Jeff Juliano, NVIDIA
- Carsten Rohde,
-- NVIDIA
--
--
-- Description
--
-- An application may wish to reference device memory in multiple Vulkan
-- logical devices or instances, in multiple processes, and/or in
-- multiple APIs. This extension enables an application to export Windows
-- handles from Vulkan memory objects and to import Vulkan memory objects
-- from Windows handles exported from other Vulkan memory objects or from
-- similar resources in other APIs.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Do applications need to call CloseHandle() on the values
-- returned from getMemoryWin32HandleKHR when handleType
-- is EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR?
--
-- RESOLVED: Yes, unless it is passed back in to another driver
-- instance to import the object. A successful get call transfers
-- ownership of the handle to the application. Destroying the memory
-- object will not destroy the handle or the handle’s reference to the
-- underlying memory resource.
--
-- 2) Should the language regarding KMT/Windows 7 handles be moved to a
-- separate extension so that it can be deprecated over time?
--
-- RESOLVED: No. Support for them can be deprecated by drivers if
-- they choose, by no longer returning them in the supported handle types
-- of the instance level queries.
--
-- 3) How should the valid size and memory type for windows memory
-- handles created outside of Vulkan be specified?
--
-- RESOLVED: The valid memory types are queried directly from the
-- external handle. The size is determined by the associated image or
-- buffer memory requirements for external handle types that require
-- dedicated allocations, and by the size specified when creating the
-- object from which the handle was exported for other external handle
-- types.
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (James Jones)
--
--
-- See Also
--
-- ExportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoKHR,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryWin32HandlePropertiesKHR, getMemoryWin32HandleKHR,
-- getMemoryWin32HandlePropertiesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_memory_win32
-- | vkGetMemoryWin32HandleKHR - Get a Windows HANDLE for a memory object
--
-- Description
--
-- For handle types defined as NT handles, the handles returned by
-- getMemoryWin32HandleKHR are owned by the application and hold a
-- reference to their payload. To avoid leaking resources, the
-- application must release ownership of them using the
-- CloseHandle system call when they are no longer needed.
--
-- Note
--
-- Non-NT handle types do not add a reference to their associated
-- payload. If the original object owning the payload is destroyed, all
-- resources and handles sharing that payload will become invalid.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_win32, Device,
-- MemoryGetWin32HandleInfoKHR
getMemoryWin32HandleKHR :: forall io. MonadIO io => Device -> MemoryGetWin32HandleInfoKHR -> io HANDLE
-- | vkGetMemoryWin32HandlePropertiesKHR - Get Properties of External
-- Memory Win32 Handles
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_win32, Device,
-- ExternalMemoryHandleTypeFlagBits,
-- MemoryWin32HandlePropertiesKHR
getMemoryWin32HandlePropertiesKHR :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> HANDLE -> io MemoryWin32HandlePropertiesKHR
-- | VkImportMemoryWin32HandleInfoKHR - Import Win32 memory created on the
-- same physical device
--
-- Description
--
-- Importing memory object payloads from Windows handles does not
-- transfer ownership of the handle to the Vulkan implementation. For
-- handle types defined as NT handles, the application must
-- release handle ownership using the CloseHandle system call
-- when the handle is no longer needed. For handle types defined as NT
-- handles, the imported memory object holds a reference to its payload.
--
-- Note
--
-- Non-NT handle import operations do not add a reference to their
-- associated payload. If the original object owning the payload is
-- destroyed, all resources and handles sharing that payload will become
-- invalid.
--
-- Applications can import the same payload into multiple
-- instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance. In all
-- cases, each import operation must create a distinct
-- DeviceMemory object.
--
-- Valid Usage
--
--
--
--
-- - The memory from which handle was exported, or the memory
-- named by name must have been created on the same
-- underlying physical device as device
-- - If handleType is not 0, it must be
-- defined as an NT handle or a global share handle
-- - If handleType is not
-- EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or
-- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, name
-- must be NULL
-- - If handleType is not 0 and handle is
-- NULL, name must name a valid memory resource
-- of the type specified by handleType
-- - If handleType is not 0 and name is
-- NULL, handle must be a valid handle of the
-- type specified by handleType
-- - if handle is not NULL, name must
-- be NULL
-- - If handle is not NULL, it must obey any
-- requirements listed for handleType in external memory
-- handle types compatibility
-- - If name is not NULL, it must obey any
-- requirements listed for handleType in external memory
-- handle types compatibility
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_win32,
-- ExternalMemoryHandleTypeFlagBits, StructureType
data ImportMemoryWin32HandleInfoKHR
ImportMemoryWin32HandleInfoKHR :: ExternalMemoryHandleTypeFlagBits -> HANDLE -> LPCWSTR -> ImportMemoryWin32HandleInfoKHR
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the type of handle or name.
[$sel:handleType:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> ExternalMemoryHandleTypeFlagBits
-- | handle is NULL or the external handle to import.
[$sel:handle:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> HANDLE
-- | name is NULL or a null-terminated UTF-16 string
-- naming the payload to import.
[$sel:name:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> LPCWSTR
-- | VkExportMemoryWin32HandleInfoKHR - Structure specifying additional
-- attributes of Windows handles exported from a memory
--
-- Description
--
-- If ExportMemoryAllocateInfo is not included in the same
-- pNext chain, this structure is ignored.
--
-- If ExportMemoryAllocateInfo is included in the pNext
-- chain of MemoryAllocateInfo with a Windows handleType,
-- but either ExportMemoryWin32HandleInfoKHR is not included in
-- the pNext chain, or if it is but pAttributes is set
-- to NULL, default security descriptor values will be used, and
-- child processes created by the application will not inherit the
-- handle, as described in the MSDN documentation for “Synchronization
-- Object Security and Access Rights”1. Further, if the structure is not
-- present, the access rights used depend on the handle type.
--
-- For handles of the following types:
--
--
--
-- The implementation must ensure the access rights allow read and
-- write access to the memory.
--
--
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pAttributes is not NULL, pAttributes
-- must be a valid pointer to a valid SECURITY_ATTRIBUTES
-- value
--
--
-- See Also
--
-- VK_KHR_external_memory_win32, StructureType
data ExportMemoryWin32HandleInfoKHR
ExportMemoryWin32HandleInfoKHR :: Ptr SECURITY_ATTRIBUTES -> DWORD -> LPCWSTR -> ExportMemoryWin32HandleInfoKHR
-- | pAttributes is a pointer to a Windows
-- SECURITY_ATTRIBUTES structure specifying security attributes of
-- the handle.
[$sel:attributes:ExportMemoryWin32HandleInfoKHR] :: ExportMemoryWin32HandleInfoKHR -> Ptr SECURITY_ATTRIBUTES
-- | dwAccess is a DWORD specifying access rights of the
-- handle.
[$sel:dwAccess:ExportMemoryWin32HandleInfoKHR] :: ExportMemoryWin32HandleInfoKHR -> DWORD
-- | name is a null-terminated UTF-16 string to associate with the
-- payload referenced by NT handles exported from the created memory.
[$sel:name:ExportMemoryWin32HandleInfoKHR] :: ExportMemoryWin32HandleInfoKHR -> LPCWSTR
-- | VkMemoryWin32HandlePropertiesKHR - Properties of External Memory
-- Windows Handles
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_external_memory_win32, StructureType,
-- getMemoryWin32HandlePropertiesKHR
data MemoryWin32HandlePropertiesKHR
MemoryWin32HandlePropertiesKHR :: Word32 -> MemoryWin32HandlePropertiesKHR
-- | memoryTypeBits is a bitmask containing one bit set for every
-- memory type which the specified windows handle can be imported
-- as.
[$sel:memoryTypeBits:MemoryWin32HandlePropertiesKHR] :: MemoryWin32HandlePropertiesKHR -> Word32
-- | VkMemoryGetWin32HandleInfoKHR - Structure describing a Win32 handle
-- semaphore export operation
--
-- Description
--
-- The properties of the handle returned depend on the value of
-- handleType. See ExternalMemoryHandleTypeFlagBits for a
-- description of the properties of the defined external memory handle
-- types.
--
-- Valid Usage
--
--
--
--
-- - If handleType is defined as an NT handle,
-- getMemoryWin32HandleKHR must be called no more than once
-- for each valid unique combination of memory and
-- handleType
-- - handleType must be defined as an NT handle or a
-- global share handle
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_memory_win32, DeviceMemory,
-- ExternalMemoryHandleTypeFlagBits, StructureType,
-- getMemoryWin32HandleKHR
data MemoryGetWin32HandleInfoKHR
MemoryGetWin32HandleInfoKHR :: DeviceMemory -> ExternalMemoryHandleTypeFlagBits -> MemoryGetWin32HandleInfoKHR
-- | memory is the memory object from which the handle will be
-- exported.
[$sel:memory:MemoryGetWin32HandleInfoKHR] :: MemoryGetWin32HandleInfoKHR -> DeviceMemory
-- | handleType is a ExternalMemoryHandleTypeFlagBits value
-- specifying the type of handle requested.
[$sel:handleType:MemoryGetWin32HandleInfoKHR] :: MemoryGetWin32HandleInfoKHR -> ExternalMemoryHandleTypeFlagBits
type KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1
pattern KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_KHR_external_memory_win32"
pattern KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type LPCWSTR = Ptr CWchar
type HANDLE = Ptr ()
type DWORD = Word32
data SECURITY_ATTRIBUTES
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR
-- | Name
--
-- VK_KHR_external_semaphore_win32 - device extension
--
-- VK_KHR_external_semaphore_win32
--
--
-- - Name String
-- VK_KHR_external_semaphore_win32
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 79
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_semaphore
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-10-21
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Jeff Juliano, NVIDIA
- Carsten Rohde,
-- NVIDIA
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using semaphores. This extension enables an application to
-- export semaphore payload to and import semaphore payload from Windows
-- handles.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Do applications need to call CloseHandle() on the values
-- returned from getSemaphoreWin32HandleKHR when
-- handleType is
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR?
--
-- RESOLVED: Yes, unless it is passed back in to another driver
-- instance to import the object. A successful get call transfers
-- ownership of the handle to the application. Destroying the semaphore
-- object will not destroy the handle or the handle’s reference to the
-- underlying semaphore resource.
--
-- 2) Should the language regarding KMT/Windows 7 handles be moved to a
-- separate extension so that it can be deprecated over time?
--
-- RESOLVED: No. Support for them can be deprecated by drivers if
-- they choose, by no longer returning them in the supported handle types
-- of the instance level queries.
--
-- 3) Should applications be allowed to specify additional object
-- attributes for shared handles?
--
-- RESOLVED: Yes. Applications will be allowed to provide similar
-- attributes to those they would to any other handle creation API.
--
-- 4) How do applications communicate the desired fence values to use
-- with D3D12_FENCE-based Vulkan semaphores?
--
-- RESOLVED: There are a couple of options. The values for the
-- signaled and reset states could be communicated up front when creating
-- the object and remain static for the life of the Vulkan semaphore, or
-- they could be specified using auxiliary structures when submitting
-- semaphore signal and wait operations, similar to what is done with the
-- keyed mutex extensions. The latter is more flexible and consistent
-- with the keyed mutex usage, but the former is a much simpler API.
--
-- Since Vulkan tends to favor flexibility and consistency over
-- simplicity, a new structure specifying D3D12 fence acquire and release
-- values is added to the queueSubmit function.
--
-- Version History
--
--
-- - Revision 1, 2016-10-21 (James Jones)
--
--
-- See Also
--
-- D3D12FenceSubmitInfoKHR,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- getSemaphoreWin32HandleKHR,
-- importSemaphoreWin32HandleKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_semaphore_win32
-- | vkGetSemaphoreWin32HandleKHR - Get a Windows HANDLE for a semaphore
--
-- Description
--
-- For handle types defined as NT handles, the handles returned by
-- getSemaphoreWin32HandleKHR are owned by the application. To
-- avoid leaking resources, the application must release ownership
-- of them using the CloseHandle system call when they are no
-- longer needed.
--
-- Exporting a Windows handle from a semaphore may have side
-- effects depending on the transference of the specified handle type, as
-- described in Importing Semaphore Payloads.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32, Device,
-- SemaphoreGetWin32HandleInfoKHR
getSemaphoreWin32HandleKHR :: forall io. MonadIO io => Device -> SemaphoreGetWin32HandleInfoKHR -> io HANDLE
-- | vkImportSemaphoreWin32HandleKHR - Import a semaphore from a Windows
-- HANDLE
--
-- Description
--
-- Importing a semaphore payload from Windows handles does not transfer
-- ownership of the handle to the Vulkan implementation. For handle types
-- defined as NT handles, the application must release ownership
-- using the CloseHandle system call when the handle is no
-- longer needed.
--
-- Applications can import the same semaphore payload into
-- multiple instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32, Device,
-- ImportSemaphoreWin32HandleInfoKHR
importSemaphoreWin32HandleKHR :: forall io. MonadIO io => Device -> ImportSemaphoreWin32HandleInfoKHR -> io ()
-- | VkImportSemaphoreWin32HandleInfoKHR - Structure specifying Windows
-- handle to import to a semaphore
--
-- Description
--
-- The handle types supported by handleType are:
--
-- TODO: table
--
-- Handle Types Supported by ImportSemaphoreWin32HandleInfoKHR
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to semaphore must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- SemaphoreImportFlags, StructureType,
-- importSemaphoreWin32HandleKHR
data ImportSemaphoreWin32HandleInfoKHR
ImportSemaphoreWin32HandleInfoKHR :: Semaphore -> SemaphoreImportFlags -> ExternalSemaphoreHandleTypeFlagBits -> HANDLE -> LPCWSTR -> ImportSemaphoreWin32HandleInfoKHR
-- | semaphore is the semaphore into which the payload will be
-- imported.
[$sel:semaphore:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> Semaphore
-- | flags is a bitmask of SemaphoreImportFlagBits
-- specifying additional parameters for the semaphore payload import
-- operation.
[$sel:flags:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> SemaphoreImportFlags
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of handle.
[$sel:handleType:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> ExternalSemaphoreHandleTypeFlagBits
-- | handle is NULL or the external handle to import.
[$sel:handle:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> HANDLE
-- | name is NULL or a null-terminated UTF-16 string
-- naming the underlying synchronization primitive to import.
[$sel:name:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> LPCWSTR
-- | VkExportSemaphoreWin32HandleInfoKHR - Structure specifying additional
-- attributes of Windows handles exported from a semaphore
--
-- Description
--
-- If ExportSemaphoreCreateInfo is not included in the same
-- pNext chain, this structure is ignored.
--
-- If ExportSemaphoreCreateInfo is included in the pNext
-- chain of SemaphoreCreateInfo with a Windows
-- handleType, but either
-- ExportSemaphoreWin32HandleInfoKHR is not included in the
-- pNext chain, or if it is but pAttributes is set to
-- NULL, default security descriptor values will be used, and
-- child processes created by the application will not inherit the
-- handle, as described in the MSDN documentation for “Synchronization
-- Object Security and Access Rights”1. Further, if the structure is not
-- present, the access rights used depend on the handle type.
--
-- For handles of the following types:
--
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT
--
-- The implementation must ensure the access rights allow both
-- signal and wait operations on the semaphore.
--
-- For handles of the following types:
--
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT
--
-- The access rights must be:
--
--
-- GENERIC_ALL
--
--
--
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pAttributes is not NULL, pAttributes
-- must be a valid pointer to a valid SECURITY_ATTRIBUTES
-- value
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32, StructureType
data ExportSemaphoreWin32HandleInfoKHR
ExportSemaphoreWin32HandleInfoKHR :: Ptr SECURITY_ATTRIBUTES -> DWORD -> LPCWSTR -> ExportSemaphoreWin32HandleInfoKHR
-- | pAttributes is a pointer to a Windows
-- SECURITY_ATTRIBUTES structure specifying security attributes of
-- the handle.
[$sel:attributes:ExportSemaphoreWin32HandleInfoKHR] :: ExportSemaphoreWin32HandleInfoKHR -> Ptr SECURITY_ATTRIBUTES
-- | dwAccess is a DWORD specifying access rights of the
-- handle.
[$sel:dwAccess:ExportSemaphoreWin32HandleInfoKHR] :: ExportSemaphoreWin32HandleInfoKHR -> DWORD
-- | name is a null-terminated UTF-16 string to associate with the
-- underlying synchronization primitive referenced by NT handles exported
-- from the created semaphore.
[$sel:name:ExportSemaphoreWin32HandleInfoKHR] :: ExportSemaphoreWin32HandleInfoKHR -> LPCWSTR
-- | VkD3D12FenceSubmitInfoKHR - Structure specifying values for Direct3D
-- 12 fence-backed semaphores
--
-- Description
--
-- If the semaphore in SubmitInfo::pWaitSemaphores or
-- SubmitInfo::pSignalSemaphores corresponding to an
-- entry in pWaitSemaphoreValues or
-- pSignalSemaphoreValues respectively does not currently have a
-- payload referring to a Direct3D 12 fence, the implementation
-- must ignore the value in the pWaitSemaphoreValues or
-- pSignalSemaphoreValues entry.
--
-- Note
--
-- As the introduction of the external semaphore handle type
-- EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT predates that of
-- timeline semaphores, support for importing semaphore payloads from
-- external handles of that type into semaphores created (implicitly or
-- explicitly) with a SemaphoreType of
-- SEMAPHORE_TYPE_BINARY is preserved for backwards compatibility.
-- However, applications should prefer importing such handle types
-- into semaphores created with a SemaphoreType of
-- SEMAPHORE_TYPE_TIMELINE, and use the
-- TimelineSemaphoreSubmitInfo structure instead of the
-- D3D12FenceSubmitInfoKHR structure to specify the values to use
-- when waiting for and signaling such semaphores.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If waitSemaphoreValuesCount is not 0, and
-- pWaitSemaphoreValues is not NULL,
-- pWaitSemaphoreValues must be a valid pointer to an
-- array of waitSemaphoreValuesCount uint64_t
-- values
-- - If signalSemaphoreValuesCount is not 0, and
-- pSignalSemaphoreValues is not NULL,
-- pSignalSemaphoreValues must be a valid pointer to an
-- array of signalSemaphoreValuesCount uint64_t
-- values
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32, StructureType
data D3D12FenceSubmitInfoKHR
D3D12FenceSubmitInfoKHR :: Word32 -> Vector Word64 -> Word32 -> Vector Word64 -> D3D12FenceSubmitInfoKHR
-- | waitSemaphoreValuesCount is the number of semaphore wait
-- values specified in pWaitSemaphoreValues.
[$sel:waitSemaphoreValuesCount:D3D12FenceSubmitInfoKHR] :: D3D12FenceSubmitInfoKHR -> Word32
-- | pWaitSemaphoreValues is a pointer to an array of
-- waitSemaphoreValuesCount values for the corresponding
-- semaphores in SubmitInfo::pWaitSemaphores to wait for.
[$sel:waitSemaphoreValues:D3D12FenceSubmitInfoKHR] :: D3D12FenceSubmitInfoKHR -> Vector Word64
-- | signalSemaphoreValuesCount is the number of semaphore signal
-- values specified in pSignalSemaphoreValues.
[$sel:signalSemaphoreValuesCount:D3D12FenceSubmitInfoKHR] :: D3D12FenceSubmitInfoKHR -> Word32
-- | pSignalSemaphoreValues is a pointer to an array of
-- signalSemaphoreValuesCount values for the corresponding
-- semaphores in SubmitInfo::pSignalSemaphores to set
-- when signaled.
[$sel:signalSemaphoreValues:D3D12FenceSubmitInfoKHR] :: D3D12FenceSubmitInfoKHR -> Vector Word64
-- | VkSemaphoreGetWin32HandleInfoKHR - Structure describing a Win32 handle
-- semaphore export operation
--
-- Description
--
-- The properties of the handle returned depend on the value of
-- handleType. See ExternalSemaphoreHandleTypeFlagBits
-- for a description of the properties of the defined external semaphore
-- handle types.
--
-- Valid Usage
--
--
-- - handleType must have been included in
-- ExportSemaphoreCreateInfo::handleTypes when the
-- semaphore’s current payload was created
--
--
--
-- - If handleType is defined as an NT handle,
-- getSemaphoreWin32HandleKHR must be called no more than
-- once for each valid unique combination of semaphore and
-- handleType
-- - semaphore must not currently have its payload
-- replaced by an imported payload as described below in Importing
-- Semaphore Payloads unless that imported payload’s handle type was
-- included in
-- ExternalSemaphoreProperties::exportFromImportedHandleTypes
-- for handleType
-- - If handleType refers to a handle type with copy payload
-- transference semantics, as defined below in Importing Semaphore
-- Payloads, there must be no queue waiting on
-- semaphore
-- - If handleType refers to a handle type with copy payload
-- transference semantics, semaphore must be signaled, or
-- have an associated semaphore signal operation pending
-- execution
-- - handleType must be defined as an NT handle or a
-- global share handle
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_semaphore_win32,
-- ExternalSemaphoreHandleTypeFlagBits, Semaphore,
-- StructureType, getSemaphoreWin32HandleKHR
data SemaphoreGetWin32HandleInfoKHR
SemaphoreGetWin32HandleInfoKHR :: Semaphore -> ExternalSemaphoreHandleTypeFlagBits -> SemaphoreGetWin32HandleInfoKHR
-- | semaphore is the semaphore from which state will be exported.
[$sel:semaphore:SemaphoreGetWin32HandleInfoKHR] :: SemaphoreGetWin32HandleInfoKHR -> Semaphore
-- | handleType is a ExternalSemaphoreHandleTypeFlagBits
-- value specifying the type of handle requested.
[$sel:handleType:SemaphoreGetWin32HandleInfoKHR] :: SemaphoreGetWin32HandleInfoKHR -> ExternalSemaphoreHandleTypeFlagBits
type KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION = 1
pattern KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME = "VK_KHR_external_semaphore_win32"
pattern KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type HANDLE = Ptr ()
type DWORD = Word32
type LPCWSTR = Ptr CWchar
data SECURITY_ATTRIBUTES
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_win32.D3D12FenceSubmitInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_win32.SemaphoreGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.D3D12FenceSubmitInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.D3D12FenceSubmitInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_win32.D3D12FenceSubmitInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR
-- | Name
--
-- VK_KHR_external_fence_win32 - device extension
--
-- VK_KHR_external_fence_win32
--
--
-- - Name String
-- VK_KHR_external_fence_win32
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 115
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_external_fence
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-05-08
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jesse Hall,
-- Google
- James Jones, NVIDIA
- Jeff Juliano,
-- NVIDIA
- Cass Everitt, Oculus
- Contributors to
-- VK_KHR_external_semaphore_win32
--
--
-- Description
--
-- An application using external memory may wish to synchronize access to
-- that memory using fences. This extension enables an application to
-- export fence payload to and import fence payload from Windows handles.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- This extension borrows concepts, semantics, and language from
-- VK_KHR_external_semaphore_win32. That extension’s issues
-- apply equally to this extension.
--
-- 1) Should D3D12 fence handle types be supported, like they are for
-- semaphores?
--
-- RESOLVED: No. Doing so would require extending the fence signal
-- and wait operations to provide values to signal / wait for, like
-- D3D12FenceSubmitInfoKHR does. A D3D12 fence can be signaled by
-- importing it into a Semaphore instead of a Fence, and
-- applications can check status or wait on the D3D12 fence using
-- non-Vulkan APIs. The convenience of being able to do these operations
-- on Fence objects does not justify the extra API complexity.
--
-- Version History
--
--
-- - Revision 1, 2017-05-08 (Jesse Hall)
--
--
-- See Also
--
-- ExportFenceWin32HandleInfoKHR,
-- FenceGetWin32HandleInfoKHR,
-- ImportFenceWin32HandleInfoKHR, getFenceWin32HandleKHR,
-- importFenceWin32HandleKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_external_fence_win32
-- | vkGetFenceWin32HandleKHR - Get a Windows HANDLE for a fence
--
-- Description
--
-- For handle types defined as NT handles, the handles returned by
-- getFenceWin32HandleKHR are owned by the application. To avoid
-- leaking resources, the application must release ownership of
-- them using the CloseHandle system call when they are no
-- longer needed.
--
-- Exporting a Windows handle from a fence may have side effects
-- depending on the transference of the specified handle type, as
-- described in Importing Fence Payloads.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_win32, Device,
-- FenceGetWin32HandleInfoKHR
getFenceWin32HandleKHR :: forall io. MonadIO io => Device -> FenceGetWin32HandleInfoKHR -> io HANDLE
-- | vkImportFenceWin32HandleKHR - Import a fence from a Windows HANDLE
--
-- Description
--
-- Importing a fence payload from Windows handles does not transfer
-- ownership of the handle to the Vulkan implementation. For handle types
-- defined as NT handles, the application must release ownership
-- using the CloseHandle system call when the handle is no
-- longer needed.
--
-- Applications can import the same fence payload into multiple
-- instances of Vulkan, into the same instance from which it was
-- exported, and multiple times into a given Vulkan instance.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_win32, Device,
-- ImportFenceWin32HandleInfoKHR
importFenceWin32HandleKHR :: forall io. MonadIO io => Device -> ImportFenceWin32HandleInfoKHR -> io ()
-- | VkImportFenceWin32HandleInfoKHR - (None)
--
-- Description
--
-- The handle types supported by handleType are:
--
-- TODO: table
--
-- Handle Types Supported by ImportFenceWin32HandleInfoKHR
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - fence must be a valid Fence handle
-- - flags must be a valid combination of
-- FenceImportFlagBits values
--
--
-- Host Synchronization
--
--
-- - Host access to fence must be externally
-- synchronized
--
--
-- See Also
--
-- VK_KHR_external_fence_win32,
-- ExternalFenceHandleTypeFlagBits, Fence,
-- FenceImportFlags, StructureType,
-- importFenceWin32HandleKHR
data ImportFenceWin32HandleInfoKHR
ImportFenceWin32HandleInfoKHR :: Fence -> FenceImportFlags -> ExternalFenceHandleTypeFlagBits -> HANDLE -> LPCWSTR -> ImportFenceWin32HandleInfoKHR
-- | fence is the fence into which the state will be imported.
[$sel:fence:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> Fence
-- | flags is a bitmask of FenceImportFlagBits specifying
-- additional parameters for the fence payload import operation.
[$sel:flags:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> FenceImportFlags
-- | handleType is a ExternalFenceHandleTypeFlagBits value
-- specifying the type of handle.
[$sel:handleType:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> ExternalFenceHandleTypeFlagBits
-- | handle is NULL or the external handle to import.
[$sel:handle:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> HANDLE
-- | name is NULL or a null-terminated UTF-16 string
-- naming the underlying synchronization primitive to import.
[$sel:name:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> LPCWSTR
-- | VkExportFenceWin32HandleInfoKHR - Structure specifying additional
-- attributes of Windows handles exported from a fence
--
-- Description
--
-- If ExportFenceCreateInfo is not inluded in the same
-- pNext chain, this structure is ignored.
--
-- If ExportFenceCreateInfo is included in the pNext
-- chain of FenceCreateInfo with a Windows handleType,
-- but either ExportFenceWin32HandleInfoKHR is not included in the
-- pNext chain, or if it is but pAttributes is set to
-- NULL, default security descriptor values will be used, and
-- child processes created by the application will not inherit the
-- handle, as described in the MSDN documentation for “Synchronization
-- Object Security and Access Rights”1. Further, if the structure is not
-- present, the access rights will be
--
-- DXGI_SHARED_RESOURCE_READ |
-- DXGI_SHARED_RESOURCE_WRITE
--
-- for handles of the following types:
--
-- EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
--
--
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pAttributes is not NULL, pAttributes
-- must be a valid pointer to a valid SECURITY_ATTRIBUTES
-- value
--
--
-- See Also
--
-- VK_KHR_external_fence_win32, StructureType
data ExportFenceWin32HandleInfoKHR
ExportFenceWin32HandleInfoKHR :: Ptr SECURITY_ATTRIBUTES -> DWORD -> LPCWSTR -> ExportFenceWin32HandleInfoKHR
-- | pAttributes is a pointer to a Windows
-- SECURITY_ATTRIBUTES structure specifying security attributes of
-- the handle.
[$sel:attributes:ExportFenceWin32HandleInfoKHR] :: ExportFenceWin32HandleInfoKHR -> Ptr SECURITY_ATTRIBUTES
-- | dwAccess is a DWORD specifying access rights of the
-- handle.
[$sel:dwAccess:ExportFenceWin32HandleInfoKHR] :: ExportFenceWin32HandleInfoKHR -> DWORD
-- | name is a null-terminated UTF-16 string to associate with the
-- underlying synchronization primitive referenced by NT handles exported
-- from the created fence.
[$sel:name:ExportFenceWin32HandleInfoKHR] :: ExportFenceWin32HandleInfoKHR -> LPCWSTR
-- | VkFenceGetWin32HandleInfoKHR - Structure describing a Win32 handle
-- fence export operation
--
-- Description
--
-- The properties of the handle returned depend on the value of
-- handleType. See ExternalFenceHandleTypeFlagBits for a
-- description of the properties of the defined external fence handle
-- types.
--
-- Valid Usage
--
--
-- - handleType must have been included in
-- ExportFenceCreateInfo::handleTypes when the
-- fence’s current payload was created
--
--
--
-- - If handleType is defined as an NT handle,
-- getFenceWin32HandleKHR must be called no more than once
-- for each valid unique combination of fence and
-- handleType
-- - fence must not currently have its payload replaced
-- by an imported payload as described below in Importing Fence
-- Payloads unless that imported payload’s handle type was included
-- in
-- ExternalFenceProperties::exportFromImportedHandleTypes
-- for handleType
-- - If handleType refers to a handle type with copy payload
-- transference semantics, fence must be signaled, or
-- have an associated fence signal operation pending
-- execution
-- - handleType must be defined as an NT handle or a
-- global share handle
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_external_fence_win32,
-- ExternalFenceHandleTypeFlagBits, Fence,
-- StructureType, getFenceWin32HandleKHR
data FenceGetWin32HandleInfoKHR
FenceGetWin32HandleInfoKHR :: Fence -> ExternalFenceHandleTypeFlagBits -> FenceGetWin32HandleInfoKHR
-- | fence is the fence from which state will be exported.
[$sel:fence:FenceGetWin32HandleInfoKHR] :: FenceGetWin32HandleInfoKHR -> Fence
-- | handleType is a ExternalFenceHandleTypeFlagBits value
-- specifying the type of handle requested.
[$sel:handleType:FenceGetWin32HandleInfoKHR] :: FenceGetWin32HandleInfoKHR -> ExternalFenceHandleTypeFlagBits
type KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION = 1
pattern KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: forall a. Integral a => a
type KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME = "VK_KHR_external_fence_win32"
pattern KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
type HANDLE = Ptr ()
type DWORD = Word32
type LPCWSTR = Ptr CWchar
data SECURITY_ATTRIBUTES
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR
-- | Name
--
-- VK_NV_external_memory - device extension
--
-- VK_NV_external_memory
--
--
-- - Name String VK_NV_external_memory
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 57
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_NV_external_memory_capabilities
-- - Deprecation state
- Deprecated by
-- VK_KHR_external_memory extension
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2016-08-19
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- James Jones,
-- NVIDIA
- Carsten Rohde, NVIDIA
--
--
-- Description
--
-- Applications may wish to export memory to other Vulkan instances or
-- other APIs, or import memory from other Vulkan instances or other APIs
-- to enable Vulkan workloads to be split up across application module,
-- process, or API boundaries. This extension enables applications to
-- create exportable Vulkan memory objects such that the underlying
-- resources can be referenced outside the Vulkan instance that created
-- them.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) If memory objects are shared between processes and APIs, is this
-- considered aliasing according to the rules outlined in the Memory
-- Aliasing section?
--
-- RESOLVED: Yes, but strict exceptions to the rules are added to
-- allow some forms of aliasing in these cases. Further, other extensions
-- may build upon these new aliasing rules to define specific support
-- usage within Vulkan for imported native memory objects, or memory
-- objects from other APIs.
--
-- 2) Are new image layouts or metadata required to specify image layouts
-- and layout transitions compatible with non-Vulkan APIs, or with other
-- instances of the same Vulkan driver?
--
-- RESOLVED: No. Separate instances of the same Vulkan driver
-- running on the same GPU should have identical internal layout
-- semantics, so applictions have the tools they need to ensure views of
-- images are consistent between the two instances. Other APIs will fall
-- into two categories: Those that are Vulkan compatible (a term to be
-- defined by subsequent interopability extensions), or Vulkan
-- incompatible. When sharing images with Vulkan incompatible APIs, the
-- Vulkan image must be transitioned to the IMAGE_LAYOUT_GENERAL
-- layout before handing it off to the external API.
--
-- Note this does not attempt to address cross-device transitions, nor
-- transitions to engines on the same device which are not visible within
-- the Vulkan API. Both of these are beyond the scope of this extension.
--
-- Examples
--
--
-- // TODO: Write some sample code here.
--
--
-- Version History
--
--
-- - Revision 1, 2016-08-19 (James Jones)
--
--
-- See Also
--
-- ExportMemoryAllocateInfoNV,
-- ExternalMemoryImageCreateInfoNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_external_memory
-- | VkExternalMemoryImageCreateInfoNV - Specify that an image may be
-- backed by external memory
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_external_memory, ExternalMemoryHandleTypeFlagsNV,
-- StructureType
data ExternalMemoryImageCreateInfoNV
ExternalMemoryImageCreateInfoNV :: ExternalMemoryHandleTypeFlagsNV -> ExternalMemoryImageCreateInfoNV
-- | handleTypes is zero, or a bitmask of
-- ExternalMemoryHandleTypeFlagBitsNV specifying one or more
-- external memory handle types.
--
-- handleTypes must be a valid combination of
-- ExternalMemoryHandleTypeFlagBitsNV values
[$sel:handleTypes:ExternalMemoryImageCreateInfoNV] :: ExternalMemoryImageCreateInfoNV -> ExternalMemoryHandleTypeFlagsNV
-- | VkExportMemoryAllocateInfoNV - Specify memory handle types that may be
-- exported
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_external_memory, ExternalMemoryHandleTypeFlagsNV,
-- StructureType
data ExportMemoryAllocateInfoNV
ExportMemoryAllocateInfoNV :: ExternalMemoryHandleTypeFlagsNV -> ExportMemoryAllocateInfoNV
-- | handleTypes is a bitmask of
-- ExternalMemoryHandleTypeFlagBitsNV specifying one or more
-- memory handle types that may be exported. Multiple handle types
-- may be requested for the same allocation as long as they are
-- compatible, as reported by
-- getPhysicalDeviceExternalImageFormatPropertiesNV.
--
-- handleTypes must be a valid combination of
-- ExternalMemoryHandleTypeFlagBitsNV values
[$sel:handleTypes:ExportMemoryAllocateInfoNV] :: ExportMemoryAllocateInfoNV -> ExternalMemoryHandleTypeFlagsNV
type NV_EXTERNAL_MEMORY_SPEC_VERSION = 1
pattern NV_EXTERNAL_MEMORY_SPEC_VERSION :: forall a. Integral a => a
type NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory"
pattern NV_EXTERNAL_MEMORY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkExternalMemoryHandleTypeFlagBitsNV - Bitmask specifying external
-- memory handle types
--
-- See Also
--
-- VK_NV_external_memory_capabilities,
-- ExternalMemoryHandleTypeFlagsNV
newtype ExternalMemoryHandleTypeFlagBitsNV
ExternalMemoryHandleTypeFlagBitsNV :: Flags -> ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV, or one
-- duplicated from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV specifies a
-- handle to memory returned by getMemoryWin32HandleNV.
pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV specifies a
-- valid NT handle to memory returned by
-- IDXGIResource1::CreateSharedHandle, or a handle duplicated
-- from such a handle using DuplicateHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
-- | EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV specifies a
-- handle to memory returned by
-- IDXGIResource::GetSharedHandle().
pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: ExternalMemoryHandleTypeFlagBitsNV
type ExternalMemoryHandleTypeFlagsNV = ExternalMemoryHandleTypeFlagBitsNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory.ExportMemoryAllocateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV
module Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2
-- | vkGetPhysicalDeviceFeatures2 - Reports capabilities of a physical
-- device
--
-- Description
--
-- Each structure in pFeatures and its pNext chain
-- contains members corresponding to fine-grained features.
-- getPhysicalDeviceFeatures2 writes each member to a boolean
-- value indicating whether that feature is supported.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice,
-- PhysicalDeviceFeatures2
getPhysicalDeviceFeatures2 :: forall a io. (Extendss PhysicalDeviceFeatures2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceFeatures2 a)
-- | vkGetPhysicalDeviceProperties2 - Returns properties of a physical
-- device
--
-- Description
--
-- Each structure in pProperties and its pNext chain
-- contains members corresponding to implementation-dependent properties,
-- behaviors, or limits. getPhysicalDeviceProperties2 fills in
-- each member to specify the corresponding value for the implementation.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice,
-- PhysicalDeviceProperties2
getPhysicalDeviceProperties2 :: forall a io. (Extendss PhysicalDeviceProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceProperties2 a)
-- | vkGetPhysicalDeviceFormatProperties2 - Lists physical device’s format
-- capabilities
--
-- Description
--
-- getPhysicalDeviceFormatProperties2 behaves similarly to
-- getPhysicalDeviceFormatProperties, with the ability to return
-- extended information in a pNext chain of output structures.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Format, FormatProperties2,
-- PhysicalDevice
getPhysicalDeviceFormatProperties2 :: forall a io. (Extendss FormatProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> Format -> io (FormatProperties2 a)
-- | vkGetPhysicalDeviceImageFormatProperties2 - Lists physical device’s
-- image format capabilities
--
-- Description
--
-- getPhysicalDeviceImageFormatProperties2 behaves similarly to
-- getPhysicalDeviceImageFormatProperties, with the ability to
-- return extended information in a pNext chain of output
-- structures.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ImageFormatProperties2,
-- PhysicalDevice, PhysicalDeviceImageFormatInfo2
getPhysicalDeviceImageFormatProperties2 :: forall a b io. (Extendss PhysicalDeviceImageFormatInfo2 a, PokeChain a, Extendss ImageFormatProperties2 b, PokeChain b, PeekChain b, MonadIO io) => PhysicalDevice -> PhysicalDeviceImageFormatInfo2 a -> io (ImageFormatProperties2 b)
-- | vkGetPhysicalDeviceQueueFamilyProperties2 - Reports properties of the
-- queues of the specified physical device
--
-- Description
--
-- getPhysicalDeviceQueueFamilyProperties2 behaves similarly to
-- getPhysicalDeviceQueueFamilyProperties, with the ability to
-- return extended information in a pNext chain of output
-- structures.
--
-- 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
-- QueueFamilyProperties2 structures
--
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice,
-- QueueFamilyProperties2
getPhysicalDeviceQueueFamilyProperties2 :: forall a io. (Extendss QueueFamilyProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io ("queueFamilyProperties" ::: Vector (QueueFamilyProperties2 a))
-- | vkGetPhysicalDeviceMemoryProperties2 - Reports memory information for
-- the specified physical device
--
-- Description
--
-- getPhysicalDeviceMemoryProperties2 behaves similarly to
-- getPhysicalDeviceMemoryProperties, with the ability to return
-- extended information in a pNext chain of output structures.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice,
-- PhysicalDeviceMemoryProperties2
getPhysicalDeviceMemoryProperties2 :: forall a io. (Extendss PhysicalDeviceMemoryProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceMemoryProperties2 a)
-- | vkGetPhysicalDeviceSparseImageFormatProperties2 - Retrieve properties
-- of an image format applied to sparse images
--
-- Description
--
-- getPhysicalDeviceSparseImageFormatProperties2 behaves
-- identically to getPhysicalDeviceSparseImageFormatProperties,
-- with the ability to return extended information by adding extending
-- structures to the pNext chain of its pProperties
-- parameter.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pFormatInfo must be a valid pointer to a valid
-- PhysicalDeviceSparseImageFormatInfo2 structure
-- - pPropertyCount must be a valid pointer to a
-- uint32_t value
-- - If the value referenced by pPropertyCount is not
-- 0, and pProperties is not NULL,
-- pProperties must be a valid pointer to an array of
-- pPropertyCount SparseImageFormatProperties2
-- structures
--
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDevice,
-- PhysicalDeviceSparseImageFormatInfo2,
-- SparseImageFormatProperties2
getPhysicalDeviceSparseImageFormatProperties2 :: forall io. MonadIO io => PhysicalDevice -> PhysicalDeviceSparseImageFormatInfo2 -> io ("properties" ::: Vector SparseImageFormatProperties2)
-- | VkPhysicalDeviceFeatures2 - Structure describing the fine-grained
-- features that can be supported by an implementation
--
-- Description
--
-- The pNext chain of this structure is used to extend the
-- structure with features defined by extensions. This structure
-- can be used in getPhysicalDeviceFeatures2 or can
-- be included in the pNext chain of a DeviceCreateInfo
-- structure, in which case it controls which features are enabled in the
-- device in lieu of pEnabledFeatures.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDeviceFeatures,
-- StructureType, getPhysicalDeviceFeatures2,
-- getPhysicalDeviceFeatures2KHR
data PhysicalDeviceFeatures2 (es :: [Type])
PhysicalDeviceFeatures2 :: Chain es -> PhysicalDeviceFeatures -> PhysicalDeviceFeatures2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceFeatures2] :: PhysicalDeviceFeatures2 (es :: [Type]) -> Chain es
-- | features is a PhysicalDeviceFeatures structure
-- describing the fine-grained features of the Vulkan 1.0 API.
[$sel:features:PhysicalDeviceFeatures2] :: PhysicalDeviceFeatures2 (es :: [Type]) -> PhysicalDeviceFeatures
-- | VkPhysicalDeviceProperties2 - Structure specifying physical device
-- properties
--
-- Description
--
-- The pNext chain of this structure is used to extend the
-- structure with properties defined by extensions.
--
-- 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
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVulkan11Properties, or
-- PhysicalDeviceVulkan12Properties
-- - The sType value of each struct in the pNext
-- chain must be unique
--
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDeviceProperties,
-- StructureType, getPhysicalDeviceProperties2,
-- getPhysicalDeviceProperties2KHR
data PhysicalDeviceProperties2 (es :: [Type])
PhysicalDeviceProperties2 :: Chain es -> PhysicalDeviceProperties -> PhysicalDeviceProperties2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceProperties2] :: PhysicalDeviceProperties2 (es :: [Type]) -> Chain es
-- | properties is a PhysicalDeviceProperties structure
-- describing properties of the physical device. This structure is
-- written with the same values as if it were written by
-- getPhysicalDeviceProperties.
[$sel:properties:PhysicalDeviceProperties2] :: PhysicalDeviceProperties2 (es :: [Type]) -> PhysicalDeviceProperties
-- | VkFormatProperties2 - Structure specifying image format properties
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, FormatProperties, StructureType,
-- getPhysicalDeviceFormatProperties2,
-- getPhysicalDeviceFormatProperties2KHR
data FormatProperties2 (es :: [Type])
FormatProperties2 :: Chain es -> FormatProperties -> FormatProperties2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:FormatProperties2] :: FormatProperties2 (es :: [Type]) -> Chain es
-- | formatProperties is a FormatProperties structure
-- describing features supported by the requested format.
[$sel:formatProperties:FormatProperties2] :: FormatProperties2 (es :: [Type]) -> FormatProperties
-- | VkImageFormatProperties2 - Structure specifying an image format
-- properties
--
-- Description
--
-- If the combination of parameters to
-- getPhysicalDeviceImageFormatProperties2 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. This exeption only applies to
-- imageFormatProperties, not sType, pNext, or
-- any structures chained from pNext.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, ImageFormatProperties,
-- StructureType, getPhysicalDeviceImageFormatProperties2,
-- getPhysicalDeviceImageFormatProperties2KHR
data ImageFormatProperties2 (es :: [Type])
ImageFormatProperties2 :: Chain es -> ImageFormatProperties -> ImageFormatProperties2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure. The pNext chain of
-- ImageFormatProperties2 is used to allow the specification of
-- additional capabilities to be returned from
-- getPhysicalDeviceImageFormatProperties2.
[$sel:next:ImageFormatProperties2] :: ImageFormatProperties2 (es :: [Type]) -> Chain es
-- | imageFormatProperties is a ImageFormatProperties
-- structure in which capabilities are returned.
[$sel:imageFormatProperties:ImageFormatProperties2] :: ImageFormatProperties2 (es :: [Type]) -> ImageFormatProperties
-- | VkPhysicalDeviceImageFormatInfo2 - Structure specifying image creation
-- parameters
--
-- Description
--
-- The members of PhysicalDeviceImageFormatInfo2 correspond to the
-- arguments to getPhysicalDeviceImageFormatProperties, with
-- sType and pNext added for extensibility.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Format, ImageCreateFlags,
-- ImageTiling, ImageType, ImageUsageFlags,
-- StructureType, getPhysicalDeviceImageFormatProperties2,
-- getPhysicalDeviceImageFormatProperties2KHR
data PhysicalDeviceImageFormatInfo2 (es :: [Type])
PhysicalDeviceImageFormatInfo2 :: Chain es -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> PhysicalDeviceImageFormatInfo2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure. The pNext chain of
-- PhysicalDeviceImageFormatInfo2 is used to provide additional
-- image parameters to getPhysicalDeviceImageFormatProperties2.
[$sel:next:PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> Chain es
-- | format is a Format value indicating the image format,
-- corresponding to ImageCreateInfo::format.
[$sel:format:PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> Format
-- | type is a ImageType value indicating the image type,
-- corresponding to ImageCreateInfo::imageType.
[$sel:type':PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> ImageType
-- | tiling is a ImageTiling value indicating the image
-- tiling, corresponding to ImageCreateInfo::tiling.
[$sel:tiling:PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> ImageTiling
-- | usage is a bitmask of ImageUsageFlagBits indicating
-- the intended usage of the image, corresponding to
-- ImageCreateInfo::usage.
[$sel:usage:PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> ImageUsageFlags
-- | flags is a bitmask of ImageCreateFlagBits indicating
-- additional parameters of the image, corresponding to
-- ImageCreateInfo::flags.
[$sel:flags:PhysicalDeviceImageFormatInfo2] :: PhysicalDeviceImageFormatInfo2 (es :: [Type]) -> ImageCreateFlags
-- | VkQueueFamilyProperties2 - Structure providing information about a
-- queue family
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, QueueFamilyProperties,
-- StructureType, getPhysicalDeviceQueueFamilyProperties2,
-- getPhysicalDeviceQueueFamilyProperties2KHR
data QueueFamilyProperties2 (es :: [Type])
QueueFamilyProperties2 :: Chain es -> QueueFamilyProperties -> QueueFamilyProperties2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:QueueFamilyProperties2] :: QueueFamilyProperties2 (es :: [Type]) -> Chain es
-- | queueFamilyProperties is a QueueFamilyProperties
-- structure which is populated with the same values as in
-- getPhysicalDeviceQueueFamilyProperties.
[$sel:queueFamilyProperties:QueueFamilyProperties2] :: QueueFamilyProperties2 (es :: [Type]) -> QueueFamilyProperties
-- | VkPhysicalDeviceMemoryProperties2 - Structure specifying physical
-- device memory properties
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, PhysicalDeviceMemoryProperties,
-- StructureType, getPhysicalDeviceMemoryProperties2,
-- getPhysicalDeviceMemoryProperties2KHR
data PhysicalDeviceMemoryProperties2 (es :: [Type])
PhysicalDeviceMemoryProperties2 :: Chain es -> PhysicalDeviceMemoryProperties -> PhysicalDeviceMemoryProperties2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:PhysicalDeviceMemoryProperties2] :: PhysicalDeviceMemoryProperties2 (es :: [Type]) -> Chain es
-- | memoryProperties is a PhysicalDeviceMemoryProperties
-- structure which is populated with the same values as in
-- getPhysicalDeviceMemoryProperties.
[$sel:memoryProperties:PhysicalDeviceMemoryProperties2] :: PhysicalDeviceMemoryProperties2 (es :: [Type]) -> PhysicalDeviceMemoryProperties
-- | VkSparseImageFormatProperties2 - Structure specifying sparse image
-- format properties
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, SparseImageFormatProperties,
-- StructureType,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR
data SparseImageFormatProperties2
SparseImageFormatProperties2 :: SparseImageFormatProperties -> SparseImageFormatProperties2
-- | properties is a SparseImageFormatProperties structure
-- which is populated with the same values as in
-- getPhysicalDeviceSparseImageFormatProperties.
[$sel:properties:SparseImageFormatProperties2] :: SparseImageFormatProperties2 -> SparseImageFormatProperties
-- | VkPhysicalDeviceSparseImageFormatInfo2 - Structure specifying sparse
-- image format inputs
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, Format, ImageTiling,
-- ImageType, ImageUsageFlags, SampleCountFlagBits,
-- StructureType,
-- getPhysicalDeviceSparseImageFormatProperties2,
-- getPhysicalDeviceSparseImageFormatProperties2KHR
data PhysicalDeviceSparseImageFormatInfo2
PhysicalDeviceSparseImageFormatInfo2 :: Format -> ImageType -> SampleCountFlagBits -> ImageUsageFlags -> ImageTiling -> PhysicalDeviceSparseImageFormatInfo2
-- | format is the image format.
--
-- format must be a valid Format value
[$sel:format:PhysicalDeviceSparseImageFormatInfo2] :: PhysicalDeviceSparseImageFormatInfo2 -> Format
-- | type is the dimensionality of image.
--
-- type must be a valid ImageType value
[$sel:type':PhysicalDeviceSparseImageFormatInfo2] :: PhysicalDeviceSparseImageFormatInfo2 -> ImageType
-- | samples is a SampleCountFlagBits value specifying the
-- number of samples per texel.
--
-- samples must be a bit value that is set in
-- ImageFormatProperties::sampleCounts returned by
-- getPhysicalDeviceImageFormatProperties with format,
-- type, tiling, and usage equal to those in
-- this command and flags equal to the value that is set in
-- ImageCreateInfo::flags when the image is created
--
-- samples must be a valid SampleCountFlagBits
-- value
[$sel:samples:PhysicalDeviceSparseImageFormatInfo2] :: PhysicalDeviceSparseImageFormatInfo2 -> SampleCountFlagBits
-- | usage is a bitmask describing the intended usage of the
-- image.
--
-- usage must be a valid combination of
-- ImageUsageFlagBits values
--
-- usage must not be 0
[$sel:usage:PhysicalDeviceSparseImageFormatInfo2] :: PhysicalDeviceSparseImageFormatInfo2 -> ImageUsageFlags
-- | tiling is the tiling arrangement of the texel blocks in
-- memory.
--
-- tiling must be a valid ImageTiling value
[$sel:tiling:PhysicalDeviceSparseImageFormatInfo2] :: PhysicalDeviceSparseImageFormatInfo2 -> ImageTiling
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es)
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 es)
-- | Name
--
-- VK_KHR_get_physical_device_properties2 - instance extension
--
-- VK_KHR_get_physical_device_properties2
--
--
-- - Name String
-- VK_KHR_get_physical_device_properties2
--
--
--
-- - Extension Type Instance extension
-- - Registered Extension Number 60
-- - Revision 2
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
- Jeff Bolz, NVIDIA
- Ian
-- Elliott, Google
--
--
-- Description
--
-- This extension provides new entry points to query device features,
-- device properties, and format properties in a way that can be easily
-- extended by other extensions, without introducing any further entry
-- points. The Vulkan 1.0 feature/limit/formatproperty structures do not
-- include sType/pNext members. This extension wraps
-- them in new structures with sType/pNext members, so
-- an application can query a chain of feature/limit/formatproperty
-- structures by constructing the chain and letting the implementation
-- fill them in. A new command is added for each
-- vkGetPhysicalDevice* command in core Vulkan 1.0. The new
-- feature structure (and a pNext chain of extending structures)
-- can also be passed in to device creation to enable features.
--
-- This extension also allows applications to use the physical-device
-- components of device extensions before createDevice is called.
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Examples
--
--
-- // Get features with a hypothetical future extension.
-- VkHypotheticalExtensionFeaturesKHR hypotheticalFeatures =
-- {
-- VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR, // sType
-- NULL, // pNext
-- };
--
-- VkPhysicalDeviceFeatures2KHR features =
-- {
-- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, // sType
-- &hypotheticalFeatures, // pNext
-- };
--
-- // After this call, features and hypotheticalFeatures have been filled out.
-- vkGetPhysicalDeviceFeatures2KHR(physicalDevice, &features);
--
-- // Properties/limits can be chained and queried similarly.
--
-- // Enable some features:
-- VkHypotheticalExtensionFeaturesKHR enabledHypotheticalFeatures =
-- {
-- VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR, // sType
-- NULL, // pNext
-- };
--
-- VkPhysicalDeviceFeatures2KHR enabledFeatures =
-- {
-- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, // sType
-- &enabledHypotheticalFeatures, // pNext
-- };
--
-- enabledFeatures.features.xyz = VK_TRUE;
-- enabledHypotheticalFeatures.abc = VK_TRUE;
--
-- VkDeviceCreateInfo deviceCreateInfo =
-- {
-- VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, // sType
-- &enabledFeatures, // pNext
-- ...
-- NULL, // pEnabledFeatures
-- };
--
-- VkDevice device;
-- vkCreateDevice(physicalDevice, &deviceCreateInfo, NULL, &device);
--
--
-- Version History
--
--
-- - Revision 1, 2016-09-12 (Jeff Bolz)
--
--
--
-- - Revision 2, 2016-11-02 (Ian Elliott)
- Added ability for
-- applications to use the physical-device components of device
-- extensions before vkCreateDevice is called.
--
--
-- See Also
--
-- FormatProperties2KHR, ImageFormatProperties2KHR,
-- PhysicalDeviceFeatures2KHR,
-- PhysicalDeviceImageFormatInfo2KHR,
-- PhysicalDeviceMemoryProperties2KHR,
-- PhysicalDeviceProperties2KHR,
-- PhysicalDeviceSparseImageFormatInfo2KHR,
-- QueueFamilyProperties2KHR,
-- SparseImageFormatProperties2KHR,
-- getPhysicalDeviceFeatures2KHR,
-- getPhysicalDeviceFormatProperties2KHR,
-- getPhysicalDeviceImageFormatProperties2KHR,
-- getPhysicalDeviceMemoryProperties2KHR,
-- getPhysicalDeviceProperties2KHR,
-- getPhysicalDeviceQueueFamilyProperties2KHR,
-- getPhysicalDeviceSparseImageFormatProperties2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_get_physical_device_properties2
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR :: StructureType
getPhysicalDeviceFeatures2KHR :: forall (a :: [Type]) io. (Extendss PhysicalDeviceFeatures2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceFeatures2 a)
getPhysicalDeviceProperties2KHR :: forall (a :: [Type]) io. (Extendss PhysicalDeviceProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceProperties2 a)
getPhysicalDeviceFormatProperties2KHR :: forall (a :: [Type]) io. (Extendss FormatProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> Format -> io (FormatProperties2 a)
getPhysicalDeviceImageFormatProperties2KHR :: forall (a :: [Type]) (b :: [Type]) io. (Extendss PhysicalDeviceImageFormatInfo2 a, Extendss ImageFormatProperties2 b, PokeChain a, PokeChain b, PeekChain b, MonadIO io) => PhysicalDevice -> PhysicalDeviceImageFormatInfo2 a -> io (ImageFormatProperties2 b)
getPhysicalDeviceQueueFamilyProperties2KHR :: forall (a :: [Type]) io. (Extendss QueueFamilyProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io ("queueFamilyProperties" ::: Vector (QueueFamilyProperties2 a))
getPhysicalDeviceMemoryProperties2KHR :: forall (a :: [Type]) io. (Extendss PhysicalDeviceMemoryProperties2 a, PokeChain a, PeekChain a, MonadIO io) => PhysicalDevice -> io (PhysicalDeviceMemoryProperties2 a)
getPhysicalDeviceSparseImageFormatProperties2KHR :: MonadIO io => PhysicalDevice -> PhysicalDeviceSparseImageFormatInfo2 -> io ("properties" ::: Vector SparseImageFormatProperties2)
type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2
type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2
type FormatProperties2KHR = FormatProperties2
type ImageFormatProperties2KHR = ImageFormatProperties2
type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2
type QueueFamilyProperties2KHR = QueueFamilyProperties2
type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2
type SparseImageFormatProperties2KHR = SparseImageFormatProperties2
type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2
type KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 2
pattern KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2"
pattern KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core10.Device
-- | vkCreateDevice - Create a new device instance
--
-- Description
--
-- createDevice verifies that extensions and features requested in
-- the ppEnabledExtensionNames and pEnabledFeatures
-- members of pCreateInfo, respectively, are supported by the
-- implementation. If any requested extension is not supported,
-- createDevice must return
-- ERROR_EXTENSION_NOT_PRESENT. If any requested feature is not
-- supported, createDevice must return
-- ERROR_FEATURE_NOT_PRESENT. Support for extensions can be
-- checked before creating a device by querying
-- enumerateDeviceExtensionProperties. Support for features
-- can similarly be checked by querying
-- getPhysicalDeviceFeatures.
--
-- After verifying and enabling the extensions the Device object
-- is created and returned to the application.
--
-- Multiple logical devices can be created from the same physical
-- device. Logical device creation may fail due to lack of
-- device-specific resources (in addition to other errors). If that
-- occurs, createDevice will return ERROR_TOO_MANY_OBJECTS.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- DeviceCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pDevice must be a valid pointer to a Device
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device,
-- DeviceCreateInfo, PhysicalDevice
createDevice :: forall a io. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> DeviceCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Device
-- | A convenience wrapper to make a compatible pair of calls to
-- createDevice and destroyDevice
--
-- To ensure that destroyDevice 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.
withDevice :: forall a io r. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> DeviceCreateInfo a -> Maybe AllocationCallbacks -> (io Device -> (Device -> io ()) -> r) -> r
-- | vkDestroyDevice - Destroy a logical device
--
-- Description
--
-- To ensure that no work is active on the device, deviceWaitIdle
-- can be used to gate the destruction of the device. Prior to
-- destroying a device, an application is responsible for
-- destroying/freeing any Vulkan objects that were created using that
-- device as the first parameter of the corresponding vkCreate*
-- or vkAllocate* command.
--
-- Note
--
-- The lifetime of each of these objects is bound by the lifetime of the
-- Device object. Therefore, to avoid resource leaks, it is
-- critical that an application explicitly free all of these resources
-- prior to calling destroyDevice.
--
-- Valid Usage
--
--
-- - All child objects created on device must have been
-- destroyed prior to destroying device
--
--
--
-- - If AllocationCallbacks were provided when device
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when
-- device was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - If device is not NULL, device
-- must be a valid Device handle
--
--
--
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
--
--
-- Host Synchronization
--
--
-- - Host access to device must be externally
-- synchronized
--
--
--
-- - Host access to all Queue objects created from
-- device must be externally synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Device
destroyDevice :: forall io. MonadIO io => Device -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkDeviceQueueCreateInfo - Structure specifying parameters of a newly
-- created device queue
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of DeviceQueueGlobalPriorityCreateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- DeviceQueueCreateFlagBits values
-- - pQueuePriorities must be a valid pointer to an
-- array of queueCount float values
-- - queueCount must be greater than 0
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceCreateInfo,
-- DeviceQueueCreateFlags, StructureType
data DeviceQueueCreateInfo (es :: [Type])
DeviceQueueCreateInfo :: Chain es -> DeviceQueueCreateFlags -> Word32 -> Vector Float -> DeviceQueueCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DeviceQueueCreateInfo] :: DeviceQueueCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask indicating behavior of the queue.
[$sel:flags:DeviceQueueCreateInfo] :: DeviceQueueCreateInfo (es :: [Type]) -> DeviceQueueCreateFlags
-- | queueFamilyIndex is an unsigned integer indicating the index
-- of the queue family in which to create the queue on this device. This
-- index corresponds to the index of an element of the
-- pQueueFamilyProperties array that was returned by
-- getPhysicalDeviceQueueFamilyProperties.
[$sel:queueFamilyIndex:DeviceQueueCreateInfo] :: DeviceQueueCreateInfo (es :: [Type]) -> Word32
-- | pQueuePriorities is a pointer to an array of
-- queueCount normalized floating point values, specifying
-- priorities of work that will be submitted to each created queue. See
-- Queue Priority for more information.
[$sel:queuePriorities:DeviceQueueCreateInfo] :: DeviceQueueCreateInfo (es :: [Type]) -> Vector Float
-- | VkDeviceCreateInfo - Structure specifying parameters of a newly
-- created device
--
-- Valid Usage
--
--
-- - The queueFamilyIndex member of each element of
-- pQueueCreateInfos must be unique within
-- pQueueCreateInfos, except that two members can share the same
-- queueFamilyIndex if one is a protected-capable queue and one
-- is not a protected-capable queue
--
--
--
-- - If the pNext chain includes a
-- PhysicalDeviceFeatures2 structure, then
-- pEnabledFeatures must be NULL
-- - ppEnabledExtensionNames must not contain
-- VK_AMD_negative_viewport_height
-- - ppEnabledExtensionNames must not contain both
-- VK_KHR_buffer_device_address and
-- VK_EXT_buffer_device_address
-- - if the pNext chain includes a
-- PhysicalDeviceVulkan12Features structure and
-- PhysicalDeviceVulkan12Features::bufferDeviceAddress is
-- TRUE, ppEnabledExtensionNames must not contain
-- VK_EXT_buffer_device_address
-- - If the pNext chain includes a
-- PhysicalDeviceVulkan11Features structure, then it must
-- not include a PhysicalDevice16BitStorageFeatures,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceSamplerYcbcrConversionFeatures, or
-- PhysicalDeviceShaderDrawParametersFeatures structure
-- - If the pNext chain includes a
-- PhysicalDeviceVulkan12Features structure, then it must
-- not include a PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceBufferDeviceAddressFeatures, or
-- PhysicalDeviceVulkanMemoryModelFeatures structure
-- - If ppEnabledExtensions contains
-- "VK_KHR_shader_draw_parameters" and the pNext chain
-- includes a PhysicalDeviceVulkan11Features structure, then
-- PhysicalDeviceVulkan11Features::shaderDrawParameters
-- must be TRUE
-- - If ppEnabledExtensions contains
-- "VK_KHR_draw_indirect_count" and the pNext chain
-- includes a PhysicalDeviceVulkan12Features structure, then
-- PhysicalDeviceVulkan12Features::drawIndirectCount
-- must be TRUE
-- - If ppEnabledExtensions contains
-- "VK_KHR_sampler_mirror_clamp_to_edge" and the pNext
-- chain includes a PhysicalDeviceVulkan12Features structure, then
-- PhysicalDeviceVulkan12Features::samplerMirrorClampToEdge
-- must be TRUE
-- - If ppEnabledExtensions contains
-- "VK_EXT_descriptor_indexing" and the pNext chain
-- includes a PhysicalDeviceVulkan12Features structure, then
-- PhysicalDeviceVulkan12Features::descriptorIndexing
-- must be TRUE
-- - If ppEnabledExtensions contains
-- "VK_EXT_sampler_filter_minmax" and the pNext chain
-- includes a PhysicalDeviceVulkan12Features structure, then
-- PhysicalDeviceVulkan12Features::samplerFilterMinmax
-- must be TRUE
-- - If ppEnabledExtensions contains
-- "VK_EXT_shader_viewport_index_layer" and the pNext
-- chain includes a PhysicalDeviceVulkan12Features structure, then
-- PhysicalDeviceVulkan12Features::shaderOutputViewportIndex
-- and PhysicalDeviceVulkan12Features::shaderOutputLayer
-- must both be TRUE
-- - If the VK_KHR_portability_subset extension is included in
-- pProperties of enumerateDeviceExtensionProperties,
-- ppEnabledExtensions must include
-- "VK_KHR_portability_subset"
-- - If shadingRateImage is enabled,
-- pipelineFragmentShadingRate must not be enabled
-- - If shadingRateImage is enabled,
-- primitiveFragmentShadingRate must not be enabled
-- - If shadingRateImage is enabled,
-- attachmentFragmentShadingRate must not be enabled
-- - If fragmentDensityMap is enabled,
-- pipelineFragmentShadingRate must not be enabled
-- - If fragmentDensityMap is enabled,
-- primitiveFragmentShadingRate must not be enabled
-- - If fragmentDensityMap is enabled,
-- attachmentFragmentShadingRate must not be enabled
-- - If sparseImageInt64Atomics is enabled,
-- shaderImageInt64Atomics must be enabled
-- - If sparseImageFloat32Atomics is enabled,
-- shaderImageFloat32Atomics must be enabled
-- - If sparseImageFloat32AtomicAdd is enabled,
-- shaderImageFloat32AtomicAdd must be enabled
-- - If sparseImageFloat32AtomicMinMax is enabled,
-- shaderImageFloat32AtomicMinMax must be enabled
--
--
-- 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
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV,
-- DeviceGroupDeviceCreateInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DevicePrivateDataCreateInfoEXT,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT, or
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
-- - The sType value of each struct in the pNext
-- chain must be unique, with the exception of structures of type
-- DeviceDeviceMemoryReportCreateInfoEXT or
-- DevicePrivateDataCreateInfoEXT
-- - flags must be 0
-- - pQueueCreateInfos must be a valid pointer to an
-- array of queueCreateInfoCount valid
-- DeviceQueueCreateInfo structures
-- - 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
-- - If pEnabledFeatures is not NULL,
-- pEnabledFeatures must be a valid pointer to a valid
-- PhysicalDeviceFeatures structure
-- - queueCreateInfoCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceCreateFlags,
-- DeviceQueueCreateInfo, PhysicalDeviceFeatures,
-- StructureType, createDevice
data DeviceCreateInfo (es :: [Type])
DeviceCreateInfo :: Chain es -> DeviceCreateFlags -> Vector (SomeStruct DeviceQueueCreateInfo) -> Vector ByteString -> Vector ByteString -> Maybe PhysicalDeviceFeatures -> DeviceCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> DeviceCreateFlags
-- | pQueueCreateInfos is a pointer to an array of
-- DeviceQueueCreateInfo structures describing the queues that are
-- requested to be created along with the logical device. Refer to the
-- Queue Creation section below for further details.
[$sel:queueCreateInfos:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> Vector (SomeStruct DeviceQueueCreateInfo)
-- | ppEnabledLayerNames is deprecated and ignored. See
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-layers-devicelayerdeprecation.
[$sel:enabledLayerNames:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> Vector ByteString
-- | ppEnabledExtensionNames is a pointer to an array of
-- enabledExtensionCount null-terminated UTF-8 strings
-- containing the names of extensions to enable for the created device.
-- See the
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-extensions
-- section for further details.
[$sel:enabledExtensionNames:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> Vector ByteString
-- | pEnabledFeatures is NULL or a pointer to a
-- PhysicalDeviceFeatures structure containing boolean indicators
-- of all the features to be enabled. Refer to the Features
-- section for further details.
[$sel:enabledFeatures:DeviceCreateInfo] :: DeviceCreateInfo (es :: [Type]) -> Maybe PhysicalDeviceFeatures
-- | VkDevice - Opaque handle to a device object
--
-- See Also
--
-- VK_VERSION_1_0, acquireFullScreenExclusiveModeEXT,
-- acquireNextImage2KHR, acquireNextImageKHR,
-- acquirePerformanceConfigurationINTEL,
-- acquireProfilingLockKHR, allocateCommandBuffers,
-- allocateDescriptorSets, allocateMemory,
-- bindAccelerationStructureMemoryNV, bindBufferMemory,
-- bindBufferMemory2, bindBufferMemory2KHR,
-- bindImageMemory, bindImageMemory2,
-- bindImageMemory2KHR, vkBindVideoSessionMemoryKHR,
-- buildAccelerationStructuresKHR, compileDeferredNV,
-- copyAccelerationStructureKHR,
-- copyAccelerationStructureToMemoryKHR,
-- copyMemoryToAccelerationStructureKHR,
-- createAccelerationStructureKHR,
-- createAccelerationStructureNV, createBuffer,
-- createBufferCollectionFUCHSIA, createBufferView,
-- createCommandPool, createComputePipelines,
-- createCuFunctionNVX, createCuModuleNVX,
-- createDeferredOperationKHR, createDescriptorPool,
-- createDescriptorSetLayout,
-- createDescriptorUpdateTemplate,
-- createDescriptorUpdateTemplateKHR, createDevice,
-- createEvent, createFence, createFramebuffer,
-- createGraphicsPipelines, createImage,
-- createImageView, createIndirectCommandsLayoutNV,
-- createPipelineCache, createPipelineLayout,
-- createPrivateDataSlotEXT, createQueryPool,
-- createRayTracingPipelinesKHR,
-- createRayTracingPipelinesNV, createRenderPass,
-- createRenderPass2, createRenderPass2KHR,
-- createSampler, createSamplerYcbcrConversion,
-- createSamplerYcbcrConversionKHR, createSemaphore,
-- createShaderModule, createSharedSwapchainsKHR,
-- createSwapchainKHR, createValidationCacheEXT,
-- vkCreateVideoSessionKHR,
-- vkCreateVideoSessionParametersKHR,
-- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT,
-- deferredOperationJoinKHR,
-- destroyAccelerationStructureKHR,
-- destroyAccelerationStructureNV, destroyBuffer,
-- destroyBufferCollectionFUCHSIA, destroyBufferView,
-- destroyCommandPool, destroyCuFunctionNVX,
-- destroyCuModuleNVX, destroyDeferredOperationKHR,
-- destroyDescriptorPool, destroyDescriptorSetLayout,
-- destroyDescriptorUpdateTemplate,
-- destroyDescriptorUpdateTemplateKHR, destroyDevice,
-- destroyEvent, destroyFence, destroyFramebuffer,
-- destroyImage, destroyImageView,
-- destroyIndirectCommandsLayoutNV, destroyPipeline,
-- destroyPipelineCache, destroyPipelineLayout,
-- destroyPrivateDataSlotEXT, destroyQueryPool,
-- destroyRenderPass, destroySampler,
-- destroySamplerYcbcrConversion,
-- destroySamplerYcbcrConversionKHR, destroySemaphore,
-- destroyShaderModule, destroySwapchainKHR,
-- destroyValidationCacheEXT, vkDestroyVideoSessionKHR,
-- vkDestroyVideoSessionParametersKHR, deviceWaitIdle,
-- displayPowerControlEXT, flushMappedMemoryRanges,
-- freeCommandBuffers, freeDescriptorSets,
-- freeMemory, getAccelerationStructureBuildSizesKHR,
-- getAccelerationStructureDeviceAddressKHR,
-- getAccelerationStructureHandleNV,
-- getAccelerationStructureMemoryRequirementsNV,
-- getAndroidHardwareBufferPropertiesANDROID,
-- getBufferCollectionPropertiesFUCHSIA,
-- getBufferDeviceAddress, getBufferDeviceAddressEXT,
-- getBufferDeviceAddressKHR, getBufferMemoryRequirements,
-- getBufferMemoryRequirements2,
-- getBufferMemoryRequirements2KHR,
-- getBufferOpaqueCaptureAddress,
-- getBufferOpaqueCaptureAddressKHR,
-- getCalibratedTimestampsEXT,
-- getDeferredOperationMaxConcurrencyKHR,
-- getDeferredOperationResultKHR,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR,
-- getDeviceAccelerationStructureCompatibilityKHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceGroupPeerMemoryFeatures,
-- getDeviceGroupPeerMemoryFeaturesKHR,
-- getDeviceGroupPresentCapabilitiesKHR,
-- getDeviceGroupSurfacePresentModes2EXT,
-- getDeviceGroupSurfacePresentModesKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR,
-- getDeviceMemoryCommitment,
-- getDeviceMemoryOpaqueCaptureAddress,
-- getDeviceMemoryOpaqueCaptureAddressKHR,
-- getDeviceProcAddr, getDeviceQueue,
-- getDeviceQueue2,
-- getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-- getEventStatus, getFenceFdKHR, getFenceStatus,
-- getFenceWin32HandleKHR,
-- getGeneratedCommandsMemoryRequirementsNV,
-- getImageDrmFormatModifierPropertiesEXT,
-- getImageMemoryRequirements, getImageMemoryRequirements2,
-- getImageMemoryRequirements2KHR,
-- getImageSparseMemoryRequirements,
-- getImageSparseMemoryRequirements2,
-- getImageSparseMemoryRequirements2KHR,
-- getImageSubresourceLayout, getImageViewAddressNVX,
-- getImageViewHandleNVX,
-- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR,
-- getMemoryFdPropertiesKHR,
-- getMemoryHostPointerPropertiesEXT,
-- getMemoryRemoteAddressNV, getMemoryWin32HandleKHR,
-- getMemoryWin32HandleNV,
-- getMemoryWin32HandlePropertiesKHR,
-- getMemoryZirconHandleFUCHSIA,
-- getMemoryZirconHandlePropertiesFUCHSIA,
-- getPastPresentationTimingGOOGLE,
-- getPerformanceParameterINTEL, getPipelineCacheData,
-- getPipelineExecutableInternalRepresentationsKHR,
-- getPipelineExecutablePropertiesKHR,
-- getPipelineExecutableStatisticsKHR, getPrivateDataEXT,
-- getQueryPoolResults,
-- getRayTracingCaptureReplayShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesKHR,
-- getRayTracingShaderGroupHandlesNV,
-- getRayTracingShaderGroupStackSizeKHR,
-- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity,
-- getSemaphoreCounterValue, getSemaphoreCounterValueKHR,
-- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR,
-- getSemaphoreZirconHandleFUCHSIA, getShaderInfoAMD,
-- getSwapchainCounterEXT, getSwapchainImagesKHR,
-- getSwapchainStatusKHR, getValidationCacheDataEXT,
-- vkGetVideoSessionMemoryRequirementsKHR,
-- importFenceFdKHR, importFenceWin32HandleKHR,
-- importSemaphoreFdKHR, importSemaphoreWin32HandleKHR,
-- importSemaphoreZirconHandleFUCHSIA,
-- initializePerformanceApiINTEL,
-- invalidateMappedMemoryRanges, mapMemory,
-- mergePipelineCaches, mergeValidationCachesEXT,
-- registerDeviceEventEXT, registerDisplayEventEXT,
-- releaseFullScreenExclusiveModeEXT,
-- releasePerformanceConfigurationINTEL,
-- releaseProfilingLockKHR, resetCommandPool,
-- resetDescriptorPool, resetEvent, resetFences,
-- resetQueryPool, resetQueryPoolEXT,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA,
-- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT,
-- setDeviceMemoryPriorityEXT, setEvent,
-- setHdrMetadataEXT, setLocalDimmingAMD,
-- setPrivateDataEXT, signalSemaphore,
-- signalSemaphoreKHR, trimCommandPool,
-- trimCommandPoolKHR, uninitializePerformanceApiINTEL,
-- unmapMemory, updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR,
-- updateDescriptorSets, vkUpdateVideoSessionParametersKHR,
-- waitForFences, waitForPresentKHR, waitSemaphores,
-- waitSemaphoresKHR,
-- writeAccelerationStructuresPropertiesKHR
data Device
Device :: Ptr Device_T -> DeviceCmds -> Device
[$sel:deviceHandle:Device] :: Device -> Ptr Device_T
[$sel:deviceCmds:Device] :: Device -> DeviceCmds
-- | VkDeviceCreateFlags - Reserved for future use
--
-- Description
--
-- DeviceCreateFlags is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, DeviceCreateInfo
newtype DeviceCreateFlags
DeviceCreateFlags :: Flags -> DeviceCreateFlags
-- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue
--
-- See Also
--
-- VK_VERSION_1_1, DeviceQueueCreateFlags
newtype DeviceQueueCreateFlagBits
DeviceQueueCreateFlagBits :: Flags -> DeviceQueueCreateFlagBits
-- | DEVICE_QUEUE_CREATE_PROTECTED_BIT specifies that the device
-- queue is a protected-capable queue.
pattern DEVICE_QUEUE_CREATE_PROTECTED_BIT :: DeviceQueueCreateFlagBits
type DeviceQueueCreateFlags = DeviceQueueCreateFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Device.DeviceQueueCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Device.DeviceCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Device.DeviceCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Device.DeviceCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Device.DeviceCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Device.DeviceCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Device.DeviceCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Device.DeviceCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Device.DeviceQueueCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Device.DeviceQueueCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Device.DeviceQueueCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Device.DeviceQueueCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Device.DeviceQueueCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Device.DeviceQueueCreateInfo es)
module Vulkan.Requirement
-- | A requirement on a Vulkan Instance.
data InstanceRequirement
-- | Require a minimum Vulkan instance version.
[RequireInstanceVersion] :: {version :: Word32} -> InstanceRequirement
-- | Require a Vulkan layer.
[RequireInstanceLayer] :: {instanceLayerName :: ByteString, instanceLayerMinVersion :: Word32 " The 'implementationVersion' of the layer must meet or exceed this version"} -> InstanceRequirement
-- | Require a Vulkan instance extension.
[RequireInstanceExtension] :: {instanceExtensionLayerName :: Maybe ByteString, instanceExtensionName :: ByteString, instanceExtensionMinVersion :: Word32} -> InstanceRequirement
data DeviceRequirement
-- | Require a minimum device version.
[RequireDeviceVersion] :: {version :: Word32} -> DeviceRequirement
-- | Require a Vulkan physical device feature.
[RequireDeviceFeature] :: forall struct. KnownFeatureStruct struct => {featureName :: ByteString, checkFeature :: struct -> Bool, enableFeature :: struct -> struct} -> DeviceRequirement
-- | Require a Vulkan physical device property.
[RequireDeviceProperty] :: forall struct. KnownPropertyStruct struct => {propertyName :: ByteString, checkProperty :: struct -> Bool} -> DeviceRequirement
-- | Require a Vulkan device extension.
[RequireDeviceExtension] :: {deviceExtensionLayerName :: Maybe ByteString, deviceExtensionName :: ByteString, deviceExtensionMinVersion :: Word32} -> DeviceRequirement
-- | A Vulkan structure that can appear in PhysicalDeviceFeatures2.
class Typeable feat => KnownFeatureStruct feat
sFeatureStruct :: KnownFeatureStruct feat => SFeatureStruct feat
-- | A Vulkan structure that can appear in
-- PhysicalDeviceProperties2.
class Typeable prop => KnownPropertyStruct prop
sPropertyStruct :: KnownPropertyStruct prop => SPropertyStruct prop
-- | Singleton for a Vulkan structure that can appear in
-- PhysicalDeviceFeatures2.
--
-- It is either PhysicalDeviceFeatures, or it Extends
-- PhysicalDeviceFeatures2.
data SFeatureStruct feat
[BasicFeatureStruct] :: SFeatureStruct PhysicalDeviceFeatures
[ExtendedFeatureStruct] :: (Show feat, Extends PhysicalDeviceFeatures2 feat, Extends DeviceCreateInfo feat, Zero feat, FromCStruct feat, ToCStruct feat) => SFeatureStruct feat
-- | Singleton for a Vulkan structure that can appear in
-- PhysicalDeviceProperties2.
--
-- It is either PhysicalDeviceProperties, or it Extends
-- PhysicalDeviceProperties2.
data SPropertyStruct prop
[BasicPropertyStruct] :: SPropertyStruct PhysicalDeviceProperties
[ExtendedPropertyStruct] :: (Typeable prop, Extends PhysicalDeviceProperties2 prop, FromCStruct prop, ToCStruct prop) => SPropertyStruct prop
instance Vulkan.Requirement.KnownPropertyStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties
instance (Data.Typeable.Internal.Typeable prop, Vulkan.CStruct.Extends.Extends Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2 prop, Vulkan.CStruct.FromCStruct prop, Vulkan.CStruct.ToCStruct prop) => Vulkan.Requirement.KnownPropertyStruct prop
instance Vulkan.Requirement.KnownFeatureStruct Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures
instance (Data.Typeable.Internal.Typeable feat, GHC.Show.Show feat, Vulkan.CStruct.Extends.Extends Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2 feat, Vulkan.CStruct.Extends.Extends Vulkan.Core10.Device.DeviceCreateInfo feat, Vulkan.Zero.Zero feat, Vulkan.CStruct.FromCStruct feat, Vulkan.CStruct.ToCStruct feat) => Vulkan.Requirement.KnownFeatureStruct feat
module Vulkan.Core10.DescriptorSet
-- | vkCreateDescriptorSetLayout - Create a new descriptor set layout
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks,
-- DescriptorSetLayout, DescriptorSetLayoutCreateInfo,
-- Device
createDescriptorSetLayout :: forall a io. (Extendss DescriptorSetLayoutCreateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorSetLayoutCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io DescriptorSetLayout
-- | A convenience wrapper to make a compatible pair of calls to
-- createDescriptorSetLayout and destroyDescriptorSetLayout
--
-- To ensure that destroyDescriptorSetLayout 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.
withDescriptorSetLayout :: forall a io r. (Extendss DescriptorSetLayoutCreateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorSetLayoutCreateInfo a -> Maybe AllocationCallbacks -> (io DescriptorSetLayout -> (DescriptorSetLayout -> io ()) -> r) -> r
-- | vkDestroyDescriptorSetLayout - Destroy a descriptor set layout object
--
-- Valid Usage
--
--
-- - If AllocationCallbacks were provided when
-- descriptorSetLayout was created, a compatible set of
-- callbacks must be provided here
--
--
--
-- - If no AllocationCallbacks were provided when
-- descriptorSetLayout was created, pAllocator
-- must be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If descriptorSetLayout is not NULL_HANDLE,
-- descriptorSetLayout must be a valid
-- DescriptorSetLayout handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If descriptorSetLayout is a valid handle, it must
-- have been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorSetLayout must be
-- externally synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks,
-- DescriptorSetLayout, Device
destroyDescriptorSetLayout :: forall io. MonadIO io => Device -> DescriptorSetLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkCreateDescriptorPool - Creates a descriptor pool object
--
-- Description
--
-- The created descriptor pool is returned in pDescriptorPool.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks,
-- DescriptorPool, DescriptorPoolCreateInfo, Device
createDescriptorPool :: forall a io. (Extendss DescriptorPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorPoolCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io DescriptorPool
-- | A convenience wrapper to make a compatible pair of calls to
-- createDescriptorPool and destroyDescriptorPool
--
-- To ensure that destroyDescriptorPool 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.
withDescriptorPool :: forall a io r. (Extendss DescriptorPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorPoolCreateInfo a -> Maybe AllocationCallbacks -> (io DescriptorPool -> (DescriptorPool -> io ()) -> r) -> r
-- | vkDestroyDescriptorPool - Destroy a descriptor pool object
--
-- Description
--
-- When a pool is destroyed, all descriptor sets allocated from the pool
-- are implicitly freed and become invalid. Descriptor sets allocated
-- from a given pool do not need to be freed before destroying that
-- descriptor pool.
--
-- Valid Usage
--
--
-- - All submitted commands that refer to descriptorPool (via
-- any allocated descriptor sets) must have completed
-- execution
--
--
--
-- - If AllocationCallbacks were provided when
-- descriptorPool was created, a compatible set of callbacks
-- must be provided here
-- - If no AllocationCallbacks were provided when
-- descriptorPool was created, pAllocator must
-- be NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If descriptorPool is not NULL_HANDLE,
-- descriptorPool must be a valid DescriptorPool
-- handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If descriptorPool is a valid handle, it must have
-- been created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorPool must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks,
-- DescriptorPool, Device
destroyDescriptorPool :: forall io. MonadIO io => Device -> DescriptorPool -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkResetDescriptorPool - Resets a descriptor pool object
--
-- Description
--
-- Resetting a descriptor pool recycles all of the resources from all of
-- the descriptor sets allocated from the descriptor pool back to the
-- descriptor pool, and the descriptor sets are implicitly freed.
--
-- Valid Usage
--
--
-- - All uses of descriptorPool (via any allocated descriptor
-- sets) must have completed execution
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - descriptorPool must be a valid
-- DescriptorPool handle
-- - flags must be 0
-- - descriptorPool must have been created, allocated,
-- or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorPool must be externally
-- synchronized
--
--
--
-- - Host access to any DescriptorSet objects allocated from
-- descriptorPool must be externally synchronized
--
--
-- Return Codes
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPool,
-- DescriptorPoolResetFlags, Device
resetDescriptorPool :: forall io. MonadIO io => Device -> DescriptorPool -> DescriptorPoolResetFlags -> io ()
-- | vkAllocateDescriptorSets - Allocate one or more descriptor sets
--
-- Description
--
-- The allocated descriptor sets are returned in
-- pDescriptorSets.
--
-- When a descriptor set is allocated, the initial state is largely
-- uninitialized and all descriptors are undefined. Descriptors also
-- become undefined if the underlying resource is destroyed. Descriptor
-- sets containing undefined descriptors can still be bound and
-- used, subject to the following conditions:
--
--
-- - For descriptor set bindings created with the
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT bit set, all descriptors
-- in that binding that are dynamically used must have been
-- populated before the descriptor set is consumed.
-- - For descriptor set bindings created without the
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT bit set, all descriptors
-- in that binding that are statically used must have been
-- populated before the descriptor set is consumed.
-- - Descriptor bindings with descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT can be
-- undefined when the descriptor set is consumed; though values in
-- that block will be undefined.
-- - Entries that are not used by a pipeline can have undefined
-- descriptors.
--
--
-- If a call to allocateDescriptorSets would cause the total
-- number of descriptor sets allocated from the pool to exceed the value
-- of DescriptorPoolCreateInfo::maxSets used to create
-- pAllocateInfo->descriptorPool, then the allocation
-- may fail due to lack of space in the descriptor pool.
-- Similarly, the allocation may fail due to lack of space if the
-- call to allocateDescriptorSets would cause the number of any
-- given descriptor type to exceed the sum of all the
-- descriptorCount members of each element of
-- DescriptorPoolCreateInfo::pPoolSizes with a
-- type equal to that type.
--
-- Additionally, the allocation may also fail if a call to
-- allocateDescriptorSets would cause the total number of inline
-- uniform block bindings allocated from the pool to exceed the value of
-- DescriptorPoolInlineUniformBlockCreateInfoEXT::maxInlineUniformBlockBindings
-- used to create the descriptor pool.
--
-- If the allocation fails due to no more space in the descriptor pool,
-- and not because of system or device memory exhaustion, then
-- ERROR_OUT_OF_POOL_MEMORY must be returned.
--
-- allocateDescriptorSets can be used to create multiple
-- descriptor sets. If the creation of any of those descriptor sets
-- fails, then the implementation must destroy all successfully
-- created descriptor set objects from this command, set all entries of
-- the pDescriptorSets array to NULL_HANDLE and return
-- the error.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAllocateInfo must be a valid pointer to a valid
-- DescriptorSetAllocateInfo structure
-- - pDescriptorSets must be a valid pointer to an
-- array of pAllocateInfo->descriptorSetCount
-- DescriptorSet handles
-- - pAllocateInfo->descriptorSetCount must be
-- greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to pAllocateInfo->descriptorPool
-- must be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSet,
-- DescriptorSetAllocateInfo, Device
allocateDescriptorSets :: forall a io. (Extendss DescriptorSetAllocateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorSetAllocateInfo a -> io ("descriptorSets" ::: Vector DescriptorSet)
-- | A convenience wrapper to make a compatible pair of calls to
-- allocateDescriptorSets and freeDescriptorSets
--
-- To ensure that freeDescriptorSets 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.
withDescriptorSets :: forall a io r. (Extendss DescriptorSetAllocateInfo a, PokeChain a, MonadIO io) => Device -> DescriptorSetAllocateInfo a -> (io (Vector DescriptorSet) -> (Vector DescriptorSet -> io ()) -> r) -> r
-- | vkFreeDescriptorSets - Free one or more descriptor sets
--
-- Description
--
-- After calling freeDescriptorSets, all descriptor sets in
-- pDescriptorSets are invalid.
--
-- Valid Usage
--
--
-- - All submitted commands that refer to any element of
-- pDescriptorSets must have completed execution
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - descriptorPool must be a valid
-- DescriptorPool handle
-- - descriptorSetCount must be greater than
-- 0
-- - descriptorPool must have been created, allocated,
-- or retrieved from device
-- - Each element of pDescriptorSets that is a valid handle
-- must have been created, allocated, or retrieved from
-- descriptorPool
--
--
-- Host Synchronization
--
--
-- - Host access to descriptorPool must be externally
-- synchronized
--
--
--
-- - Host access to each member of pDescriptorSets must
-- be externally synchronized
--
--
-- Return Codes
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPool, DescriptorSet,
-- Device
freeDescriptorSets :: forall io. MonadIO io => Device -> DescriptorPool -> ("descriptorSets" ::: Vector DescriptorSet) -> io ()
-- | vkUpdateDescriptorSets - Update the contents of a descriptor set
-- object
--
-- Description
--
-- The operations described by pDescriptorWrites are performed
-- first, followed by the operations described by
-- pDescriptorCopies. Within each array, the operations are
-- performed in the order they appear in the array.
--
-- Each element in the pDescriptorWrites array describes an
-- operation updating the descriptor set using descriptors for resources
-- specified in the structure.
--
-- Each element in the pDescriptorCopies array is a
-- CopyDescriptorSet structure describing an operation copying
-- descriptors between sets.
--
-- If the dstSet member of any element of
-- pDescriptorWrites or pDescriptorCopies is bound,
-- accessed, or modified by any command that was recorded to a command
-- buffer which is currently in the recording or executable state,
-- and any of the descriptor bindings that are updated were not created
-- with the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT or
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT bits set,
-- that command buffer becomes invalid.
--
-- Valid Usage
--
--
--
--
-- - For each element i where
-- pDescriptorWrites[i].descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the buffer
-- member of any element of the pBufferInfo member of
-- pDescriptorWrites[i] must have been created on
-- device
-- - For each element i where
-- pDescriptorWrites[i].descriptorType is
-- DESCRIPTOR_TYPE_SAMPLER or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and dstSet was
-- not allocated with a layout that included immutable samplers for
-- dstBinding with descriptorType, the sampler
-- member of any element of the pImageInfo member of
-- pDescriptorWrites[i] must have been created on
-- device
-- - For each element i where
-- pDescriptorWrites[i].descriptorType is
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE,
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER the imageView
-- member of any element of pDescriptorWrites[i] must
-- have been created on device
-- - For each element i where
-- pDescriptorWrites[i].descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, elements of the
-- pAccelerationStructures member of a
-- WriteDescriptorSetAccelerationStructureKHR structure in the
-- pNext chain of pDescriptorWrites[i] must have
-- been created on device
-- - For each element i where
-- pDescriptorWrites[i].descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, elements of the
-- pAccelerationStructures member of a
-- WriteDescriptorSetAccelerationStructureNV structure in the
-- pNext chain of pDescriptorWrites[i] must have
-- been created on device
-- - Descriptor bindings updated by this command which were created
-- without the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT or
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT bits set
-- must not be used by any command that was recorded to a command
-- buffer which is in the pending state
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If descriptorWriteCount is not 0,
-- pDescriptorWrites must be a valid pointer to an array
-- of descriptorWriteCount valid WriteDescriptorSet
-- structures
-- - If descriptorCopyCount is not 0,
-- pDescriptorCopies must be a valid pointer to an array
-- of descriptorCopyCount valid CopyDescriptorSet
-- structures
--
--
-- Host Synchronization
--
--
-- - Host access to pDescriptorWrites[].dstSet must be
-- externally synchronized
--
--
--
-- - Host access to pDescriptorCopies[].dstSet must be
-- externally synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, CopyDescriptorSet, Device,
-- WriteDescriptorSet
updateDescriptorSets :: forall io. MonadIO io => Device -> ("descriptorWrites" ::: Vector (SomeStruct WriteDescriptorSet)) -> ("descriptorCopies" ::: Vector CopyDescriptorSet) -> io ()
-- | VkDescriptorBufferInfo - Structure specifying descriptor buffer
-- information
--
-- Description
--
-- Note
--
-- When setting range to WHOLE_SIZE, the effective range
-- must not be larger than the maximum range for the descriptor
-- type (maxUniformBufferRange or maxStorageBufferRange).
-- This means that WHOLE_SIZE is not typically useful in the
-- common case where uniform buffer descriptors are suballocated from a
-- buffer that is much larger than maxUniformBufferRange.
--
-- For DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC and
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC descriptor types,
-- offset is the base offset from which the dynamic offset is
-- applied and range is the static size used for all dynamic
-- offsets.
--
-- Valid Usage
--
--
-- - offset must be less than the size of
-- buffer
--
--
--
-- - If range is not equal to WHOLE_SIZE,
-- range must be greater than 0
-- - If range is not equal to WHOLE_SIZE,
-- range must be less than or equal to the size of
-- buffer minus offset
-- - If the nullDescriptor feature is not enabled,
-- buffer must not be NULL_HANDLE
-- - If buffer is NULL_HANDLE, offset
-- must be zero and range must be
-- WHOLE_SIZE
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, DeviceSize,
-- WriteDescriptorSet
data DescriptorBufferInfo
DescriptorBufferInfo :: Buffer -> DeviceSize -> DeviceSize -> DescriptorBufferInfo
-- | buffer is NULL_HANDLE or the buffer resource.
[$sel:buffer:DescriptorBufferInfo] :: DescriptorBufferInfo -> Buffer
-- | offset is the offset in bytes from the start of
-- buffer. Access to buffer memory via this descriptor uses
-- addressing that is relative to this starting offset.
[$sel:offset:DescriptorBufferInfo] :: DescriptorBufferInfo -> DeviceSize
-- | range is the size in bytes that is used for this descriptor
-- update, or WHOLE_SIZE to use the range from offset to
-- the end of the buffer.
[$sel:range:DescriptorBufferInfo] :: DescriptorBufferInfo -> DeviceSize
-- | VkDescriptorImageInfo - Structure specifying descriptor image
-- information
--
-- Description
--
-- Members of DescriptorImageInfo that are not used in an update
-- (as described above) are ignored.
--
-- Valid Usage
--
--
-- - imageView must not be 2D or 2D array image view
-- created from a 3D image
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - Both of imageView, and sampler that are valid
-- handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_0, ImageLayout, ImageView,
-- Sampler, WriteDescriptorSet
data DescriptorImageInfo
DescriptorImageInfo :: Sampler -> ImageView -> ImageLayout -> DescriptorImageInfo
-- | sampler is a sampler handle, and is used in descriptor
-- updates for types DESCRIPTOR_TYPE_SAMPLER and
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER if the binding being
-- updated does not use immutable samplers.
[$sel:sampler:DescriptorImageInfo] :: DescriptorImageInfo -> Sampler
-- | imageView is NULL_HANDLE or an image view handle, and
-- is used in descriptor updates for types
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT.
[$sel:imageView:DescriptorImageInfo] :: DescriptorImageInfo -> ImageView
-- | imageLayout is the layout that the image subresources
-- accessible from imageView will be in at the time this
-- descriptor is accessed. imageLayout is used in descriptor
-- updates for types DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT.
[$sel:imageLayout:DescriptorImageInfo] :: DescriptorImageInfo -> ImageLayout
-- | VkWriteDescriptorSet - Structure specifying the parameters of a
-- descriptor set write operation
--
-- Description
--
-- Only one of pImageInfo, pBufferInfo, or
-- pTexelBufferView members is used according to the descriptor
-- type specified in the descriptorType member of the containing
-- WriteDescriptorSet structure, or none of them in case
-- descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, in which case the
-- source data for the descriptor writes is taken from the
-- WriteDescriptorSetInlineUniformBlockEXT structure included in
-- the pNext chain of WriteDescriptorSet, or if
-- descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, in which case the
-- source data for the descriptor writes is taken from the
-- WriteDescriptorSetAccelerationStructureKHR structure in the
-- pNext chain of WriteDescriptorSet, or if
-- descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, in which case the
-- source data for the descriptor writes is taken from the
-- WriteDescriptorSetAccelerationStructureNV structure in the
-- pNext chain of WriteDescriptorSet, as specified below.
--
-- If the nullDescriptor feature is enabled, the buffer,
-- acceleration structure, imageView, or bufferView can be
-- NULL_HANDLE. Loads from a null descriptor return zero values
-- and stores and atomics to a null descriptor are discarded. A null
-- acceleration structure descriptor results in the miss shader being
-- invoked.
--
-- If the destination descriptor is a mutable descriptor, the active
-- descriptor type for the destination descriptor becomes
-- descriptorType.
--
-- If the dstBinding has fewer than descriptorCount
-- array elements remaining starting from dstArrayElement, then
-- the remainder will be used to update the subsequent binding -
-- dstBinding+1 starting at array element zero. If a binding has
-- a descriptorCount of zero, it is skipped. This behavior
-- applies recursively, with the update affecting consecutive bindings as
-- needed to update all descriptorCount descriptors. Consecutive
-- bindings must have identical DescriptorType,
-- ShaderStageFlags, DescriptorBindingFlagBits, and
-- immutable samplers references.
--
-- Note
--
-- The same behavior applies to bindings with a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT where
-- descriptorCount specifies the number of bytes to update while
-- dstArrayElement specifies the starting byte offset, thus in
-- this case if the dstBinding has a smaller byte size than the
-- sum of dstArrayElement and descriptorCount, then the
-- remainder will be used to update the subsequent binding -
-- dstBinding+1 starting at offset zero. This falls out as a
-- special case of the above rule.
--
-- Valid Usage
--
--
-- - dstBinding must be less than or equal to the
-- maximum value of binding of all
-- DescriptorSetLayoutBinding structures specified when
-- dstSet’s descriptor set layout was created
--
--
--
-- - dstBinding must be a binding with a non-zero
-- descriptorCount
-- - All consecutive bindings updated via a single
-- WriteDescriptorSet structure, except those with a
-- descriptorCount of zero, must have identical
-- descriptorType and stageFlags
-- - All consecutive bindings updated via a single
-- WriteDescriptorSet structure, except those with a
-- descriptorCount of zero, must all either use immutable
-- samplers or must all not use immutable samplers
-- - descriptorType must match the type of
-- dstBinding within dstSet
-- - dstSet must be a valid DescriptorSet
-- handle
-- - The sum of dstArrayElement and descriptorCount
-- must be less than or equal to the number of array elements in
-- the descriptor set binding specified by dstBinding, and all
-- applicable consecutive bindings, as described by
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates-consecutive
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-- dstArrayElement must be an integer multiple of
-- 4
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-- descriptorCount must be an integer multiple of
-- 4
-- - If descriptorType is DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, pImageInfo
-- must be a valid pointer to an array of descriptorCount
-- valid DescriptorImageInfo structures
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, each element of
-- pTexelBufferView must be either a valid
-- BufferView handle or NULL_HANDLE
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER and the
-- nullDescriptor feature is not enabled, each element of
-- pTexelBufferView must not be NULL_HANDLE
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, pBufferInfo
-- must be a valid pointer to an array of descriptorCount
-- valid DescriptorBufferInfo structures
-- - If descriptorType is DESCRIPTOR_TYPE_SAMPLER or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and dstSet was
-- not allocated with a layout that included immutable samplers for
-- dstBinding with descriptorType, the sampler
-- member of each element of pImageInfo must be a valid
-- Sampler object
-- - If descriptorType is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView member
-- of each element of pImageInfo must be either a valid
-- ImageView handle or NULL_HANDLE
-- - If descriptorType is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT and the nullDescriptor
-- feature is not enabled, the imageView member of each element
-- of pImageInfo must not be NULL_HANDLE
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, the pNext
-- chain must include a
-- WriteDescriptorSetInlineUniformBlockEXT structure whose
-- dataSize member equals descriptorCount
-- - If descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, the pNext
-- chain must include a
-- WriteDescriptorSetAccelerationStructureKHR structure whose
-- accelerationStructureCount member equals
-- descriptorCount
-- - If descriptorType is
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, the pNext
-- chain must include a
-- WriteDescriptorSetAccelerationStructureNV structure whose
-- accelerationStructureCount member equals
-- descriptorCount
-- - If descriptorType is
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE, then the imageView
-- member of each pImageInfo element must have been
-- created without a SamplerYcbcrConversionInfo structure in its
-- pNext chain
-- - If descriptorType is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and if any element of
-- pImageInfo has a imageView member that was created
-- with a SamplerYcbcrConversionInfo structure in its
-- pNext chain, then dstSet must have been
-- allocated with a layout that included immutable samplers for
-- dstBinding, and the corresponding immutable sampler
-- must have been created with an identically defined
-- SamplerYcbcrConversionInfo object
-- - If descriptorType is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and dstSet was
-- allocated with a layout that included immutable samplers for
-- dstBinding, then the imageView member of each
-- element of pImageInfo which corresponds to an immutable
-- sampler that enables sampler Y′CBCR conversion must have
-- been created with a SamplerYcbcrConversionInfo structure in its
-- pNext chain with an identically defined
-- SamplerYcbcrConversionInfo to the corresponding immutable
-- sampler
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the offset
-- member of each element of pBufferInfo must be a
-- multiple of
-- PhysicalDeviceLimits::minUniformBufferOffsetAlignment
-- - If descriptorType is
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the offset
-- member of each element of pBufferInfo must be a
-- multiple of
-- PhysicalDeviceLimits::minStorageBufferOffsetAlignment
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, and the buffer
-- member of any element of pBufferInfo is the handle of a
-- non-sparse buffer, then that buffer must be bound completely
-- and contiguously to a single DeviceMemory object
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the buffer
-- member of each element of pBufferInfo must have been
-- created with BUFFER_USAGE_UNIFORM_BUFFER_BIT set
-- - If descriptorType is
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the buffer
-- member of each element of pBufferInfo must have been
-- created with BUFFER_USAGE_STORAGE_BUFFER_BIT set
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the range
-- member of each element of pBufferInfo, or the effective range
-- if range is WHOLE_SIZE, must be less than or
-- equal to
-- PhysicalDeviceLimits::maxUniformBufferRange
-- - If descriptorType is
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the range
-- member of each element of pBufferInfo, or the effective range
-- if range is WHOLE_SIZE, must be less than or
-- equal to
-- PhysicalDeviceLimits::maxStorageBufferRange
-- - If descriptorType is
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, the Buffer that
-- each element of pTexelBufferView was created from must
-- have been created with BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT
-- set
-- - If descriptorType is
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, the Buffer that
-- each element of pTexelBufferView was created from must
-- have been created with BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT
-- set
-- - If descriptorType is DESCRIPTOR_TYPE_STORAGE_IMAGE
-- or DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView
-- member of each element of pImageInfo must have been
-- created with the identity swizzle
-- - If descriptorType is DESCRIPTOR_TYPE_SAMPLED_IMAGE
-- or DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the
-- imageView member of each element of pImageInfo
-- must have been created with IMAGE_USAGE_SAMPLED_BIT
-- set
-- - If descriptorType is DESCRIPTOR_TYPE_SAMPLED_IMAGE
-- the imageLayout member of each element of pImageInfo
-- must be a member of the list given in Sampled Image
-- - If descriptorType is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER the imageLayout
-- member of each element of pImageInfo must be a member
-- of the list given in Combined Image Sampler
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT the imageLayout
-- member of each element of pImageInfo must be a member
-- of the list given in Input Attachment
-- - If descriptorType is DESCRIPTOR_TYPE_STORAGE_IMAGE
-- the imageLayout member of each element of pImageInfo
-- must be a member of the list given in Storage Image
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView member
-- of each element of pImageInfo must have been created
-- with IMAGE_USAGE_INPUT_ATTACHMENT_BIT set
-- - If descriptorType is
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, the imageView member of
-- each element of pImageInfo must have been created with
-- IMAGE_USAGE_STORAGE_BIT set
-- - If descriptorType is DESCRIPTOR_TYPE_SAMPLER, then
-- dstSet must not have been allocated with a layout that
-- included immutable samplers for dstBinding
-- - If the DescriptorSetLayoutBinding for dstSet at
-- dstBinding is DESCRIPTOR_TYPE_MUTABLE_VALVE, the new
-- active descriptor type descriptorType must exist in
-- the corresponding pMutableDescriptorTypeLists list for
-- dstBinding
-- - If descriptorType is
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView member
-- of each element of pImageInfo must have either been
-- created without a ImageViewMinLodCreateInfoEXT present in the
-- pNext chain or with a
-- ImageViewMinLodCreateInfoEXT::minLod of
-- 0.0
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, BufferView, DescriptorBufferInfo,
-- DescriptorImageInfo, DescriptorSet,
-- DescriptorType, StructureType,
-- cmdPushDescriptorSetKHR, updateDescriptorSets
data WriteDescriptorSet (es :: [Type])
WriteDescriptorSet :: Chain es -> DescriptorSet -> Word32 -> Word32 -> Word32 -> DescriptorType -> Vector DescriptorImageInfo -> Vector DescriptorBufferInfo -> Vector BufferView -> WriteDescriptorSet (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Chain es
-- | dstSet is the destination descriptor set to update.
[$sel:dstSet:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> DescriptorSet
-- | dstBinding is the descriptor binding within that set.
[$sel:dstBinding:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Word32
-- | dstArrayElement is the starting element in that array. If the
-- descriptor binding identified by dstSet and
-- dstBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- dstArrayElement specifies the starting byte offset within the
-- binding.
[$sel:dstArrayElement:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Word32
-- | descriptorCount is the number of descriptors to update. If
-- the descriptor binding identified by dstSet and
-- dstBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, then
-- descriptorCount specifies the number of bytes to update.
-- Otherwise, descriptorCount is one of
--
--
[$sel:descriptorCount:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Word32
-- | descriptorType is a DescriptorType specifying the type
-- of each descriptor in pImageInfo, pBufferInfo, or
-- pTexelBufferView, as described below. If
-- DescriptorSetLayoutBinding for dstSet at
-- dstBinding is not equal to
-- DESCRIPTOR_TYPE_MUTABLE_VALVE, descriptorType
-- must be the same type as the descriptorType specified
-- in DescriptorSetLayoutBinding for dstSet at
-- dstBinding. The type of the descriptor also controls which
-- array the descriptors are taken from.
[$sel:descriptorType:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> DescriptorType
-- | pImageInfo is a pointer to an array of
-- DescriptorImageInfo structures or is ignored, as described
-- below.
[$sel:imageInfo:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Vector DescriptorImageInfo
-- | pBufferInfo is a pointer to an array of
-- DescriptorBufferInfo structures or is ignored, as described
-- below.
[$sel:bufferInfo:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Vector DescriptorBufferInfo
-- | pTexelBufferView is a pointer to an array of
-- BufferView handles as described in the Buffer Views
-- section or is ignored, as described below.
[$sel:texelBufferView:WriteDescriptorSet] :: WriteDescriptorSet (es :: [Type]) -> Vector BufferView
-- | VkCopyDescriptorSet - Structure specifying a copy descriptor set
-- operation
--
-- Description
--
-- If the DescriptorSetLayoutBinding for dstBinding is
-- DESCRIPTOR_TYPE_MUTABLE_VALVE and srcBinding is not
-- DESCRIPTOR_TYPE_MUTABLE_VALVE, the new active descriptor type
-- becomes the descriptor type of srcBinding. If both
-- DescriptorSetLayoutBinding for srcBinding and
-- dstBinding are DESCRIPTOR_TYPE_MUTABLE_VALVE, the
-- active descriptor type in each source descriptor is copied into the
-- corresponding destination descriptor. The active descriptor type
-- can be different for each source descriptor.
--
-- Note
--
-- The intention is that copies to and from mutable descriptors is a
-- simple memcpy. Copies between non-mutable and mutable descriptors are
-- expected to require one memcpy per descriptor to handle the difference
-- in size, but this use case with more than one descriptorCount
-- is considered rare.
--
-- Valid Usage
--
--
-- - srcBinding must be a valid binding within
-- srcSet
--
--
--
-- - The sum of srcArrayElement and descriptorCount
-- must be less than or equal to the number of array elements in
-- the descriptor set binding specified by srcBinding, and all
-- applicable consecutive bindings, as described by
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates-consecutive
-- - dstBinding must be a valid binding within
-- dstSet
-- - The sum of dstArrayElement and descriptorCount
-- must be less than or equal to the number of array elements in
-- the descriptor set binding specified by dstBinding, and all
-- applicable consecutive bindings, as described by
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates-consecutive
-- - The type of dstBinding within dstSet must
-- be equal to the type of srcBinding within
-- srcSet
-- - If srcSet is equal to dstSet, then the source
-- and destination ranges of descriptors must not overlap, where
-- the ranges may include array elements from consecutive bindings
-- as described by
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-updates-consecutive
-- - If the descriptor type of the descriptor set binding specified by
-- srcBinding is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-- srcArrayElement must be an integer multiple of
-- 4
-- - If the descriptor type of the descriptor set binding specified by
-- dstBinding is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-- dstArrayElement must be an integer multiple of
-- 4
-- - If the descriptor type of the descriptor set binding specified by
-- either srcBinding or dstBinding is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
-- descriptorCount must be an integer multiple of
-- 4
-- - If srcSet’s layout was created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT flag
-- set, then dstSet’s layout must also have been created
-- with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT flag
-- set
-- - If srcSet’s layout was created with neither
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT nor
-- DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE flags
-- set, then dstSet’s layout must have been created
-- without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT flag
-- set
-- - If the descriptor pool from which srcSet was allocated
-- was created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT flag set, then the
-- descriptor pool from which dstSet was allocated must
-- also have been created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT flag set
-- - If the descriptor pool from which srcSet was allocated
-- was created with neither
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT nor
-- DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE flags set, then the
-- descriptor pool from which dstSet was allocated must
-- have been created without the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT flag set
-- - If the descriptor type of the descriptor set binding specified by
-- dstBinding is DESCRIPTOR_TYPE_SAMPLER, then
-- dstSet must not have been allocated with a layout that
-- included immutable samplers for dstBinding
-- - If DescriptorSetLayoutBinding for dstSet at
-- dstBinding is DESCRIPTOR_TYPE_MUTABLE_VALVE, the new
-- active descriptor type must exist in the corresponding
-- pMutableDescriptorTypeLists list for dstBinding if
-- the new active descriptor type is not
-- DESCRIPTOR_TYPE_MUTABLE_VALVE
-- - If DescriptorSetLayoutBinding for srcSet at
-- srcBinding is DESCRIPTOR_TYPE_MUTABLE_VALVE and the
-- DescriptorSetLayoutBinding for dstSet at
-- dstBinding is not DESCRIPTOR_TYPE_MUTABLE_VALVE, the
-- active descriptor type for the source descriptor must match the
-- descriptor type of dstBinding
-- - If DescriptorSetLayoutBinding for dstSet at
-- dstBinding is DESCRIPTOR_TYPE_MUTABLE_VALVE, and the
-- new active descriptor type is DESCRIPTOR_TYPE_MUTABLE_VALVE,
-- the pMutableDescriptorTypeLists for srcBinding and
-- dstBinding must match exactly
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcSet must be a valid DescriptorSet
-- handle
-- - dstSet must be a valid DescriptorSet
-- handle
-- - Both of dstSet, and srcSet must have been
-- created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSet, StructureType,
-- updateDescriptorSets
data CopyDescriptorSet
CopyDescriptorSet :: DescriptorSet -> Word32 -> Word32 -> DescriptorSet -> Word32 -> Word32 -> Word32 -> CopyDescriptorSet
-- | srcSet, srcBinding, and srcArrayElement are
-- the source set, binding, and array element, respectively. If the
-- descriptor binding identified by srcSet and
-- srcBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- srcArrayElement specifies the starting byte offset within the
-- binding to copy from.
[$sel:srcSet:CopyDescriptorSet] :: CopyDescriptorSet -> DescriptorSet
[$sel:srcBinding:CopyDescriptorSet] :: CopyDescriptorSet -> Word32
[$sel:srcArrayElement:CopyDescriptorSet] :: CopyDescriptorSet -> Word32
-- | dstSet, dstBinding, and dstArrayElement are
-- the destination set, binding, and array element, respectively. If the
-- descriptor binding identified by dstSet and
-- dstBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- dstArrayElement specifies the starting byte offset within the
-- binding to copy to.
[$sel:dstSet:CopyDescriptorSet] :: CopyDescriptorSet -> DescriptorSet
[$sel:dstBinding:CopyDescriptorSet] :: CopyDescriptorSet -> Word32
[$sel:dstArrayElement:CopyDescriptorSet] :: CopyDescriptorSet -> Word32
-- | descriptorCount is the number of descriptors to copy from the
-- source to destination. If descriptorCount is greater than the
-- number of remaining array elements in the source or destination
-- binding, those affect consecutive bindings in a manner similar to
-- WriteDescriptorSet above. If the descriptor binding identified
-- by srcSet and srcBinding has a descriptor type of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- descriptorCount specifies the number of bytes to copy and the
-- remaining array elements in the source or destination binding refer to
-- the remaining number of bytes in those.
[$sel:descriptorCount:CopyDescriptorSet] :: CopyDescriptorSet -> Word32
-- | VkDescriptorSetLayoutBinding - Structure specifying a descriptor set
-- layout binding
--
-- Description
--
--
-- - pImmutableSamplers affects initialization of samplers. If
-- descriptorType specifies a DESCRIPTOR_TYPE_SAMPLER or
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER type descriptor, then
-- pImmutableSamplers can be used to initialize a set of
-- immutable samplers. Immutable samplers are permanently bound
-- into the set layout and must not be changed; updating a
-- DESCRIPTOR_TYPE_SAMPLER descriptor with immutable samplers is
-- not allowed and updates to a
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptor with
-- immutable samplers does not modify the samplers (the image views are
-- updated, but the sampler updates are ignored). If
-- pImmutableSamplers is not NULL, then it is a pointer
-- to an array of sampler handles that will be copied into the set layout
-- and used for the corresponding binding. Only the sampler handles are
-- copied; the sampler objects must not be destroyed before the
-- final use of the set layout and any descriptor pools and sets created
-- using it. If pImmutableSamplers is NULL, then the
-- sampler slots are dynamic and sampler handles must be bound
-- into descriptor sets using this layout. If descriptorType is
-- not one of these descriptor types, then pImmutableSamplers is
-- ignored.
--
--
-- The above layout definition allows the descriptor bindings to be
-- specified sparsely such that not all binding numbers between 0 and the
-- maximum binding number need to be specified in the pBindings
-- array. Bindings that are not specified have a descriptorCount
-- and stageFlags of zero, and the value of
-- descriptorType is undefined. However, all binding numbers
-- between 0 and the maximum binding number in the
-- DescriptorSetLayoutCreateInfo::pBindings array
-- may consume memory in the descriptor set layout even if not all
-- descriptor bindings are used, though it should not consume
-- additional memory from the descriptor pool.
--
-- Note
--
-- The maximum binding number specified should be as compact as
-- possible to avoid wasted memory.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayoutCreateInfo,
-- DescriptorType, Sampler, ShaderStageFlags
data DescriptorSetLayoutBinding
DescriptorSetLayoutBinding :: Word32 -> DescriptorType -> Word32 -> ShaderStageFlags -> Vector Sampler -> DescriptorSetLayoutBinding
-- | binding is the binding number of this entry and corresponds
-- to a resource of the same binding number in the shader stages.
[$sel:binding:DescriptorSetLayoutBinding] :: DescriptorSetLayoutBinding -> Word32
-- | descriptorType is a DescriptorType specifying which
-- type of resource descriptors are used for this binding.
[$sel:descriptorType:DescriptorSetLayoutBinding] :: DescriptorSetLayoutBinding -> DescriptorType
-- | descriptorCount is the number of descriptors contained in the
-- binding, accessed in a shader as an array, except if
-- descriptorType is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT in which case
-- descriptorCount is the size in bytes of the inline uniform
-- block. If descriptorCount is zero this binding entry is
-- reserved and the resource must not be accessed from any stage
-- via this binding within any pipeline using the set layout.
[$sel:descriptorCount:DescriptorSetLayoutBinding] :: DescriptorSetLayoutBinding -> Word32
-- | stageFlags member is a bitmask of ShaderStageFlagBits
-- specifying which pipeline shader stages can access a resource
-- for this binding. SHADER_STAGE_ALL is a shorthand specifying
-- that all defined shader stages, including any additional stages
-- defined by extensions, can access the resource.
--
-- If a shader stage is not included in stageFlags, then a
-- resource must not be accessed from that stage via this binding
-- within any pipeline using the set layout. Other than input attachments
-- which are limited to the fragment shader, there are no limitations on
-- what combinations of stages can use a descriptor binding, and
-- in particular a binding can be used by both graphics stages and
-- the compute stage.
[$sel:stageFlags:DescriptorSetLayoutBinding] :: DescriptorSetLayoutBinding -> ShaderStageFlags
[$sel:immutableSamplers:DescriptorSetLayoutBinding] :: DescriptorSetLayoutBinding -> Vector Sampler
-- | VkDescriptorSetLayoutCreateInfo - Structure specifying parameters of a
-- newly created descriptor set layout
--
-- Valid Usage
--
--
-- - The DescriptorSetLayoutBinding::binding members of
-- the elements of the pBindings array must each have
-- different values
--
--
--
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, then all
-- elements of pBindings must not have a
-- descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, then all
-- elements of pBindings must not have a
-- descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, then the
-- total number of elements of all bindings must be less than or
-- equal to
-- PhysicalDevicePushDescriptorPropertiesKHR::maxPushDescriptors
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
-- flags must not contain
-- DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
-- pBindings must not have a descriptorType of
-- DESCRIPTOR_TYPE_MUTABLE_VALVE
-- - If any binding has the
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set,
-- flags must include
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
-- - If any binding has the
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set, then all
-- bindings must not have descriptorType of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-- flags must not contain
-- DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE
-- - If any binding has a descriptorType of
-- DESCRIPTOR_TYPE_MUTABLE_VALVE, then a
-- MutableDescriptorTypeCreateInfoVALVE must be present in
-- the pNext chain
-- - If a binding has a descriptorType value of
-- DESCRIPTOR_TYPE_MUTABLE_VALVE, then pImmutableSamplers
-- must be NULL
-- - If
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE::mutableDescriptorType
-- is not enabled, pBindings must not contain a
-- descriptorType of DESCRIPTOR_TYPE_MUTABLE_VALVE
-- - If flags contains
-- DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE::mutableDescriptorType
-- must be enabled
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayoutBinding,
-- DescriptorSetLayoutCreateFlags, StructureType,
-- createDescriptorSetLayout,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR
data DescriptorSetLayoutCreateInfo (es :: [Type])
DescriptorSetLayoutCreateInfo :: Chain es -> DescriptorSetLayoutCreateFlags -> Vector DescriptorSetLayoutBinding -> DescriptorSetLayoutCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DescriptorSetLayoutCreateInfo] :: DescriptorSetLayoutCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of
-- DescriptorSetLayoutCreateFlagBits specifying options for
-- descriptor set layout creation.
[$sel:flags:DescriptorSetLayoutCreateInfo] :: DescriptorSetLayoutCreateInfo (es :: [Type]) -> DescriptorSetLayoutCreateFlags
-- | pBindings is a pointer to an array of
-- DescriptorSetLayoutBinding structures.
[$sel:bindings:DescriptorSetLayoutCreateInfo] :: DescriptorSetLayoutCreateInfo (es :: [Type]) -> Vector DescriptorSetLayoutBinding
-- | VkDescriptorPoolSize - Structure specifying descriptor pool size
--
-- Description
--
-- Note
--
-- When creating a descriptor pool that will contain descriptors for
-- combined image samplers of multi-planar formats, an application needs
-- to account for non-trivial descriptor consumption when choosing the
-- descriptorCount value, as indicated by
-- SamplerYcbcrConversionImageFormatProperties::combinedImageSamplerDescriptorCount.
--
-- Valid Usage
--
--
-- - descriptorCount must be greater than
-- 0
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolCreateInfo,
-- DescriptorType
data DescriptorPoolSize
DescriptorPoolSize :: DescriptorType -> Word32 -> DescriptorPoolSize
-- | type is the type of descriptor.
[$sel:type':DescriptorPoolSize] :: DescriptorPoolSize -> DescriptorType
-- | descriptorCount is the number of descriptors of that type to
-- allocate. If type is
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then
-- descriptorCount is the number of bytes to allocate for
-- descriptors of this type.
[$sel:descriptorCount:DescriptorPoolSize] :: DescriptorPoolSize -> Word32
-- | VkDescriptorPoolCreateInfo - Structure specifying parameters of a
-- newly created descriptor pool
--
-- Description
--
-- If multiple DescriptorPoolSize structures containing the same
-- descriptor type appear in the pPoolSizes array then the pool
-- will be created with enough storage for the total number of
-- descriptors of each type.
--
-- Fragmentation of a descriptor pool is possible and may lead to
-- descriptor set allocation failures. A failure due to fragmentation is
-- defined as failing a descriptor set allocation despite the sum of all
-- outstanding descriptor set allocations from the pool plus the
-- requested allocation requiring no more than the total number of
-- descriptors requested at pool creation. Implementations provide
-- certain guarantees of when fragmentation must not cause
-- allocation failure, as described below.
--
-- If a descriptor pool has not had any descriptor sets freed since it
-- was created or most recently reset then fragmentation must not
-- cause an allocation failure (note that this is always the case for a
-- pool created without the
-- DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT bit set).
-- Additionally, if all sets allocated from the pool since it was created
-- or most recently reset use the same number of descriptors (of each
-- type) and the requested allocation also uses that same number of
-- descriptors (of each type), then fragmentation must not cause
-- an allocation failure.
--
-- If an allocation failure occurs due to fragmentation, an application
-- can create an additional descriptor pool to perform further
-- descriptor set allocations.
--
-- If flags has the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set,
-- descriptor pool creation may fail with the error
-- ERROR_FRAGMENTATION if the total number of descriptors across
-- all pools (including this one) created with this bit set exceeds
-- maxUpdateAfterBindDescriptorsInAllPools, or if fragmentation
-- of the underlying hardware resources occurs.
--
-- If a pPoolSizes[i]::type is
-- DESCRIPTOR_TYPE_MUTABLE_VALVE, a
-- MutableDescriptorTypeCreateInfoVALVE struct in the
-- pNext chain can be used to specify which mutable
-- descriptor types can be allocated from the pool. If present in
-- the pNext chain,
-- MutableDescriptorTypeCreateInfoVALVE::pMutableDescriptorTypeLists[i]
-- specifies which kind of DESCRIPTOR_TYPE_MUTABLE_VALVE
-- descriptors can be allocated from this pool entry. If
-- MutableDescriptorTypeCreateInfoVALVE does not exist in the
-- pNext chain, or
-- MutableDescriptorTypeCreateInfoVALVE::pMutableDescriptorTypeLists[i]
-- is out of range, the descriptor pool allocates enough memory to be
-- able to allocate a DESCRIPTOR_TYPE_MUTABLE_VALVE descriptor
-- with any supported DescriptorType as a mutable descriptor. A
-- mutable descriptor can be allocated from a pool entry if the
-- type list in DescriptorSetLayoutCreateInfo is a subset of the
-- type list declared in the descriptor pool, or if the pool entry is
-- created without a descriptor type list. Multiple pPoolSizes
-- entries with DESCRIPTOR_TYPE_MUTABLE_VALVE can be
-- declared. When multiple such pool entries are present in
-- pPoolSizes, they specify sets of supported descriptor types
-- which either fully overlap, partially overlap, or are disjoint. Two
-- sets fully overlap if the sets of supported descriptor types are
-- equal. If the sets are not disjoint they partially overlap. A pool
-- entry without a MutableDescriptorTypeListVALVE assigned to it
-- is considered to partially overlap any other pool entry which has a
-- MutableDescriptorTypeListVALVE assigned to it. The application
-- must ensure that partial overlap does not exist in
-- pPoolSizes.
--
-- Note
--
-- The requirement of no partial overlap is intended to resolve ambiguity
-- for validation as there is no confusion which pPoolSizes
-- entries will be allocated from. An implementation is not expected to
-- depend on this requirement.
--
-- Valid Usage
--
--
-- - maxSets must be greater than 0
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolCreateFlags,
-- DescriptorPoolSize, StructureType,
-- createDescriptorPool
data DescriptorPoolCreateInfo (es :: [Type])
DescriptorPoolCreateInfo :: Chain es -> DescriptorPoolCreateFlags -> Word32 -> Vector DescriptorPoolSize -> DescriptorPoolCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DescriptorPoolCreateInfo] :: DescriptorPoolCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of DescriptorPoolCreateFlagBits
-- specifying certain supported operations on the pool.
[$sel:flags:DescriptorPoolCreateInfo] :: DescriptorPoolCreateInfo (es :: [Type]) -> DescriptorPoolCreateFlags
-- | maxSets is the maximum number of descriptor sets that
-- can be allocated from the pool.
[$sel:maxSets:DescriptorPoolCreateInfo] :: DescriptorPoolCreateInfo (es :: [Type]) -> Word32
-- | pPoolSizes is a pointer to an array of
-- DescriptorPoolSize structures, each containing a descriptor
-- type and number of descriptors of that type to be allocated in the
-- pool.
[$sel:poolSizes:DescriptorPoolCreateInfo] :: DescriptorPoolCreateInfo (es :: [Type]) -> Vector DescriptorPoolSize
-- | VkDescriptorSetAllocateInfo - Structure specifying the allocation
-- parameters for descriptor sets
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of
-- DescriptorSetVariableDescriptorCountAllocateInfo
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - descriptorPool must be a valid
-- DescriptorPool handle
-- - pSetLayouts must be a valid pointer to an array of
-- descriptorSetCount valid DescriptorSetLayout
-- handles
-- - descriptorSetCount must be greater than
-- 0
-- - Both of descriptorPool, and the elements of
-- pSetLayouts must have been created, allocated, or
-- retrieved from the same Device
--
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPool,
-- DescriptorSetLayout, StructureType,
-- allocateDescriptorSets
data DescriptorSetAllocateInfo (es :: [Type])
DescriptorSetAllocateInfo :: Chain es -> DescriptorPool -> Vector DescriptorSetLayout -> DescriptorSetAllocateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DescriptorSetAllocateInfo] :: DescriptorSetAllocateInfo (es :: [Type]) -> Chain es
-- | descriptorPool is the pool which the sets will be allocated
-- from.
[$sel:descriptorPool:DescriptorSetAllocateInfo] :: DescriptorSetAllocateInfo (es :: [Type]) -> DescriptorPool
-- | pSetLayouts is a pointer to an array of descriptor set
-- layouts, with each member specifying how the corresponding descriptor
-- set is allocated.
[$sel:setLayouts:DescriptorSetAllocateInfo] :: DescriptorSetAllocateInfo (es :: [Type]) -> Vector DescriptorSetLayout
-- | VkDescriptorSet - Opaque handle to a descriptor set object
--
-- See Also
--
-- VK_VERSION_1_0, CopyDescriptorSet,
-- WriteDescriptorSet, allocateDescriptorSets,
-- cmdBindDescriptorSets, freeDescriptorSets,
-- updateDescriptorSetWithTemplate,
-- updateDescriptorSetWithTemplateKHR
newtype DescriptorSet
DescriptorSet :: Word64 -> DescriptorSet
-- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout
-- object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- DescriptorUpdateTemplateCreateInfo,
-- PipelineLayoutCreateInfo, createDescriptorSetLayout,
-- destroyDescriptorSetLayout
newtype DescriptorSetLayout
DescriptorSetLayout :: Word64 -> DescriptorSetLayout
-- | VkDescriptorPool - Opaque handle to a descriptor pool object
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetAllocateInfo,
-- createDescriptorPool, destroyDescriptorPool,
-- freeDescriptorSets, resetDescriptorPool
newtype DescriptorPool
DescriptorPool :: Word64 -> DescriptorPool
-- | VkDescriptorPoolResetFlags - Reserved for future use
--
-- Description
--
-- DescriptorPoolResetFlags is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- See Also
--
-- VK_VERSION_1_0, resetDescriptorPool
newtype DescriptorPoolResetFlags
DescriptorPoolResetFlags :: Flags -> DescriptorPoolResetFlags
-- | VkDescriptorType - Specifies the type of a descriptor in a descriptor
-- set
--
-- Description
--
--
--
--
--
-- When a descriptor set is updated via elements of
-- WriteDescriptorSet, members of pImageInfo,
-- pBufferInfo and pTexelBufferView are only accessed
-- by the implementation when they correspond to descriptor type being
-- defined - otherwise they are ignored. The members accessed are as
-- follows for each descriptor type:
--
--
-- - For DESCRIPTOR_TYPE_SAMPLER, only the sampler
-- member of each element of
-- WriteDescriptorSet::pImageInfo is accessed.
-- - For DESCRIPTOR_TYPE_SAMPLED_IMAGE,
-- DESCRIPTOR_TYPE_STORAGE_IMAGE, or
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT, only the imageView
-- and imageLayout members of each element of
-- WriteDescriptorSet::pImageInfo are accessed.
-- - For DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, all members of
-- each element of WriteDescriptorSet::pImageInfo are
-- accessed.
-- - For DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-- DESCRIPTOR_TYPE_STORAGE_BUFFER,
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, all members of each
-- element of WriteDescriptorSet::pBufferInfo are
-- accessed.
-- - For DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, each element of
-- WriteDescriptorSet::pTexelBufferView is accessed.
--
--
-- When updating descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetInlineUniformBlockEXT structure in the
-- pNext chain of WriteDescriptorSet. When updating
-- descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetAccelerationStructureKHR structure in the
-- pNext chain of WriteDescriptorSet. When updating
-- descriptors with a descriptorType of
-- DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, none of the
-- pImageInfo, pBufferInfo, or
-- pTexelBufferView members are accessed, instead the source
-- data of the descriptor update operation is taken from the
-- WriteDescriptorSetAccelerationStructureNV structure in the
-- pNext chain of WriteDescriptorSet.
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolSize,
-- DescriptorSetLayoutBinding,
-- DescriptorUpdateTemplateEntry, ImageViewHandleInfoNVX,
-- MutableDescriptorTypeListVALVE, WriteDescriptorSet
newtype DescriptorType
DescriptorType :: Int32 -> DescriptorType
pattern DESCRIPTOR_TYPE_SAMPLER :: DescriptorType
pattern DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: DescriptorType
pattern DESCRIPTOR_TYPE_SAMPLED_IMAGE :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_IMAGE :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_BUFFER :: DescriptorType
pattern DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: DescriptorType
pattern DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: DescriptorType
pattern DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: DescriptorType
pattern DESCRIPTOR_TYPE_MUTABLE_VALVE :: DescriptorType
pattern DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV :: DescriptorType
pattern DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR :: DescriptorType
pattern DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT :: DescriptorType
-- | VkDescriptorPoolCreateFlagBits - Bitmask specifying certain supported
-- operations on a descriptor pool
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorPoolCreateFlags
newtype DescriptorPoolCreateFlagBits
DescriptorPoolCreateFlagBits :: Flags -> DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT specifies that
-- descriptor sets can return their individual allocations to the
-- pool, i.e. all of allocateDescriptorSets,
-- freeDescriptorSets, and resetDescriptorPool are allowed.
-- Otherwise, descriptor sets allocated from the pool must not be
-- individually freed back to the pool, i.e. only
-- allocateDescriptorSets and resetDescriptorPool are
-- allowed.
pattern DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE specifies that this
-- descriptor pool and the descriptor sets allocated from it reside
-- entirely in host memory and cannot be bound. Descriptor sets allocated
-- from this pool are partially exempt from the external synchronization
-- requirement in updateDescriptorSetWithTemplateKHR and
-- updateDescriptorSets. Descriptor sets and their descriptors can
-- be updated concurrently in different threads, though the same
-- descriptor must not be updated concurrently by two threads.
pattern DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE :: DescriptorPoolCreateFlagBits
-- | DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT specifies that
-- descriptor sets allocated from this pool can include bindings
-- with the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set. It
-- is valid to allocate descriptor sets that have bindings that do not
-- set the DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit from a
-- pool that has DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT set.
pattern DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: DescriptorPoolCreateFlagBits
type DescriptorPoolCreateFlags = DescriptorPoolCreateFlagBits
-- | VkDescriptorSetLayoutCreateFlagBits - Bitmask specifying descriptor
-- set layout properties
--
-- See Also
--
-- VK_VERSION_1_0, DescriptorSetLayoutCreateFlags
newtype DescriptorSetLayoutCreateFlagBits
DescriptorSetLayoutCreateFlagBits :: Flags -> DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE specifies
-- that descriptor sets using this layout must be allocated from a
-- descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE bit set. Descriptor
-- set layouts created with this bit have no expressable limit for
-- maximum number of descriptors per-stage. Host descriptor sets are
-- limited only by available host memory, but may be limited for
-- implementation specific reasons. Implementations may limit the
-- number of supported descriptors to UpdateAfterBind limits or
-- non-UpdateAfterBind limits, whichever is larger.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR specifies
-- that descriptor sets must not be allocated using this layout,
-- and descriptors are instead pushed by cmdPushDescriptorSetKHR.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR :: DescriptorSetLayoutCreateFlagBits
-- | DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
-- specifies that descriptor sets using this layout must be
-- allocated from a descriptor pool created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set.
-- Descriptor set layouts created with this bit set have alternate limits
-- for the maximum number of descriptors per-stage and per-pipeline
-- layout. The non-UpdateAfterBind limits only count descriptors in sets
-- created without this flag. The UpdateAfterBind limits count all
-- descriptors, but the limits may be higher than the
-- non-UpdateAfterBind limits.
pattern DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT :: DescriptorSetLayoutCreateFlagBits
type DescriptorSetLayoutCreateFlags = DescriptorSetLayoutCreateFlagBits
instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance GHC.Show.Show Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
instance GHC.Show.Show Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.DescriptorSet.WriteDescriptorSet es)
instance GHC.Show.Show Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance GHC.Show.Show Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es)
instance GHC.Show.Show Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance Foreign.Storable.Storable Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance Vulkan.Zero.Zero Vulkan.Core10.DescriptorSet.DescriptorPoolSize
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding
instance Vulkan.Zero.Zero Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance Foreign.Storable.Storable Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance Vulkan.Zero.Zero Vulkan.Core10.DescriptorSet.CopyDescriptorSet
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.DescriptorSet.WriteDescriptorSet
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.WriteDescriptorSet es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.DescriptorSet.WriteDescriptorSet es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.DescriptorSet.WriteDescriptorSet es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.DescriptorSet.WriteDescriptorSet es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.DescriptorSet.WriteDescriptorSet es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance Foreign.Storable.Storable Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance Vulkan.Zero.Zero Vulkan.Core10.DescriptorSet.DescriptorImageInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
instance Foreign.Storable.Storable Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
instance Vulkan.Zero.Zero Vulkan.Core10.DescriptorSet.DescriptorBufferInfo
-- | Name
--
-- VK_KHR_push_descriptor - device extension
--
-- VK_KHR_push_descriptor
--
--
-- - Name String VK_KHR_push_descriptor
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 81
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-12
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Michael Worcester, Imagination
-- Technologies
--
--
-- Description
--
-- This extension allows descriptors to be written into the command
-- buffer, while the implementation is responsible for managing their
-- memory. Push descriptors may enable easier porting from older APIs and
-- in some cases can be more efficient than writing descriptors into
-- descriptor sets.
--
-- New Commands
--
--
--
-- If VK_KHR_descriptor_update_template is supported:
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- New Structures
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_descriptor_update_template is supported:
--
--
--
-- If Version 1.1 is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-10-15 (Jeff Bolz)
--
--
--
-- - Revision 2, 2017-09-12 (Tobias Hector)
- Added interactions
-- with Vulkan 1.1
--
--
-- See Also
--
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- cmdPushDescriptorSetKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_push_descriptor
-- | vkCmdPushDescriptorSetKHR - Pushes descriptor updates into a command
-- buffer
--
-- Description
--
-- Push descriptors are a small bank of descriptors whose storage
-- is internally managed by the command buffer rather than being written
-- into a descriptor set and later bound to a command buffer. Push
-- descriptors allow for incremental updates of descriptors without
-- managing the lifetime of descriptor sets.
--
-- When a command buffer begins recording, all push descriptors are
-- undefined. Push descriptors can be updated incrementally and
-- cause shaders to use the updated descriptors for subsequent bound
-- pipeline commands with the pipeline type set by
-- pipelineBindPoint until the descriptor is overwritten, or
-- else until the set is disturbed as described in Pipeline Layout
-- Compatibility. When the set is disturbed or push descriptors with
-- a different descriptor set layout are set, all push descriptors are
-- undefined.
--
-- Push descriptors that are statically used by a pipeline
-- must not be undefined at the time that a drawing or dispatching
-- command is recorded to execute using that pipeline. This includes
-- immutable sampler descriptors, which must be pushed before they
-- are accessed by a pipeline (the immutable samplers are pushed, rather
-- than the samplers in pDescriptorWrites). Push descriptors
-- that are not statically used can remain undefined.
--
-- Push descriptors do not use dynamic offsets. Instead, the
-- corresponding non-dynamic descriptor types can be used and the
-- offset member of DescriptorBufferInfo can be
-- changed each time the descriptor is written.
--
-- Each element of pDescriptorWrites is interpreted as in
-- WriteDescriptorSet, except the dstSet member is
-- ignored.
--
-- To push an immutable sampler, use a WriteDescriptorSet with
-- dstBinding and dstArrayElement selecting the
-- immutable sampler’s binding. If the descriptor type is
-- DESCRIPTOR_TYPE_SAMPLER, the pImageInfo parameter is
-- ignored and the immutable sampler is taken from the push descriptor
-- set layout in the pipeline layout. If the descriptor type is
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the sampler
-- member of the pImageInfo parameter is ignored and the
-- immutable sampler is taken from the push descriptor set layout in the
-- pipeline layout.
--
-- Valid Usage
--
--
-- - pipelineBindPoint must be supported by the
-- commandBuffer’s parent CommandPool’s queue family
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - layout must be a valid PipelineLayout
-- handle
-- - pDescriptorWrites must be a valid pointer to an
-- array of descriptorWriteCount valid WriteDescriptorSet
-- structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - descriptorWriteCount must be greater than
-- 0
-- - Both of commandBuffer, and layout must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_push_descriptor, CommandBuffer,
-- PipelineBindPoint, PipelineLayout,
-- WriteDescriptorSet
cmdPushDescriptorSetKHR :: forall io. MonadIO io => CommandBuffer -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> ("descriptorWrites" ::: Vector (SomeStruct WriteDescriptorSet)) -> io ()
-- | vkCmdPushDescriptorSetWithTemplateKHR - Pushes descriptor updates into
-- a command buffer using a descriptor update template
--
-- Valid Usage
--
--
-- - The pipelineBindPoint specified during the creation of
-- the descriptor update template must be supported by the
-- commandBuffer’s parent CommandPool’s queue family
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - descriptorUpdateTemplate must be a valid
-- DescriptorUpdateTemplate handle
-- - layout must be a valid PipelineLayout
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Each of commandBuffer, descriptorUpdateTemplate,
-- and layout must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- API example
--
--
-- struct AppDataStructure
-- {
-- VkDescriptorImageInfo imageInfo; // a single image info
-- // ... some more application related data
-- };
--
-- const VkDescriptorUpdateTemplateEntry descriptorUpdateTemplateEntries[] =
-- {
-- // binding to a single image descriptor
-- {
-- 0, // binding
-- 0, // dstArrayElement
-- 1, // descriptorCount
-- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, // descriptorType
-- offsetof(AppDataStructure, imageInfo), // offset
-- 0 // stride is not required if descriptorCount is 1
-- }
-- };
--
-- // create a descriptor update template for push descriptor set updates
-- const VkDescriptorUpdateTemplateCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, // sType
-- NULL, // pNext
-- 0, // flags
-- 1, // descriptorUpdateEntryCount
-- descriptorUpdateTemplateEntries, // pDescriptorUpdateEntries
-- VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR, // templateType
-- 0, // descriptorSetLayout, ignored by given templateType
-- VK_PIPELINE_BIND_POINT_GRAPHICS, // pipelineBindPoint
-- myPipelineLayout, // pipelineLayout
-- 0, // set
-- };
--
-- VkDescriptorUpdateTemplate myDescriptorUpdateTemplate;
-- myResult = vkCreateDescriptorUpdateTemplate(
-- myDevice,
-- &createInfo,
-- NULL,
-- &myDescriptorUpdateTemplate);
--
-- AppDataStructure appData;
-- // fill appData here or cache it in your engine
-- vkCmdPushDescriptorSetWithTemplateKHR(myCmdBuffer, myDescriptorUpdateTemplate, myPipelineLayout, 0,&appData);
--
--
-- See Also
--
-- VK_KHR_descriptor_update_template,
-- VK_KHR_push_descriptor, VK_VERSION_1_1,
-- CommandBuffer, DescriptorUpdateTemplate,
-- PipelineLayout
cmdPushDescriptorSetWithTemplateKHR :: forall io. MonadIO io => CommandBuffer -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("data" ::: Ptr ()) -> io ()
-- | VkPhysicalDevicePushDescriptorPropertiesKHR - Structure describing
-- push descriptor limits that can be supported by an implementation
--
-- Description
--
-- If the PhysicalDevicePushDescriptorPropertiesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_push_descriptor, StructureType
data PhysicalDevicePushDescriptorPropertiesKHR
PhysicalDevicePushDescriptorPropertiesKHR :: Word32 -> PhysicalDevicePushDescriptorPropertiesKHR
-- | maxPushDescriptors is the maximum number of descriptors that
-- can be used in a descriptor set created with
-- DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set.
[$sel:maxPushDescriptors:PhysicalDevicePushDescriptorPropertiesKHR] :: PhysicalDevicePushDescriptorPropertiesKHR -> Word32
type KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2
pattern KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: forall a. Integral a => a
type KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor"
pattern KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR
-- | Name
--
-- VK_KHR_descriptor_update_template - device extension
--
-- VK_KHR_descriptor_update_template
--
--
-- - Name String
-- VK_KHR_descriptor_update_template
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 86
-- - Revision 1
-- - Extension and Version Dependencies
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - IP Status No known IP claims.
-- - Interactions and External Dependencies
--
- Interacts with
-- VK_KHR_push_descriptor
- Promoted to Vulkan 1.1
-- Core
-- - Contributors
- Jeff Bolz,
-- NVIDIA
- Michael Worcester, Imagination
-- Technologies
--
--
-- Description
--
-- Applications may wish to update a fixed set of descriptors in a large
-- number of descriptor sets very frequently, i.e. during initializaton
-- phase or if it is required to rebuild descriptor sets for each frame.
-- For those cases it is also not unlikely that all information required
-- to update a single descriptor set is stored in a single struct. This
-- extension provides a way to update a fixed set of descriptors in a
-- single DescriptorSet with a pointer to a user defined data
-- structure describing the new descriptors.
--
-- Promotion to Vulkan 1.1
--
-- cmdPushDescriptorSetWithTemplateKHR is included as an
-- interaction with VK_KHR_push_descriptor. If Vulkan 1.1 and
-- VK_KHR_push_descriptor are supported, this is included by
-- VK_KHR_push_descriptor.
--
-- The base functionality in this extension is included in core Vulkan
-- 1.1, with the KHR suffix omitted. The original type, enum and command
-- names are still available as aliases of the core functionality.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- If VK_KHR_push_descriptor is supported:
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_EXT_debug_report is supported:
--
--
--
-- If VK_KHR_push_descriptor is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2016-01-11 (Markus Tavenrath)
--
--
-- See Also
--
-- DescriptorUpdateTemplateCreateFlagsKHR,
-- DescriptorUpdateTemplateCreateInfoKHR,
-- DescriptorUpdateTemplateEntryKHR,
-- DescriptorUpdateTemplateKHR,
-- DescriptorUpdateTemplateTypeKHR,
-- createDescriptorUpdateTemplateKHR,
-- destroyDescriptorUpdateTemplateKHR,
-- updateDescriptorSetWithTemplateKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_descriptor_update_template
pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR :: StructureType
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR :: ObjectType
pattern DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR :: DescriptorUpdateTemplateType
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT :: DebugReportObjectTypeEXT
createDescriptorUpdateTemplateKHR :: MonadIO io => Device -> DescriptorUpdateTemplateCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io DescriptorUpdateTemplate
destroyDescriptorUpdateTemplateKHR :: MonadIO io => Device -> DescriptorUpdateTemplate -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
updateDescriptorSetWithTemplateKHR :: MonadIO io => Device -> DescriptorSet -> DescriptorUpdateTemplate -> ("data" ::: Ptr ()) -> io ()
type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags
type DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate
type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType
type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry
type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo
type KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1
pattern KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION :: forall a. Integral a => a
type KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template"
pattern KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | vkCmdPushDescriptorSetWithTemplateKHR - Pushes descriptor updates into
-- a command buffer using a descriptor update template
--
-- Valid Usage
--
--
-- - The pipelineBindPoint specified during the creation of
-- the descriptor update template must be supported by the
-- commandBuffer’s parent CommandPool’s queue family
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - descriptorUpdateTemplate must be a valid
-- DescriptorUpdateTemplate handle
-- - layout must be a valid PipelineLayout
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Each of commandBuffer, descriptorUpdateTemplate,
-- and layout must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- API example
--
--
-- struct AppDataStructure
-- {
-- VkDescriptorImageInfo imageInfo; // a single image info
-- // ... some more application related data
-- };
--
-- const VkDescriptorUpdateTemplateEntry descriptorUpdateTemplateEntries[] =
-- {
-- // binding to a single image descriptor
-- {
-- 0, // binding
-- 0, // dstArrayElement
-- 1, // descriptorCount
-- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, // descriptorType
-- offsetof(AppDataStructure, imageInfo), // offset
-- 0 // stride is not required if descriptorCount is 1
-- }
-- };
--
-- // create a descriptor update template for push descriptor set updates
-- const VkDescriptorUpdateTemplateCreateInfo createInfo =
-- {
-- VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, // sType
-- NULL, // pNext
-- 0, // flags
-- 1, // descriptorUpdateEntryCount
-- descriptorUpdateTemplateEntries, // pDescriptorUpdateEntries
-- VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR, // templateType
-- 0, // descriptorSetLayout, ignored by given templateType
-- VK_PIPELINE_BIND_POINT_GRAPHICS, // pipelineBindPoint
-- myPipelineLayout, // pipelineLayout
-- 0, // set
-- };
--
-- VkDescriptorUpdateTemplate myDescriptorUpdateTemplate;
-- myResult = vkCreateDescriptorUpdateTemplate(
-- myDevice,
-- &createInfo,
-- NULL,
-- &myDescriptorUpdateTemplate);
--
-- AppDataStructure appData;
-- // fill appData here or cache it in your engine
-- vkCmdPushDescriptorSetWithTemplateKHR(myCmdBuffer, myDescriptorUpdateTemplate, myPipelineLayout, 0,&appData);
--
--
-- See Also
--
-- VK_KHR_descriptor_update_template,
-- VK_KHR_push_descriptor, VK_VERSION_1_1,
-- CommandBuffer, DescriptorUpdateTemplate,
-- PipelineLayout
cmdPushDescriptorSetWithTemplateKHR :: forall io. MonadIO io => CommandBuffer -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("data" ::: Ptr ()) -> io ()
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
module Vulkan.Core11.Promoted_From_VK_KHR_maintenance3
-- | vkGetDescriptorSetLayoutSupport - Query whether a descriptor set
-- layout can be created
--
-- Description
--
-- Some implementations have limitations on what fits in a descriptor set
-- which are not easily expressible in terms of existing limits like
-- maxDescriptorSet*, for example if all descriptor types share
-- a limited space in memory but each descriptor is a different size or
-- alignment. This command returns information about whether a descriptor
-- set satisfies this limit. If the descriptor set layout satisfies the
-- PhysicalDeviceMaintenance3Properties::maxPerSetDescriptors
-- limit, this command is guaranteed to return TRUE in
-- DescriptorSetLayoutSupport::supported. If the
-- descriptor set layout exceeds the
-- PhysicalDeviceMaintenance3Properties::maxPerSetDescriptors
-- limit, whether the descriptor set layout is supported is
-- implementation-dependent and may depend on whether the
-- descriptor sizes and alignments cause the layout to exceed an internal
-- limit.
--
-- This command does not consider other limits such as
-- maxPerStageDescriptor*, and so a descriptor set layout that
-- is supported according to this command must still satisfy the
-- pipeline layout limits such as maxPerStageDescriptor* in
-- order to be used in a pipeline layout.
--
-- Note
--
-- This is a Device query rather than PhysicalDevice
-- because the answer may depend on enabled features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport, Device
getDescriptorSetLayoutSupport :: forall a b io. (Extendss DescriptorSetLayoutCreateInfo a, PokeChain a, Extendss DescriptorSetLayoutSupport b, PokeChain b, PeekChain b, MonadIO io) => Device -> DescriptorSetLayoutCreateInfo a -> io (DescriptorSetLayoutSupport b)
-- | VkPhysicalDeviceMaintenance3Properties - Structure describing
-- descriptor set properties
--
-- Description
--
-- If the PhysicalDeviceMaintenance3Properties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_1, DeviceSize, StructureType
data PhysicalDeviceMaintenance3Properties
PhysicalDeviceMaintenance3Properties :: Word32 -> DeviceSize -> PhysicalDeviceMaintenance3Properties
-- | maxPerSetDescriptors is a maximum number of descriptors
-- (summed over all descriptor types) in a single descriptor set that is
-- guaranteed to satisfy any implementation-dependent constraints on the
-- size of a descriptor set itself. Applications can query whether
-- a descriptor set that goes beyond this limit is supported using
-- getDescriptorSetLayoutSupport.
[$sel:maxPerSetDescriptors:PhysicalDeviceMaintenance3Properties] :: PhysicalDeviceMaintenance3Properties -> Word32
-- | maxMemoryAllocationSize is the maximum size of a memory
-- allocation that can be created, even if there is more space
-- available in the heap.
[$sel:maxMemoryAllocationSize:PhysicalDeviceMaintenance3Properties] :: PhysicalDeviceMaintenance3Properties -> DeviceSize
-- | VkDescriptorSetLayoutSupport - Structure returning information about
-- whether a descriptor set layout can be supported
--
-- Description
--
-- supported is set to TRUE if the descriptor set
-- can be created, or else is set to FALSE.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_1, Bool32, StructureType,
-- getDescriptorSetLayoutSupport,
-- getDescriptorSetLayoutSupportKHR
data DescriptorSetLayoutSupport (es :: [Type])
DescriptorSetLayoutSupport :: Chain es -> Bool -> DescriptorSetLayoutSupport (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:DescriptorSetLayoutSupport] :: DescriptorSetLayoutSupport (es :: [Type]) -> Chain es
-- | supported specifies whether the descriptor set layout
-- can be created.
[$sel:supported:DescriptorSetLayoutSupport] :: DescriptorSetLayoutSupport (es :: [Type]) -> Bool
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
instance GHC.Show.Show Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
instance Vulkan.CStruct.FromCStruct Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
instance Foreign.Storable.Storable Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
instance Vulkan.Zero.Zero Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties
-- | Name
--
-- VK_KHR_maintenance3 - device extension
--
-- VK_KHR_maintenance3
--
--
-- - Name String VK_KHR_maintenance3
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 169
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2017-09-05
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.1 Core
-- - Contributors
--
--
-- Description
--
-- VK_KHR_maintenance3 adds a collection of minor features that
-- were intentionally left out or overlooked from the original Vulkan 1.0
-- release.
--
-- The new features are as follows:
--
--
-- - A limit on the maximum number of descriptors that are supported in
-- a single descriptor set layout. Some implementations have a limit on
-- the total size of descriptors in a set, which cannot be expressed in
-- terms of the limits in Vulkan 1.0.
-- - A limit on the maximum size of a single memory allocation. Some
-- platforms have kernel interfaces that limit the maximum size of an
-- allocation.
--
--
-- Promotion to Vulkan 1.1
--
-- All functionality in this extension is included in core Vulkan 1.1,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2017-08-22
--
--
-- See Also
--
-- DescriptorSetLayoutSupportKHR,
-- PhysicalDeviceMaintenance3PropertiesKHR,
-- getDescriptorSetLayoutSupportKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_maintenance3
pattern KHR_MAINTENANCE3_SPEC_VERSION :: Integral a => a
pattern KHR_MAINTENANCE3_EXTENSION_NAME :: (Eq a, IsString a) => a
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR :: StructureType
getDescriptorSetLayoutSupportKHR :: forall (a :: [Type]) (b :: [Type]) io. (Extendss DescriptorSetLayoutCreateInfo a, Extendss DescriptorSetLayoutSupport b, PokeChain a, PokeChain b, PeekChain b, MonadIO io) => Device -> DescriptorSetLayoutCreateInfo a -> io (DescriptorSetLayoutSupport b)
type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties
type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport
type KHR_MAINTENANCE_3_SPEC_VERSION = 1
pattern KHR_MAINTENANCE_3_SPEC_VERSION :: forall a. Integral a => a
type KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3"
pattern KHR_MAINTENANCE_3_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core11
pattern API_VERSION_1_1 :: Word32
module Vulkan.Core10.CommandBufferBuilding
-- | vkCmdBindPipeline - Bind a pipeline object to a command buffer
--
-- Description
--
-- Once bound, a pipeline binding affects subsequent commands that
-- interact with the given pipeline type in the command buffer until a
-- different pipeline of the same type is bound to the bind point.
-- Commands that do not interact with the given pipeline type must
-- not be affected by the pipeline state.
--
--
--
-- Valid Usage
--
--
--
--
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_GRAPHICS, the CommandPool that
-- commandBuffer was allocated from must support graphics
-- operations
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_COMPUTE, pipeline must be a
-- compute pipeline
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_GRAPHICS, pipeline must be
-- a graphics pipeline
-- - If the variable multisample rate feature is not supported,
-- pipeline is a graphics pipeline, the current subpass uses
-- no attachments, and this is not the first call to this function
-- with a graphics pipeline after transitioning to the current subpass,
-- then the sample count specified by this pipeline must match
-- that set in the previous pipeline
-- - If
-- PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations
-- is FALSE, and pipeline is a graphics pipeline created
-- with a PipelineSampleLocationsStateCreateInfoEXT structure
-- having its sampleLocationsEnable member set to TRUE
-- but without DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT enabled then the
-- current render pass instance must have been begun by specifying
-- a RenderPassSampleLocationsBeginInfoEXT structure whose
-- pPostSubpassSampleLocations member contains an element with a
-- subpassIndex matching the current subpass index and the
-- sampleLocationsInfo member of that element must match
-- the sampleLocationsInfo specified in
-- PipelineSampleLocationsStateCreateInfoEXT when the pipeline was
-- created
-- - This command must not be recorded when transform feedback
-- is active
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_RAY_TRACING_KHR, the CommandPool
-- that commandBuffer was allocated from must support
-- compute operations
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_RAY_TRACING_KHR, pipeline
-- must be a ray tracing pipeline
-- - pipeline must not have been created with
-- PIPELINE_CREATE_LIBRARY_BIT_KHR set
-- - If commandBuffer is a secondary command buffer with
-- CommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D
-- enabled and pipelineBindPoint is
-- PIPELINE_BIND_POINT_GRAPHICS, then the pipeline
-- must have been created with
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT or
-- DYNAMIC_STATE_VIEWPORT, and
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT or
-- DYNAMIC_STATE_SCISSOR enabled
-- - If commandBuffer is a secondary command buffer with
-- CommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D
-- enabled and pipelineBindPoint is
-- PIPELINE_BIND_POINT_GRAPHICS and pipeline was created
-- with PipelineDiscardRectangleStateCreateInfoEXT structure and
-- its discardRectangleCount member is not 0, then the
-- pipeline must have been created with
-- DYNAMIC_STATE_DISCARD_RECTANGLE_EXT enabled
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_GRAPHICS and the
-- provokingVertexModePerPipeline limit is FALSE, then
-- pipeline’s
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT::provokingVertexMode
-- must be the same as that of any other pipelines previously
-- bound to this bind point within the current render pass instance,
-- including any pipeline already bound when beginning the render pass
-- instance
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, the
-- CommandPool that commandBuffer was allocated from
-- must support compute operations
-- - If pipelineBindPoint is
-- PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, pipeline
-- must be a subpass shading pipeline
-- - If pipeline is a graphics pipeline, this command has been
-- called inside a render pass instance started with
-- cmdBeginRenderingKHR, and commands using the previously bound
-- graphics pipeline have been recorded within the render pass instance,
-- then the value of
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- specified by this pipeline must match that set in the previous
-- pipeline
-- - If pipeline is a graphics pipeline, this command has been
-- called inside a render pass instance started with
-- cmdBeginRenderingKHR, and commands using the previously bound
-- graphics pipeline have been recorded within the render pass instance,
-- then the elements of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- specified by this pipeline must match that set in the previous
-- pipeline
-- - If pipeline is a graphics pipeline, this command has been
-- called inside a render pass instance started with
-- cmdBeginRenderingKHR, and commands using the previously bound
-- graphics pipeline have been recorded within the render pass instance,
-- then the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- specified by this pipeline must match that set in the previous
-- pipeline
-- - If pipeline is a graphics pipeline, this command has been
-- called inside a render pass instance started with
-- cmdBeginRenderingKHR, and commands using the previously bound
-- graphics pipeline have been recorded within the render pass instance,
-- then the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- specified by this pipeline must match that set in the previous
-- pipeline
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - pipeline must be a valid Pipeline
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and pipeline must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Pipeline,
-- PipelineBindPoint
cmdBindPipeline :: forall io. MonadIO io => CommandBuffer -> PipelineBindPoint -> Pipeline -> io ()
-- | vkCmdSetViewport - Set the viewport dynamically for a command buffer
--
-- Description
--
-- This command sets the viewport transformation parameters state for
-- subsequent drawing commands when the graphics pipeline is created with
-- DYNAMIC_STATE_VIEWPORT set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportStateCreateInfo::pViewports values
-- used to create the currently active pipeline.
--
-- The viewport parameters taken from element i of pViewports
-- replace the current state for the viewport index
-- firstViewport + i, for i in [0, viewportCount).
--
-- Valid Usage
--
--
-- - The sum of firstViewport and viewportCount
-- must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pViewports must be a valid pointer to an array of
-- viewportCount valid Viewport structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - viewportCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Viewport
cmdSetViewport :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewports" ::: Vector Viewport) -> io ()
-- | vkCmdSetScissor - Set scissor rectangles dynamically for a command
-- buffer
--
-- Description
--
-- The scissor rectangles taken from element i of pScissors
-- replace the current state for the scissor index firstScissor
-- + i, for i in [0, scissorCount).
--
-- This command sets the scissor rectangles for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_SCISSOR set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineViewportStateCreateInfo::pScissors values used
-- to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - The sum of firstScissor and scissorCount
-- must be between 1 and
-- PhysicalDeviceLimits::maxViewports, inclusive
--
--
--
-- - If the multiple viewports feature is not enabled,
-- firstScissor must be 0
-- - If the multiple viewports feature is not enabled,
-- scissorCount must be 1
-- - The x and y members of offset member of
-- any element of pScissors must be greater than or equal
-- to 0
-- - Evaluation of (offset.x + extent.width)
-- must not cause a signed integer addition overflow for any
-- element of pScissors
-- - Evaluation of (offset.y + extent.height)
-- must not cause a signed integer addition overflow for any
-- element of pScissors
-- - If this command is recorded in a secondary command buffer with
-- CommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D
-- enabled, then this function must not be called
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pScissors must be a valid pointer to an array of
-- scissorCount Rect2D structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - scissorCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Rect2D
cmdSetScissor :: forall io. MonadIO io => CommandBuffer -> ("firstScissor" ::: Word32) -> ("scissors" ::: Vector Rect2D) -> io ()
-- | vkCmdSetLineWidth - Set line width dynamically for a command buffer
--
-- Description
--
-- This command sets the line width for subsequent drawing commands when
-- the graphics pipeline is created with DYNAMIC_STATE_LINE_WIDTH
-- set in PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineRasterizationStateCreateInfo::lineWidth value
-- used to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - If the wide lines feature is not enabled,
-- lineWidth must be 1.0
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdSetLineWidth :: forall io. MonadIO io => CommandBuffer -> ("lineWidth" ::: Float) -> io ()
-- | vkCmdSetDepthBias - Set depth bias factors and clamp dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the depth bias parameters for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_BIAS set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the corresponding
-- PipelineInputAssemblyStateCreateInfo::depthBiasConstantFactor,
-- depthBiasClamp, and depthBiasSlopeFactor values used
-- to create the currently active pipeline.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdSetDepthBias :: forall io. MonadIO io => CommandBuffer -> ("depthBiasConstantFactor" ::: Float) -> ("depthBiasClamp" ::: Float) -> ("depthBiasSlopeFactor" ::: Float) -> io ()
-- | vkCmdSetBlendConstants - Set the values of blend constants
--
-- Description
--
-- This command sets blend constants for subsequent drawing commands when
-- the graphics pipeline is created with
-- DYNAMIC_STATE_BLEND_CONSTANTS set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineColorBlendStateCreateInfo::blendConstants
-- values used to create the currently active pipeline.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdSetBlendConstants :: forall io. MonadIO io => CommandBuffer -> ("blendConstants" ::: (Float, Float, Float, Float)) -> io ()
-- | vkCmdSetDepthBounds - Set depth bounds range dynamically for a command
-- buffer
--
-- Description
--
-- This command sets the depth bounds range for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_DEPTH_BOUNDS set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::minDepthBounds
-- and
-- PipelineDepthStencilStateCreateInfo::maxDepthBounds
-- values used to create the currently active pipeline.
--
-- Valid Usage
--
--
-- - Unless the VK_EXT_depth_range_unrestricted extension is
-- enabled minDepthBounds must be between 0.0
-- and 1.0, inclusive
--
--
--
-- - Unless the VK_EXT_depth_range_unrestricted extension is
-- enabled maxDepthBounds must be between 0.0
-- and 1.0, inclusive
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdSetDepthBounds :: forall io. MonadIO io => CommandBuffer -> ("minDepthBounds" ::: Float) -> ("maxDepthBounds" ::: Float) -> io ()
-- | vkCmdSetStencilCompareMask - Set stencil compare mask dynamically for
-- a command buffer
--
-- Description
--
-- This command sets the stencil compare mask for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_STENCIL_COMPARE_MASK set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::compareMask value
-- used to create the currently active pipeline, for both front and back
-- faces.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - faceMask must be a valid combination of
-- StencilFaceFlagBits values
-- - faceMask must not be 0
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, StencilFaceFlags
cmdSetStencilCompareMask :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> io ()
-- | vkCmdSetStencilWriteMask - Set stencil write mask dynamically for a
-- command buffer
--
-- Description
--
-- This command sets the stencil write mask for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_STENCIL_WRITE_MASK set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::writeMask value
-- used to create the currently active pipeline, for both front and back
-- faces.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - faceMask must be a valid combination of
-- StencilFaceFlagBits values
-- - faceMask must not be 0
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, StencilFaceFlags
cmdSetStencilWriteMask :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> io ()
-- | vkCmdSetStencilReference - Set stencil reference value dynamically for
-- a command buffer
--
-- Description
--
-- This command sets the stencil reference value for subsequent drawing
-- commands when the graphics pipeline is created with
-- DYNAMIC_STATE_STENCIL_REFERENCE set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineDepthStencilStateCreateInfo::reference value
-- used to create the currently active pipeline, for both front and back
-- faces.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - faceMask must be a valid combination of
-- StencilFaceFlagBits values
-- - faceMask must not be 0
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, StencilFaceFlags
cmdSetStencilReference :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> io ()
-- | vkCmdBindDescriptorSets - Binds descriptor sets to a command buffer
--
-- Description
--
-- cmdBindDescriptorSets causes the sets numbered
-- [firstSet.. firstSet+descriptorSetCount-1]
-- to use the bindings stored in
-- pDescriptorSets[0..descriptorSetCount-1] for subsequent
-- bound pipeline commands set by pipelineBindPoint. Any
-- bindings that were previously applied via these sets are no longer
-- valid.
--
-- Once bound, a descriptor set affects rendering of subsequent commands
-- that interact with the given pipeline type in the command buffer until
-- either a different set is bound to the same set number, or the set is
-- disturbed as described in Pipeline Layout Compatibility.
--
-- A compatible descriptor set must be bound for all set numbers
-- that any shaders in a pipeline access, at the time that a drawing or
-- dispatching command is recorded to execute using that pipeline.
-- However, if none of the shaders in a pipeline statically use any
-- bindings with a particular set number, then no descriptor set need be
-- bound for that set number, even if the pipeline layout includes a
-- non-trivial descriptor set layout for that set number.
--
-- If any of the sets being bound include dynamic uniform or storage
-- buffers, then pDynamicOffsets includes one element for each
-- array element in each dynamic descriptor type binding in each set.
-- Values are taken from pDynamicOffsets in an order such that
-- all entries for set N come before set N+1; within a set, entries are
-- ordered by the binding numbers in the descriptor set layouts; and
-- within a binding array, elements are in order.
-- dynamicOffsetCount must equal the total number of
-- dynamic descriptors in the sets being bound.
--
-- The effective offset used for dynamic uniform and storage buffer
-- bindings is the sum of the relative offset taken from
-- pDynamicOffsets, and the base address of the buffer plus base
-- offset in the descriptor set. The range of the dynamic uniform and
-- storage buffer bindings is the buffer range as specified in the
-- descriptor set.
--
-- Each of the pDescriptorSets must be compatible with
-- the pipeline layout specified by layout. The layout used to
-- program the bindings must also be compatible with the pipeline
-- used in subsequent bound pipeline commands with that pipeline
-- type, as defined in the Pipeline Layout Compatibility section.
--
-- The descriptor set contents bound by a call to
-- cmdBindDescriptorSets may be consumed at the following
-- times:
--
--
-- - For descriptor bindings created with the
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT bit set, the contents
-- may be consumed when the command buffer is submitted to a
-- queue, or during shader execution of the resulting draws and
-- dispatches, or any time in between. Otherwise,
-- - during host execution of the command, or during shader execution
-- of the resulting draws and dispatches, or any time in between.
--
--
-- Thus, the contents of a descriptor set binding must not be
-- altered (overwritten by an update command, or freed) between the first
-- point in time that it may be consumed, and when the command
-- completes executing on the queue.
--
-- The contents of pDynamicOffsets are consumed immediately
-- during execution of cmdBindDescriptorSets. Once all pending
-- uses have completed, it is legal to update and reuse a descriptor set.
--
-- Valid Usage
--
--
-- - Each element of pDescriptorSets must have been
-- allocated with a DescriptorSetLayout that matches (is the same
-- as, or identically defined as) the DescriptorSetLayout at set
-- n in layout, where n is the sum of
-- firstSet and the index into pDescriptorSets
--
--
--
-- - dynamicOffsetCount must be equal to the total
-- number of dynamic descriptors in pDescriptorSets
-- - The sum of firstSet and descriptorSetCount
-- must be less than or equal to
-- PipelineLayoutCreateInfo::setLayoutCount provided when
-- layout was created
-- - pipelineBindPoint must be supported by the
-- commandBuffer’s parent CommandPool’s queue family
-- - Each element of pDynamicOffsets which corresponds to a
-- descriptor binding with type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must be a
-- multiple of
-- PhysicalDeviceLimits::minUniformBufferOffsetAlignment
-- - Each element of pDynamicOffsets which corresponds to a
-- descriptor binding with type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must be a
-- multiple of
-- PhysicalDeviceLimits::minStorageBufferOffsetAlignment
-- - For each dynamic uniform or storage buffer binding in
-- pDescriptorSets, the sum of the effective offset, as defined
-- above, and the range of the binding must be less than or equal
-- to the size of the buffer
-- - Each element of pDescriptorSets must not have been
-- allocated from a DescriptorPool with the
-- DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE flag set
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - layout must be a valid PipelineLayout
-- handle
-- - pDescriptorSets must be a valid pointer to an
-- array of descriptorSetCount valid DescriptorSet
-- handles
-- - If dynamicOffsetCount is not 0,
-- pDynamicOffsets must be a valid pointer to an array of
-- dynamicOffsetCount uint32_t values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - descriptorSetCount must be greater than
-- 0
-- - Each of commandBuffer, layout, and the elements
-- of pDescriptorSets must have been created, allocated,
-- or retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, DescriptorSet,
-- PipelineBindPoint, PipelineLayout
cmdBindDescriptorSets :: forall io. MonadIO io => CommandBuffer -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSets" ::: Vector DescriptorSet) -> ("dynamicOffsets" ::: Vector Word32) -> io ()
-- | vkCmdBindIndexBuffer - Bind an index buffer to a command buffer
--
-- Valid Usage
--
--
-- - offset must be less than the size of
-- buffer
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - indexType must be a valid IndexType
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - Both of buffer, and commandBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize, IndexType
cmdBindIndexBuffer :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> io ()
-- | vkCmdBindVertexBuffers - Bind vertex buffers to a command buffer
--
-- Description
--
-- The values taken from elements i of pBuffers and
-- pOffsets replace the current state for the vertex input
-- binding firstBinding + i, for i in [0,
-- bindingCount). The vertex input binding is updated to start
-- at the offset indicated by pOffsets[i] from the start of the
-- buffer pBuffers[i]. All vertex input attributes that use each
-- of these bindings will use these updated addresses in their address
-- calculations for subsequent drawing commands. If the
-- nullDescriptor feature is enabled, elements of
-- pBuffers can be NULL_HANDLE, and can be
-- used by the vertex shader. If a vertex input attribute is bound to a
-- vertex input binding that is NULL_HANDLE, the values taken from
-- memory are considered to be zero, and missing G, B, or A components
-- are filled with (0,0,1).
--
-- Valid Usage
--
--
--
--
-- - The sum of firstBinding and bindingCount
-- must be less than or equal to
-- PhysicalDeviceLimits::maxVertexInputBindings
-- - All elements of pOffsets must be less than the
-- size of the corresponding element in pBuffers
-- - All elements of pBuffers must have been created
-- with the BUFFER_USAGE_VERTEX_BUFFER_BIT flag
-- - Each element of pBuffers that is non-sparse must
-- be bound completely and contiguously to a single DeviceMemory
-- object
-- - If the nullDescriptor feature is not enabled, all elements
-- of pBuffers must not be NULL_HANDLE
-- - If an element of pBuffers is NULL_HANDLE, then the
-- corresponding element of pOffsets must be zero
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pBuffers must be a valid pointer to an array of
-- bindingCount valid or NULL_HANDLE Buffer
-- handles
-- - pOffsets must be a valid pointer to an array of
-- bindingCount DeviceSize values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - bindingCount must be greater than 0
-- - Both of commandBuffer, and the elements of
-- pBuffers that are valid handles of non-ignored parameters
-- must have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdBindVertexBuffers :: forall io. MonadIO io => CommandBuffer -> ("firstBinding" ::: Word32) -> ("buffers" ::: Vector Buffer) -> ("offsets" ::: Vector DeviceSize) -> io ()
-- | vkCmdDraw - Draw primitives
--
-- Description
--
-- When the command is executed, primitives are assembled using the
-- current primitive topology and vertexCount consecutive vertex
-- indices with the first vertexIndex value equal to
-- firstVertex. The primitives are drawn instanceCount
-- times with instanceIndex starting with firstInstance
-- and increasing sequentially for each instance. The assembled
-- primitives execute the bound graphics pipeline.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdDraw :: forall io. MonadIO io => CommandBuffer -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> io ()
-- | vkCmdDrawIndexed - Draw primitives with indexed vertices
--
-- Description
--
-- When the command is executed, primitives are assembled using the
-- current primitive topology and indexCount vertices whose
-- indices are retrieved from the index buffer. The index buffer is
-- treated as an array of tightly packed unsigned integers of size
-- defined by the cmdBindIndexBuffer::indexType parameter
-- with which the buffer was bound.
--
-- The first vertex index is at an offset of firstIndex ×
-- indexSize + offset within the bound index buffer,
-- where offset is the offset specified by
-- cmdBindIndexBuffer and indexSize is the byte size of
-- the type specified by indexType. Subsequent index values are
-- retrieved from consecutive locations in the index buffer. Indices are
-- first compared to the primitive restart value, then zero extended to
-- 32 bits (if the indexType is INDEX_TYPE_UINT8_EXT or
-- INDEX_TYPE_UINT16) and have vertexOffset added to
-- them, before being supplied as the vertexIndex value.
--
-- The primitives are drawn instanceCount times with
-- instanceIndex starting with firstInstance and
-- increasing sequentially for each instance. The assembled primitives
-- execute the bound graphics pipeline.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - (indexSize × (firstIndex + indexCount)
-- + offset) must be less than or equal to the size of
-- the bound index buffer, with indexSize being based on the
-- type specified by indexType, where the index buffer,
-- indexType, and offset are specified via
-- cmdBindIndexBuffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdDrawIndexed :: forall io. MonadIO io => CommandBuffer -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> io ()
-- | vkCmdDrawIndirect - Draw primitives with indirect parameters
--
-- Description
--
-- cmdDrawIndirect behaves similarly to cmdDraw except that
-- the parameters are read by the device from a buffer during execution.
-- drawCount draws are executed by the command, with parameters
-- taken from buffer starting at offset and increasing
-- by stride bytes for each successive draw. The parameters of
-- each draw are encoded in an array of DrawIndirectCommand
-- structures. If drawCount is less than or equal to one,
-- stride is ignored.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If the multi-draw indirect feature is not enabled,
-- drawCount must be 0 or 1
-- - drawCount must be less than or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - If the drawIndirectFirstInstance feature is not enabled,
-- all the firstInstance members of the
-- DrawIndirectCommand structures accessed by this command
-- must be 0
-- - If drawCount is greater than 1, stride
-- must be a multiple of 4 and must be greater
-- than or equal to sizeof(DrawIndirectCommand)
-- - If drawCount is equal to 1, (offset +
-- sizeof(DrawIndirectCommand)) must be less than
-- or equal to the size of buffer
-- - If drawCount is greater than 1, (stride
-- × (drawCount - 1) + offset +
-- sizeof(DrawIndirectCommand)) must be less than
-- or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of buffer, and commandBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawIndirect :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | vkCmdDrawIndexedIndirect - Draw primitives with indirect parameters
-- and indexed vertices
--
-- Description
--
-- cmdDrawIndexedIndirect behaves similarly to
-- cmdDrawIndexed except that the parameters are read by the
-- device from a buffer during execution. drawCount draws are
-- executed by the command, with parameters taken from buffer
-- starting at offset and increasing by stride bytes
-- for each successive draw. The parameters of each draw are encoded in
-- an array of DrawIndexedIndirectCommand structures. If
-- drawCount is less than or equal to one, stride is
-- ignored.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - The current render pass must be compatible with the
-- renderPass member of the GraphicsPipelineCreateInfo
-- structure specified when creating the Pipeline bound to
-- PIPELINE_BIND_POINT_GRAPHICS
-- - The subpass index of the current render pass must be equal
-- to the subpass member of the
-- GraphicsPipelineCreateInfo structure specified when creating
-- the Pipeline bound to PIPELINE_BIND_POINT_GRAPHICS
-- - Every input attachment used by the current subpass must be
-- bound to the pipeline via a descriptor set
-- - Image subresources used as attachments in the current render pass
-- must not be accessed in any way other than as an attachment by
-- this command, except for cases involving read-only access to
-- depth/stencil attachments as described in the Render Pass
-- chapter
-- - If the draw is recorded in a render pass instance with multiview
-- enabled, the maximum instance index must be less than or equal
-- to
-- PhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
-- - If the bound graphics pipeline was created with
-- PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
-- set to TRUE and the current subpass has a depth/stencil
-- attachment, then that attachment must have been created with
-- the IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit
-- set
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetViewportWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the viewportCount parameter of
-- cmdSetViewportWithCountEXT must match the
-- PipelineViewportStateCreateInfo::scissorCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
-- not the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, then cmdSetScissorWithCountEXT must have been
-- called in the current command buffer prior to this drawing command,
-- and the scissorCount parameter of
-- cmdSetScissorWithCountEXT must match the
-- PipelineViewportStateCreateInfo::viewportCount of the
-- pipeline
-- - If the bound graphics pipeline state was created with both the
-- DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
-- then both cmdSetViewportWithCountEXT and
-- cmdSetScissorWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must match the scissorCount parameter of
-- cmdSetScissorWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
-- enabled, then the bound graphics pipeline must have been
-- created with
-- PipelineViewportWScalingStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
-- the viewportCount parameter in the last call to
-- cmdSetViewportWScalingNV must be greater than or equal
-- to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
-- but not the DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
-- dynamic state enabled, then the bound graphics pipeline must
-- have been created with
-- PipelineViewportShadingRateImageStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
-- DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
-- enabled then the viewportCount parameter in the last call to
-- cmdSetViewportShadingRatePaletteNV must be greater than
-- or equal to the viewportCount parameter in the last call to
-- cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportSwizzleStateCreateInfoNV structure chained
-- from VkPipelineVieportCreateInfo, then the bound graphics
-- pipeline must have been created with
-- PipelineViewportSwizzleStateCreateInfoNV::viewportCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
-- a PipelineViewportExclusiveScissorStateCreateInfoNV structure
-- chained from VkPipelineVieportCreateInfo, then the bound
-- graphics pipeline must have been created with
-- PipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
-- greater or equal to the viewportCount parameter in the last
-- call to cmdSetViewportWithCountEXT
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
-- enabled then cmdSetRasterizerDiscardEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
-- cmdSetDepthBiasEnableEXT must have been called in the
-- current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
-- cmdSetLogicOpEXT must have been called in the current
-- command buffer prior to this drawing command and the logicOp
-- must be a valid LogicOp value
-- - If the primitiveFragmentShadingRateWithMultipleViewports
-- limit is not supported, the bound graphics pipeline was created with
-- the DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
-- enabled, and any of the shader stages of the bound graphics pipeline
-- write to the PrimitiveShadingRateKHR built-in, then
-- cmdSetViewportWithCountEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- viewportCount parameter of cmdSetViewportWithCountEXT
-- must be 1
-- - If rasterization is not disabled in the bound graphics pipeline,
-- then for each color attachment in the subpass, if the corresponding
-- image view’s format features do not contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
-- blendEnable member of the corresponding element of the
-- pAttachments member of pColorBlendState must
-- be FALSE
-- - If rasterization is not disabled in the bound graphics pipeline,
-- and neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, then
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- must be the same as the current subpass color and/or
-- depth/stencil attachments
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
-- command must not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
-- command must not write any values to the stencil
-- attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pDepthAttachment is not NULL_HANDLE, and the
-- layout member of pDepthAttachment is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must
-- not write any values to the depth attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the imageView member of
-- pStencilAttachment is not NULL_HANDLE, and the
-- layout member of pStencilAttachment is
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command
-- must not write any values to the stencil attachment
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::viewMask equal to
-- RenderingInfoKHR::viewMask
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound graphics pipeline
-- must have been created with a
-- PipelineRenderingCreateInfoKHR::colorAttachmentCount
-- equal to RenderingInfoKHR::colorAttachmentCount
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::colorAttachmentCount greater than
-- 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a Format equal to the corresponding element
-- of
-- PipelineRenderingCreateInfoKHR::pColorAttachmentFormats
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::depthAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineRenderingCreateInfoKHR::stencilAttachmentFormat
-- used to create the currently bound graphics pipeline must be
-- equal to the Format used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentShadingRateAttachmentInfoKHR::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR and
-- RenderingFragmentDensityMapAttachmentInfoEXT::imageView
-- was not NULL_HANDLE, the currently bound graphics pipeline
-- must have been created with
-- PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-- - If the currently bound pipeline was created with a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the corresponding element of
-- the pColorAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- with a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of the
-- depthStencilAttachmentSamples member of
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV used to create the currently bound
-- graphics pipeline must be equal to the sample count used to
-- create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the currently bound pipeline was created without a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and the current render
-- pass instance was begun with cmdBeginRenderingKHR with a
-- RenderingInfoKHR::colorAttachmentCount parameter
-- greater than 0, then each element of the
-- RenderingInfoKHR::pColorAttachments array with a
-- imageView not equal to NULL_HANDLE must have
-- been created with a sample count equal to the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pDepthAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline was created
-- without a AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, and
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- was not NULL_HANDLE, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- used to create the currently bound graphics pipeline must be
-- equal to the sample count used to create
-- RenderingInfoKHR::pStencilAttachment->pname:imageView
-- - If the current render pass instance was begun with
-- cmdBeginRenderingKHR, the currently bound pipeline must
-- have been created with a
-- GraphicsPipelineCreateInfo::renderPass equal to
-- NULL_HANDLE
-- - All vertex input bindings accessed via vertex input variables
-- declared in the vertex shader entry point’s interface must have
-- either valid or NULL_HANDLE buffers bound
-- - If the nullDescriptor feature is not enabled, all vertex
-- input bindings accessed via vertex input variables declared in the
-- vertex shader entry point’s interface must not be
-- NULL_HANDLE
-- - For a given vertex buffer binding, any attribute data fetched
-- must be entirely contained within the corresponding vertex
-- buffer binding, as described in ???
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
-- cmdSetPrimitiveTopologyEXT must have been called in the
-- current command buffer prior to this drawing command, and the
-- primitiveTopology parameter of
-- cmdSetPrimitiveTopologyEXT must be of the same
-- topology class as the pipeline
-- PipelineInputAssemblyStateCreateInfo::topology
-- state
-- - If the bound graphics pipeline was created with both the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT and
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
-- enabled, then cmdSetVertexInputEXT must have been called
-- in the current command buffer prior to this draw command
-- - If the bound graphics pipeline was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
-- enabled, but not the DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
-- state enabled, then cmdBindVertexBuffers2EXT must have
-- been called in the current command buffer prior to this draw command,
-- and the pStrides parameter of cmdBindVertexBuffers2EXT
-- must not be NULL
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
-- cmdSetVertexInputEXT must have been called in the
-- current command buffer prior to this draw command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
-- then cmdSetPatchControlPointsEXT must have been called
-- in the current command buffer prior to this drawing command
-- - If the bound graphics pipeline state was created with the
-- DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
-- enabled then cmdSetPrimitiveRestartEnableEXT must have
-- been called in the current command buffer prior to this drawing
-- command
-- - The bound graphics pipeline must not have been created with
-- the PipelineShaderStageCreateInfo::stage member of an
-- element of GraphicsPipelineCreateInfo::pStages set to
-- SHADER_STAGE_TASK_BIT_NV or
-- SHADER_STAGE_MESH_BIT_NV
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - If the multi-draw indirect feature is not enabled,
-- drawCount must be 0 or 1
-- - drawCount must be less than or equal to
-- PhysicalDeviceLimits::maxDrawIndirectCount
-- - If drawCount is greater than 1, stride
-- must be a multiple of 4 and must be greater
-- than or equal to
-- sizeof(DrawIndexedIndirectCommand)
-- - If the drawIndirectFirstInstance feature is not enabled,
-- all the firstInstance members of the
-- DrawIndexedIndirectCommand structures accessed by this command
-- must be 0
-- - If drawCount is equal to 1, (offset +
-- sizeof(DrawIndexedIndirectCommand)) must be
-- less than or equal to the size of buffer
-- - If drawCount is greater than 1, (stride
-- × (drawCount - 1) + offset +
-- sizeof(DrawIndexedIndirectCommand)) must be
-- less than or equal to the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - Both of buffer, and commandBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdDrawIndexedIndirect :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
-- | vkCmdDispatch - Dispatch compute work items
--
-- Description
--
-- When the command is executed, a global workgroup consisting of
-- groupCountX × groupCountY × groupCountZ
-- local workgroups is assembled.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, any resource written to by
-- the Pipeline object bound to the pipeline bind point used by
-- this command must not be an unprotected resource
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, pipeline stages other than
-- the framebuffer-space and compute stages in the Pipeline object
-- bound to the pipeline bind point used by this command must not
-- write to any resource
-- - If any of the shader stages of the Pipeline bound to the
-- pipeline bind point used by this command uses the RayQueryKHR
-- capability, then commandBuffer must not be a protected
-- command buffer
-- - groupCountX must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[0]
-- - groupCountY must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
-- - groupCountZ must be less than or equal to
-- PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdDispatch :: forall io. MonadIO io => CommandBuffer -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> io ()
-- | vkCmdDispatchIndirect - Dispatch compute work items with indirect
-- parameters
--
-- Description
--
-- cmdDispatchIndirect behaves similarly to cmdDispatch
-- except that the parameters are read by the device from a buffer during
-- execution. The parameters of the dispatch are encoded in a
-- DispatchIndirectCommand structure taken from buffer
-- starting at offset.
--
-- Valid Usage
--
--
--
--
-- - If a Sampler created with mipmapMode equal to
-- SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to
-- FALSE is used to sample a ImageView as a result of this
-- command, then the image view’s format features must
-- contain FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If a ImageView is sampled with depth comparison, the
-- image view’s format features must contain
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- - If a ImageView is accessed using atomic operations as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
-- - If a ImageView is sampled with FILTER_CUBIC_EXT as a
-- result of this command, then the image view’s format features
-- must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - Any ImageView being sampled with FILTER_CUBIC_EXT as
-- a result of this command must have a ImageViewType and
-- format that supports cubic filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubic
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any ImageView being sampled with FILTER_CUBIC_EXT
-- with a reduction mode of either SAMPLER_REDUCTION_MODE_MIN or
-- SAMPLER_REDUCTION_MODE_MAX as a result of this command
-- must have a ImageViewType and format that supports cubic
-- filtering together with minmax filtering, as specified by
-- FilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax
-- returned by getPhysicalDeviceImageFormatProperties2
-- - Any Image created with a
-- ImageCreateInfo::flags containing
-- IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this
-- command must only be sampled using a SamplerAddressMode
-- of SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
-- - Any ImageView or BufferView being written as a
-- storage image or storage texel buffer where the image format field of
-- the OpTypeImage is Unknown must have image
-- format features that support
-- FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- - Any ImageView or BufferView being read as a storage
-- image or storage texel buffer where the image format field of the
-- OpTypeImage is Unknown must have image format
-- features that support
-- FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- - For each set n that is statically used by the
-- Pipeline bound to the pipeline bind point used by this command,
-- a descriptor set must have been bound to n at the same
-- pipeline bind point, with a PipelineLayout that is compatible
-- for set n, with the PipelineLayout used to create the
-- current Pipeline, as described in ???
-- - If the maintenance4 feature is not enabled, then for each
-- push constant that is statically used by the Pipeline bound to
-- the pipeline bind point used by this command, a push constant value
-- must have been set for the same pipeline bind point, with a
-- PipelineLayout that is compatible for push constants, with the
-- PipelineLayout used to create the current Pipeline, as
-- described in ???
-- - Descriptors in each bound descriptor set, specified via
-- cmdBindDescriptorSets, must be valid if they are
-- statically used by the Pipeline bound to the pipeline bind
-- point used by this command
-- - A valid pipeline must be bound to the pipeline bind point
-- used by this command
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command requires any dynamic state, that state
-- must have been set or inherited (if the
-- VK_NV_inherited_viewport_scissor extension is enabled) for
-- commandBuffer, and done so after any previously bound
-- pipeline with the corresponding state not specified as dynamic
-- - There must not have been any calls to dynamic state setting
-- commands for any state not specified as dynamic in the Pipeline
-- object bound to the pipeline bind point used by this command, since
-- that pipeline was bound
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used to
-- sample from any Image with a ImageView of the type
-- IMAGE_VIEW_TYPE_3D, IMAGE_VIEW_TYPE_CUBE,
-- IMAGE_VIEW_TYPE_1D_ARRAY, IMAGE_VIEW_TYPE_2D_ARRAY or
-- IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions with ImplicitLod,
-- Dref or Proj in their name, in any shader stage
-- - If the Pipeline object bound to the pipeline bind point
-- used by this command accesses a Sampler object that uses
-- unnormalized coordinates, that sampler must not be used with
-- any of the SPIR-V OpImageSample* or
-- OpImageSparseSample* instructions that includes a LOD bias or
-- any offset values, in any shader stage
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a uniform buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If the robust buffer access feature is not enabled, and if
-- the Pipeline object bound to the pipeline bind point used by
-- this command accesses a storage buffer, it must not access
-- values outside of the range of the buffer as specified in the
-- descriptor set bound to the same pipeline bind point
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, any resource accessed by the
-- Pipeline object bound to the pipeline bind point used by this
-- command must not be a protected resource
-- - If a ImageView is accessed using OpImageWrite as a
-- result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the image view’s format
-- - If a BufferView is accessed using OpImageWrite as
-- a result of this command, then the Type of the Texel
-- operand of that instruction must have at least as many
-- components as the buffer view’s format
-- - If a ImageView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a ImageView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If a BufferView with a Format that has a 64-bit
-- component width is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 64
-- - If a BufferView with a Format that has a component
-- width less than 64-bit is accessed as a result of this command, the
-- SampledType of the OpTypeImage operand of that
-- instruction must have a Width of 32
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Image objects created with the
-- IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If the sparseImageInt64Atomics feature is not enabled,
-- Buffer objects created with the
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be
-- accessed by atomic instructions through an OpTypeImage with a
-- SampledType with a Width of 64 by this command
-- - If buffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - buffer must have been created with the
-- BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
-- - offset must be a multiple of 4
-- - commandBuffer must not be a protected command
-- buffer
-- - The sum of offset and the size of
-- DispatchIndirectCommand must be less than or equal to
-- the size of buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - buffer must be a valid Buffer handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of buffer, and commandBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdDispatchIndirect :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> io ()
-- | vkCmdCopyBuffer - Copy data between buffer regions
--
-- Description
--
-- Each region in pRegions is copied from the source buffer to
-- the same region of the destination buffer. srcBuffer and
-- dstBuffer can be the same buffer or alias the same
-- memory, but the resulting values are undefined if the copy regions
-- overlap in memory.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcBuffer
-- must not be a protected buffer
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
-- - The srcOffset member of each element of pRegions
-- must be less than the size of srcBuffer
-- - The dstOffset member of each element of pRegions
-- must be less than the size of dstBuffer
-- - The size member of each element of pRegions
-- must be less than or equal to the size of srcBuffer
-- minus srcOffset
-- - The size member of each element of pRegions
-- must be less than or equal to the size of dstBuffer
-- minus dstOffset
-- - The union of the source regions, and the union of the destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcBuffer must be a valid Buffer
-- handle
-- - dstBuffer must be a valid Buffer
-- handle
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferCopy structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstBuffer, and
-- srcBuffer must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, BufferCopy,
-- CommandBuffer
cmdCopyBuffer :: forall io. MonadIO io => CommandBuffer -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regions" ::: Vector BufferCopy) -> io ()
-- | vkCmdCopyImage - Copy data between images
--
-- Description
--
-- Each region in pRegions is copied from the source image to
-- the same region of the destination image. srcImage and
-- dstImage can be the same image or alias the same
-- memory.
--
-- The formats of srcImage and dstImage must be
-- compatible. Formats are compatible if they share the same class, as
-- shown in the Compatible Formats table. Depth/stencil formats
-- must match exactly.
--
-- If either srcImage or dstImage has a multi-planar
-- format, regions of each plane to be copied must be
-- specified separately using the srcSubresource and
-- dstSubresource members of the ImageCopy structure. In
-- this case, the aspectMask of the srcSubresource or
-- dstSubresource that refers to the multi-planar image
-- must be IMAGE_ASPECT_PLANE_0_BIT,
-- IMAGE_ASPECT_PLANE_1_BIT, or IMAGE_ASPECT_PLANE_2_BIT.
-- For the purposes of cmdCopyImage, each plane of a multi-planar
-- image is treated as having the format listed in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes
-- for the plane identified by the aspectMask of the
-- corresponding subresource. This applies both to Format and to
-- coordinates used in the copy, which correspond to texels in the
-- plane rather than how these texels map to coordinates in the
-- image as a whole.
--
-- Note
--
-- For example, the IMAGE_ASPECT_PLANE_1_BIT plane of a
-- FORMAT_G8_B8R8_2PLANE_420_UNORM image is compatible with an
-- image of format FORMAT_R8G8_UNORM and (less usefully) with the
-- IMAGE_ASPECT_PLANE_0_BIT plane of an image of format
-- FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, as each
-- texel is 2 bytes in size.
--
-- cmdCopyImage allows copying between size-compatible
-- compressed and uncompressed internal formats. Formats are
-- size-compatible if the texel block size of the uncompressed format is
-- equal to the texel block size of the compressed format. Such a copy
-- does not perform on-the-fly compression or decompression. When copying
-- from an uncompressed format to a compressed format, each texel of
-- uncompressed data of the source image is copied as a raw value to the
-- corresponding compressed texel block of the destination image. When
-- copying from a compressed format to an uncompressed format, each
-- compressed texel block of the source image is copied as a raw value to
-- the corresponding texel of uncompressed data in the destination image.
-- Thus, for example, it is legal to copy between a 128-bit uncompressed
-- format and a compressed format which has a 128-bit sized compressed
-- texel block representing 4×4 texels (using 8 bits per texel), or
-- between a 64-bit uncompressed format and a compressed format which has
-- a 64-bit sized compressed texel block representing 4×4 texels (using 4
-- bits per texel).
--
-- When copying between compressed and uncompressed formats the
-- extent members represent the texel dimensions of the source
-- image and not the destination. When copying from a compressed image to
-- an uncompressed image the image texel dimensions written to the
-- uncompressed image will be source extent divided by the compressed
-- texel block dimensions. When copying from an uncompressed image to a
-- compressed image the image texel dimensions written to the compressed
-- image will be the source extent multiplied by the compressed texel
-- block dimensions. In both cases the number of bytes read and the
-- number of bytes written will be identical.
--
-- Copying to or from block-compressed images is typically done in
-- multiples of the compressed texel block size. For this reason the
-- extent must be a multiple of the compressed texel
-- block dimension. There is one exception to this rule which is
-- required to handle compressed images created with dimensions
-- that are not a multiple of the compressed texel block dimensions: if
-- the srcImage is compressed, then:
--
--
-- - If extent.width is not a multiple of the compressed texel
-- block width, then (extent.width + srcOffset.x)
-- must equal the image subresource width.
-- - If extent.height is not a multiple of the compressed
-- texel block height, then (extent.height +
-- srcOffset.y) must equal the image subresource
-- height.
-- - If extent.depth is not a multiple of the compressed texel
-- block depth, then (extent.depth + srcOffset.z)
-- must equal the image subresource depth.
--
--
-- Similarly, if the dstImage is compressed, then:
--
--
-- - If extent.width is not a multiple of the compressed texel
-- block width, then (extent.width + dstOffset.x)
-- must equal the image subresource width.
-- - If extent.height is not a multiple of the compressed
-- texel block height, then (extent.height +
-- dstOffset.y) must equal the image subresource
-- height.
-- - If extent.depth is not a multiple of the compressed texel
-- block depth, then (extent.depth + dstOffset.z)
-- must equal the image subresource depth.
--
--
-- This allows the last compressed texel block of the image in each
-- non-multiple dimension to be included as a source or destination of
-- the copy.
--
-- “_422” image formats that are not multi-planar are
-- treated as having a 2×1 compressed texel block for the purposes of
-- these rules.
--
-- cmdCopyImage can be used to copy image data between
-- multisample images, but both images must have the same number
-- of samples.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_TRANSFER_SRC_BIT
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcImage is non-sparse then the image or
-- disjoint plane to be copied must be bound completely and
-- contiguously to a single DeviceMemory object
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_TRANSFER_DST_BIT
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then the image or
-- disjoint plane that is the destination of the copy must
-- be bound completely and contiguously to a single DeviceMemory
-- object
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - If the Format of each of srcImage and
-- dstImage is not a multi-planar format, the
-- Format of each of srcImage and dstImage
-- must be compatible, as defined above
-- - In a copy to or from a plane of a multi-planar image, the
-- Format of the image and plane must be compatible
-- according to the description of compatible planes for the plane
-- being copied
-- - The sample count of srcImage and dstImage
-- must match
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - The srcOffset and extent members of each element
-- of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - The dstOffset and extent members of each element
-- of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If neither srcImage nor dstImage has a
-- multi-planar image format then for each element of
-- pRegions, srcSubresource.aspectMask and
-- dstSubresource.aspectMask must match
-- - If srcImage has a Format with two planes
-- then for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT or
-- IMAGE_ASPECT_PLANE_1_BIT
-- - If srcImage has a Format with three planes
-- then for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT
-- - If dstImage has a Format with two planes
-- then for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT or
-- IMAGE_ASPECT_PLANE_1_BIT
-- - If dstImage has a Format with three planes
-- then for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT
-- - If srcImage has a multi-planar image format and
-- the dstImage does not have a multi-planar image format, then
-- for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If dstImage has a multi-planar image format and
-- the srcImage does not have a multi-planar image format, then
-- for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If srcImage is of type IMAGE_TYPE_3D, then for
-- each element of pRegions,
-- srcSubresource.baseArrayLayer must be 0 and
-- srcSubresource.layerCount must be 1
-- - If dstImage is of type IMAGE_TYPE_3D, then for
-- each element of pRegions,
-- dstSubresource.baseArrayLayer must be 0 and
-- dstSubresource.layerCount must be 1
-- - For each element of pRegions,
-- srcSubresource.aspectMask must specify aspects present
-- in srcImage
-- - For each element of pRegions,
-- dstSubresource.aspectMask must specify aspects present
-- in dstImage
-- - For each element of pRegions, srcOffset.x and
-- (extent.width + srcOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified srcSubresource of
-- srcImage
-- - For each element of pRegions, srcOffset.y and
-- (extent.height + srcOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, srcOffset.z and
-- (extent.depth + srcOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.z must be
-- 0 and extent.depth must be 1
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.z must be
-- 0 and extent.depth must be 1
-- - If srcImage is of type IMAGE_TYPE_2D, then for
-- each element of pRegions, srcOffset.z must be
-- 0
-- - If dstImage is of type IMAGE_TYPE_2D, then for
-- each element of pRegions, dstOffset.z must be
-- 0
-- - If srcImage and dstImage are both of type
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- extent.depth must be 1
-- - If srcImage is of type IMAGE_TYPE_2D, and
-- dstImage is of type IMAGE_TYPE_3D, then for each
-- element of pRegions, extent.depth must equal
-- srcSubresource.layerCount
-- - If dstImage is of type IMAGE_TYPE_2D, and
-- srcImage is of type IMAGE_TYPE_3D, then for each
-- element of pRegions, extent.depth must equal
-- dstSubresource.layerCount
-- - For each element of pRegions, dstOffset.x and
-- (extent.width + dstOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified dstSubresource of
-- dstImage
-- - For each element of pRegions, dstOffset.y and
-- (extent.height + dstOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, dstOffset.z and
-- (extent.depth + dstOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified dstSubresource of
-- dstImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, all members of srcOffset
-- must be a multiple of the corresponding dimensions of the
-- compressed texel block
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.width must be a
-- multiple of the compressed texel block width or (extent.width
-- + srcOffset.x) must equal the width of the specified
-- srcSubresource of srcImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.height must be a
-- multiple of the compressed texel block height or
-- (extent.height + srcOffset.y) must equal the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.depth must be a
-- multiple of the compressed texel block depth or (extent.depth
-- + srcOffset.z) must equal the depth of the specified
-- srcSubresource of srcImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, all members of dstOffset
-- must be a multiple of the corresponding dimensions of the
-- compressed texel block
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.width must be a
-- multiple of the compressed texel block width or (extent.width
-- + dstOffset.x) must equal the width of the specified
-- dstSubresource of dstImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.height must be a
-- multiple of the compressed texel block height or
-- (extent.height + dstOffset.y) must equal the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.depth must be a
-- multiple of the compressed texel block depth or (extent.depth
-- + dstOffset.z) must equal the depth of the specified
-- dstSubresource of dstImage
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageCopy structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstImage, and
-- srcImage must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Image,
-- ImageCopy, ImageLayout
cmdCopyImage :: forall io. MonadIO io => CommandBuffer -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regions" ::: Vector ImageCopy) -> io ()
-- | vkCmdBlitImage - Copy regions of an image, potentially performing
-- format conversion,
--
-- Description
--
-- cmdBlitImage must not be used for multisampled source or
-- destination images. Use cmdResolveImage for this purpose.
--
-- As the sizes of the source and destination extents can differ
-- in any dimension, texels in the source extent are scaled and filtered
-- to the destination extent. Scaling occurs via the following
-- operations:
--
--
-- - For each destination texel, the integer coordinate of that texel
-- is converted to an unnormalized texture coordinate, using the
-- effective inverse of the equations described in unnormalized to
-- integer conversion:
- ubase = i + ½
- vbase = j +
-- ½
- wbase = k + ½
-- - These base coordinates are then offset by the first destination
-- offset:
- uoffset = ubase - xdst0
- voffset = vbase -
-- ydst0
- woffset = wbase - zdst0
- aoffset = a -
-- baseArrayCountdst
-- - The scale is determined from the source and destination regions,
-- and applied to the offset coordinates:
- scaleu = (xsrc1 - xsrc0)
-- / (xdst1 - xdst0)
- scalev = (ysrc1 - ysrc0) / (ydst1 -
-- ydst0)
- scalew = (zsrc1 - zsrc0) / (zdst1 -
-- zdst0)
- uscaled = uoffset × scaleu
- vscaled = voffset ×
-- scalev
- wscaled = woffset × scalew
-- - Finally the source offset is added to the scaled coordinates, to
-- determine the final unnormalized coordinates used to sample from
-- srcImage:
- u = uscaled + xsrc0
- v = vscaled +
-- ysrc0
- w = wscaled + zsrc0
- q =
-- mipLevel
- a = aoffset +
-- baseArrayCountsrc
--
--
-- These coordinates are used to sample from the source image, as
-- described in Image Operations chapter, with the filter mode
-- equal to that of filter, a mipmap mode of
-- SAMPLER_MIPMAP_MODE_NEAREST and an address mode of
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE. Implementations must
-- clamp at the edge of the source image, and may additionally
-- clamp to the edge of the source region.
--
-- Note
--
-- Due to allowable rounding errors in the generation of the source
-- texture coordinates, it is not always possible to guarantee exactly
-- which source texels will be sampled for a given blit. As rounding
-- errors are implementation-dependent, the exact results of a blitting
-- operation are also implementation-dependent.
--
-- Blits are done layer by layer starting with the
-- baseArrayLayer member of srcSubresource for the
-- source and dstSubresource for the destination.
-- layerCount layers are blitted to the destination image.
--
-- When blitting 3D textures, slices in the destination region bounded by
-- dstOffsets[0].z and dstOffsets[1].z are sampled from
-- slices in the source region bounded by srcOffsets[0].z and
-- srcOffsets[1].z. If the filter parameter is
-- FILTER_LINEAR then the value sampled from the source image is
-- taken by doing linear filtering using the interpolated z
-- coordinate represented by w in the previous equations. If the
-- filter parameter is FILTER_NEAREST then the value
-- sampled from the source image is taken from the single nearest slice,
-- with an implementation-dependent arithmetic rounding mode.
--
-- The following filtering and conversion rules apply:
--
--
-- - Integer formats can only be converted to other integer
-- formats with the same signedness.
-- - No format conversion is supported between depth/stencil images.
-- The formats must match.
-- - Format conversions on unorm, snorm, unscaled and packed float
-- formats of the copied aspect of the image are performed by first
-- converting the pixels to float values.
-- - For sRGB source formats, nonlinear RGB values are converted to
-- linear representation prior to filtering.
-- - After filtering, the float values are first clamped and then cast
-- to the destination image format. In case of sRGB destination format,
-- linear RGB values are converted to nonlinear representation before
-- writing the pixel to the image.
--
--
-- Signed and unsigned integers are converted by first clamping to the
-- representable range of the destination format, then casting the value.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
-- - The source region specified by each element of pRegions
-- must be a region that is contained within
-- srcImage
-- - The destination region specified by each element of
-- pRegions must be a region that is contained within
-- dstImage
-- - The union of all destination regions, specified by the elements of
-- pRegions, must not overlap in memory with any texel
-- that may be sampled during the blit operation
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_BLIT_SRC_BIT
-- - srcImage must not use a format that requires a
-- sampler Y’CBCR conversion
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_BLIT_DST_BIT
-- - dstImage must not use a format that requires a
-- sampler Y’CBCR conversion
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - If either of srcImage or dstImage was created
-- with a signed integer Format, the other must also have
-- been created with a signed integer Format
-- - If either of srcImage or dstImage was created
-- with an unsigned integer Format, the other must also
-- have been created with an unsigned integer Format
-- - If either of srcImage or dstImage was created
-- with a depth/stencil format, the other must have exactly the
-- same format
-- - If srcImage was created with a depth/stencil format,
-- filter must be FILTER_NEAREST
-- - srcImage must have been created with a
-- samples value of SAMPLE_COUNT_1_BIT
-- - dstImage must have been created with a
-- samples value of SAMPLE_COUNT_1_BIT
-- - If filter is FILTER_LINEAR, then the format
-- features of srcImage must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If filter is FILTER_CUBIC_EXT, then the format
-- features of srcImage must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - If filter is FILTER_CUBIC_EXT, srcImage
-- must be of type IMAGE_TYPE_2D
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If either srcImage or dstImage is of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- srcSubresource.baseArrayLayer and
-- dstSubresource.baseArrayLayer must each be 0,
-- and srcSubresource.layerCount and
-- dstSubresource.layerCount must each be 1
-- - For each element of pRegions,
-- srcSubresource.aspectMask must specify aspects present
-- in srcImage
-- - For each element of pRegions,
-- dstSubresource.aspectMask must specify aspects present
-- in dstImage
-- - For each element of pRegions, srcOffsets[0].x
-- and srcOffsets[1].x must both be greater than or equal
-- to 0 and less than or equal to the width of the specified
-- srcSubresource of srcImage
-- - For each element of pRegions, srcOffsets[0].y
-- and srcOffsets[1].y must both be greater than or equal
-- to 0 and less than or equal to the height of the specified
-- srcSubresource of srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffsets[0].y
-- must be 0 and srcOffsets[1].y must be
-- 1
-- - For each element of pRegions, srcOffsets[0].z
-- and srcOffsets[1].z must both be greater than or equal
-- to 0 and less than or equal to the depth of the specified
-- srcSubresource of srcImage
-- - If srcImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- srcOffsets[0].z must be 0 and
-- srcOffsets[1].z must be 1
-- - For each element of pRegions, dstOffsets[0].x
-- and dstOffsets[1].x must both be greater than or equal
-- to 0 and less than or equal to the width of the specified
-- dstSubresource of dstImage
-- - For each element of pRegions, dstOffsets[0].y
-- and dstOffsets[1].y must both be greater than or equal
-- to 0 and less than or equal to the height of the specified
-- dstSubresource of dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffsets[0].y
-- must be 0 and dstOffsets[1].y must be
-- 1
-- - For each element of pRegions, dstOffsets[0].z
-- and dstOffsets[1].z must both be greater than or equal
-- to 0 and less than or equal to the depth of the specified
-- dstSubresource of dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- dstOffsets[0].z must be 0 and
-- dstOffsets[1].z must be 1
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageBlit structures
-- - filter must be a valid Filter value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstImage, and
-- srcImage must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Filter,
-- Image, ImageBlit, ImageLayout
cmdBlitImage :: forall io. MonadIO io => CommandBuffer -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regions" ::: Vector ImageBlit) -> Filter -> io ()
-- | vkCmdCopyBufferToImage - Copy data from a buffer into an image
--
-- Description
--
-- Each region in pRegions is copied from the specified region
-- of the source buffer to the specified region of the destination image.
--
-- If dstImage has a multi-planar format, regions of each
-- plane to be a target of a copy must be specified separately
-- using the pRegions member of the BufferImageCopy
-- structure. In this case, the aspectMask of
-- imageSubresource must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT. For the purposes of
-- cmdCopyBufferToImage, each plane of a multi-planar image is
-- treated as having the format listed in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes
-- for the plane identified by the aspectMask of the
-- corresponding subresource. This applies both to Format and to
-- coordinates used in the copy, which correspond to texels in the
-- plane rather than how these texels map to coordinates in the
-- image as a whole.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcBuffer
-- must not be a protected buffer
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
-- - The image region specified by each element of pRegions
-- must be contained within the specified
-- imageSubresource of dstImage
-- - srcBuffer must be large enough to contain all
-- buffer locations that are accessed according to Buffer and Image
-- Addressing, for each element of pRegions
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_TRANSFER_DST_BIT
-- - If srcBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The imageSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The imageSubresource.baseArrayLayer +
-- imageSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - The imageOffset and imageExtent members of each
-- element of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - dstImage must not have been created with
-- flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT, for each element of pRegions, the
-- aspectMask member of imageSubresource must
-- not be IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT
-- - For each element of pRegions, imageOffset.x and
-- (imageExtent.width + imageOffset.x) must both
-- be greater than or equal to 0 and less than or equal to the
-- width of the specified imageSubresource of
-- dstImage
-- - For each element of pRegions, imageOffset.y and
-- (imageExtent.height + imageOffset.y) must
-- both be greater than or equal to 0 and less than or equal to
-- the height of the specified imageSubresource of
-- dstImage
-- - If dstImage does not have either a depth/stencil or a
-- multi-planar format, then for each element of
-- pRegions, bufferOffset must be a multiple of
-- the format’s texel block size
-- - If dstImage has a multi-planar format, then for
-- each element of pRegions, bufferOffset must
-- be a multiple of the element size of the compatible format for the
-- format and the aspectMask of the imageSubresource as
-- defined in ???
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, imageOffset.y must
-- be 0 and imageExtent.height must be
-- 1
-- - For each element of pRegions, imageOffset.z and
-- (imageExtent.depth + imageOffset.z) must both
-- be greater than or equal to 0 and less than or equal to the
-- depth of the specified imageSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- imageOffset.z must be 0 and
-- imageExtent.depth must be 1
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferRowLength must be a
-- multiple of the compressed texel block width
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferImageHeight must be a
-- multiple of the compressed texel block height
-- - If dstImage is a blocked image, for each element
-- of pRegions, all members of imageOffset must
-- be a multiple of the corresponding dimensions of the compressed texel
-- block
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferOffset must be a multiple
-- of the compressed texel block size in bytes
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.width must be a
-- multiple of the compressed texel block width or
-- (imageExtent.width + imageOffset.x) must
-- equal the width of the specified imageSubresource of
-- dstImage
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.height must be a
-- multiple of the compressed texel block height or
-- (imageExtent.height + imageOffset.y) must
-- equal the height of the specified imageSubresource of
-- dstImage
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.depth must be a
-- multiple of the compressed texel block depth or
-- (imageExtent.depth + imageOffset.z) must
-- equal the depth of the specified imageSubresource of
-- dstImage
-- - For each element of pRegions,
-- imageSubresource.aspectMask must specify aspects
-- present in dstImage
-- - If dstImage has a multi-planar format, then for
-- each element of pRegions,
-- imageSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT (with IMAGE_ASPECT_PLANE_2_BIT
-- valid only for image formats with three planes)
-- - If dstImage is of type IMAGE_TYPE_3D, for each
-- element of pRegions, imageSubresource.baseArrayLayer
-- must be 0 and imageSubresource.layerCount
-- must be 1
-- - If dstImage is not a blocked image, for each
-- element of pRegions, bufferRowLength multiplied by
-- the texel block size of dstImage must be less than or
-- equal to 231-1
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferRowLength divided by the
-- compressed texel block width and then multiplied by the texel block
-- size of dstImage must be less than or equal to
-- 231-1
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
-- - If dstImage has a depth/stencil format, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcBuffer must be a valid Buffer
-- handle
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferImageCopy structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstImage, and
-- srcBuffer must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, BufferImageCopy,
-- CommandBuffer, Image, ImageLayout
cmdCopyBufferToImage :: forall io. MonadIO io => CommandBuffer -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regions" ::: Vector BufferImageCopy) -> io ()
-- | vkCmdCopyImageToBuffer - Copy image data into a buffer
--
-- Description
--
-- Each region in pRegions is copied from the specified region
-- of the source image to the specified region of the destination buffer.
--
-- If srcImage has a multi-planar format, regions of each
-- plane to be a source of a copy must be specified separately
-- using the pRegions member of the BufferImageCopy
-- structure. In this case, the aspectMask of
-- imageSubresource must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT. For the purposes of
-- cmdCopyBufferToImage, each plane of a multi-planar image is
-- treated as having the format listed in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes
-- for the plane identified by the aspectMask of the
-- corresponding subresource. This applies both to Format and to
-- coordinates used in the copy, which correspond to texels in the
-- plane rather than how these texels map to coordinates in the
-- image as a whole.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
-- - The image region specified by each element of pRegions
-- must be contained within the specified
-- imageSubresource of srcImage
-- - dstBuffer must be large enough to contain all
-- buffer locations that are accessed according to Buffer and Image
-- Addressing, for each element of pRegions
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_TRANSFER_SRC_BIT
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The imageSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The imageSubresource.baseArrayLayer +
-- imageSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The imageOffset and imageExtent members of each
-- element of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - srcImage must not have been created with
-- flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - For each element of pRegions, imageOffset.x and
-- (imageExtent.width + imageOffset.x) must both
-- be greater than or equal to 0 and less than or equal to the
-- width of the specified imageSubresource of
-- srcImage
-- - For each element of pRegions, imageOffset.y and
-- (imageExtent.height + imageOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified imageSubresource of
-- srcImage
-- - If srcImage does not have either a depth/stencil or a
-- multi-planar format, then for each element of
-- pRegions, bufferOffset must be a multiple of
-- the format’s texel block size
-- - If srcImage has a multi-planar format, then for
-- each element of pRegions, bufferOffset must
-- be a multiple of the element size of the compatible format for the
-- format and the aspectMask of the imageSubresource as
-- defined in ???
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, imageOffset.y must
-- be 0 and imageExtent.height must be
-- 1
-- - For each element of pRegions, imageOffset.z and
-- (imageExtent.depth + imageOffset.z) must both
-- be greater than or equal to 0 and less than or equal to the
-- depth of the specified imageSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- imageOffset.z must be 0 and
-- imageExtent.depth must be 1
-- - If srcImage is a blocked image, for each element
-- of pRegions, bufferRowLength must be a
-- multiple of the compressed texel block width
-- - If srcImage is a blocked image, for each element
-- of pRegions, bufferImageHeight must be a
-- multiple of the compressed texel block height
-- - If srcImage is a blocked image, for each element
-- of pRegions, all members of imageOffset must
-- be a multiple of the corresponding dimensions of the compressed texel
-- block
-- - If srcImage is a blocked image, for each element
-- of pRegions, bufferOffset must be a multiple
-- of the compressed texel block size in bytes
-- - If srcImage is a blocked image, for each element
-- of pRegions, imageExtent.width must be a
-- multiple of the compressed texel block width or
-- (imageExtent.width + imageOffset.x) must
-- equal the width of the specified imageSubresource of
-- srcImage
-- - If srcImage is a blocked image, for each element
-- of pRegions, imageExtent.height must be a
-- multiple of the compressed texel block height or
-- (imageExtent.height + imageOffset.y) must
-- equal the height of the specified imageSubresource of
-- srcImage
-- - If srcImage is a blocked image, for each element
-- of pRegions, imageExtent.depth must be a
-- multiple of the compressed texel block depth or
-- (imageExtent.depth + imageOffset.z) must
-- equal the depth of the specified imageSubresource of
-- srcImage
-- - For each element of pRegions,
-- imageSubresource.aspectMask must specify aspects
-- present in srcImage
-- - If srcImage has a multi-planar format, then for
-- each element of pRegions,
-- imageSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT (with IMAGE_ASPECT_PLANE_2_BIT
-- valid only for image formats with three planes)
-- - If srcImage is of type IMAGE_TYPE_3D, for each
-- element of pRegions, imageSubresource.baseArrayLayer
-- must be 0 and imageSubresource.layerCount
-- must be 1
-- - If srcImage is not a blocked image, for each
-- element of pRegions, bufferRowLength multiplied by
-- the texel block size of srcImage must be less than or
-- equal to 231-1
-- - If srcImage is a blocked image, for each element
-- of pRegions, bufferRowLength divided by the
-- compressed texel block width and then multiplied by the texel block
-- size of srcImage must be less than or equal to
-- 231-1
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
-- - If srcImage has a depth/stencil format, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstBuffer must be a valid Buffer
-- handle
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferImageCopy structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstBuffer, and
-- srcImage must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, BufferImageCopy,
-- CommandBuffer, Image, ImageLayout
cmdCopyImageToBuffer :: forall io. MonadIO io => CommandBuffer -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regions" ::: Vector BufferImageCopy) -> io ()
-- | vkCmdUpdateBuffer - Update a buffer’s contents from host memory
--
-- Description
--
-- dataSize must be less than or equal to 65536 bytes.
-- For larger updates, applications can use buffer to buffer
-- copies.
--
-- Note
--
-- Buffer updates performed with cmdUpdateBuffer first copy the
-- data into command buffer memory when the command is recorded (which
-- requires additional storage and may incur an additional allocation),
-- and then copy the data from the command buffer into dstBuffer
-- when the command is executed on a device.
--
-- The additional cost of this functionality compared to buffer to
-- buffer copies means it is only recommended for very small amounts
-- of data, and is why it is limited to only 65536 bytes.
--
-- Applications can work around this by issuing multiple
-- cmdUpdateBuffer commands to different ranges of the same
-- buffer, but it is strongly recommended that they should not.
--
-- The source data is copied from the user pointer to the command buffer
-- when the command is called.
--
-- cmdUpdateBuffer is only allowed outside of a render pass. This
-- command is treated as “transfer” operation, for the purposes of
-- synchronization barriers. The BUFFER_USAGE_TRANSFER_DST_BIT
-- must be specified in usage of BufferCreateInfo
-- in order for the buffer to be compatible with cmdUpdateBuffer.
--
-- Valid Usage
--
--
-- - dstOffset must be less than the size of
-- dstBuffer
--
--
--
-- - dataSize must be less than or equal to the size of
-- dstBuffer minus dstOffset
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstOffset must be a multiple of 4
-- - dataSize must be less than or equal to
-- 65536
-- - dataSize must be a multiple of 4
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - dstBuffer must be a valid Buffer
-- handle
-- - pData must be a valid pointer to an array of
-- dataSize bytes
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
-- - dataSize must be greater than 0
-- - Both of commandBuffer, and dstBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdUpdateBuffer :: forall io. MonadIO io => CommandBuffer -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("data" ::: Ptr ()) -> io ()
-- | vkCmdFillBuffer - Fill a region of a buffer with a fixed value
--
-- Description
--
-- cmdFillBuffer is treated as “transfer” operation for the
-- purposes of synchronization barriers. The
-- BUFFER_USAGE_TRANSFER_DST_BIT must be specified in
-- usage of BufferCreateInfo in order for the buffer to
-- be compatible with cmdFillBuffer.
--
-- Valid Usage
--
--
-- - dstOffset must be less than the size of
-- dstBuffer
--
--
--
-- - dstOffset must be a multiple of 4
-- - If size is not equal to WHOLE_SIZE, size
-- must be greater than 0
-- - If size is not equal to WHOLE_SIZE, size
-- must be less than or equal to the size of dstBuffer
-- minus dstOffset
-- - If size is not equal to WHOLE_SIZE, size
-- must be a multiple of 4
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - dstBuffer must be a valid Buffer
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and dstBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize
cmdFillBuffer :: forall io. MonadIO io => CommandBuffer -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> io ()
-- | vkCmdClearColorImage - Clear regions of a color image
--
-- Description
--
-- Each specified range in pRanges is cleared to the value
-- specified by pColor.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - image must be a valid Image handle
-- - imageLayout must be a valid ImageLayout
-- value
-- - pRanges must be a valid pointer to an array of
-- rangeCount valid ImageSubresourceRange structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - rangeCount must be greater than 0
-- - Both of commandBuffer, and image must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, ClearColorValue, CommandBuffer,
-- Image, ImageLayout, ImageSubresourceRange
cmdClearColorImage :: forall io. MonadIO io => CommandBuffer -> Image -> ImageLayout -> ClearColorValue -> ("ranges" ::: Vector ImageSubresourceRange) -> io ()
-- | vkCmdClearDepthStencilImage - Fill regions of a combined depth/stencil
-- image
--
-- Valid Usage
--
--
--
--
-- - If the aspect member of any element of pRanges
-- includes IMAGE_ASPECT_STENCIL_BIT, and image was
-- created with separate stencil usage,
-- IMAGE_USAGE_TRANSFER_DST_BIT must have been included in
-- the ImageStencilUsageCreateInfo::stencilUsage used to
-- create image
-- - If the aspect member of any element of pRanges
-- includes IMAGE_ASPECT_STENCIL_BIT, and image was not
-- created with separate stencil usage,
-- IMAGE_USAGE_TRANSFER_DST_BIT must have been included in
-- the ImageCreateInfo::usage used to create
-- image
-- - If the aspect member of any element of pRanges
-- includes IMAGE_ASPECT_DEPTH_BIT,
-- IMAGE_USAGE_TRANSFER_DST_BIT must have been included in
-- the ImageCreateInfo::usage used to create
-- image
-- - If image is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - imageLayout must specify the layout of the image
-- subresource ranges of image specified in pRanges at
-- the time this command is executed on a Device
-- - imageLayout must be either of
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - The ImageSubresourceRange::aspectMask member of
-- each element of the pRanges array must not include
-- bits other than IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT
-- - If the image’s format does not have a stencil component,
-- then the ImageSubresourceRange::aspectMask member of
-- each element of the pRanges array must not include the
-- IMAGE_ASPECT_STENCIL_BIT bit
-- - If the image’s format does not have a depth component,
-- then the ImageSubresourceRange::aspectMask member of
-- each element of the pRanges array must not include the
-- IMAGE_ASPECT_DEPTH_BIT bit
-- - The ImageSubresourceRange::baseMipLevel members of
-- the elements of the pRanges array must each be less
-- than the mipLevels specified in ImageCreateInfo when
-- image was created
-- - For each ImageSubresourceRange element of pRanges,
-- if the levelCount member is not REMAINING_MIP_LEVELS,
-- then baseMipLevel + levelCount must be less
-- than the mipLevels specified in ImageCreateInfo when
-- image was created
-- - The ImageSubresourceRange::baseArrayLayer members
-- of the elements of the pRanges array must each be less
-- than the arrayLayers specified in ImageCreateInfo when
-- image was created
-- - For each ImageSubresourceRange element of pRanges,
-- if the layerCount member is not
-- REMAINING_ARRAY_LAYERS, then baseArrayLayer +
-- layerCount must be less than the arrayLayers
-- specified in ImageCreateInfo when image was
-- created
-- - image must have a depth/stencil format
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, image must
-- not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, image must
-- not be an unprotected image
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - image must be a valid Image handle
-- - imageLayout must be a valid ImageLayout
-- value
-- - pDepthStencil must be a valid pointer to a valid
-- ClearDepthStencilValue structure
-- - pRanges must be a valid pointer to an array of
-- rangeCount valid ImageSubresourceRange structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
-- - rangeCount must be greater than 0
-- - Both of commandBuffer, and image must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, ClearDepthStencilValue,
-- CommandBuffer, Image, ImageLayout,
-- ImageSubresourceRange
cmdClearDepthStencilImage :: forall io. MonadIO io => CommandBuffer -> Image -> ImageLayout -> ClearDepthStencilValue -> ("ranges" ::: Vector ImageSubresourceRange) -> io ()
-- | vkCmdClearAttachments - Clear regions within bound framebuffer
-- attachments
--
-- Description
--
-- If the render pass has a fragment density map attachment,
-- clears follow the operations of fragment density maps as if
-- each clear region was a primitive which generates fragments. The clear
-- color is applied to all pixels inside each fragment’s area regardless
-- if the pixels lie outside of the clear region. Clears may have
-- a different set of supported fragment areas than draws.
--
-- Unlike other clear commands, cmdClearAttachments
-- executes as a drawing command, rather than a transfer command, with
-- writes performed by it executing in rasterization order. Clears
-- to color attachments are executed as color attachment writes, by the
-- PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT stage. Clears to
-- depth/stencil attachments are executed as depth writes and
-- writes by the PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
-- and PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT stages.
--
-- cmdClearAttachments is not affected by the bound pipeline
-- state.
--
-- Note
--
-- It is generally preferable to clear attachments by using the
-- ATTACHMENT_LOAD_OP_CLEAR load operation at the start of
-- rendering, as it is more efficient on some implementations.
--
-- Valid Usage
--
--
-- - If the aspectMask member of any element of
-- pAttachments contains IMAGE_ASPECT_COLOR_BIT, then the
-- colorAttachment member of that element must either
-- refer to a color attachment which is ATTACHMENT_UNUSED, or
-- must be a valid color attachment
--
--
--
-- - If the aspectMask member of any element of
-- pAttachments contains IMAGE_ASPECT_DEPTH_BIT, then the
-- current subpass' depth/stencil attachment must either be
-- ATTACHMENT_UNUSED, or must have a depth component
-- - If the aspectMask member of any element of
-- pAttachments contains IMAGE_ASPECT_STENCIL_BIT, then
-- the current subpass' depth/stencil attachment must either be
-- ATTACHMENT_UNUSED, or must have a stencil component
-- - The rect member of each element of pRects
-- must have an extent.width greater than 0
-- - The rect member of each element of pRects
-- must have an extent.height greater than
-- 0
-- - The rectangular region specified by each element of
-- pRects must be contained within the render area of the
-- current render pass instance
-- - The layers specified by each element of pRects
-- must be contained within every attachment that
-- pAttachments refers to
-- - The layerCount member of each element of pRects
-- must not be 0
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, each attachment to be
-- cleared must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, each attachment to be
-- cleared must not be an unprotected image
-- - If the render pass instance this is recorded in uses multiview,
-- then baseArrayLayer must be zero and
-- layerCount must be one
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pAttachments must be a valid pointer to an array
-- of attachmentCount valid ClearAttachment
-- structures
-- - pRects must be a valid pointer to an array of
-- rectCount ClearRect structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - attachmentCount must be greater than
-- 0
-- - rectCount must be greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, ClearAttachment, ClearRect,
-- CommandBuffer
cmdClearAttachments :: forall io. MonadIO io => CommandBuffer -> ("attachments" ::: Vector ClearAttachment) -> ("rects" ::: Vector ClearRect) -> io ()
-- | vkCmdResolveImage - Resolve regions of an image
--
-- Description
--
-- During the resolve the samples corresponding to each pixel location in
-- the source are converted to a single sample before being written to
-- the destination. If the source formats are floating-point or
-- normalized types, the sample values for each pixel are resolved in an
-- implementation-dependent manner. If the source formats are integer
-- types, a single sample’s value is selected for each pixel.
--
-- srcOffset and dstOffset select the initial
-- x, y, and z offsets in texels of the
-- sub-regions of the source and destination image data. extent
-- is the size in texels of the source image to resolve in
-- width, height and depth. Each element of
-- pRegions must be a region that is contained within its
-- corresponding image.
--
-- Resolves are done layer by layer starting with baseArrayLayer
-- member of srcSubresource for the source and
-- dstSubresource for the destination. layerCount
-- layers are resolved to the destination image.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImage must have a sample count equal to any
-- valid sample count value other than SAMPLE_COUNT_1_BIT
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - srcImage and dstImage must have been
-- created with the same image format
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If either srcImage or dstImage are of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- srcSubresource.baseArrayLayer must be 0 and
-- srcSubresource.layerCount must be 1
-- - If either srcImage or dstImage are of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- dstSubresource.baseArrayLayer must be 0 and
-- dstSubresource.layerCount must be 1
-- - For each element of pRegions, srcOffset.x and
-- (extent.width + srcOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified srcSubresource of
-- srcImage
-- - For each element of pRegions, srcOffset.y and
-- (extent.height + srcOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, srcOffset.z and
-- (extent.depth + srcOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- srcOffset.z must be 0 and
-- extent.depth must be 1
-- - For each element of pRegions, dstOffset.x and
-- (extent.width + dstOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified dstSubresource of
-- dstImage
-- - For each element of pRegions, dstOffset.y and
-- (extent.height + dstOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, dstOffset.z and
-- (extent.depth + dstOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- dstOffset.z must be 0 and
-- extent.depth must be 1
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageResolve structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
-- - regionCount must be greater than 0
-- - Each of commandBuffer, dstImage, and
-- srcImage must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Image,
-- ImageLayout, ImageResolve
cmdResolveImage :: forall io. MonadIO io => CommandBuffer -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regions" ::: Vector ImageResolve) -> io ()
-- | vkCmdSetEvent - Set an event object to signaled state
--
-- Description
--
-- cmdSetEvent behaves identically to cmdSetEvent2KHR,
-- except that it does not define an access scope, and must only
-- be used with cmdWaitEvents, not cmdWaitEvents2KHR.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - event must be a valid Event handle
-- - stageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and event must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Event,
-- PipelineStageFlags
cmdSetEvent :: forall io. MonadIO io => CommandBuffer -> Event -> ("stageMask" ::: PipelineStageFlags) -> io ()
-- | vkCmdResetEvent - Reset an event object to non-signaled state
--
-- Description
--
-- cmdResetEvent behaves identically to cmdResetEvent2KHR.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - event must be a valid Event handle
-- - stageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and event must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, Event,
-- PipelineStageFlags
cmdResetEvent :: forall io. MonadIO io => CommandBuffer -> Event -> ("stageMask" ::: PipelineStageFlags) -> io ()
-- | vkCmdWaitEvents - Wait for one or more events and insert a set of
-- memory
--
-- Description
--
-- cmdWaitEvents is largely similar to cmdWaitEvents2KHR,
-- but can only wait on signal operations defined by
-- cmdSetEvent. As cmdSetEvent does not define any access
-- scopes, cmdWaitEvents defines the first access scope for each
-- event signal operation in addition to its own access scopes.
--
-- Note
--
-- Since cmdSetEvent does not have any dependency information
-- beyond a stage mask, implementations do not have the same opportunity
-- to perform availability and visibility operations or image
-- layout transitions in advance as they do with
-- cmdSetEvent2KHR and cmdWaitEvents2KHR.
--
-- When cmdWaitEvents is submitted to a queue, it defines a memory
-- dependency between prior event signal operations on the same queue or
-- the host, and subsequent commands. cmdWaitEvents must
-- not be used to wait on event signal operations occurring on other
-- queues.
--
-- The first synchronization scope only includes event signal operations
-- that operate on members of pEvents, and the operations that
-- happened-before the event signal operations. Event signal operations
-- performed by cmdSetEvent that occur earlier in submission
-- order are included in the first synchronization scope, if the
-- logically latest pipeline stage in their stageMask
-- parameter is logically earlier than or equal to the
-- logically latest pipeline stage in srcStageMask. Event
-- signal operations performed by setEvent are only included in
-- the first synchronization scope if PIPELINE_STAGE_HOST_BIT is
-- included in srcStageMask.
--
-- The second synchronization scope includes all commands that
-- occur later in submission order. The second synchronization
-- scope is limited to operations on the pipeline stages determined by
-- the destination stage mask specified by dstStageMask.
--
-- The first access scope is limited to accesses in the pipeline
-- stages determined by the source stage mask specified by
-- srcStageMask. Within that, the first access scope only
-- includes the first access scopes defined by elements of the
-- pMemoryBarriers, pBufferMemoryBarriers and
-- pImageMemoryBarriers arrays, which each define a set of
-- memory barriers. If no memory barriers are specified, then the
-- first access scope includes no accesses.
--
-- The second access scope is limited to accesses in the pipeline
-- stages determined by the destination stage mask specified by
-- dstStageMask. Within that, the second access scope only
-- includes the second access scopes defined by elements of the
-- pMemoryBarriers, pBufferMemoryBarriers and
-- pImageMemoryBarriers arrays, which each define a set of
-- memory barriers. If no memory barriers are specified, then the
-- second access scope includes no accesses.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- srcStageMask must not be 0
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_GEOMETRY_SHADER_BIT
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- dstStageMask must not be 0
-- - The srcAccessMask member of each element of
-- pMemoryBarriers must only include access flags that
-- are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - The dstAccessMask member of each element of
-- pMemoryBarriers must only include access flags that
-- are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - For any element of pBufferMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its srcQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- srcAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - For any element of pBufferMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its dstQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- dstAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - For any element of pImageMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its srcQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- srcAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - For any element of pImageMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its dstQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- dstAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - Any pipeline stage included in srcStageMask must
-- be supported by the capabilities of the queue family specified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- structure that was used to create the CommandPool that
-- commandBuffer was allocated from, as specified in the
-- table of supported pipeline stages
-- - Any pipeline stage included in dstStageMask must
-- be supported by the capabilities of the queue family specified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- structure that was used to create the CommandPool that
-- commandBuffer was allocated from, as specified in the
-- table of supported pipeline stages
-- - srcStageMask must be the bitwise OR of the
-- stageMask parameter used in previous calls to
-- cmdSetEvent with any of the elements of pEvents and
-- PIPELINE_STAGE_HOST_BIT if any of the elements of
-- pEvents was set using setEvent
-- - If pEvents includes one or more events that will be
-- signaled by setEvent after commandBuffer has been
-- submitted to a queue, then cmdWaitEvents must not be
-- called inside a render pass instance
-- - The srcQueueFamilyIndex and dstQueueFamilyIndex
-- members of any element of pBufferMemoryBarriers or
-- pImageMemoryBarriers must be equal
-- - commandBuffer’s current device mask must include
-- exactly one physical device
-- - Elements of pEvents must not have been signaled by
-- cmdSetEvent2KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pEvents must be a valid pointer to an array of
-- eventCount valid Event handles
-- - srcStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - dstStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - If memoryBarrierCount is not 0,
-- pMemoryBarriers must be a valid pointer to an array of
-- memoryBarrierCount valid MemoryBarrier structures
-- - If bufferMemoryBarrierCount is not 0,
-- pBufferMemoryBarriers must be a valid pointer to an
-- array of bufferMemoryBarrierCount valid
-- BufferMemoryBarrier structures
-- - If imageMemoryBarrierCount is not 0,
-- pImageMemoryBarriers must be a valid pointer to an
-- array of imageMemoryBarrierCount valid
-- ImageMemoryBarrier structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - eventCount must be greater than 0
-- - Both of commandBuffer, and the elements of
-- pEvents must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, BufferMemoryBarrier,
-- CommandBuffer, Event, ImageMemoryBarrier,
-- MemoryBarrier, PipelineStageFlags
cmdWaitEvents :: forall io. MonadIO io => CommandBuffer -> ("events" ::: Vector Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarriers" ::: Vector MemoryBarrier) -> ("bufferMemoryBarriers" ::: Vector BufferMemoryBarrier) -> ("imageMemoryBarriers" ::: Vector (SomeStruct ImageMemoryBarrier)) -> io ()
-- | A variant of cmdWaitEvents which makes a *safe* FFI call
cmdWaitEventsSafe :: forall io. MonadIO io => CommandBuffer -> ("events" ::: Vector Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarriers" ::: Vector MemoryBarrier) -> ("bufferMemoryBarriers" ::: Vector BufferMemoryBarrier) -> ("imageMemoryBarriers" ::: Vector (SomeStruct ImageMemoryBarrier)) -> io ()
-- | vkCmdPipelineBarrier - Insert a memory dependency
--
-- Description
--
-- cmdPipelineBarrier operates almost identically to
-- cmdPipelineBarrier2KHR, except that the scopes and barriers are
-- defined as direct parameters rather than being defined by an
-- DependencyInfoKHR.
--
-- When cmdPipelineBarrier is submitted to a queue, it defines a
-- memory dependency between commands that were submitted before it, and
-- those submitted after it.
--
-- If cmdPipelineBarrier was recorded outside a render pass
-- instance, the first synchronization scope includes all commands
-- that occur earlier in submission order. If
-- cmdPipelineBarrier was recorded inside a render pass instance,
-- the first synchronization scope includes only commands that occur
-- earlier in submission order within the same subpass. In either
-- case, the first synchronization scope is limited to operations on the
-- pipeline stages determined by the source stage mask specified
-- by srcStageMask.
--
-- If cmdPipelineBarrier was recorded outside a render pass
-- instance, the second synchronization scope includes all
-- commands that occur later in submission order. If
-- cmdPipelineBarrier was recorded inside a render pass instance,
-- the second synchronization scope includes only commands that occur
-- later in submission order within the same subpass. In either
-- case, the second synchronization scope is limited to operations on the
-- pipeline stages determined by the destination stage mask
-- specified by dstStageMask.
--
-- The first access scope is limited to accesses in the pipeline
-- stages determined by the source stage mask specified by
-- srcStageMask. Within that, the first access scope only
-- includes the first access scopes defined by elements of the
-- pMemoryBarriers, pBufferMemoryBarriers and
-- pImageMemoryBarriers arrays, which each define a set of
-- memory barriers. If no memory barriers are specified, then the
-- first access scope includes no accesses.
--
-- The second access scope is limited to accesses in the pipeline
-- stages determined by the destination stage mask specified by
-- dstStageMask. Within that, the second access scope only
-- includes the second access scopes defined by elements of the
-- pMemoryBarriers, pBufferMemoryBarriers and
-- pImageMemoryBarriers arrays, which each define a set of
-- memory barriers. If no memory barriers are specified, then the
-- second access scope includes no accesses.
--
-- If dependencyFlags includes DEPENDENCY_BY_REGION_BIT,
-- then any dependency between framebuffer-space pipeline stages
-- is framebuffer-local - otherwise it is
-- framebuffer-global.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- srcStageMask must not be 0
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_GEOMETRY_SHADER_BIT
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- dstStageMask must not be 0
-- - The srcAccessMask member of each element of
-- pMemoryBarriers must only include access flags that
-- are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - The dstAccessMask member of each element of
-- pMemoryBarriers must only include access flags that
-- are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - For any element of pBufferMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its srcQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- srcAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - For any element of pBufferMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its dstQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- dstAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - For any element of pImageMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its srcQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- srcAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- srcStageMask, as specified in the table of supported
-- access types
-- - For any element of pImageMemoryBarriers, if its
-- srcQueueFamilyIndex and dstQueueFamilyIndex members
-- are equal, or if its dstQueueFamilyIndex is the queue family
-- index that was used to create the command pool that
-- commandBuffer was allocated from, then its
-- dstAccessMask member must only contain access flags
-- that are supported by one or more of the pipeline stages in
-- dstStageMask, as specified in the table of supported
-- access types
-- - If cmdPipelineBarrier is called within a render pass
-- instance, the render pass must have been created with at least
-- one SubpassDependency instance in
-- RenderPassCreateInfo::pDependencies that expresses a
-- dependency from the current subpass to itself, with synchronization
-- scopes and access scopes that are all supersets of the
-- scopes defined in this command
-- - If cmdPipelineBarrier is called within a render pass
-- instance, it must not include any buffer memory barriers
-- - If cmdPipelineBarrier is called within a render pass
-- instance, the image member of any image memory barrier
-- included in this command must be an attachment used in the
-- current subpass both as an input attachment, and as either a color or
-- depth/stencil attachment
-- - If cmdPipelineBarrier is called within a render pass
-- instance, the oldLayout and newLayout members of any
-- image memory barrier included in this command must be
-- equal
-- - If cmdPipelineBarrier is called within a render pass
-- instance, the srcQueueFamilyIndex and
-- dstQueueFamilyIndex members of any image memory barrier
-- included in this command must be equal
-- - If cmdPipelineBarrier is called outside of a render pass
-- instance, DEPENDENCY_VIEW_LOCAL_BIT must not be included
-- in the dependency flags
-- - If cmdPipelineBarrier is called within a render pass
-- instance, the render pass must not have been started with
-- cmdBeginRenderingKHR
-- - Any pipeline stage included in srcStageMask must
-- be supported by the capabilities of the queue family specified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- structure that was used to create the CommandPool that
-- commandBuffer was allocated from, as specified in the
-- table of supported pipeline stages
-- - Any pipeline stage included in dstStageMask must
-- be supported by the capabilities of the queue family specified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- structure that was used to create the CommandPool that
-- commandBuffer was allocated from, as specified in the
-- table of supported pipeline stages
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - srcStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - dstStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - dependencyFlags must be a valid combination of
-- DependencyFlagBits values
-- - If memoryBarrierCount is not 0,
-- pMemoryBarriers must be a valid pointer to an array of
-- memoryBarrierCount valid MemoryBarrier structures
-- - If bufferMemoryBarrierCount is not 0,
-- pBufferMemoryBarriers must be a valid pointer to an
-- array of bufferMemoryBarrierCount valid
-- BufferMemoryBarrier structures
-- - If imageMemoryBarrierCount is not 0,
-- pImageMemoryBarriers must be a valid pointer to an
-- array of imageMemoryBarrierCount valid
-- ImageMemoryBarrier structures
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, BufferMemoryBarrier,
-- CommandBuffer, DependencyFlags,
-- ImageMemoryBarrier, MemoryBarrier,
-- PipelineStageFlags
cmdPipelineBarrier :: forall io. MonadIO io => CommandBuffer -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> DependencyFlags -> ("memoryBarriers" ::: Vector MemoryBarrier) -> ("bufferMemoryBarriers" ::: Vector BufferMemoryBarrier) -> ("imageMemoryBarriers" ::: Vector (SomeStruct ImageMemoryBarrier)) -> io ()
-- | vkCmdBeginQuery - Begin a query
--
-- Description
--
-- If the queryType of the pool is QUERY_TYPE_OCCLUSION
-- and flags contains QUERY_CONTROL_PRECISE_BIT, an
-- implementation must return a result that matches the actual
-- number of samples passed. This is described in more detail in
-- Occlusion Queries.
--
-- Calling cmdBeginQuery is equivalent to calling
-- cmdBeginQueryIndexedEXT with the index parameter set
-- to zero.
--
-- After beginning a query, that query is considered active within
-- the command buffer it was called in until that same query is ended.
-- Queries active in a primary command buffer when secondary command
-- buffers are executed are considered active for those secondary command
-- buffers.
--
-- Valid Usage
--
--
-- - All queries used by the command must be unavailable
--
--
--
-- - The queryType used to create queryPool
-- must not be QUERY_TYPE_TIMESTAMP
-- - The queryType used to create queryPool
-- must not be
-- QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR or
-- QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR
-- - The queryType used to create queryPool
-- must not be
-- QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
-- - If the precise occlusion queries feature is not enabled, or
-- the queryType used to create queryPool was not
-- QUERY_TYPE_OCCLUSION, flags must not contain
-- QUERY_CONTROL_PRECISE_BIT
-- - query must be less than the number of queries in
-- queryPool
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_OCCLUSION, the CommandPool that
-- commandBuffer was allocated from must support graphics
-- operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_PIPELINE_STATISTICS and any of the
-- pipelineStatistics indicate graphics operations, the
-- CommandPool that commandBuffer was allocated from
-- must support graphics operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_PIPELINE_STATISTICS and any of the
-- pipelineStatistics indicate compute operations, the
-- CommandPool that commandBuffer was allocated from
-- must support compute operations
-- - commandBuffer must not be a protected command
-- buffer
-- - If called within a render pass instance, the sum of query
-- and the number of bits set in the current subpass’s view mask
-- must be less than or equal to the number of queries in
-- queryPool
-- - queryPool must have been created with a
-- queryType that differs from that of any queries that are
-- active within commandBuffer
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT the CommandPool
-- that commandBuffer was allocated from must support
-- graphics operations
-- - If the queryType used to create queryPool was
-- QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT then
-- PhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackQueries
-- must be supported
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, the profiling lock
-- must have been held before beginCommandBuffer was called
-- on commandBuffer
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
-- to create queryPool was
-- PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, the query begin
-- must be the first recorded command in
-- commandBuffer
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
-- to create queryPool was
-- PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, the begin command
-- must not be recorded within a render pass instance
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR and another query pool with a
-- queryType QUERY_TYPE_PERFORMANCE_QUERY_KHR has been
-- used within commandBuffer, its parent primary command buffer
-- or secondary command buffer recorded within the same parent primary
-- command buffer as commandBuffer, the
-- performanceCounterMultipleQueryPools feature must be
-- enabled
-- - If queryPool was created with a queryType of
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, this command must not
-- be recorded in a command buffer that, either directly or through
-- secondary command buffers, also contains a cmdResetQueryPool
-- command affecting the same query
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - flags must be a valid combination of
-- QueryControlFlagBits values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, QueryControlFlags,
-- QueryPool
cmdBeginQuery :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginQuery and cmdEndQuery
--
-- Note that cmdEndQuery is *not* called if an exception is thrown
-- by the inner action.
cmdUseQuery :: forall io r. MonadIO io => CommandBuffer -> QueryPool -> Word32 -> QueryControlFlags -> io r -> io r
-- | vkCmdEndQuery - Ends a query
--
-- Description
--
-- Calling cmdEndQuery is equivalent to calling
-- cmdEndQueryIndexedEXT with the index parameter set to
-- zero.
--
-- As queries operate asynchronously, ending a query does not immediately
-- set the query’s status to available. A query is considered
-- finished when the final results of the query are ready to be
-- retrieved by getQueryPoolResults and
-- cmdCopyQueryPoolResults, and this is when the query’s status is
-- set to available.
--
-- Once a query is ended the query must finish in finite time,
-- unless the state of the query is changed using other commands, e.g. by
-- issuing a reset of the query.
--
-- Valid Usage
--
--
-- - All queries used by the command must be active
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, QueryPool
cmdEndQuery :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("query" ::: Word32) -> io ()
-- | vkCmdResetQueryPool - Reset queries in a query pool
--
-- Description
--
-- When executed on a queue, this command sets the status of query
-- indices [firstQuery, firstQuery +
-- queryCount - 1] to unavailable.
--
-- If the queryType used to create queryPool was
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, this command sets the status
-- of query indices [firstQuery, firstQuery +
-- queryCount - 1] to unavailable for each pass of
-- queryPool, as indicated by a call to
-- getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.
--
-- Note
--
-- Because cmdResetQueryPool resets all the passes of the
-- indicated queries, applications must not record a
-- cmdResetQueryPool command for a queryPool created with
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR in a command buffer that needs
-- to be submitted multiple times as indicated by a call to
-- getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.
-- Otherwise applications will never be able to complete the recorded
-- queries.
--
-- Valid Usage
--
--
-- - firstQuery must be less than the number of queries
-- in queryPool
--
--
--
-- - The sum of firstQuery and queryCount must
-- be less than or equal to the number of queries in
-- queryPool
-- - All queries used by the command must not be active
-- - If queryPool was created with
-- QUERY_TYPE_PERFORMANCE_QUERY_KHR, this command must not
-- be recorded in a command buffer that, either directly or through
-- secondary command buffers, also contains begin commands for a query
-- from the set of queries [firstQuery, firstQuery +
-- queryCount - 1]
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, QueryPool
cmdResetQueryPool :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> io ()
-- | vkCmdWriteTimestamp - Write a device timestamp into a query object
--
-- Description
--
-- cmdWriteTimestamp latches the value of the timer when all
-- previous commands have completed executing as far as the specified
-- pipeline stage, and writes the timestamp value to memory. When the
-- timestamp value is written, the availability status of the query is
-- set to available.
--
-- Note
--
-- If an implementation is unable to detect completion and latch the
-- timer at any specific stage of the pipeline, it may instead do
-- so at any logically later stage.
--
-- Comparisons between timestamps are not meaningful if the timestamps
-- are written by commands submitted to different queues.
--
-- Note
--
-- An example of such a comparison is subtracting an older timestamp from
-- a newer one to determine the execution time of a sequence of commands.
--
-- If cmdWriteTimestamp is called while executing a render pass
-- instance that has multiview enabled, the timestamp uses N consecutive
-- query indices in the query pool (starting at query) where N
-- is the number of bits set in the view mask of the subpass the command
-- is executed in. The resulting query values are determined by an
-- implementation-dependent choice of one of the following behaviors:
--
--
-- - The first query is a timestamp value and (if more than one bit is
-- set in the view mask) zero is written to the remaining queries. If two
-- timestamps are written in the same subpass, the sum of the execution
-- time of all views between those commands is the difference between the
-- first query written by each command.
-- - All N queries are timestamp values. If two timestamps are written
-- in the same subpass, the sum of the execution time of all views
-- between those commands is the sum of the difference between
-- corresponding queries written by each command. The difference between
-- corresponding queries may be the execution time of a single
-- view.
--
--
-- In either case, the application can sum the differences between
-- all N queries to determine the total execution time.
--
-- Valid Usage
--
--
-- - pipelineStage must be a valid stage for the
-- queue family that was used to create the command pool that
-- commandBuffer was allocated from
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pipelineStage must be a valid
-- PipelineStageFlagBits value
-- - queryPool must be a valid QueryPool
-- handle
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - Both of commandBuffer, and queryPool must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- PipelineStageFlagBits, QueryPool
cmdWriteTimestamp :: forall io. MonadIO io => CommandBuffer -> PipelineStageFlagBits -> QueryPool -> ("query" ::: Word32) -> io ()
-- | vkCmdCopyQueryPoolResults - Copy the results of queries in a query
-- pool to a buffer object
--
-- Description
--
-- cmdCopyQueryPoolResults is guaranteed to see the effect of
-- previous uses of cmdResetQueryPool in the same queue, without
-- any additional synchronization. Thus, the results will always reflect
-- the most recent use of the query.
--
-- flags has the same possible values described above for the
-- flags parameter of getQueryPoolResults, but the
-- different style of execution causes some subtle behavioral
-- differences. Because cmdCopyQueryPoolResults executes in order
-- with respect to other query commands, there is less ambiguity about
-- which use of a query is being requested.
--
-- Results for all requested occlusion queries, pipeline statistics
-- queries, transform feedback queries, and timestamp queries are written
-- as 64-bit unsigned integer values if QUERY_RESULT_64_BIT is set
-- or 32-bit unsigned integer values otherwise. Performance queries store
-- results in a tightly packed array whose type is determined by the
-- unit member of the corresponding
-- PerformanceCounterKHR.
--
-- If neither of QUERY_RESULT_WAIT_BIT and
-- QUERY_RESULT_WITH_AVAILABILITY_BIT are set, results are only
-- written out for queries in the available state.
--
-- If QUERY_RESULT_WAIT_BIT is set, the implementation will wait
-- for each query’s status to be in the available state before retrieving
-- the numerical results for that query. This is guaranteed to reflect
-- the most recent use of the query on the same queue, assuming that the
-- query is not being simultaneously used by other queues. If the query
-- does not become available in a finite amount of time (e.g. due to not
-- issuing a query since the last reset), a ERROR_DEVICE_LOST
-- error may occur.
--
-- Similarly, if QUERY_RESULT_WITH_AVAILABILITY_BIT is set and
-- QUERY_RESULT_WAIT_BIT is not set, the availability is
-- guaranteed to reflect the most recent use of the query on the same
-- queue, assuming that the query is not being simultaneously used by
-- other queues. As with getQueryPoolResults, implementations
-- must guarantee that if they return a non-zero availability
-- value, then the numerical results are valid.
--
-- If QUERY_RESULT_PARTIAL_BIT is set,
-- QUERY_RESULT_WAIT_BIT is not set, and the query’s status is
-- unavailable, an intermediate result value between zero and the final
-- result value is written for that query.
--
-- QUERY_RESULT_PARTIAL_BIT must not be used if the pool’s
-- queryType is QUERY_TYPE_TIMESTAMP.
--
-- cmdCopyQueryPoolResults is considered to be a transfer
-- operation, and its writes to buffer memory must be synchronized
-- using PIPELINE_STAGE_TRANSFER_BIT and
-- ACCESS_TRANSFER_WRITE_BIT before using the results.
--
-- Valid Usage
--
--
-- - dstOffset must be less than the size of
-- dstBuffer
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - queryPool must be a valid QueryPool
-- handle
-- - dstBuffer must be a valid Buffer
-- handle
-- - flags must be a valid combination of
-- QueryResultFlagBits values
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - This command must only be called outside of a render pass
-- instance
-- - Each of commandBuffer, dstBuffer, and
-- queryPool must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, Buffer, CommandBuffer,
-- DeviceSize, QueryPool, QueryResultFlags
cmdCopyQueryPoolResults :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> io ()
-- | vkCmdPushConstants - Update the values of push constants
--
-- Description
--
-- When a command buffer begins recording, all push constant values are
-- undefined. Reads of undefined push constant values by the executing
-- shader return undefined values.
--
-- Push constant values can be updated incrementally, causing
-- shader stages in stageFlags to read the new data from
-- pValues for push constants modified by this command, while
-- still reading the previous data for push constants not modified by
-- this command. When a bound pipeline command is issued, the
-- bound pipeline’s layout must be compatible with the layouts
-- used to set the values of all push constants in the pipeline layout’s
-- push constant ranges, as described in Pipeline Layout
-- Compatibility. Binding a pipeline with a layout that is not
-- compatible with the push constant layout does not disturb the push
-- constant values.
--
-- Note
--
-- As stageFlags needs to include all flags the relevant push
-- constant ranges were created with, any flags that are not supported by
-- the queue family that the CommandPool used to allocate
-- commandBuffer was created on are ignored.
--
-- Valid Usage
--
--
-- - For each byte in the range specified by offset and
-- size and for each shader stage in stageFlags, there
-- must be a push constant range in layout that includes
-- that byte and that stage
--
--
--
-- - For each byte in the range specified by offset and
-- size and for each push constant range that overlaps that
-- byte, stageFlags must include all stages in that push
-- constant range’s PushConstantRange::stageFlags
-- - offset must be a multiple of 4
-- - size must be a multiple of 4
-- - offset must be less than
-- PhysicalDeviceLimits::maxPushConstantsSize
-- - size must be less than or equal to
-- PhysicalDeviceLimits::maxPushConstantsSize minus
-- offset
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - layout must be a valid PipelineLayout
-- handle
-- - stageFlags must be a valid combination of
-- ShaderStageFlagBits values
-- - stageFlags must not be 0
-- - pValues must be a valid pointer to an array of
-- size bytes
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics, or compute operations
-- - size must be greater than 0
-- - Both of commandBuffer, and layout must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, PipelineLayout,
-- ShaderStageFlags
cmdPushConstants :: forall io. MonadIO io => CommandBuffer -> PipelineLayout -> ShaderStageFlags -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("values" ::: Ptr ()) -> io ()
-- | vkCmdBeginRenderPass - Begin a new render pass
--
-- Description
--
-- After beginning a render pass instance, the command buffer is ready to
-- record the commands for the first subpass of that render pass.
--
-- Valid Usage
--
--
--
--
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the
-- corresponding attachment image view of the framebuffer specified in
-- the framebuffer member of pRenderPassBegin
-- must have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the stencilInitialLayout or
-- stencilFinalLayout member of the
-- AttachmentDescriptionStencilLayout structures or the
-- stencilLayout member of the
-- AttachmentReferenceStencilLayout structures specified when
-- creating the render pass specified in the renderPass member
-- of pRenderPassBegin is
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_TRANSFER_SRC_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_TRANSFER_DST_BIT
-- - If the initialLayout member of any of the
-- AttachmentDescription structures specified when creating the
-- render pass specified in the renderPass member of
-- pRenderPassBegin is not IMAGE_LAYOUT_UNDEFINED, then
-- each such initialLayout must be equal to the current
-- layout of the corresponding attachment image subresource of the
-- framebuffer specified in the framebuffer member of
-- pRenderPassBegin
-- - The srcStageMask members of any element of the
-- pDependencies member of RenderPassCreateInfo used to
-- create renderPass must be supported by the
-- capabilities of the queue family identified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- used to create the command pool which commandBuffer was
-- allocated from
-- - The dstStageMask members of any element of the
-- pDependencies member of RenderPassCreateInfo used to
-- create renderPass must be supported by the
-- capabilities of the queue family identified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- used to create the command pool which commandBuffer was
-- allocated from
-- - For any attachment in framebuffer that is used by
-- renderPass and is bound to memory locations that are also
-- bound to another attachment used by renderPass, and if at
-- least one of those uses causes either attachment to be written to,
-- both attachments must have had the
-- ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT set
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pRenderPassBegin must be a valid pointer to a
-- valid RenderPassBeginInfo structure
-- - contents must be a valid SubpassContents
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- RenderPassBeginInfo, SubpassContents
cmdBeginRenderPass :: forall a io. (Extendss RenderPassBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> RenderPassBeginInfo a -> SubpassContents -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginRenderPass and cmdEndRenderPass
--
-- Note that cmdEndRenderPass is *not* called if an exception is
-- thrown by the inner action.
cmdUseRenderPass :: forall a io r. (Extendss RenderPassBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> RenderPassBeginInfo a -> SubpassContents -> io r -> io r
-- | vkCmdNextSubpass - Transition to the next subpass of a render pass
--
-- Description
--
-- The subpass index for a render pass begins at zero when
-- cmdBeginRenderPass is recorded, and increments each time
-- cmdNextSubpass is recorded.
--
-- Moving to the next subpass automatically performs any multisample
-- resolve operations in the subpass being ended. End-of-subpass
-- multisample resolves are treated as color attachment writes for the
-- purposes of synchronization. This applies to resolve operations for
-- both color and depth/stencil attachments. That is, they are considered
-- to execute in the PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
-- pipeline stage and their writes are synchronized with
-- ACCESS_COLOR_ATTACHMENT_WRITE_BIT. Synchronization between
-- rendering within a subpass and any resolve operations at the end of
-- the subpass occurs automatically, without need for explicit
-- dependencies or pipeline barriers. However, if the resolve attachment
-- is also used in a different subpass, an explicit dependency is needed.
--
-- After transitioning to the next subpass, the application can
-- record the commands for that subpass.
--
-- Valid Usage
--
--
-- - The current subpass index must be less than the number of
-- subpasses in the render pass minus one
--
--
--
-- - This command must not be recorded when transform feedback
-- is active
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - contents must be a valid SubpassContents
-- value
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, SubpassContents
cmdNextSubpass :: forall io. MonadIO io => CommandBuffer -> SubpassContents -> io ()
-- | vkCmdEndRenderPass - End the current render pass
--
-- Description
--
-- Ending a render pass instance performs any multisample resolve
-- operations on the final subpass.
--
-- Valid Usage
--
--
-- - The current subpass index must be equal to the number of
-- subpasses in the render pass minus one
--
--
--
-- - This command must not be recorded when transform feedback
-- is active
-- - The current render pass instance must not have been begun
-- with cmdBeginRenderingKHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdEndRenderPass :: forall io. MonadIO io => CommandBuffer -> io ()
-- | vkCmdExecuteCommands - Execute a secondary command buffer from a
-- primary command buffer
--
-- Description
--
-- If any element of pCommandBuffers was not recorded with the
-- COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag, and it was
-- recorded into any other primary command buffer which is currently in
-- the executable or recording state, that primary command buffer
-- becomes invalid.
--
-- Valid Usage
--
--
--
--
-- - Each element of pCommandBuffers must be in the
-- pending or executable state
-- - If any element of pCommandBuffers was not recorded with
-- the COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag, it
-- must not be in the pending state
-- - If any element of pCommandBuffers was not recorded with
-- the COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag, it
-- must not have already been recorded to
-- commandBuffer
-- - If any element of pCommandBuffers was not recorded with
-- the COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag, it
-- must not appear more than once in pCommandBuffers
-- - Each element of pCommandBuffers must have been
-- allocated from a CommandPool that was created for the same
-- queue family as the CommandPool from which
-- commandBuffer was allocated
-- - If cmdExecuteCommands is being called within a render pass
-- instance, each element of pCommandBuffers must have
-- been recorded with the
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
-- - If cmdExecuteCommands is being called within a render pass
-- instance, and any element of pCommandBuffers was recorded
-- with CommandBufferInheritanceInfo::framebuffer not
-- equal to NULL_HANDLE, that Framebuffer must match
-- the Framebuffer used in the current render pass instance
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderPass, its contents
-- parameter must have been set to
-- SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderPass, each element of
-- pCommandBuffers must have been recorded with
-- CommandBufferInheritanceInfo::subpass set to the index
-- of the subpass which the given command buffer will be executed in
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderPass, the render passes
-- specified in the
-- pBeginInfo->pInheritanceInfo->renderPass members of the
-- beginCommandBuffer commands used to begin recording each
-- element of pCommandBuffers must be compatible
-- with the current render pass
-- - If cmdExecuteCommands is being called within a render pass
-- instance that included RenderPassTransformBeginInfoQCOM in the
-- pNext chain of RenderPassBeginInfo, then each element
-- of pCommandBuffers must have been recorded with
-- CommandBufferInheritanceRenderPassTransformInfoQCOM in the
-- pNext chain of CommandBufferBeginInfo
-- - If cmdExecuteCommands is being called within a render pass
-- instance that included RenderPassTransformBeginInfoQCOM in the
-- pNext chain of RenderPassBeginInfo, then each element
-- of pCommandBuffers must have been recorded with
-- CommandBufferInheritanceRenderPassTransformInfoQCOM::transform
-- identical to
-- RenderPassTransformBeginInfoQCOM::transform
-- - If cmdExecuteCommands is being called within a render pass
-- instance that included RenderPassTransformBeginInfoQCOM in the
-- pNext chain of RenderPassBeginInfo, then each element
-- of pCommandBuffers must have been recorded with
-- CommandBufferInheritanceRenderPassTransformInfoQCOM::renderArea
-- identical to RenderPassBeginInfo::renderArea
-- - If cmdExecuteCommands is not being called within a render
-- pass instance, each element of pCommandBuffers must
-- not have been recorded with the
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
-- - If the inherited queries feature is not enabled,
-- commandBuffer must not have any queries
-- active
-- - If commandBuffer has a QUERY_TYPE_OCCLUSION query
-- active, then each element of pCommandBuffers
-- must have been recorded with
-- CommandBufferInheritanceInfo::occlusionQueryEnable set
-- to TRUE
-- - If commandBuffer has a QUERY_TYPE_OCCLUSION query
-- active, then each element of pCommandBuffers
-- must have been recorded with
-- CommandBufferInheritanceInfo::queryFlags having all
-- bits set that are set for the query
-- - If commandBuffer has a
-- QUERY_TYPE_PIPELINE_STATISTICS query active, then each
-- element of pCommandBuffers must have been recorded
-- with CommandBufferInheritanceInfo::pipelineStatistics
-- having all bits set that are set in the QueryPool the query
-- uses
-- - Each element of pCommandBuffers must not begin any
-- query types that are active in commandBuffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, each element of
-- pCommandBuffers must be a protected command
-- buffer
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, each element of
-- pCommandBuffers must be an unprotected command
-- buffer
-- - This command must not be recorded when transform feedback
-- is active
-- - If pCommandBuffers contains any suspended render pass
-- instances, there must be no action or synchronization
-- commands between that render pass instance and any render pass
-- instance that resumes it
-- - If pCommandBuffers contains any suspended render pass
-- instances, there must be no render pass instances between
-- that render pass instance and any render pass instance that resumes
-- it
-- - If the variableSampleLocations limit is not supported, and
-- any element of pCommandBuffers contains any suspended
-- render pass instances, where a graphics pipeline has been bound,
-- any pipelines bound in the render pass instance that resumes it, or
-- any subsequent render pass instances that resume from that one and so
-- on, must use the same sample locations
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, its
-- RenderingInfoKHR::flags parameter must have
-- included
-- RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, the render passes
-- specified in the
-- pBeginInfo->pInheritanceInfo->renderPass members of the
-- beginCommandBuffer commands used to begin recording each
-- element of pCommandBuffers must be
-- NULL_HANDLE
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, the flags
-- member of the CommandBufferInheritanceRenderingInfoKHR
-- structure included in the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the RenderingInfoKHR::flags parameter to
-- cmdBeginRenderingKHR, excluding
-- RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, the
-- colorAttachmentCount member of the
-- CommandBufferInheritanceRenderingInfoKHR structure included in
-- the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the RenderingInfoKHR::colorAttachmentCount
-- parameter to cmdBeginRenderingKHR
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, if the
-- imageView member of an element of the
-- RenderingInfoKHR::pColorAttachments parameter to
-- cmdBeginRenderingKHR is not NULL_HANDLE, the
-- corresponding element of the pColorAttachmentFormats member
-- of the CommandBufferInheritanceRenderingInfoKHR structure
-- included in the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the format used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, if the
-- RenderingInfoKHR::pDepthAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of the depthAttachmentFormat member of the
-- CommandBufferInheritanceRenderingInfoKHR structure included in
-- the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the format used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, if the
-- RenderingInfoKHR::pStencilAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of the stencilAttachmentFormat member of the
-- CommandBufferInheritanceRenderingInfoKHR structure included in
-- the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the format used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR, the viewMask
-- member of the CommandBufferInheritanceRenderingInfoKHR
-- structure included in the pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the RenderingInfoKHR::viewMask parameter to
-- cmdBeginRenderingKHR
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo includes a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- imageView member of an element of the
-- RenderingInfoKHR::pColorAttachments parameter to
-- cmdBeginRenderingKHR is not NULL_HANDLE, the
-- corresponding element of the pColorAttachmentSamples member
-- of the AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure included in the
-- pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the sample count used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo includes a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- RenderingInfoKHR::pDepthAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of the depthStencilAttachmentSamples member of the
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure included in the
-- pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the sample count used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo includes a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- RenderingInfoKHR::pStencilAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of the depthStencilAttachmentSamples member of the
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure included in the
-- pNext chain of
-- CommandBufferBeginInfo::pInheritanceInfo used to begin
-- recording each element of pCommandBuffers must be
-- equal to the sample count used to create that image view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo does not include a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- imageView member of an element of the
-- RenderingInfoKHR::pColorAttachments parameter to
-- cmdBeginRenderingKHR is not NULL_HANDLE, the value of
-- CommandBufferInheritanceRenderingInfoKHR::rasterizationSamples
-- must be equal to the sample count used to create that image
-- view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo does not include a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- RenderingInfoKHR::pDepthAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of
-- CommandBufferInheritanceRenderingInfoKHR::rasterizationSamples
-- must be equal to the sample count used to create that image
-- view
-- - If cmdExecuteCommands is being called within a render pass
-- instance begun with cmdBeginRenderingKHR and the pNext
-- chain of CommandBufferInheritanceInfo does not include a
-- AttachmentSampleCountInfoAMD or
-- AttachmentSampleCountInfoNV structure, if the
-- RenderingInfoKHR::pStencilAttachment->imageView
-- parameter to cmdBeginRenderingKHR is not NULL_HANDLE,
-- the value of
-- CommandBufferInheritanceRenderingInfoKHR::rasterizationSamples
-- must be equal to the sample count used to create that image
-- view
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCommandBuffers must be a valid pointer to an
-- array of commandBufferCount valid CommandBuffer
-- handles
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - commandBuffer must be a primary
-- CommandBuffer
-- - commandBufferCount must be greater than
-- 0
-- - Both of commandBuffer, and the elements of
-- pCommandBuffers must have been created, allocated, or
-- retrieved from the same Device
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
cmdExecuteCommands :: forall io. MonadIO io => CommandBuffer -> ("commandBuffers" ::: Vector CommandBuffer) -> io ()
-- | VkClearRect - Structure specifying a clear rectangle
--
-- Description
--
-- The layers [baseArrayLayer, baseArrayLayer +
-- layerCount) counting from the base layer of the attachment
-- image view are cleared.
--
-- See Also
--
-- VK_VERSION_1_0, Rect2D, cmdClearAttachments
data ClearRect
ClearRect :: Rect2D -> Word32 -> Word32 -> ClearRect
-- | rect is the two-dimensional region to be cleared.
[$sel:rect:ClearRect] :: ClearRect -> Rect2D
-- | baseArrayLayer is the first layer to be cleared.
[$sel:baseArrayLayer:ClearRect] :: ClearRect -> Word32
-- | layerCount is the number of layers to clear.
[$sel:layerCount:ClearRect] :: ClearRect -> Word32
-- | VkImageSubresourceLayers - Structure specifying an image subresource
-- layers
--
-- Valid Usage
--
--
--
--
-- - aspectMask must not contain
-- IMAGE_ASPECT_METADATA_BIT
-- - aspectMask must not include
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index
-- i
-- - layerCount must be greater than 0
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - aspectMask must not be 0
--
--
-- See Also
--
-- VK_VERSION_1_0, BufferImageCopy,
-- BufferImageCopy2KHR, ImageAspectFlags, ImageBlit,
-- ImageBlit2KHR, ImageCopy, ImageCopy2KHR,
-- ImageResolve, ImageResolve2KHR
data ImageSubresourceLayers
ImageSubresourceLayers :: ImageAspectFlags -> Word32 -> Word32 -> Word32 -> ImageSubresourceLayers
-- | aspectMask is a combination of ImageAspectFlagBits,
-- selecting the color, depth and/or stencil aspects to be copied.
[$sel:aspectMask:ImageSubresourceLayers] :: ImageSubresourceLayers -> ImageAspectFlags
-- | mipLevel is the mipmap level to copy
[$sel:mipLevel:ImageSubresourceLayers] :: ImageSubresourceLayers -> Word32
-- | baseArrayLayer and layerCount are the starting layer
-- and number of layers to copy.
[$sel:baseArrayLayer:ImageSubresourceLayers] :: ImageSubresourceLayers -> Word32
[$sel:layerCount:ImageSubresourceLayers] :: ImageSubresourceLayers -> Word32
-- | VkBufferCopy - Structure specifying a buffer copy operation
--
-- Valid Usage
--
--
-- - The size must be greater than 0
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize, cmdCopyBuffer
data BufferCopy
BufferCopy :: DeviceSize -> DeviceSize -> DeviceSize -> BufferCopy
-- | srcOffset is the starting offset in bytes from the start of
-- srcBuffer.
[$sel:srcOffset:BufferCopy] :: BufferCopy -> DeviceSize
-- | dstOffset is the starting offset in bytes from the start of
-- dstBuffer.
[$sel:dstOffset:BufferCopy] :: BufferCopy -> DeviceSize
-- | size is the number of bytes to copy.
[$sel:size:BufferCopy] :: BufferCopy -> DeviceSize
-- | VkImageCopy - Structure specifying an image copy operation
--
-- Description
--
-- For IMAGE_TYPE_3D images, copies are performed slice by slice
-- starting with the z member of the srcOffset or
-- dstOffset, and copying depth slices. For images with
-- multiple layers, copies are performed layer by layer starting with the
-- baseArrayLayer member of the srcSubresource or
-- dstSubresource and copying layerCount layers. Image
-- data can be copied between images with different image types.
-- If one image is IMAGE_TYPE_3D and the other image is
-- IMAGE_TYPE_2D with multiple layers, then each slice is copied
-- to or from a different layer.
--
-- Copies involving a multi-planar image format specify the region
-- to be copied in terms of the plane to be copied, not the
-- coordinates of the multi-planar image. This means that copies
-- accessing the R/B planes of “_422” format images must
-- fit the copied region within half the width of the parent
-- image, and that copies accessing the R/B planes of “_420”
-- format images must fit the copied region within half the
-- width and height of the parent image.
--
-- Valid Usage
--
--
-- - The number of slices of the extent (for 3D) or layers of
-- the srcSubresource (for non-3D) must match the number
-- of slices of the extent (for 3D) or layers of the
-- dstSubresource (for non-3D)
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Extent3D, ImageSubresourceLayers,
-- Offset3D, cmdCopyImage
data ImageCopy
ImageCopy :: ImageSubresourceLayers -> Offset3D -> ImageSubresourceLayers -> Offset3D -> Extent3D -> ImageCopy
-- | srcSubresource and dstSubresource are
-- ImageSubresourceLayers structures specifying the image
-- subresources of the images used for the source and destination image
-- data, respectively.
[$sel:srcSubresource:ImageCopy] :: ImageCopy -> ImageSubresourceLayers
-- | srcOffset and dstOffset select the initial
-- x, y, and z offsets in texels of the
-- sub-regions of the source and destination image data.
[$sel:srcOffset:ImageCopy] :: ImageCopy -> Offset3D
[$sel:dstSubresource:ImageCopy] :: ImageCopy -> ImageSubresourceLayers
[$sel:dstOffset:ImageCopy] :: ImageCopy -> Offset3D
-- | extent is the size in texels of the image to copy in
-- width, height and depth.
[$sel:extent:ImageCopy] :: ImageCopy -> Extent3D
-- | VkImageBlit - Structure specifying an image blit operation
--
-- Description
--
-- For each element of the pRegions array, a blit operation is
-- performed for the specified source and destination regions.
--
-- Valid Usage
--
--
-- - The aspectMask member of srcSubresource and
-- dstSubresource must match
--
--
--
-- - The layerCount member of srcSubresource and
-- dstSubresource must match
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ImageSubresourceLayers, Offset3D,
-- cmdBlitImage
data ImageBlit
ImageBlit :: ImageSubresourceLayers -> (Offset3D, Offset3D) -> ImageSubresourceLayers -> (Offset3D, Offset3D) -> ImageBlit
-- | srcSubresource is the subresource to blit from.
[$sel:srcSubresource:ImageBlit] :: ImageBlit -> ImageSubresourceLayers
-- | srcOffsets is a pointer to an array of two Offset3D
-- structures specifying the bounds of the source region within
-- srcSubresource.
[$sel:srcOffsets:ImageBlit] :: ImageBlit -> (Offset3D, Offset3D)
-- | dstSubresource is the subresource to blit into.
[$sel:dstSubresource:ImageBlit] :: ImageBlit -> ImageSubresourceLayers
-- | dstOffsets is a pointer to an array of two Offset3D
-- structures specifying the bounds of the destination region within
-- dstSubresource.
[$sel:dstOffsets:ImageBlit] :: ImageBlit -> (Offset3D, Offset3D)
-- | VkBufferImageCopy - Structure specifying a buffer image copy operation
--
-- Description
--
-- When copying to or from a depth or stencil aspect, the data in buffer
-- memory uses a layout that is a (mostly) tightly packed representation
-- of the depth or stencil data. Specifically:
--
--
--
-- Note
--
-- To copy both the depth and stencil aspects of a depth/stencil format,
-- two entries in pRegions can be used, where one
-- specifies the depth aspect in imageSubresource, and the other
-- specifies the stencil aspect.
--
-- Because depth or stencil aspect buffer to image copies may
-- require format conversions on some implementations, they are not
-- supported on queues that do not support graphics.
--
-- When copying to a depth aspect, and the
-- VK_EXT_depth_range_unrestricted extension is not enabled, the
-- data in buffer memory must be in the range [0,1], or the
-- resulting values are undefined.
--
-- Copies are done layer by layer starting with image layer
-- baseArrayLayer member of imageSubresource.
-- layerCount layers are copied from the source image or to the
-- destination image.
--
-- For purpose of valid usage statements here and in related copy
-- commands, a blocked image is defined as:
--
--
-- - an image with a single-plane, “_422” format, which
-- is treated as a format with a 2 × 1 compressed texel block, or
-- - a compressed image.
--
--
-- Valid Usage
--
--
-- - bufferRowLength must be 0, or greater
-- than or equal to the width member of
-- imageExtent
--
--
--
-- - bufferImageHeight must be 0, or greater
-- than or equal to the height member of
-- imageExtent
-- - The aspectMask member of imageSubresource
-- must only have a single bit set
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_0, DeviceSize, Extent3D,
-- ImageSubresourceLayers, Offset3D,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer
data BufferImageCopy
BufferImageCopy :: DeviceSize -> Word32 -> Word32 -> ImageSubresourceLayers -> Offset3D -> Extent3D -> BufferImageCopy
-- | bufferOffset is the offset in bytes from the start of the
-- buffer object where the image data is copied from or to.
[$sel:bufferOffset:BufferImageCopy] :: BufferImageCopy -> DeviceSize
-- | bufferRowLength and bufferImageHeight specify in
-- texels a subregion of a larger two- or three-dimensional image in
-- buffer memory, and control the addressing calculations. If either of
-- these values is zero, that aspect of the buffer memory is considered
-- to be tightly packed according to the imageExtent.
[$sel:bufferRowLength:BufferImageCopy] :: BufferImageCopy -> Word32
[$sel:bufferImageHeight:BufferImageCopy] :: BufferImageCopy -> Word32
-- | imageSubresource is a ImageSubresourceLayers used to
-- specify the specific image subresources of the image used for the
-- source or destination image data.
[$sel:imageSubresource:BufferImageCopy] :: BufferImageCopy -> ImageSubresourceLayers
-- | imageOffset selects the initial x, y,
-- z offsets in texels of the sub-region of the source or
-- destination image data.
[$sel:imageOffset:BufferImageCopy] :: BufferImageCopy -> Offset3D
-- | imageExtent is the size in texels of the image to copy in
-- width, height and depth.
[$sel:imageExtent:BufferImageCopy] :: BufferImageCopy -> Extent3D
-- | VkImageResolve - Structure specifying an image resolve operation
--
-- Valid Usage
--
--
-- - The aspectMask member of srcSubresource and
-- dstSubresource must only contain
-- IMAGE_ASPECT_COLOR_BIT
--
--
--
-- - The layerCount member of srcSubresource and
-- dstSubresource must match
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Extent3D, ImageSubresourceLayers,
-- Offset3D, cmdResolveImage
data ImageResolve
ImageResolve :: ImageSubresourceLayers -> Offset3D -> ImageSubresourceLayers -> Offset3D -> Extent3D -> ImageResolve
-- | srcSubresource and dstSubresource are
-- ImageSubresourceLayers structures specifying the image
-- subresources of the images used for the source and destination image
-- data, respectively. Resolve of depth/stencil images is not supported.
[$sel:srcSubresource:ImageResolve] :: ImageResolve -> ImageSubresourceLayers
-- | srcOffset and dstOffset select the initial
-- x, y, and z offsets in texels of the
-- sub-regions of the source and destination image data.
[$sel:srcOffset:ImageResolve] :: ImageResolve -> Offset3D
[$sel:dstSubresource:ImageResolve] :: ImageResolve -> ImageSubresourceLayers
[$sel:dstOffset:ImageResolve] :: ImageResolve -> Offset3D
-- | extent is the size in texels of the source image to resolve
-- in width, height and depth.
[$sel:extent:ImageResolve] :: ImageResolve -> Extent3D
-- | VkRenderPassBeginInfo - Structure specifying render pass begin
-- information
--
-- Description
--
-- renderArea is the render area that is affected by the render
-- pass instance. The effects of attachment load, store and multisample
-- resolve operations are restricted to the pixels whose x and y
-- coordinates fall within the render area on all attachments. The render
-- area extends to all layers of framebuffer. The application
-- must ensure (using scissor if necessary) that all rendering is
-- contained within the render area. The render area, after any transform
-- specified by
-- RenderPassTransformBeginInfoQCOM::transform is
-- applied, must be contained within the framebuffer dimensions.
--
-- If render pass transform is enabled, then renderArea
-- must equal the framebuffer pre-transformed dimensions. After
-- renderArea has been transformed by
-- RenderPassTransformBeginInfoQCOM::transform, the
-- resulting render area must be equal to the framebuffer
-- dimensions.
--
-- If subpass shading is enabled, then renderArea
-- must equal the framebuffer dimensions.
--
-- When multiview is enabled, the resolve operation at the end of a
-- subpass applies to all views in the view mask.
--
-- Note
--
-- There may be a performance cost for using a render area smaller
-- than the framebuffer, unless it matches the render area granularity
-- for the render pass.
--
-- Valid Usage
--
--
-- - clearValueCount must be greater than the largest
-- attachment index in renderPass specifying a loadOp
-- (or stencilLoadOp, if the attachment has a depth/stencil
-- format) of ATTACHMENT_LOAD_OP_CLEAR
--
--
--
-- - If clearValueCount is not 0,
-- pClearValues must be a valid pointer to an array of
-- clearValueCount ClearValue unions
-- - renderPass must be compatible with the
-- renderPass member of the FramebufferCreateInfo
-- structure specified when creating framebuffer
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.x must be greater than or equal to
-- 0
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.y must be greater than or equal to
-- 0
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.x + renderArea.extent.width
-- must be less than or equal to
-- FramebufferCreateInfo::width the framebuffer
-- was created with
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.y + renderArea.extent.height
-- must be less than or equal to
-- FramebufferCreateInfo::height the framebuffer
-- was created with
-- - If the pNext chain contains
-- DeviceGroupRenderPassBeginInfo, offset.x +
-- extent.width of each element of pDeviceRenderAreas
-- must be less than or equal to
-- FramebufferCreateInfo::width the framebuffer
-- was created with
-- - If the pNext chain contains
-- DeviceGroupRenderPassBeginInfo, offset.y +
-- extent.height of each element of pDeviceRenderAreas
-- must be less than or equal to
-- FramebufferCreateInfo::height the framebuffer
-- was created with
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that did not
-- include FRAMEBUFFER_CREATE_IMAGELESS_BIT, and the
-- pNext chain includes a RenderPassAttachmentBeginInfo
-- structure, its attachmentCount must be zero
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, the attachmentCount
-- of a RenderPassAttachmentBeginInfo structure included in the
-- pNext chain must be equal to the value of
-- FramebufferAttachmentsCreateInfo::attachmentImageInfoCount
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must have been
-- created on the same Device as framebuffer and
-- renderPass
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a value of
-- ImageCreateInfo::flags equal to the flags
-- member of the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView with an inherited usage equal to the
-- usage member of the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView with a width equal to the width member of
-- the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView with a height equal to the height member of
-- the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a value of
-- ImageViewCreateInfo::subresourceRange.layerCount equal
-- to the layerCount member of the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a value of
-- ImageFormatListCreateInfo::viewFormatCount equal to
-- the viewFormatCount member of the corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a set of elements in
-- ImageFormatListCreateInfo::pViewFormats equal to the
-- set of elements in the pViewFormats member of the
-- corresponding element of
-- FramebufferAttachmentsCreateInfo::pAttachmentImageInfos
-- used to create framebuffer
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a value of
-- ImageViewCreateInfo::format equal to the corresponding
-- value of AttachmentDescription::format in
-- renderPass
-- - If framebuffer was created with a
-- FramebufferCreateInfo::flags value that included
-- FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the
-- pAttachments member of a RenderPassAttachmentBeginInfo
-- structure included in the pNext chain must be a
-- ImageView of an image created with a value of
-- ImageCreateInfo::samples equal to the corresponding
-- value of AttachmentDescription::samples in
-- renderPass
-- - If the pNext chain includes
-- RenderPassTransformBeginInfoQCOM, renderArea.offset
-- must equal (0,0)
-- - If the pNext chain includes
-- RenderPassTransformBeginInfoQCOM, renderArea.extent
-- transformed by
-- RenderPassTransformBeginInfoQCOM::transform
-- must equal the framebuffer dimensions
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, ClearValue, Framebuffer,
-- Rect2D, RenderPass, StructureType,
-- cmdBeginRenderPass, cmdBeginRenderPass2,
-- cmdBeginRenderPass2KHR
data RenderPassBeginInfo (es :: [Type])
RenderPassBeginInfo :: Chain es -> RenderPass -> Framebuffer -> Rect2D -> Vector ClearValue -> RenderPassBeginInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RenderPassBeginInfo] :: RenderPassBeginInfo (es :: [Type]) -> Chain es
-- | renderPass is the render pass to begin an instance of.
[$sel:renderPass:RenderPassBeginInfo] :: RenderPassBeginInfo (es :: [Type]) -> RenderPass
-- | framebuffer is the framebuffer containing the attachments
-- that are used with the render pass.
[$sel:framebuffer:RenderPassBeginInfo] :: RenderPassBeginInfo (es :: [Type]) -> Framebuffer
-- | renderArea is the render area that is affected by the render
-- pass instance, and is described in more detail below.
[$sel:renderArea:RenderPassBeginInfo] :: RenderPassBeginInfo (es :: [Type]) -> Rect2D
-- | pClearValues is a pointer to an array of
-- clearValueCount ClearValue structures containing clear
-- values for each attachment, if the attachment uses a loadOp
-- value of ATTACHMENT_LOAD_OP_CLEAR or if the attachment has a
-- depth/stencil format and uses a stencilLoadOp value of
-- ATTACHMENT_LOAD_OP_CLEAR. The array is indexed by attachment
-- number. Only elements corresponding to cleared attachments are used.
-- Other elements of pClearValues are ignored.
[$sel:clearValues:RenderPassBeginInfo] :: RenderPassBeginInfo (es :: [Type]) -> Vector ClearValue
-- | VkClearDepthStencilValue - Structure specifying a clear depth stencil
-- value
--
-- Valid Usage
--
--
-- - Unless the VK_EXT_depth_range_unrestricted extension is
-- enabled depth must be between 0.0 and
-- 1.0, inclusive
--
--
-- See Also
--
-- VK_VERSION_1_0, ClearValue,
-- cmdClearDepthStencilImage
data ClearDepthStencilValue
ClearDepthStencilValue :: Float -> Word32 -> ClearDepthStencilValue
-- | depth is the clear value for the depth aspect of the
-- depth/stencil attachment. It is a floating-point value which is
-- automatically converted to the attachment’s format.
[$sel:depth:ClearDepthStencilValue] :: ClearDepthStencilValue -> Float
-- | stencil is the clear value for the stencil aspect of the
-- depth/stencil attachment. It is a 32-bit integer value which is
-- converted to the attachment’s format by taking the appropriate number
-- of LSBs.
[$sel:stencil:ClearDepthStencilValue] :: ClearDepthStencilValue -> Word32
-- | VkClearAttachment - Structure specifying a clear attachment
--
-- Valid Usage
--
--
--
--
-- - aspectMask must not include
-- IMAGE_ASPECT_METADATA_BIT
-- - aspectMask must not include
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index
-- i
-- - clearValue must be a valid ClearValue
-- union
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - aspectMask must not be 0
--
--
-- See Also
--
-- VK_VERSION_1_0, ClearValue, ImageAspectFlags,
-- cmdClearAttachments
data ClearAttachment
ClearAttachment :: ImageAspectFlags -> Word32 -> ClearValue -> ClearAttachment
-- | aspectMask is a mask selecting the color, depth and/or
-- stencil aspects of the attachment to be cleared.
[$sel:aspectMask:ClearAttachment] :: ClearAttachment -> ImageAspectFlags
-- | colorAttachment is only meaningful if
-- IMAGE_ASPECT_COLOR_BIT is set in aspectMask, in which
-- case it is an index into the currently bound color attachments.
[$sel:colorAttachment:ClearAttachment] :: ClearAttachment -> Word32
-- | clearValue is the color or depth/stencil value to clear the
-- attachment to, as described in Clear Values below.
[$sel:clearValue:ClearAttachment] :: ClearAttachment -> ClearValue
data ClearColorValue
Float32 :: Float -> Float -> Float -> Float -> ClearColorValue
Int32 :: Int32 -> Int32 -> Int32 -> Int32 -> ClearColorValue
Uint32 :: Word32 -> Word32 -> Word32 -> Word32 -> ClearColorValue
data ClearValue
Color :: ClearColorValue -> ClearValue
DepthStencil :: ClearDepthStencilValue -> ClearValue
-- | VkIndexType - Type of index buffer indices
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- BindIndexBufferIndirectCommandNV, GeometryTrianglesNV,
-- IndirectCommandsLayoutTokenNV, cmdBindIndexBuffer
newtype IndexType
IndexType :: Int32 -> IndexType
-- | INDEX_TYPE_UINT16 specifies that indices are 16-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT16 :: IndexType
-- | INDEX_TYPE_UINT32 specifies that indices are 32-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT32 :: IndexType
-- | INDEX_TYPE_UINT8_EXT specifies that indices are 8-bit unsigned
-- integer values.
pattern INDEX_TYPE_UINT8_EXT :: IndexType
-- | INDEX_TYPE_NONE_KHR specifies that no indices are provided.
pattern INDEX_TYPE_NONE_KHR :: IndexType
-- | VkSubpassContents - Specify how commands in the first subpass of a
-- render pass are provided
--
-- See Also
--
-- VK_VERSION_1_0, SubpassBeginInfo,
-- cmdBeginRenderPass, cmdNextSubpass
newtype SubpassContents
SubpassContents :: Int32 -> SubpassContents
-- | SUBPASS_CONTENTS_INLINE specifies that the contents of the
-- subpass will be recorded inline in the primary command buffer, and
-- secondary command buffers must not be executed within the
-- subpass.
pattern SUBPASS_CONTENTS_INLINE :: SubpassContents
-- | SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS specifies that the
-- contents are recorded in secondary command buffers that will be called
-- from the primary command buffer, and cmdExecuteCommands is the
-- only valid command on the command buffer until cmdNextSubpass
-- or cmdEndRenderPass.
pattern SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: SubpassContents
-- | VkStencilFaceFlagBits - Bitmask specifying sets of stencil state for
-- which to update the compare mask
--
-- See Also
--
-- VK_VERSION_1_0, StencilFaceFlags
newtype StencilFaceFlagBits
StencilFaceFlagBits :: Flags -> StencilFaceFlagBits
-- | STENCIL_FACE_FRONT_BIT specifies that only the front set of
-- stencil state is updated.
pattern STENCIL_FACE_FRONT_BIT :: StencilFaceFlagBits
-- | STENCIL_FACE_BACK_BIT specifies that only the back set of
-- stencil state is updated.
pattern STENCIL_FACE_BACK_BIT :: StencilFaceFlagBits
-- | STENCIL_FACE_FRONT_AND_BACK is the combination of
-- STENCIL_FACE_FRONT_BIT and STENCIL_FACE_BACK_BIT, and
-- specifies that both sets of stencil state are updated.
pattern STENCIL_FACE_FRONT_AND_BACK :: StencilFaceFlagBits
type StencilFaceFlags = StencilFaceFlagBits
instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearColorValue
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearValue
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearRect
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ImageCopy
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ImageBlit
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.BufferImageCopy
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ImageResolve
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo es)
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearAttachment
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ClearAttachment
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ClearAttachment
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ClearValue
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ClearValue
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ClearColorValue
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ClearColorValue
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ImageResolve
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ImageResolve
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ImageResolve
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ImageResolve
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.BufferImageCopy
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.BufferImageCopy
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.BufferImageCopy
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.BufferImageCopy
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ImageBlit
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ImageBlit
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ImageBlit
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ImageBlit
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ImageCopy
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ImageCopy
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ImageCopy
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ImageCopy
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.BufferCopy
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBufferBuilding.ClearRect
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBufferBuilding.ClearRect
instance Foreign.Storable.Storable Vulkan.Core10.CommandBufferBuilding.ClearRect
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBufferBuilding.ClearRect
-- | Name
--
-- VK_KHR_dynamic_rendering - device extension
--
-- VK_KHR_dynamic_rendering
--
--
-- - Name String VK_KHR_dynamic_rendering
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 45
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
-- - Extension Proposal
-- VK_KHR_dynamic_rendering
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-10-06
--
--
--
-- - Contributors
- Tobias Hector,
-- AMD
- Arseny Kapoulkine, Roblox
- François Duranleau,
-- Gameloft
- Stuart Smith, AMD
- Hai Nguyen,
-- Google
- Jean-François Roy, Google
- Jeff Leger,
-- Qualcomm
- Jan-Harald Fredriksen, Arm
- Piers Daniell,
-- Nvidia
- James Fitzpatrick, Imagination
- Piotr Byszewski,
-- Mobica
- Jesse Hall, Google
- Mike Blumenkrantz,
-- Valve
--
--
-- Description
--
-- This extension allows applications to create single-pass render pass
-- instances without needing to create render pass objects or
-- framebuffers. Dynamic render passes can also span across multiple
-- primary command buffers, rather than relying on secondary command
-- buffers.
--
-- This extension also incorporates ATTACHMENT_STORE_OP_NONE_KHR
-- from VK_QCOM_render_pass_store_ops, enabling applications to
-- avoid unnecessary synchronization when an attachment is not written
-- during a render pass.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- If VK_AMD_mixed_attachment_samples is supported:
--
--
--
-- If VK_EXT_fragment_density_map is supported:
--
--
--
-- If VK_KHR_fragment_shading_rate is supported:
--
--
--
-- If VK_NV_framebuffer_mixed_samples is supported:
--
--
--
-- If VK_NVX_multiview_per_view_attributes is supported:
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_AMD_mixed_attachment_samples is supported:
--
--
--
-- If VK_EXT_fragment_density_map is supported:
--
--
--
-- If VK_KHR_fragment_shading_rate is supported:
--
--
--
-- If VK_NV_framebuffer_mixed_samples is supported:
--
--
--
-- If VK_NVX_multiview_per_view_attributes is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2021-10-06 (Tobias Hector)
--
--
-- See Also
--
-- CommandBufferInheritanceRenderingInfoKHR,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PipelineRenderingCreateInfoKHR,
-- RenderingAttachmentInfoKHR, RenderingFlagBitsKHR,
-- RenderingFlagsKHR, RenderingInfoKHR,
-- cmdBeginRenderingKHR, cmdEndRenderingKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_dynamic_rendering
-- | vkCmdBeginRenderingKHR - Begin a dynamic render pass instance
--
-- Description
--
-- After beginning a render pass instance, the command buffer is ready to
-- record draw commands.
--
-- If pRenderingInfo->flags includes
-- RENDERING_RESUMING_BIT_KHR then this render pass is resumed
-- from a render pass instance that has been suspended earlier in
-- submission order.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pRenderingInfo must be a valid pointer to a valid
-- RenderingInfoKHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_dynamic_rendering, CommandBuffer,
-- RenderingInfoKHR
cmdBeginRenderingKHR :: forall a io. (Extendss RenderingInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> RenderingInfoKHR a -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginRenderingKHR and cmdEndRenderingKHR
--
-- Note that cmdEndRenderingKHR is *not* called if an exception is
-- thrown by the inner action.
cmdUseRenderingKHR :: forall a io r. (Extendss RenderingInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> RenderingInfoKHR a -> io r -> io r
-- | vkCmdEndRenderingKHR - End a dynamic render pass instance
--
-- Description
--
-- If the value of pRenderingInfo->flags used to begin this
-- render pass instance included RENDERING_SUSPENDING_BIT_KHR,
-- then this render pass is suspended and will be resumed later in
-- submission order.
--
-- Valid Usage
--
--
--
--
-- - The current render pass instance must have been begun in
-- commandBuffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_dynamic_rendering, CommandBuffer
cmdEndRenderingKHR :: forall io. MonadIO io => CommandBuffer -> io ()
pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV :: StructureType
-- | VkPipelineRenderingCreateInfoKHR - Structure specifying attachment
-- formats
--
-- Description
--
-- When a pipeline is created without a RenderPass, if this
-- structure is present in the pNext chain of
-- GraphicsPipelineCreateInfo, it specifies the view mask and
-- format of attachments used for rendering. If this structure is not
-- specified, and the pipeline does not include a RenderPass,
-- viewMask and colorAttachmentCount are 0,
-- and depthAttachmentFormat and
-- stencilAttachmentFormat are FORMAT_UNDEFINED. If a
-- graphics pipeline is created with a valid RenderPass,
-- parameters of this structure are ignored.
--
-- If depthAttachmentFormat, stencilAttachmentFormat,
-- or any element of pColorAttachmentFormats is
-- FORMAT_UNDEFINED, it indicates that the corresponding
-- attachment is unused within the render pass. Valid formats indicate
-- that an attachment can be used - but it is still valid to set
-- the attachment to NULL when beginning rendering.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If colorAttachmentCount is not 0,
-- pColorAttachmentFormats must be a valid pointer to an
-- array of colorAttachmentCount valid Format values
-- - depthAttachmentFormat must be a valid
-- Format value
-- - stencilAttachmentFormat must be a valid
-- Format value
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering, Format, StructureType
data PipelineRenderingCreateInfoKHR
PipelineRenderingCreateInfoKHR :: Word32 -> Vector Format -> Format -> Format -> PipelineRenderingCreateInfoKHR
-- | viewMask is the viewMask used for rendering.
[$sel:viewMask:PipelineRenderingCreateInfoKHR] :: PipelineRenderingCreateInfoKHR -> Word32
-- | pColorAttachmentFormats is a pointer to an array of
-- Format values defining the format of color attachments used in
-- this pipeline.
[$sel:colorAttachmentFormats:PipelineRenderingCreateInfoKHR] :: PipelineRenderingCreateInfoKHR -> Vector Format
-- | depthAttachmentFormat is a Format value defining the
-- format of the depth attachment used in this pipeline.
[$sel:depthAttachmentFormat:PipelineRenderingCreateInfoKHR] :: PipelineRenderingCreateInfoKHR -> Format
-- | stencilAttachmentFormat is a Format value defining the
-- format of the stencil attachment used in this pipeline.
[$sel:stencilAttachmentFormat:PipelineRenderingCreateInfoKHR] :: PipelineRenderingCreateInfoKHR -> Format
-- | VkRenderingInfoKHR - Structure specifying render pass instance begin
-- info
--
-- Description
--
-- If viewMask is not 0, multiview is enabled.
--
-- If there is an instance of DeviceGroupRenderPassBeginInfo
-- included in the pNext chain and its deviceCount
-- member is not 0, then renderArea is ignored, and the
-- render area is defined per-device by that structure.
--
-- Each element of the pColorAttachments array corresponds to an
-- output location in the shader, i.e. if the shader declares an output
-- variable decorated with a Location value of X, then it
-- uses the attachment provided in pColorAttachments[X].
-- If the imageView member of any element of
-- pColorAttachments is NULL_HANDLE, writes to the
-- corresponding location by a fragment are discarded.
--
-- Valid Usage
--
--
-- - If viewMask is 0, layerCount
-- must not be 0
--
--
--
-- - If neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled,
-- imageView members of pDepthAttachment,
-- pStencilAttachment, and elements of
-- pColorAttachments that are not NULL_HANDLE must
-- have been created with the same sampleCount
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.x must be greater than or equal to
-- 0
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0,
-- renderArea.offset.y must be greater than or equal to
-- 0
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0, the width of the
-- imageView member of any element of
-- pColorAttachments, pDepthAttachment, or
-- pStencilAttachment that is not NULL_HANDLE must
-- be greater than or equal to renderArea.offset.x +
-- renderArea.extent.width
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0, the height of the
-- imageView member of any element of
-- pColorAttachments, pDepthAttachment, or
-- pStencilAttachment that is not NULL_HANDLE must
-- be greater than or equal to renderArea.offset.y +
-- renderArea.extent.height
-- - If the pNext chain contains
-- DeviceGroupRenderPassBeginInfo, the width of the
-- imageView member of any element of
-- pColorAttachments, pDepthAttachment, or
-- pStencilAttachment that is not NULL_HANDLE must
-- be greater than or equal to the sum of the offset.x and
-- extent.width members of each element of
-- pDeviceRenderAreas
-- - If the pNext chain contains
-- DeviceGroupRenderPassBeginInfo, the height of the
-- imageView member of any element of
-- pColorAttachments, pDepthAttachment, or
-- pStencilAttachment that is not NULL_HANDLE must
-- be greater than or equal to the sum of the offset.y and
-- extent.height members of each element of
-- pDeviceRenderAreas
-- - If neither pDepthAttachment or
-- pStencilAttachment are NULL and the
-- imageView member of either structure is not
-- NULL_HANDLE, the imageView member of each structure
-- must be the same
-- - If neither pDepthAttachment or
-- pStencilAttachment are NULL, and the
-- resolveMode member of each is not RESOLVE_MODE_NONE,
-- the resolveImageView member of each structure must be
-- the same
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, that imageView must have
-- been created with IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If pDepthAttachment is not NULL and
-- pDepthAttachment->imageView is not NULL_HANDLE,
-- pDepthAttachment->imageView must have been created
-- with IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If pStencilAttachment is not NULL and
-- pStencilAttachment->imageView is not NULL_HANDLE,
-- pStencilAttachment->imageView must have been
-- created with a stencil usage including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, the layout member of that element
-- of pColorAttachments must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, if the resolveMode member of that
-- element of pColorAttachments is not RESOLVE_MODE_NONE,
-- its resolveImageLayout member must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
-- - If pDepthAttachment is not NULL and
-- pDepthAttachment->imageView is not NULL_HANDLE,
-- pDepthAttachment->layout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If pDepthAttachment is not NULL,
-- pDepthAttachment->imageView is not NULL_HANDLE, and
-- pDepthAttachment->resolveMode is not
-- RESOLVE_MODE_NONE,
-- pDepthAttachment->resolveImageLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If pStencilAttachment is not NULL and
-- pStencilAttachment->imageView is not NULL_HANDLE,
-- pStencilAttachment->layout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If pStencilAttachment is not NULL,
-- pStencilAttachment->imageView is not NULL_HANDLE,
-- and pStencilAttachment->resolveMode is not
-- RESOLVE_MODE_NONE,
-- pStencilAttachment->resolveImageLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, the layout member of that element
-- of pColorAttachments must not be
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, if the resolveMode member of that
-- element of pColorAttachments is not RESOLVE_MODE_NONE,
-- its resolveImageLayout member must not be
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- - If pDepthAttachment is not NULL,
-- pDepthAttachment->imageView is not NULL_HANDLE, and
-- pDepthAttachment->resolveMode is not
-- RESOLVE_MODE_NONE,
-- pDepthAttachment->resolveImageLayout must not be
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - If pStencilAttachment is not NULL,
-- pStencilAttachment->imageView is not NULL_HANDLE,
-- and pStencilAttachment->resolveMode is not
-- RESOLVE_MODE_NONE,
-- pStencilAttachment->resolveImageLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, the layout member of that element
-- of pColorAttachments must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If colorAttachmentCount is not 0 and the
-- imageView member of an element of pColorAttachments
-- is not NULL_HANDLE, if the resolveMode member of that
-- element of pColorAttachments is not RESOLVE_MODE_NONE,
-- its resolveImageLayout member must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If pDepthAttachment is not NULL and
-- pDepthAttachment->imageView is not NULL_HANDLE,
-- pDepthAttachment->resolveMode must be one of the
-- bits set in
-- PhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModes
-- - If pStencilAttachment is not NULL and
-- pStencilAttachment->imageView is not NULL_HANDLE,
-- pStencilAttachment->resolveMode must be one of the
-- bits set in
-- PhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes
-- - If pDepthAttachment or pStencilAttachment are
-- both not NULL, pDepthAttachment->imageView and
-- pStencilAttachment->imageView are both not
-- NULL_HANDLE, and
-- PhysicalDeviceDepthStencilResolveProperties::independentResolveNone
-- is FALSE, the resolveMode of both structures
-- must be the same value
-- - If pDepthAttachment or pStencilAttachment are
-- both not NULL, pDepthAttachment->imageView and
-- pStencilAttachment->imageView are both not
-- NULL_HANDLE,
-- PhysicalDeviceDepthStencilResolveProperties::independentResolve
-- is FALSE, and the resolveMode of neither structure is
-- RESOLVE_MODE_NONE, the resolveMode of both structures
-- must be the same value
-- - colorAttachmentCount must be less than or equal to
-- PhysicalDeviceLimits::maxColorAttachments
-- - If the imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE, and
-- non-subsample image feature is not enabled, valid
-- imageView and resolveImageView members of
-- pDepthAttachment, pStencilAttachment, and each
-- element of pColorAttachments must be a
-- ImageView created with
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If the imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE, and
-- viewMask is not 0, imageView must
-- have a layerCount greater than or equal to the index of the
-- most significant bit in viewMask
-- - If the imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE, and
-- viewMask is 0, imageView must have a
-- layerCount equal to 1
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0 and the
-- imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE,
-- imageView must have a width greater than or equal to
-- <math>
-- - If the pNext chain contains a
-- DeviceGroupRenderPassBeginInfo structure, its
-- deviceRenderAreaCount member is not 0, and the
-- imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE,
-- imageView must have a width greater than or equal to
-- <math> for each element of pDeviceRenderAreas
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0 and the
-- imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE,
-- imageView must have a height greater than or equal to
-- <math>
-- - If the pNext chain contains a
-- DeviceGroupRenderPassBeginInfo structure, its
-- deviceRenderAreaCount member is not 0, and the
-- imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE,
-- imageView must have a height greater than or equal to
-- <math> for each element of pDeviceRenderAreas
-- - If the imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain is not NULL_HANDLE, it must
-- not be equal to the imageView or resolveImageView
-- member of pDepthAttachment, pStencilAttachment, or
-- any element of pColorAttachments
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0 and the
-- imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE,
-- imageView must have a width greater than or equal to
-- <math>
-- - If the pNext chain contains a
-- DeviceGroupRenderPassBeginInfo structure, its
-- deviceRenderAreaCount member is not 0, and the
-- imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE,
-- imageView must have a width greater than or equal to
-- <math> for each element of pDeviceRenderAreas
-- - If the pNext chain does not contain
-- DeviceGroupRenderPassBeginInfo or its
-- deviceRenderAreaCount member is equal to 0 and the
-- imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE,
-- imageView must have a height greater than or equal to
-- <math>
-- - If the pNext chain contains a
-- DeviceGroupRenderPassBeginInfo structure, its
-- deviceRenderAreaCount member is not 0, and the
-- imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE,
-- imageView must have a height greater than or equal to
-- <math> for each element of pDeviceRenderAreas
-- - If the imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE, and
-- viewMask is 0, imageView must have a
-- layerCount that is either equal to 1 or greater than
-- or equal to layerCount
-- - If the imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE, and
-- viewMask is not 0, imageView must
-- have a layerCount that either equal to 1 or greater
-- than or equal to the index of the most significant bit in
-- viewMask
-- - If the imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE, it
-- must not be equal to the imageView or
-- resolveImageView member of pDepthAttachment,
-- pStencilAttachment, or any element of
-- pColorAttachments
-- - If the imageView member of a
-- RenderingFragmentShadingRateAttachmentInfoKHR structure
-- included in the pNext chain is not NULL_HANDLE, it
-- must not be equal to the imageView member of a
-- RenderingFragmentDensityMapAttachmentInfoEXT structure included
-- in the pNext chain
-- - If the multiview feature is not enabled, viewMask
-- must be 0
-- - The index of the most significant bit in viewMask
-- must be less than maxMultiviewViewCount
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering, Rect2D,
-- RenderingAttachmentInfoKHR, RenderingFlagsKHR,
-- StructureType, cmdBeginRenderingKHR
data RenderingInfoKHR (es :: [Type])
RenderingInfoKHR :: Chain es -> RenderingFlagsKHR -> Rect2D -> Word32 -> Word32 -> Vector RenderingAttachmentInfoKHR -> Maybe RenderingAttachmentInfoKHR -> Maybe RenderingAttachmentInfoKHR -> RenderingInfoKHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Chain es
-- | flags is a bitmask of RenderingFlagBitsKHR.
[$sel:flags:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> RenderingFlagsKHR
-- | renderArea is the render area that is affected by the render
-- pass instance.
[$sel:renderArea:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Rect2D
-- | layerCount is the number of layers rendered to in each
-- attachment when viewMask is 0.
[$sel:layerCount:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Word32
-- | viewMask is the view mask indicating the indices of
-- attachment layers that will be rendered when it is not 0.
[$sel:viewMask:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Word32
-- | pColorAttachments is a pointer to an array of
-- colorAttachmentCount RenderingAttachmentInfoKHR
-- structures describing any color attachments used.
[$sel:colorAttachments:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Vector RenderingAttachmentInfoKHR
-- | pDepthAttachment is a pointer to a
-- RenderingAttachmentInfoKHR structure describing a depth
-- attachment.
[$sel:depthAttachment:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Maybe RenderingAttachmentInfoKHR
-- | pStencilAttachment is a pointer to a
-- RenderingAttachmentInfoKHR structure describing a stencil
-- attachment.
[$sel:stencilAttachment:RenderingInfoKHR] :: RenderingInfoKHR (es :: [Type]) -> Maybe RenderingAttachmentInfoKHR
-- | VkRenderingAttachmentInfoKHR - Structure specifying attachment
-- information
--
-- Description
--
-- Values in imageView are loaded and stored according to the
-- values of loadOp and storeOp, within the render area
-- for each device specified in RenderingInfoKHR. If
-- imageView is NULL_HANDLE, other members of this
-- structure are ignored; writes to this attachment will be discarded,
-- and no load, store, or resolve operations will be performed.
--
-- If resolveMode is RESOLVE_MODE_NONE, then
-- resolveImageView is ignored. If resolveMode is not
-- RESOLVE_MODE_NONE, values in resolveImageView within
-- the render area become undefined once rendering begins. At the end of
-- rendering, the color values written to each pixel location in
-- imageView will be resolved according to resolveMode
-- and stored into the the same location in resolveImageView.
--
-- Note
--
-- The resolve mode and store operation are independent; it is valid to
-- write both resolved and unresolved values, and equally valid to
-- discard the unresolved values while writing the resolved ones.
--
-- Store and resolve operations are only performed at the end of a render
-- pass instance that does not specify the
-- RENDERING_SUSPENDING_BIT_KHR flag.
--
-- Load operations are only performed at the beginning of a render pass
-- instance that does not specify the RENDERING_RESUMING_BIT_KHR
-- flag.
--
-- Image contents at the end of a suspended render pass instance remain
-- defined for access by a resuming render pass instance.
--
-- Valid Usage
--
--
--
--
-- - If imageView is not NULL_HANDLE and has an integer
-- color format, resolveMode must be
-- RESOLVE_MODE_NONE or RESOLVE_MODE_SAMPLE_ZERO_BIT
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- imageView must not have a sample count of
-- SAMPLE_COUNT_1_BIT
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageView must have a sample count of
-- SAMPLE_COUNT_1_BIT
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- imageView and resolveImageView must have the
-- same Format
-- - If imageView is not NULL_HANDLE, layout
-- must not be IMAGE_LAYOUT_UNDEFINED,
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, or
-- IMAGE_LAYOUT_PREINITIALIZED
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_UNDEFINED,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, or
-- IMAGE_LAYOUT_PREINITIALIZED
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If imageView is not NULL_HANDLE, layout
-- must not be IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV
-- - If imageView is not NULL_HANDLE, layout
-- must not be
-- IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR
-- - If imageView is not NULL_HANDLE, layout
-- must not be
-- IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
-- - If imageView is not NULL_HANDLE, layout
-- must not be IMAGE_LAYOUT_PRESENT_SRC_KHR
-- - If imageView is not NULL_HANDLE and
-- resolveMode is not RESOLVE_MODE_NONE,
-- resolveImageLayout must not be
-- IMAGE_LAYOUT_PRESENT_SRC_KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - If imageView is not NULL_HANDLE,
-- imageView must be a valid ImageView handle
-- - imageLayout must be a valid ImageLayout
-- value
-- - If resolveMode is not 0, resolveMode
-- must be a valid ResolveModeFlagBits value
-- - If resolveImageView is not NULL_HANDLE,
-- resolveImageView must be a valid ImageView
-- handle
-- - resolveImageLayout must be a valid
-- ImageLayout value
-- - loadOp must be a valid AttachmentLoadOp
-- value
-- - storeOp must be a valid AttachmentStoreOp
-- value
-- - clearValue must be a valid ClearValue
-- union
-- - Both of imageView, and resolveImageView that are
-- valid handles of non-ignored parameters must have been created,
-- allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering, AttachmentLoadOp,
-- AttachmentStoreOp, ClearValue, ImageLayout,
-- ImageView, RenderingInfoKHR, ResolveModeFlagBits,
-- StructureType
data RenderingAttachmentInfoKHR
RenderingAttachmentInfoKHR :: ImageView -> ImageLayout -> ResolveModeFlagBits -> ImageView -> ImageLayout -> AttachmentLoadOp -> AttachmentStoreOp -> ClearValue -> RenderingAttachmentInfoKHR
-- | imageView is the image view that will be used for rendering.
[$sel:imageView:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ImageView
-- | imageLayout is the layout that imageView will be in
-- during rendering.
[$sel:imageLayout:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ImageLayout
-- | resolveMode is a ResolveModeFlagBits value defining
-- how multisampled data written to imageView will be resolved.
[$sel:resolveMode:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ResolveModeFlagBits
-- | resolveImageView is an image view used to write resolved
-- multisample data at the end of rendering.
[$sel:resolveImageView:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ImageView
-- | resolveImageLayout is the layout that
-- resolveImageView will be in during rendering.
[$sel:resolveImageLayout:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ImageLayout
-- | loadOp is a AttachmentLoadOp value specifying how the
-- contents of imageView are treated at the start of the render
-- pass instance.
[$sel:loadOp:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> AttachmentLoadOp
-- | storeOp is a AttachmentStoreOp value specifying how
-- the contents of imageView are treated at the end of the
-- render pass instance.
[$sel:storeOp:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> AttachmentStoreOp
-- | clearValue is a ClearValue structure defining values
-- used to clear imageView when loadOp is
-- ATTACHMENT_LOAD_OP_CLEAR.
[$sel:clearValue:RenderingAttachmentInfoKHR] :: RenderingAttachmentInfoKHR -> ClearValue
-- | VkRenderingFragmentShadingRateAttachmentInfoKHR - Structure specifying
-- fragment shading rate attachment information
--
-- Description
--
-- This structure can be included in the pNext chain of
-- RenderingInfoKHR to define a fragment shading rate
-- attachment. If imageView is NULL_HANDLE, or if
-- this structure is not specified, the implementation behaves as if a
-- valid shading rate attachment was specified with all texels specifying
-- a single pixel per fragment.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering, VK_KHR_fragment_shading_rate,
-- Extent2D, ImageLayout, ImageView,
-- StructureType
data RenderingFragmentShadingRateAttachmentInfoKHR
RenderingFragmentShadingRateAttachmentInfoKHR :: ImageView -> ImageLayout -> Extent2D -> RenderingFragmentShadingRateAttachmentInfoKHR
-- | imageView is the image view that will be used as a fragment
-- shading rate attachment.
[$sel:imageView:RenderingFragmentShadingRateAttachmentInfoKHR] :: RenderingFragmentShadingRateAttachmentInfoKHR -> ImageView
-- | imageLayout is the layout that imageView will be in
-- during rendering.
[$sel:imageLayout:RenderingFragmentShadingRateAttachmentInfoKHR] :: RenderingFragmentShadingRateAttachmentInfoKHR -> ImageLayout
-- | shadingRateAttachmentTexelSize specifies the number of pixels
-- corresponding to each texel in imageView.
[$sel:shadingRateAttachmentTexelSize:RenderingFragmentShadingRateAttachmentInfoKHR] :: RenderingFragmentShadingRateAttachmentInfoKHR -> Extent2D
-- | VkRenderingFragmentDensityMapAttachmentInfoEXT - Structure specifying
-- fragment shading rate attachment information
--
-- Description
--
-- This structure can be included in the pNext chain of
-- RenderingInfoKHR to define a fragment density map. If this
-- structure is not included in the pNext chain,
-- imageView is treated as NULL_HANDLE.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - imageView must be a valid ImageView
-- handle
-- - imageLayout must be a valid ImageLayout
-- value
--
--
-- See Also
--
-- VK_EXT_fragment_density_map, VK_KHR_dynamic_rendering,
-- ImageLayout, ImageView, StructureType
data RenderingFragmentDensityMapAttachmentInfoEXT
RenderingFragmentDensityMapAttachmentInfoEXT :: ImageView -> ImageLayout -> RenderingFragmentDensityMapAttachmentInfoEXT
-- | imageView is the image view that will be used as a fragment
-- shading rate attachment.
[$sel:imageView:RenderingFragmentDensityMapAttachmentInfoEXT] :: RenderingFragmentDensityMapAttachmentInfoEXT -> ImageView
-- | imageLayout is the layout that imageView will be in
-- during rendering.
[$sel:imageLayout:RenderingFragmentDensityMapAttachmentInfoEXT] :: RenderingFragmentDensityMapAttachmentInfoEXT -> ImageLayout
-- | VkPhysicalDeviceDynamicRenderingFeaturesKHR - Structure indicating
-- support for dynamic render pass instances
--
-- Members
--
-- The members of the PhysicalDeviceDynamicRenderingFeaturesKHR
-- structure describe the following features:
--
-- Description
--
-- If the PhysicalDeviceDynamicRenderingFeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceDynamicRenderingFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_dynamic_rendering, Bool32, StructureType
data PhysicalDeviceDynamicRenderingFeaturesKHR
PhysicalDeviceDynamicRenderingFeaturesKHR :: Bool -> PhysicalDeviceDynamicRenderingFeaturesKHR
-- | dynamicRendering specifies that the implementation supports
-- dynamic render pass instances using the cmdBeginRenderingKHR
-- command.
[$sel:dynamicRendering:PhysicalDeviceDynamicRenderingFeaturesKHR] :: PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
-- | VkCommandBufferInheritanceRenderingInfoKHR - Structure specifying
-- command buffer inheritance info for dynamic render pass instances
--
-- Description
--
-- If the pNext chain of CommandBufferInheritanceInfo
-- includes a CommandBufferInheritanceRenderingInfoKHR structure,
-- then that structure controls parameters of dynamic render pass
-- instances that the CommandBuffer can be executed within.
-- If CommandBufferInheritanceInfo::renderPass is not
-- NULL_HANDLE, or
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not specified
-- in CommandBufferBeginInfo::flags, parameters of this
-- structure are ignored.
--
-- If colorAttachmentCount is 0 and the
-- variableMultisampleRate feature is enabled,
-- rasterizationSamples is ignored.
--
-- If depthAttachmentFormat, stencilAttachmentFormat,
-- or any element of pColorAttachmentFormats is
-- FORMAT_UNDEFINED, it indicates that the corresponding
-- attachment is unused within the render pass.
--
-- Valid Usage
--
--
-- - If colorAttachmentCount is not 0,
-- rasterizationSamples must be a valid
-- SampleCountFlagBits value
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - flags must be a valid combination of
-- RenderingFlagBitsKHR values
-- - If colorAttachmentCount is not 0,
-- pColorAttachmentFormats must be a valid pointer to an
-- array of colorAttachmentCount valid Format values
-- - depthAttachmentFormat must be a valid
-- Format value
-- - stencilAttachmentFormat must be a valid
-- Format value
-- - If rasterizationSamples is not 0,
-- rasterizationSamples must be a valid
-- SampleCountFlagBits value
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering, Format,
-- RenderingFlagsKHR, SampleCountFlagBits,
-- StructureType
data CommandBufferInheritanceRenderingInfoKHR
CommandBufferInheritanceRenderingInfoKHR :: RenderingFlagsKHR -> Word32 -> Vector Format -> Format -> Format -> SampleCountFlagBits -> CommandBufferInheritanceRenderingInfoKHR
-- | flags is a bitmask of RenderingFlagBitsKHR used by the
-- render pass instance.
[$sel:flags:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> RenderingFlagsKHR
-- | viewMask is the view mask used for rendering.
[$sel:viewMask:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> Word32
-- | pColorAttachmentFormats is a pointer to an array of
-- Format values defining the format of color attachments.
[$sel:colorAttachmentFormats:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> Vector Format
-- | depthAttachmentFormat is a Format value defining the
-- format of the depth attachment.
[$sel:depthAttachmentFormat:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> Format
-- | stencilAttachmentFormat is a Format value defining the
-- format of the stencil attachment.
[$sel:stencilAttachmentFormat:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> Format
-- | rasterizationSamples is a SampleCountFlagBits
-- specifying the number of samples used in rasterization.
[$sel:rasterizationSamples:CommandBufferInheritanceRenderingInfoKHR] :: CommandBufferInheritanceRenderingInfoKHR -> SampleCountFlagBits
-- | VkAttachmentSampleCountInfoAMD - Structure specifying command buffer
-- inheritance info for dynamic render pass instances
--
-- Description
--
-- If CommandBufferInheritanceInfo::renderPass is
-- NULL_HANDLE,
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is specified in
-- CommandBufferBeginInfo::flags, and the pNext
-- chain of CommandBufferInheritanceInfo includes
-- AttachmentSampleCountInfoAMD, then this structure defines the
-- sample counts of each attachment within the render pass instance. If
-- AttachmentSampleCountInfoAMD is not included, the value of
-- CommandBufferInheritanceRenderingInfoKHR::rasterizationSamples
-- is used as the sample count for each attachment. If
-- CommandBufferInheritanceInfo::renderPass is not
-- NULL_HANDLE, or
-- COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not specified
-- in CommandBufferBeginInfo::flags, parameters of this
-- structure are ignored.
--
-- AttachmentSampleCountInfoAMD can also be included in the
-- pNext chain of GraphicsPipelineCreateInfo. When a
-- graphics pipeline is created without a RenderPass, if this
-- structure is present in the pNext chain of
-- GraphicsPipelineCreateInfo, it specifies the sample count of
-- attachments used for rendering. If this structure is not specified,
-- and the pipeline does not include a RenderPass, the value of
-- PipelineMultisampleStateCreateInfo::rasterizationSamples
-- is used as the sample count for each attachment. If a graphics
-- pipeline is created with a valid RenderPass, parameters of this
-- structure are ignored.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pColorAttachmentSamples must be a valid pointer to
-- an array of colorAttachmentCount valid or NULL_HANDLE
-- SampleCountFlagBits values
-- - If depthStencilAttachmentSamples is not 0,
-- depthStencilAttachmentSamples must be a valid
-- SampleCountFlagBits value
-- - colorAttachmentCount must be greater than
-- 0
--
--
-- See Also
--
-- VK_AMD_mixed_attachment_samples,
-- VK_KHR_dynamic_rendering,
-- VK_NV_framebuffer_mixed_samples, SampleCountFlagBits,
-- StructureType
data AttachmentSampleCountInfoAMD
AttachmentSampleCountInfoAMD :: Vector SampleCountFlagBits -> SampleCountFlagBits -> AttachmentSampleCountInfoAMD
-- | pColorAttachmentSamples is a pointer to an array of
-- SampleCountFlagBits values defining the sample count of color
-- attachments.
[$sel:colorAttachmentSamples:AttachmentSampleCountInfoAMD] :: AttachmentSampleCountInfoAMD -> Vector SampleCountFlagBits
-- | depthStencilAttachmentSamples is a SampleCountFlagBits
-- value defining the sample count of a depth/stencil attachment.
[$sel:depthStencilAttachmentSamples:AttachmentSampleCountInfoAMD] :: AttachmentSampleCountInfoAMD -> SampleCountFlagBits
-- | VkMultiviewPerViewAttributesInfoNVX - Structure specifying the
-- multiview per-attribute properties
--
-- Description
--
-- When dynamic render pass instances are being used, instead of
-- specifying SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX or
-- SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX in the
-- subpass description flags, the per-attibute properties of the render
-- pass instance must be specified by the
-- MultiviewPerViewAttributesInfoNVX structure Include the
-- MultiviewPerViewAttributesInfoNVX structure in the
-- pNext chain of GraphicsPipelineCreateInfo when
-- creating a graphics pipeline for dynamic rendering,
-- RenderingInfoKHR when starting a dynamic render pass instance,
-- and CommandBufferInheritanceInfo when specifying the dynamic
-- render pass instance parameters for secondary command buffers.
--
-- Valid Usage
--
--
-- - If perViewAttributesPositionXOnly is TRUE then
-- perViewAttributes must also be TRUE
--
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_KHR_dynamic_rendering,
-- VK_NVX_multiview_per_view_attributes, Bool32,
-- StructureType
data MultiviewPerViewAttributesInfoNVX
MultiviewPerViewAttributesInfoNVX :: Bool -> Bool -> MultiviewPerViewAttributesInfoNVX
-- | perViewAttributes specifies that shaders compiled for this
-- pipeline write the attributes for all views in a single invocation of
-- each vertex processing stage. All pipelines executed within a render
-- pass instance that includes this bit must write per-view
-- attributes to the *PerViewNV[] shader outputs, in addition to
-- the non-per-view (e.g. Position) outputs.
[$sel:perViewAttributes:MultiviewPerViewAttributesInfoNVX] :: MultiviewPerViewAttributesInfoNVX -> Bool
-- | perViewAttributesPositionXOnly specifies that shaders
-- compiled for this pipeline use per-view positions which only differ in
-- value in the x component. Per-view viewport mask can also be
-- used.
[$sel:perViewAttributesPositionXOnly:MultiviewPerViewAttributesInfoNVX] :: MultiviewPerViewAttributesInfoNVX -> Bool
type RenderingFlagsKHR = RenderingFlagBitsKHR
-- | VkRenderingFlagBitsKHR - Bitmask specifying additional properties of a
-- dynamic render pass instance
--
-- Description
--
-- The contents of pRenderingInfo must match between
-- suspended render pass instances and the render pass instances that
-- resume them, other than the presence or absence of the
-- RENDERING_RESUMING_BIT_KHR,
-- RENDERING_SUSPENDING_BIT_KHR, and
-- RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR flags. No
-- action or synchronization commands, or other render pass instances,
-- are allowed between suspending and resuming render pass instances.
--
-- See Also
--
-- VK_KHR_dynamic_rendering, RenderingFlagsKHR
newtype RenderingFlagBitsKHR
RenderingFlagBitsKHR :: Flags -> RenderingFlagBitsKHR
-- | RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR specifies
-- that draw calls for the render pass instance will be recorded in
-- secondary command buffers.
pattern RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR :: RenderingFlagBitsKHR
-- | RENDERING_SUSPENDING_BIT_KHR specifies that the render pass
-- instance will be suspended.
pattern RENDERING_SUSPENDING_BIT_KHR :: RenderingFlagBitsKHR
-- | RENDERING_RESUMING_BIT_KHR specifies that the render pass
-- instance is resuming an earlier suspended render pass instance.
pattern RENDERING_RESUMING_BIT_KHR :: RenderingFlagBitsKHR
type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD
type KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1
pattern KHR_DYNAMIC_RENDERING_SPEC_VERSION :: forall a. Integral a => a
type KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering"
pattern KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance Data.Bits.Bits Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.PipelineRenderingCreateInfoKHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingInfoKHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingAttachmentInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.AttachmentSampleCountInfoAMD
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingInfoKHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingInfoKHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingInfoKHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingInfoKHR es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFlagBitsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.AttachmentSampleCountInfoAMD
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.AttachmentSampleCountInfoAMD
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.AttachmentSampleCountInfoAMD
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingAttachmentInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingAttachmentInfoKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.PipelineRenderingCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_dynamic_rendering.PipelineRenderingCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_dynamic_rendering.PipelineRenderingCreateInfoKHR
-- | Name
--
-- VK_KHR_copy_commands2 - device extension
--
-- VK_KHR_copy_commands2
--
--
-- - Name String VK_KHR_copy_commands2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 338
-- - Revision 1
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-07-06
--
--
--
-- - Interactions and External Dependencies
--
-- - Contributors
- Jeff Leger,
-- Qualcomm
- Tobias Hector, AMD
- Jan-Harald Fredriksen,
-- ARM
- Tom Olson, ARM
--
--
-- Description
--
-- This extension provides extensible versions of the Vulkan buffer and
-- image copy commands. The new commands are functionally identical to
-- the core commands, except that their copy parameters are specified
-- using extensible structures that can be used to pass
-- extension-specific information.
--
-- The following extensible copy commands are introduced with this
-- extension: cmdCopyBuffer2KHR, cmdCopyImage2KHR,
-- cmdCopyBufferToImage2KHR, cmdCopyImageToBuffer2KHR,
-- cmdBlitImage2KHR, and cmdResolveImage2KHR. Each command
-- contains an *Info2KHR structure parameter that includes
-- sType/pNext members. Lower level structures
-- describing each region to be copied are also extended with
-- sType/pNext members.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-07-06 (Jeff Leger)
--
--
-- See Also
--
-- BlitImageInfo2KHR, BufferCopy2KHR,
-- BufferImageCopy2KHR, CopyBufferInfo2KHR,
-- CopyBufferToImageInfo2KHR, CopyImageInfo2KHR,
-- CopyImageToBufferInfo2KHR, ImageBlit2KHR,
-- ImageCopy2KHR, ImageResolve2KHR,
-- ResolveImageInfo2KHR, cmdBlitImage2KHR,
-- cmdCopyBuffer2KHR, cmdCopyBufferToImage2KHR,
-- cmdCopyImage2KHR, cmdCopyImageToBuffer2KHR,
-- cmdResolveImage2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_copy_commands2
-- | vkCmdCopyBuffer2KHR - Copy data between buffer regions
--
-- Description
--
-- This command is functionally identical to cmdCopyBuffer, but
-- includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcBuffer
-- must not be a protected buffer
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCopyBufferInfo must be a valid pointer to a valid
-- CopyBufferInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, CommandBuffer,
-- CopyBufferInfo2KHR
cmdCopyBuffer2KHR :: forall io. MonadIO io => CommandBuffer -> CopyBufferInfo2KHR -> io ()
-- | vkCmdCopyImage2KHR - Copy data between images
--
-- Description
--
-- This command is functionally identical to cmdCopyImage, but
-- includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCopyImageInfo must be a valid pointer to a valid
-- CopyImageInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, CommandBuffer,
-- CopyImageInfo2KHR
cmdCopyImage2KHR :: forall io. MonadIO io => CommandBuffer -> CopyImageInfo2KHR -> io ()
-- | vkCmdBlitImage2KHR - Copy regions of an image, potentially performing
-- format conversion,
--
-- Description
--
-- This command is functionally identical to cmdBlitImage, but
-- includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pBlitImageInfo must be a valid pointer to a valid
-- BlitImageInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, BlitImageInfo2KHR,
-- CommandBuffer
cmdBlitImage2KHR :: forall io. MonadIO io => CommandBuffer -> BlitImageInfo2KHR -> io ()
-- | vkCmdCopyBufferToImage2KHR - Copy data from a buffer into an image
--
-- Description
--
-- This command is functionally identical to cmdCopyBufferToImage,
-- but includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcBuffer
-- must not be a protected buffer
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCopyBufferToImageInfo must be a valid pointer to
-- a valid CopyBufferToImageInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, CommandBuffer,
-- CopyBufferToImageInfo2KHR
cmdCopyBufferToImage2KHR :: forall io. MonadIO io => CommandBuffer -> CopyBufferToImageInfo2KHR -> io ()
-- | vkCmdCopyImageToBuffer2KHR - Copy image data into a buffer
--
-- Description
--
-- This command is functionally identical to cmdCopyImageToBuffer,
-- but includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be a protected buffer
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstBuffer
-- must not be an unprotected buffer
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pCopyImageToBufferInfo must be a valid pointer to
-- a valid CopyImageToBufferInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support transfer, graphics, or compute
-- operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, CommandBuffer,
-- CopyImageToBufferInfo2KHR
cmdCopyImageToBuffer2KHR :: forall io. MonadIO io => CommandBuffer -> CopyImageToBufferInfo2KHR -> io ()
-- | vkCmdResolveImage2KHR - Resolve regions of an image
--
-- Description
--
-- This command is functionally identical to cmdResolveImage, but
-- includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, srcImage
-- must not be a protected image
--
--
--
-- - If commandBuffer is an unprotected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be a protected image
-- - If commandBuffer is a protected command buffer and
-- protectedNoFault is not supported, dstImage
-- must not be an unprotected image
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pResolveImageInfo must be a valid pointer to a
-- valid ResolveImageInfo2KHR structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_copy_commands2, CommandBuffer,
-- ResolveImageInfo2KHR
cmdResolveImage2KHR :: forall io. MonadIO io => CommandBuffer -> ResolveImageInfo2KHR -> io ()
-- | VkBufferCopy2KHR - Structure specifying a buffer copy operation
--
-- Valid Usage
--
--
-- - The size must be greater than 0
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_copy_commands2, CopyBufferInfo2KHR,
-- DeviceSize, StructureType
data BufferCopy2KHR
BufferCopy2KHR :: DeviceSize -> DeviceSize -> DeviceSize -> BufferCopy2KHR
-- | srcOffset is the starting offset in bytes from the start of
-- srcBuffer.
[$sel:srcOffset:BufferCopy2KHR] :: BufferCopy2KHR -> DeviceSize
-- | dstOffset is the starting offset in bytes from the start of
-- dstBuffer.
[$sel:dstOffset:BufferCopy2KHR] :: BufferCopy2KHR -> DeviceSize
-- | size is the number of bytes to copy.
[$sel:size:BufferCopy2KHR] :: BufferCopy2KHR -> DeviceSize
-- | VkImageCopy2KHR - Structure specifying an image copy operation
--
-- Valid Usage
--
--
-- - The number of slices of the extent (for 3D) or layers of
-- the srcSubresource (for non-3D) must match the number
-- of slices of the extent (for 3D) or layers of the
-- dstSubresource (for non-3D)
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_copy_commands2, CopyImageInfo2KHR,
-- Extent3D, ImageSubresourceLayers, Offset3D,
-- StructureType
data ImageCopy2KHR
ImageCopy2KHR :: ImageSubresourceLayers -> Offset3D -> ImageSubresourceLayers -> Offset3D -> Extent3D -> ImageCopy2KHR
-- | srcSubresource and dstSubresource are
-- ImageSubresourceLayers structures specifying the image
-- subresources of the images used for the source and destination image
-- data, respectively.
[$sel:srcSubresource:ImageCopy2KHR] :: ImageCopy2KHR -> ImageSubresourceLayers
-- | srcOffset and dstOffset select the initial
-- x, y, and z offsets in texels of the
-- sub-regions of the source and destination image data.
[$sel:srcOffset:ImageCopy2KHR] :: ImageCopy2KHR -> Offset3D
[$sel:dstSubresource:ImageCopy2KHR] :: ImageCopy2KHR -> ImageSubresourceLayers
[$sel:dstOffset:ImageCopy2KHR] :: ImageCopy2KHR -> Offset3D
-- | extent is the size in texels of the image to copy in
-- width, height and depth.
[$sel:extent:ImageCopy2KHR] :: ImageCopy2KHR -> Extent3D
-- | VkImageBlit2KHR - Structure specifying an image blit operation
--
-- Description
--
-- For each element of the pRegions array, a blit operation is
-- performed for the specified source and destination regions.
--
-- Valid Usage
--
--
-- - The aspectMask member of srcSubresource and
-- dstSubresource must match
--
--
--
-- - The layerCount member of srcSubresource and
-- dstSubresource must match
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_copy_commands2, BlitImageInfo2KHR,
-- ImageSubresourceLayers, Offset3D, StructureType
data ImageBlit2KHR (es :: [Type])
ImageBlit2KHR :: Chain es -> ImageSubresourceLayers -> (Offset3D, Offset3D) -> ImageSubresourceLayers -> (Offset3D, Offset3D) -> ImageBlit2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:ImageBlit2KHR] :: ImageBlit2KHR (es :: [Type]) -> Chain es
-- | srcSubresource is the subresource to blit from.
[$sel:srcSubresource:ImageBlit2KHR] :: ImageBlit2KHR (es :: [Type]) -> ImageSubresourceLayers
-- | srcOffsets is a pointer to an array of two Offset3D
-- structures specifying the bounds of the source region within
-- srcSubresource.
[$sel:srcOffsets:ImageBlit2KHR] :: ImageBlit2KHR (es :: [Type]) -> (Offset3D, Offset3D)
-- | dstSubresource is the subresource to blit into.
[$sel:dstSubresource:ImageBlit2KHR] :: ImageBlit2KHR (es :: [Type]) -> ImageSubresourceLayers
-- | dstOffsets is a pointer to an array of two Offset3D
-- structures specifying the bounds of the destination region within
-- dstSubresource.
[$sel:dstOffsets:ImageBlit2KHR] :: ImageBlit2KHR (es :: [Type]) -> (Offset3D, Offset3D)
-- | VkBufferImageCopy2KHR - Structure specifying a buffer image copy
-- operation
--
-- Description
--
-- This structure is functionally identical to BufferImageCopy,
-- but adds sType and pNext parameters, allowing it to
-- be more easily extended.
--
-- Valid Usage
--
--
-- - bufferRowLength must be 0, or greater
-- than or equal to the width member of
-- imageExtent
--
--
--
-- - bufferImageHeight must be 0, or greater
-- than or equal to the height member of
-- imageExtent
-- - The aspectMask member of imageSubresource
-- must only have a single bit set
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_copy_commands2, CopyBufferToImageInfo2KHR,
-- CopyImageToBufferInfo2KHR, DeviceSize, Extent3D,
-- ImageSubresourceLayers, Offset3D, StructureType
data BufferImageCopy2KHR (es :: [Type])
BufferImageCopy2KHR :: Chain es -> DeviceSize -> Word32 -> Word32 -> ImageSubresourceLayers -> Offset3D -> Extent3D -> BufferImageCopy2KHR (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> Chain es
-- | bufferOffset is the offset in bytes from the start of the
-- buffer object where the image data is copied from or to.
[$sel:bufferOffset:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> DeviceSize
-- | bufferRowLength and bufferImageHeight specify in
-- texels a subregion of a larger two- or three-dimensional image in
-- buffer memory, and control the addressing calculations. If either of
-- these values is zero, that aspect of the buffer memory is considered
-- to be tightly packed according to the imageExtent.
[$sel:bufferRowLength:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> Word32
[$sel:bufferImageHeight:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> Word32
-- | imageSubresource is a ImageSubresourceLayers used to
-- specify the specific image subresources of the image used for the
-- source or destination image data.
[$sel:imageSubresource:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> ImageSubresourceLayers
-- | imageOffset selects the initial x, y,
-- z offsets in texels of the sub-region of the source or
-- destination image data.
[$sel:imageOffset:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> Offset3D
-- | imageExtent is the size in texels of the image to copy in
-- width, height and depth.
[$sel:imageExtent:BufferImageCopy2KHR] :: BufferImageCopy2KHR (es :: [Type]) -> Extent3D
-- | VkImageResolve2KHR - Structure specifying an image resolve operation
--
-- Valid Usage
--
--
-- - The aspectMask member of srcSubresource and
-- dstSubresource must only contain
-- IMAGE_ASPECT_COLOR_BIT
--
--
--
-- - The layerCount member of srcSubresource and
-- dstSubresource must match
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Extent3D,
-- ImageSubresourceLayers, Offset3D,
-- ResolveImageInfo2KHR, StructureType
data ImageResolve2KHR
ImageResolve2KHR :: ImageSubresourceLayers -> Offset3D -> ImageSubresourceLayers -> Offset3D -> Extent3D -> ImageResolve2KHR
-- | srcSubresource and dstSubresource are
-- ImageSubresourceLayers structures specifying the image
-- subresources of the images used for the source and destination image
-- data, respectively. Resolve of depth/stencil images is not supported.
[$sel:srcSubresource:ImageResolve2KHR] :: ImageResolve2KHR -> ImageSubresourceLayers
-- | srcOffset and dstOffset select the initial
-- x, y, and z offsets in texels of the
-- sub-regions of the source and destination image data.
[$sel:srcOffset:ImageResolve2KHR] :: ImageResolve2KHR -> Offset3D
[$sel:dstSubresource:ImageResolve2KHR] :: ImageResolve2KHR -> ImageSubresourceLayers
[$sel:dstOffset:ImageResolve2KHR] :: ImageResolve2KHR -> Offset3D
-- | extent is the size in texels of the source image to resolve
-- in width, height and depth.
[$sel:extent:ImageResolve2KHR] :: ImageResolve2KHR -> Extent3D
-- | VkCopyBufferInfo2KHR - Structure specifying parameters of a buffer
-- copy command
--
-- Description
--
-- Members defined by this structure with the same name as parameters in
-- cmdCopyBuffer have the identical effect to those parameters;
-- the child structure BufferCopy2KHR is a variant of
-- BufferCopy which includes sType and pNext
-- parameters, allowing it to be extended.
--
-- Valid Usage
--
--
-- - The srcOffset member of each element of pRegions
-- must be less than the size of srcBuffer
--
--
--
-- - The dstOffset member of each element of pRegions
-- must be less than the size of dstBuffer
-- - The size member of each element of pRegions
-- must be less than or equal to the size of srcBuffer
-- minus srcOffset
-- - The size member of each element of pRegions
-- must be less than or equal to the size of dstBuffer
-- minus dstOffset
-- - The union of the source regions, and the union of the destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcBuffer must be a valid Buffer
-- handle
-- - dstBuffer must be a valid Buffer
-- handle
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferCopy2KHR structures
-- - regionCount must be greater than 0
-- - Both of dstBuffer, and srcBuffer must
-- have been created, allocated, or retrieved from the same
-- Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Buffer, BufferCopy2KHR,
-- StructureType, cmdCopyBuffer2KHR
data CopyBufferInfo2KHR
CopyBufferInfo2KHR :: Buffer -> Buffer -> Vector BufferCopy2KHR -> CopyBufferInfo2KHR
-- | srcBuffer is the source buffer.
[$sel:srcBuffer:CopyBufferInfo2KHR] :: CopyBufferInfo2KHR -> Buffer
-- | dstBuffer is the destination buffer.
[$sel:dstBuffer:CopyBufferInfo2KHR] :: CopyBufferInfo2KHR -> Buffer
-- | pRegions is a pointer to an array of BufferCopy2KHR
-- structures specifying the regions to copy.
[$sel:regions:CopyBufferInfo2KHR] :: CopyBufferInfo2KHR -> Vector BufferCopy2KHR
-- | VkCopyImageInfo2KHR - Structure specifying parameters of an image copy
-- command
--
-- Valid Usage
--
--
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
--
--
--
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_TRANSFER_SRC_BIT
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcImage is non-sparse then the image or
-- disjoint plane to be copied must be bound completely and
-- contiguously to a single DeviceMemory object
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_TRANSFER_DST_BIT
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then the image or
-- disjoint plane that is the destination of the copy must
-- be bound completely and contiguously to a single DeviceMemory
-- object
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - If the Format of each of srcImage and
-- dstImage is not a multi-planar format, the
-- Format of each of srcImage and dstImage
-- must be compatible, as defined above
-- - In a copy to or from a plane of a multi-planar image, the
-- Format of the image and plane must be compatible
-- according to the description of compatible planes for the plane
-- being copied
-- - The sample count of srcImage and dstImage
-- must match
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - The srcOffset and extent members of each element
-- of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - The dstOffset and extent members of each element
-- of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If neither srcImage nor dstImage has a
-- multi-planar image format then for each element of
-- pRegions, srcSubresource.aspectMask and
-- dstSubresource.aspectMask must match
-- - If srcImage has a Format with two planes
-- then for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT or
-- IMAGE_ASPECT_PLANE_1_BIT
-- - If srcImage has a Format with three planes
-- then for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT
-- - If dstImage has a Format with two planes
-- then for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT or
-- IMAGE_ASPECT_PLANE_1_BIT
-- - If dstImage has a Format with three planes
-- then for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT
-- - If srcImage has a multi-planar image format and
-- the dstImage does not have a multi-planar image format, then
-- for each element of pRegions,
-- dstSubresource.aspectMask must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If dstImage has a multi-planar image format and
-- the srcImage does not have a multi-planar image format, then
-- for each element of pRegions,
-- srcSubresource.aspectMask must be
-- IMAGE_ASPECT_COLOR_BIT
-- - If srcImage is of type IMAGE_TYPE_3D, then for
-- each element of pRegions,
-- srcSubresource.baseArrayLayer must be 0 and
-- srcSubresource.layerCount must be 1
-- - If dstImage is of type IMAGE_TYPE_3D, then for
-- each element of pRegions,
-- dstSubresource.baseArrayLayer must be 0 and
-- dstSubresource.layerCount must be 1
-- - For each element of pRegions,
-- srcSubresource.aspectMask must specify aspects present
-- in srcImage
-- - For each element of pRegions,
-- dstSubresource.aspectMask must specify aspects present
-- in dstImage
-- - For each element of pRegions, srcOffset.x and
-- (extent.width + srcOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified srcSubresource of
-- srcImage
-- - For each element of pRegions, srcOffset.y and
-- (extent.height + srcOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, srcOffset.z and
-- (extent.depth + srcOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.z must be
-- 0 and extent.depth must be 1
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.z must be
-- 0 and extent.depth must be 1
-- - If srcImage is of type IMAGE_TYPE_2D, then for
-- each element of pRegions, srcOffset.z must be
-- 0
-- - If dstImage is of type IMAGE_TYPE_2D, then for
-- each element of pRegions, dstOffset.z must be
-- 0
-- - If srcImage and dstImage are both of type
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- extent.depth must be 1
-- - If srcImage is of type IMAGE_TYPE_2D, and
-- dstImage is of type IMAGE_TYPE_3D, then for each
-- element of pRegions, extent.depth must equal
-- srcSubresource.layerCount
-- - If dstImage is of type IMAGE_TYPE_2D, and
-- srcImage is of type IMAGE_TYPE_3D, then for each
-- element of pRegions, extent.depth must equal
-- dstSubresource.layerCount
-- - For each element of pRegions, dstOffset.x and
-- (extent.width + dstOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified dstSubresource of
-- dstImage
-- - For each element of pRegions, dstOffset.y and
-- (extent.height + dstOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, dstOffset.z and
-- (extent.depth + dstOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified dstSubresource of
-- dstImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, all members of srcOffset
-- must be a multiple of the corresponding dimensions of the
-- compressed texel block
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.width must be a
-- multiple of the compressed texel block width or (extent.width
-- + srcOffset.x) must equal the width of the specified
-- srcSubresource of srcImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.height must be a
-- multiple of the compressed texel block height or
-- (extent.height + srcOffset.y) must equal the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is a blocked image, then for each
-- element of pRegions, extent.depth must be a
-- multiple of the compressed texel block depth or (extent.depth
-- + srcOffset.z) must equal the depth of the specified
-- srcSubresource of srcImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, all members of dstOffset
-- must be a multiple of the corresponding dimensions of the
-- compressed texel block
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.width must be a
-- multiple of the compressed texel block width or (extent.width
-- + dstOffset.x) must equal the width of the specified
-- dstSubresource of dstImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.height must be a
-- multiple of the compressed texel block height or
-- (extent.height + dstOffset.y) must equal the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is a blocked image, then for each
-- element of pRegions, extent.depth must be a
-- multiple of the compressed texel block depth or (extent.depth
-- + dstOffset.z) must equal the depth of the specified
-- dstSubresource of dstImage
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageCopy2KHR structures
-- - regionCount must be greater than 0
-- - Both of dstImage, and srcImage must have
-- been created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Image, ImageCopy2KHR,
-- ImageLayout, StructureType, cmdCopyImage2KHR
data CopyImageInfo2KHR
CopyImageInfo2KHR :: Image -> ImageLayout -> Image -> ImageLayout -> Vector ImageCopy2KHR -> CopyImageInfo2KHR
-- | srcImage is the source image.
[$sel:srcImage:CopyImageInfo2KHR] :: CopyImageInfo2KHR -> Image
-- | srcImageLayout is the current layout of the source image
-- subresource.
[$sel:srcImageLayout:CopyImageInfo2KHR] :: CopyImageInfo2KHR -> ImageLayout
-- | dstImage is the destination image.
[$sel:dstImage:CopyImageInfo2KHR] :: CopyImageInfo2KHR -> Image
-- | dstImageLayout is the current layout of the destination image
-- subresource.
[$sel:dstImageLayout:CopyImageInfo2KHR] :: CopyImageInfo2KHR -> ImageLayout
-- | pRegions is a pointer to an array of ImageCopy2KHR
-- structures specifying the regions to copy.
[$sel:regions:CopyImageInfo2KHR] :: CopyImageInfo2KHR -> Vector ImageCopy2KHR
-- | VkBlitImageInfo2KHR - Structure specifying parameters of blit image
-- command
--
-- Valid Usage
--
--
-- - The source region specified by each element of pRegions
-- must be a region that is contained within
-- srcImage
--
--
--
-- - The destination region specified by each element of
-- pRegions must be a region that is contained within
-- dstImage
-- - The union of all destination regions, specified by the elements of
-- pRegions, must not overlap in memory with any texel
-- that may be sampled during the blit operation
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_BLIT_SRC_BIT
-- - srcImage must not use a format that requires a
-- sampler Y’CBCR conversion
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_BLIT_DST_BIT
-- - dstImage must not use a format that requires a
-- sampler Y’CBCR conversion
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - If either of srcImage or dstImage was created
-- with a signed integer Format, the other must also have
-- been created with a signed integer Format
-- - If either of srcImage or dstImage was created
-- with an unsigned integer Format, the other must also
-- have been created with an unsigned integer Format
-- - If either of srcImage or dstImage was created
-- with a depth/stencil format, the other must have exactly the
-- same format
-- - If srcImage was created with a depth/stencil format,
-- filter must be FILTER_NEAREST
-- - srcImage must have been created with a
-- samples value of SAMPLE_COUNT_1_BIT
-- - dstImage must have been created with a
-- samples value of SAMPLE_COUNT_1_BIT
-- - If filter is FILTER_LINEAR, then the format
-- features of srcImage must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
-- - If filter is FILTER_CUBIC_EXT, then the format
-- features of srcImage must contain
-- FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- - If filter is FILTER_CUBIC_EXT, srcImage
-- must be of type IMAGE_TYPE_2D
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If either srcImage or dstImage is of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- srcSubresource.baseArrayLayer and
-- dstSubresource.baseArrayLayer must each be 0,
-- and srcSubresource.layerCount and
-- dstSubresource.layerCount must each be 1
-- - For each element of pRegions,
-- srcSubresource.aspectMask must specify aspects present
-- in srcImage
-- - For each element of pRegions,
-- dstSubresource.aspectMask must specify aspects present
-- in dstImage
-- - For each element of pRegions, srcOffsets[0].x
-- and srcOffsets[1].x must both be greater than or equal
-- to 0 and less than or equal to the width of the specified
-- srcSubresource of srcImage
-- - For each element of pRegions, srcOffsets[0].y
-- and srcOffsets[1].y must both be greater than or equal
-- to 0 and less than or equal to the height of the specified
-- srcSubresource of srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffsets[0].y
-- must be 0 and srcOffsets[1].y must be
-- 1
-- - For each element of pRegions, srcOffsets[0].z
-- and srcOffsets[1].z must both be greater than or equal
-- to 0 and less than or equal to the depth of the specified
-- srcSubresource of srcImage
-- - If srcImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- srcOffsets[0].z must be 0 and
-- srcOffsets[1].z must be 1
-- - For each element of pRegions, dstOffsets[0].x
-- and dstOffsets[1].x must both be greater than or equal
-- to 0 and less than or equal to the width of the specified
-- dstSubresource of dstImage
-- - For each element of pRegions, dstOffsets[0].y
-- and dstOffsets[1].y must both be greater than or equal
-- to 0 and less than or equal to the height of the specified
-- dstSubresource of dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffsets[0].y
-- must be 0 and dstOffsets[1].y must be
-- 1
-- - For each element of pRegions, dstOffsets[0].z
-- and dstOffsets[1].z must both be greater than or equal
-- to 0 and less than or equal to the depth of the specified
-- dstSubresource of dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- dstOffsets[0].z must be 0 and
-- dstOffsets[1].z must be 1
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage and dstImage must not be
-- block-compressed images
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage must be of type IMAGE_TYPE_2D
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage must not have a multi-planar
-- format
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageBlit2KHR structures
-- - filter must be a valid Filter value
-- - regionCount must be greater than 0
-- - Both of dstImage, and srcImage must have
-- been created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Filter, Image,
-- ImageBlit2KHR, ImageLayout, StructureType,
-- cmdBlitImage2KHR
data BlitImageInfo2KHR
BlitImageInfo2KHR :: Image -> ImageLayout -> Image -> ImageLayout -> Vector (SomeStruct ImageBlit2KHR) -> Filter -> BlitImageInfo2KHR
-- | srcImage is the source image.
[$sel:srcImage:BlitImageInfo2KHR] :: BlitImageInfo2KHR -> Image
-- | srcImageLayout is the layout of the source image subresources
-- for the blit.
[$sel:srcImageLayout:BlitImageInfo2KHR] :: BlitImageInfo2KHR -> ImageLayout
-- | dstImage is the destination image.
[$sel:dstImage:BlitImageInfo2KHR] :: BlitImageInfo2KHR -> Image
-- | dstImageLayout is the layout of the destination image
-- subresources for the blit.
[$sel:dstImageLayout:BlitImageInfo2KHR] :: BlitImageInfo2KHR -> ImageLayout
-- | pRegions is a pointer to an array of ImageBlit2KHR
-- structures specifying the regions to blit.
[$sel:regions:BlitImageInfo2KHR] :: BlitImageInfo2KHR -> Vector (SomeStruct ImageBlit2KHR)
-- | filter is a Filter specifying the filter to apply if
-- the blits require scaling.
[$sel:filter':BlitImageInfo2KHR] :: BlitImageInfo2KHR -> Filter
-- | VkCopyBufferToImageInfo2KHR - Structure specifying parameters of a
-- buffer to image copy command
--
-- Valid Usage
--
--
-- - If the image region specified by each element of pRegions
-- does not contain CopyCommandTransformInfoQCOM in its
-- pNext chain, it must be a region that is contained
-- within the specified imageSubresource of
-- dstImage
--
--
--
-- - If the image region specified by each element of pRegions
-- contains CopyCommandTransformInfoQCOM in its pNext
-- chain, the rotated destination region as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-rotation-addressing
-- must be contained within dstImage
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- dstImage must not be a blocked image
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- dstImage must be of type IMAGE_TYPE_2D
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- dstImage must not have a multi-planar
-- format
-- - srcBuffer must be large enough to contain all
-- buffer locations that are accessed according to Buffer and Image
-- Addressing, for each element of pRegions
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_TRANSFER_DST_BIT
-- - If srcBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have been created with
-- IMAGE_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The imageSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The imageSubresource.baseArrayLayer +
-- imageSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - The imageOffset and imageExtent members of each
-- element of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - dstImage must not have been created with
-- flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT, for each element of pRegions, the
-- aspectMask member of imageSubresource must
-- not be IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT
-- - For each element of pRegions not containing
-- CopyCommandTransformInfoQCOM in its pNext chain,
-- imageOffset.x and (imageExtent.width +
-- imageOffset.x) must both be greater than or equal to
-- 0 and less than or equal to the width of the specified
-- imageSubresource of dstImage
-- - For each element of pRegions not containing
-- CopyCommandTransformInfoQCOM in its pNext chain,
-- imageOffset.y and (imageExtent.height +
-- imageOffset.y) must both be greater than or equal to
-- 0 and less than or equal to the height of the specified
-- imageSubresource of dstImage
-- - If dstImage does not have either a depth/stencil or a
-- multi-planar format, then for each element of
-- pRegions, bufferOffset must be a multiple of
-- the format’s texel block size
-- - If dstImage has a multi-planar format, then for
-- each element of pRegions, bufferOffset must
-- be a multiple of the element size of the compatible format for the
-- format and the aspectMask of the imageSubresource as
-- defined in ???
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, imageOffset.y must
-- be 0 and imageExtent.height must be
-- 1
-- - For each element of pRegions, imageOffset.z and
-- (imageExtent.depth + imageOffset.z) must both
-- be greater than or equal to 0 and less than or equal to the
-- depth of the specified imageSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- imageOffset.z must be 0 and
-- imageExtent.depth must be 1
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferRowLength must be a
-- multiple of the compressed texel block width
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferImageHeight must be a
-- multiple of the compressed texel block height
-- - If dstImage is a blocked image, for each element
-- of pRegions, all members of imageOffset must
-- be a multiple of the corresponding dimensions of the compressed texel
-- block
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferOffset must be a multiple
-- of the compressed texel block size in bytes
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.width must be a
-- multiple of the compressed texel block width or
-- (imageExtent.width + imageOffset.x) must
-- equal the width of the specified imageSubresource of
-- dstImage
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.height must be a
-- multiple of the compressed texel block height or
-- (imageExtent.height + imageOffset.y) must
-- equal the height of the specified imageSubresource of
-- dstImage
-- - If dstImage is a blocked image, for each element
-- of pRegions, imageExtent.depth must be a
-- multiple of the compressed texel block depth or
-- (imageExtent.depth + imageOffset.z) must
-- equal the depth of the specified imageSubresource of
-- dstImage
-- - For each element of pRegions,
-- imageSubresource.aspectMask must specify aspects
-- present in dstImage
-- - If dstImage has a multi-planar format, then for
-- each element of pRegions,
-- imageSubresource.aspectMask must be
-- IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, or
-- IMAGE_ASPECT_PLANE_2_BIT (with IMAGE_ASPECT_PLANE_2_BIT
-- valid only for image formats with three planes)
-- - If dstImage is of type IMAGE_TYPE_3D, for each
-- element of pRegions, imageSubresource.baseArrayLayer
-- must be 0 and imageSubresource.layerCount
-- must be 1
-- - If dstImage is not a blocked image, for each
-- element of pRegions, bufferRowLength multiplied by
-- the texel block size of dstImage must be less than or
-- equal to 231-1
-- - If dstImage is a blocked image, for each element
-- of pRegions, bufferRowLength divided by the
-- compressed texel block width and then multiplied by the texel block
-- size of dstImage must be less than or equal to
-- 231-1
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
-- - If dstImage has a depth/stencil format, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcBuffer must be a valid Buffer
-- handle
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferImageCopy2KHR structures
-- - regionCount must be greater than 0
-- - Both of dstImage, and srcBuffer must have
-- been created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Buffer,
-- BufferImageCopy2KHR, Image, ImageLayout,
-- StructureType, cmdCopyBufferToImage2KHR
data CopyBufferToImageInfo2KHR
CopyBufferToImageInfo2KHR :: Buffer -> Image -> ImageLayout -> Vector (SomeStruct BufferImageCopy2KHR) -> CopyBufferToImageInfo2KHR
-- | srcBuffer is the source buffer.
[$sel:srcBuffer:CopyBufferToImageInfo2KHR] :: CopyBufferToImageInfo2KHR -> Buffer
-- | dstImage is the destination image.
[$sel:dstImage:CopyBufferToImageInfo2KHR] :: CopyBufferToImageInfo2KHR -> Image
-- | dstImageLayout is the layout of the destination image
-- subresources for the copy.
[$sel:dstImageLayout:CopyBufferToImageInfo2KHR] :: CopyBufferToImageInfo2KHR -> ImageLayout
-- | pRegions is a pointer to an array of
-- BufferImageCopy2KHR structures specifying the regions to copy.
[$sel:regions:CopyBufferToImageInfo2KHR] :: CopyBufferToImageInfo2KHR -> Vector (SomeStruct BufferImageCopy2KHR)
-- | VkCopyImageToBufferInfo2KHR - Structure specifying parameters of an
-- image to buffer copy command
--
-- Valid Usage
--
--
-- - If the image region specified by each element of pRegions
-- does not contain CopyCommandTransformInfoQCOM in its
-- pNext chain, it must be contained within the specified
-- imageSubresource of srcImage
--
--
--
-- - If the image region specified by each element of pRegions
-- contains CopyCommandTransformInfoQCOM in its pNext
-- chain, the rotated source region as described in
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-rotation-addressing
-- must be contained within srcImage
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage must not be a blocked image
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage must be of type IMAGE_TYPE_2D
-- - If any element of pRegions contains
-- CopyCommandTransformInfoQCOM in its pNext chain, then
-- srcImage must not have a multi-planar
-- format
-- - dstBuffer must be large enough to contain all
-- buffer locations that are accessed according to Buffer and Image
-- Addressing, for each element of pRegions
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
-- - srcImage must have been created with
-- IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
-- - The format features of srcImage must
-- contain FORMAT_FEATURE_TRANSFER_SRC_BIT
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstBuffer must have been created with
-- BUFFER_USAGE_TRANSFER_DST_BIT usage flag
-- - If dstBuffer is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, IMAGE_LAYOUT_GENERAL,
-- or IMAGE_LAYOUT_SHARED_PRESENT_KHR
-- - The imageSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The imageSubresource.baseArrayLayer +
-- imageSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The imageOffset and imageExtent members of each
-- element of pRegions must respect the image transfer
-- granularity requirements of commandBuffer’s command pool’s
-- queue family, as described in QueueFamilyProperties
-- - srcImage must not have been created with
-- flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - For each element of pRegions not containing
-- CopyCommandTransformInfoQCOM in its pNext chain,
-- imageOffset.x and (imageExtent.width +
-- imageOffset.x) must both be greater than or equal to
-- 0 and less than or equal to the width of the specified
-- imageSubresource of srcImage
-- - For each element of pRegions not containing
-- CopyCommandTransformInfoQCOM in its pNext chain,
-- imageOffset.y and (imageExtent.height +
-- imageOffset.y) must both be greater than or equal to
-- 0 and less than or equal to the height of the specified
-- imageSubresource of srcImage
-- - If {imageparam} does not have either a depth/stencil or a
-- multi-planar format, then for each element of
-- pRegions, bufferOffset must be a multiple of
-- the format’s texel block size
-- - If {imageparam} has a multi-planar format, then for each
-- element of pRegions, bufferOffset must be a
-- multiple of the element size of the compatible format for the format
-- and the aspectMask of the imageSubresource as
-- defined in ???
-- - If {imageparam} is of type IMAGE_TYPE_1D, then for each
-- element of pRegions, imageOffset.y must be
-- 0 and imageExtent.height must be
-- 1
-- - For each element of pRegions, imageOffset.z and
-- (imageExtent.depth + imageOffset.z) must both
-- be greater than or equal to 0 and less than or equal to the
-- depth of the specified imageSubresource of {imageparam}
-- - If {imageparam} is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- imageOffset.z must be 0 and
-- imageExtent.depth must be 1
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, bufferRowLength must be a multiple
-- of the compressed texel block width
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, bufferImageHeight must be a
-- multiple of the compressed texel block height
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, all members of imageOffset must be
-- a multiple of the corresponding dimensions of the compressed texel
-- block
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, bufferOffset must be a multiple of
-- the compressed texel block size in bytes
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, imageExtent.width must be a
-- multiple of the compressed texel block width or
-- (imageExtent.width + imageOffset.x) must
-- equal the width of the specified imageSubresource of
-- {imageparam}
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, imageExtent.height must be a
-- multiple of the compressed texel block height or
-- (imageExtent.height + imageOffset.y) must
-- equal the height of the specified imageSubresource of
-- {imageparam}
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, imageExtent.depth must be a
-- multiple of the compressed texel block depth or
-- (imageExtent.depth + imageOffset.z) must
-- equal the depth of the specified imageSubresource of
-- {imageparam}
-- - For each element of pRegions,
-- imageSubresource.aspectMask must specify aspects
-- present in {imageparam}
-- - If {imageparam} has a multi-planar format, then for each
-- element of pRegions, imageSubresource.aspectMask
-- must be IMAGE_ASPECT_PLANE_0_BIT,
-- IMAGE_ASPECT_PLANE_1_BIT, or IMAGE_ASPECT_PLANE_2_BIT
-- (with IMAGE_ASPECT_PLANE_2_BIT valid only for image formats
-- with three planes)
-- - If {imageparam} is of type IMAGE_TYPE_3D, for each element
-- of pRegions, imageSubresource.baseArrayLayer
-- must be 0 and imageSubresource.layerCount
-- must be 1
-- - If {imageparam} is not a blocked image, for each element of
-- pRegions, bufferRowLength multiplied by the texel
-- block size of {imageparam} must be less than or equal to
-- 231-1
-- - If {imageparam} is a blocked image, for each element of
-- pRegions, bufferRowLength divided by the compressed
-- texel block width and then multiplied by the texel block size of
-- {imageparam} must be less than or equal to 231-1
-- - If the queue family used to create the CommandPool which
-- commandBuffer was allocated from does not support
-- QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
-- - If {imageparam} has a depth/stencil format, the
-- bufferOffset member of any element of pRegions
-- must be a multiple of 4
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstBuffer must be a valid Buffer
-- handle
-- - pRegions must be a valid pointer to an array of
-- regionCount valid BufferImageCopy2KHR structures
-- - regionCount must be greater than 0
-- - Both of dstBuffer, and srcImage must have
-- been created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Buffer,
-- BufferImageCopy2KHR, Image, ImageLayout,
-- StructureType, cmdCopyImageToBuffer2KHR
data CopyImageToBufferInfo2KHR
CopyImageToBufferInfo2KHR :: Image -> ImageLayout -> Buffer -> Vector (SomeStruct BufferImageCopy2KHR) -> CopyImageToBufferInfo2KHR
-- | srcImage is the source image.
[$sel:srcImage:CopyImageToBufferInfo2KHR] :: CopyImageToBufferInfo2KHR -> Image
-- | srcImageLayout is the layout of the source image subresources
-- for the copy.
[$sel:srcImageLayout:CopyImageToBufferInfo2KHR] :: CopyImageToBufferInfo2KHR -> ImageLayout
-- | dstBuffer is the destination buffer.
[$sel:dstBuffer:CopyImageToBufferInfo2KHR] :: CopyImageToBufferInfo2KHR -> Buffer
-- | pRegions is a pointer to an array of
-- BufferImageCopy2KHR structures specifying the regions to copy.
[$sel:regions:CopyImageToBufferInfo2KHR] :: CopyImageToBufferInfo2KHR -> Vector (SomeStruct BufferImageCopy2KHR)
-- | VkResolveImageInfo2KHR - Structure specifying parameters of resolve
-- image command
--
-- Valid Usage
--
--
-- - The union of all source regions, and the union of all destination
-- regions, specified by the elements of pRegions, must
-- not overlap in memory
--
--
--
-- - If srcImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - srcImage must have a sample count equal to any
-- valid sample count value other than SAMPLE_COUNT_1_BIT
-- - If dstImage is non-sparse then it must be bound
-- completely and contiguously to a single DeviceMemory
-- object
-- - dstImage must have a sample count equal to
-- SAMPLE_COUNT_1_BIT
-- - srcImageLayout must specify the layout of the
-- image subresources of srcImage specified in pRegions
-- at the time this command is executed on a Device
-- - srcImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - dstImageLayout must specify the layout of the
-- image subresources of dstImage specified in pRegions
-- at the time this command is executed on a Device
-- - dstImageLayout must be
-- IMAGE_LAYOUT_SHARED_PRESENT_KHR,
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
-- IMAGE_LAYOUT_GENERAL
-- - The format features of dstImage must
-- contain FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - srcImage and dstImage must have been
-- created with the same image format
-- - The srcSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when srcImage was
-- created
-- - The dstSubresource.mipLevel member of each element of
-- pRegions must be less than the mipLevels
-- specified in ImageCreateInfo when dstImage was
-- created
-- - The srcSubresource.baseArrayLayer +
-- srcSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- srcImage was created
-- - The dstSubresource.baseArrayLayer +
-- dstSubresource.layerCount of each element of
-- pRegions must be less than or equal to the
-- arrayLayers specified in ImageCreateInfo when
-- dstImage was created
-- - dstImage and srcImage must not have been
-- created with flags containing
-- IMAGE_CREATE_SUBSAMPLED_BIT_EXT
-- - If either srcImage or dstImage are of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- srcSubresource.baseArrayLayer must be 0 and
-- srcSubresource.layerCount must be 1
-- - If either srcImage or dstImage are of type
-- IMAGE_TYPE_3D, then for each element of pRegions,
-- dstSubresource.baseArrayLayer must be 0 and
-- dstSubresource.layerCount must be 1
-- - For each element of pRegions, srcOffset.x and
-- (extent.width + srcOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified srcSubresource of
-- srcImage
-- - For each element of pRegions, srcOffset.y and
-- (extent.height + srcOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, srcOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, srcOffset.z and
-- (extent.depth + srcOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified srcSubresource of
-- srcImage
-- - If srcImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- srcOffset.z must be 0 and
-- extent.depth must be 1
-- - For each element of pRegions, dstOffset.x and
-- (extent.width + dstOffset.x) must both be
-- greater than or equal to 0 and less than or equal to the
-- width of the specified dstSubresource of
-- dstImage
-- - For each element of pRegions, dstOffset.y and
-- (extent.height + dstOffset.y) must both be
-- greater than or equal to 0 and less than or equal to the
-- height of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D, then for
-- each element of pRegions, dstOffset.y must be
-- 0 and extent.height must be 1
-- - For each element of pRegions, dstOffset.z and
-- (extent.depth + dstOffset.z) must both be
-- greater than or equal to 0 and less than or equal to the
-- depth of the specified dstSubresource of
-- dstImage
-- - If dstImage is of type IMAGE_TYPE_1D or
-- IMAGE_TYPE_2D, then for each element of pRegions,
-- dstOffset.z must be 0 and
-- extent.depth must be 1
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL
-- - srcImage must be a valid Image handle
-- - srcImageLayout must be a valid ImageLayout
-- value
-- - dstImage must be a valid Image handle
-- - dstImageLayout must be a valid ImageLayout
-- value
-- - pRegions must be a valid pointer to an array of
-- regionCount valid ImageResolve2KHR structures
-- - regionCount must be greater than 0
-- - Both of dstImage, and srcImage must have
-- been created, allocated, or retrieved from the same Device
--
--
-- See Also
--
-- VK_KHR_copy_commands2, Image, ImageLayout,
-- ImageResolve2KHR, StructureType,
-- cmdResolveImage2KHR
data ResolveImageInfo2KHR
ResolveImageInfo2KHR :: Image -> ImageLayout -> Image -> ImageLayout -> Vector ImageResolve2KHR -> ResolveImageInfo2KHR
-- | srcImage is the source image.
[$sel:srcImage:ResolveImageInfo2KHR] :: ResolveImageInfo2KHR -> Image
-- | srcImageLayout is the layout of the source image subresources
-- for the resolve.
[$sel:srcImageLayout:ResolveImageInfo2KHR] :: ResolveImageInfo2KHR -> ImageLayout
-- | dstImage is the destination image.
[$sel:dstImage:ResolveImageInfo2KHR] :: ResolveImageInfo2KHR -> Image
-- | dstImageLayout is the layout of the destination image
-- subresources for the resolve.
[$sel:dstImageLayout:ResolveImageInfo2KHR] :: ResolveImageInfo2KHR -> ImageLayout
-- | pRegions is a pointer to an array of ImageResolve2KHR
-- structures specifying the regions to resolve.
[$sel:regions:ResolveImageInfo2KHR] :: ResolveImageInfo2KHR -> Vector ImageResolve2KHR
type KHR_COPY_COMMANDS_2_SPEC_VERSION = 1
pattern KHR_COPY_COMMANDS_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2"
pattern KHR_COPY_COMMANDS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es)
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferToImageInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageToBufferInfo2KHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_copy_commands2.ResolveImageInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ResolveImageInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ResolveImageInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.ResolveImageInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageToBufferInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageToBufferInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageToBufferInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferToImageInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferToImageInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferToImageInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.CopyImageInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferInfo2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferInfo2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferInfo2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR es)
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR
-- | Name
--
-- VK_EXT_custom_border_color - device extension
--
-- VK_EXT_custom_border_color
--
--
-- - Name String VK_EXT_custom_border_color
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 288
-- - Revision 12
-- - Extension and Version Dependencies
-- - Special Uses
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-04-16
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Joshua Ashton,
-- Valve
- Hans-Kristian Arntzen, Valve
- Philip Rebohle,
-- Valve
- Liam Middlebrook, NVIDIA
- Jeff Bolz,
-- NVIDIA
- Tobias Hector, AMD
- Jason Ekstrand,
-- Intel
- Spencer Fricke, Samsung Electronics
- Graeme
-- Leese, Broadcom
- Jesse Hall, Google
- Jan-Harald
-- Fredriksen, ARM
- Tom Olson, ARM
- Stuart Smith,
-- Imagination Technologies
- Donald Scorgie, Imagination
-- Technologies
- Alex Walters, Imagination
-- Technologies
- Peter Quayle, Imagination
-- Technologies
--
--
-- Description
--
-- This extension provides cross-vendor functionality to specify a custom
-- border color for use when the sampler address mode
-- SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER is used.
--
-- To create a sampler which uses a custom border color set
-- SamplerCreateInfo::borderColor to one of:
--
--
--
-- When BORDER_COLOR_FLOAT_CUSTOM_EXT or
-- BORDER_COLOR_INT_CUSTOM_EXT is used, applications must provide
-- a SamplerCustomBorderColorCreateInfoEXT in the pNext
-- chain for SamplerCreateInfo.
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) Should VkClearColorValue be used for the border color value, or
-- should we have our own struct/union? Do we need to specify the type of
-- the input values for the components? This is more of a concern if
-- VkClearColorValue is used here because it provides a union of
-- float,int,uint types.
--
-- RESOLVED: Will reuse existing VkClearColorValue structure in
-- order to easily take advantage of float,int,uint borderColor types.
--
-- 2) For hardware which supports a limited number of border colors what
-- happens if that number is exceeded? Should this be handled by the
-- driver unbeknownst to the application? In Revision 1 we had solved
-- this issue using a new Object type, however that may have lead to
-- additional system resource consumption which would otherwise not be
-- required.
--
-- RESOLVED: Added
-- PhysicalDeviceCustomBorderColorPropertiesEXT::maxCustomBorderColorSamplers
-- for tracking implementation-specific limit, and Valid Usage statement
-- handling overflow.
--
-- 3) Should this be supported for immutable samplers at all, or by a
-- feature bit? Some implementations may not be able to support custom
-- border colors on immutable samplers — is it worthwhile enabling this
-- to work on them for implementations that can support it, or forbidding
-- it entirely.
--
-- RESOLVED: Samplers created with a custom border color are
-- forbidden from being immutable. This resolves concerns for
-- implementations where the custom border color is an index to a LUT
-- instead of being directly embedded into sampler state.
--
-- 4) Should UINT and SINT (unsigned integer and signed integer) border
-- color types be separated or should they be combined into one generic
-- INT (integer) type?
--
-- RESOLVED: Separating these does not make much sense as the
-- existing fixed border color types do not have this distinction, and
-- there is no reason in hardware to do so. This separation would also
-- create unnecessary work and considerations for the application.
--
-- Version History
--
--
-- - Revision 1, 2019-10-10 (Joshua Ashton)
--
--
--
-- - Revision 2, 2019-10-11 (Liam Middlebrook)
- Remove
-- VkCustomBorderColor object and associated functions
- Add issues
-- concerning HW limitations for custom border color count
-- - Revision 3, 2019-10-12 (Joshua Ashton)
- Re-expose the limits
-- for the maximum number of unique border colors
- Add extra
-- details about border color tracking
- Fix typos
-- - Revision 4, 2019-10-12 (Joshua Ashton)
- Changed
-- maxUniqueCustomBorderColors to a uint32_t from a
-- VkDeviceSize
-- - Revision 5, 2019-10-14 (Liam Middlebrook)
-- - Revision 6, 2019-10-15 (Joshua Ashton)
- Type-ize
-- VK_BORDER_COLOR_CUSTOM
- Fix const-ness on pNext of
-- VkSamplerCustomBorderColorCreateInfoEXT
-- - Revision 7, 2019-11-26 (Liam Middlebrook)
- Renamed
-- maxUniqueCustomBorderColors to maxCustomBorderColors
-- - Revision 8, 2019-11-29 (Joshua Ashton)
- Renamed borderColor
-- member of VkSamplerCustomBorderColorCreateInfoEXT to
-- customBorderColor
-- - Revision 9, 2020-02-19 (Joshua Ashton)
- Renamed
-- maxCustomBorderColors to maxCustomBorderColorSamplers
-- - Revision 10, 2020-02-21 (Joshua Ashton)
- Added format to
-- VkSamplerCustomBorderColorCreateInfoEXT and feature bit
-- - Revision 11, 2020-04-07 (Joshua Ashton)
- Dropped UINT/SINT
-- border color differences, consolidated types
-- - Revision 12, 2020-04-16 (Joshua Ashton)
- Renamed
-- VK_BORDER_COLOR_CUSTOM_FLOAT_EXT to VK_BORDER_COLOR_FLOAT_CUSTOM_EXT
-- for consistency
--
--
-- See Also
--
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- SamplerCustomBorderColorCreateInfoEXT
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_custom_border_color
-- | VkSamplerCustomBorderColorCreateInfoEXT - Structure specifying custom
-- border color
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - format must be a valid Format value
--
--
-- See Also
--
-- VK_EXT_custom_border_color, ClearColorValue,
-- Format, StructureType
data SamplerCustomBorderColorCreateInfoEXT
SamplerCustomBorderColorCreateInfoEXT :: ClearColorValue -> Format -> SamplerCustomBorderColorCreateInfoEXT
-- | customBorderColor is a ClearColorValue representing
-- the desired custom sampler border color.
[$sel:customBorderColor:SamplerCustomBorderColorCreateInfoEXT] :: SamplerCustomBorderColorCreateInfoEXT -> ClearColorValue
-- | format is a Format representing the format of the
-- sampled image view(s). This field may be FORMAT_UNDEFINED if
-- the customBorderColorWithoutFormat feature is enabled.
[$sel:format:SamplerCustomBorderColorCreateInfoEXT] :: SamplerCustomBorderColorCreateInfoEXT -> Format
-- | VkPhysicalDeviceCustomBorderColorPropertiesEXT - Structure describing
-- whether custom border colors can be supported by an implementation
--
-- Description
--
-- If the PhysicalDeviceCustomBorderColorPropertiesEXT structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_custom_border_color, StructureType
data PhysicalDeviceCustomBorderColorPropertiesEXT
PhysicalDeviceCustomBorderColorPropertiesEXT :: Word32 -> PhysicalDeviceCustomBorderColorPropertiesEXT
-- | maxCustomBorderColorSamplers indicates the maximum number of
-- samplers with custom border colors which can simultaneously
-- exist on a device.
[$sel:maxCustomBorderColorSamplers:PhysicalDeviceCustomBorderColorPropertiesEXT] :: PhysicalDeviceCustomBorderColorPropertiesEXT -> Word32
-- | VkPhysicalDeviceCustomBorderColorFeaturesEXT - Structure describing
-- whether custom border colors can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceCustomBorderColorFeaturesEXT structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceCustomBorderColorFeaturesEXT can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_EXT_custom_border_color, Bool32, StructureType
data PhysicalDeviceCustomBorderColorFeaturesEXT
PhysicalDeviceCustomBorderColorFeaturesEXT :: Bool -> Bool -> PhysicalDeviceCustomBorderColorFeaturesEXT
-- | customBorderColors indicates that the implementation supports
-- providing a borderColor value with one of the following
-- values at sampler creation time:
--
--
[$sel:customBorderColors:PhysicalDeviceCustomBorderColorFeaturesEXT] :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
-- | customBorderColorWithoutFormat indicates that explicit
-- formats are not required for custom border colors and the value of the
-- format member of the
-- SamplerCustomBorderColorCreateInfoEXT structure may be
-- FORMAT_UNDEFINED. If this feature bit is not set, applications
-- must provide the Format of the image view(s) being
-- sampled by this sampler in the format member of the
-- SamplerCustomBorderColorCreateInfoEXT structure.
[$sel:customBorderColorWithoutFormat:PhysicalDeviceCustomBorderColorFeaturesEXT] :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
type EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION = 12
pattern EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: forall a. Integral a => a
type EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME = "VK_EXT_custom_border_color"
pattern EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance GHC.Show.Show Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance Foreign.Storable.Storable Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT
module Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2
-- | vkCreateRenderPass2 - Create a new render pass object
--
-- Description
--
-- This command is functionally identical to createRenderPass, but
-- includes extensible sub-structures that include sType and
-- pNext parameters, allowing them to be more easily extended.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- RenderPassCreateInfo2 structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pRenderPass must be a valid pointer to a
-- RenderPass handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- AllocationCallbacks, Device, RenderPass,
-- RenderPassCreateInfo2
createRenderPass2 :: forall a io. (Extendss RenderPassCreateInfo2 a, PokeChain a, MonadIO io) => Device -> RenderPassCreateInfo2 a -> ("allocator" ::: Maybe AllocationCallbacks) -> io RenderPass
-- | vkCmdBeginRenderPass2 - Begin a new render pass
--
-- Description
--
-- After beginning a render pass instance, the command buffer is ready to
-- record the commands for the first subpass of that render pass.
--
-- Valid Usage
--
--
-- - Both the framebuffer and renderPass members of
-- pRenderPassBegin must have been created on the same
-- Device that commandBuffer was allocated on
--
--
--
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_COLOR_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the
-- corresponding attachment image view of the framebuffer specified in
-- the framebuffer member of pRenderPassBegin
-- must have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the stencilInitialLayout or
-- stencilFinalLayout member of the
-- AttachmentDescriptionStencilLayout structures or the
-- stencilLayout member of the
-- AttachmentReferenceStencilLayout structures specified when
-- creating the render pass specified in the renderPass member
-- of pRenderPassBegin is
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_SAMPLED_BIT or
-- IMAGE_USAGE_INPUT_ATTACHMENT_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_TRANSFER_SRC_BIT
-- - If any of the initialLayout or finalLayout
-- member of the AttachmentDescription structures or the
-- layout member of the AttachmentReference structures
-- specified when creating the render pass specified in the
-- renderPass member of pRenderPassBegin is
-- IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding
-- attachment image view of the framebuffer specified in the
-- framebuffer member of pRenderPassBegin must
-- have been created with a usage value including
-- IMAGE_USAGE_TRANSFER_DST_BIT
-- - If the initialLayout member of any of the
-- AttachmentDescription structures specified when creating the
-- render pass specified in the renderPass member of
-- pRenderPassBegin is not IMAGE_LAYOUT_UNDEFINED, then
-- each such initialLayout must be equal to the current
-- layout of the corresponding attachment image subresource of the
-- framebuffer specified in the framebuffer member of
-- pRenderPassBegin
-- - The srcStageMask members of any element of the
-- pDependencies member of RenderPassCreateInfo used to
-- create renderPass must be supported by the
-- capabilities of the queue family identified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- used to create the command pool which commandBuffer was
-- allocated from
-- - The dstStageMask members of any element of the
-- pDependencies member of RenderPassCreateInfo used to
-- create renderPass must be supported by the
-- capabilities of the queue family identified by the
-- queueFamilyIndex member of the CommandPoolCreateInfo
-- used to create the command pool which commandBuffer was
-- allocated from
-- - For any attachment in framebuffer that is used by
-- renderPass and is bound to memory locations that are also
-- bound to another attachment used by renderPass, and if at
-- least one of those uses causes either attachment to be written to,
-- both attachments must have had the
-- ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT set
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pRenderPassBegin must be a valid pointer to a
-- valid RenderPassBeginInfo structure
-- - pSubpassBeginInfo must be a valid pointer to a
-- valid SubpassBeginInfo structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called outside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- CommandBuffer, RenderPassBeginInfo,
-- SubpassBeginInfo
cmdBeginRenderPass2 :: forall a io. (Extendss RenderPassBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> RenderPassBeginInfo a -> SubpassBeginInfo -> io ()
-- | This function will call the supplied action between calls to
-- cmdBeginRenderPass2 and cmdEndRenderPass2
--
-- Note that cmdEndRenderPass2 is *not* called if an exception is
-- thrown by the inner action.
cmdUseRenderPass2 :: forall a io r. (Extendss RenderPassBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> RenderPassBeginInfo a -> SubpassBeginInfo -> SubpassEndInfo -> io r -> io r
-- | vkCmdNextSubpass2 - Transition to the next subpass of a render pass
--
-- Description
--
-- cmdNextSubpass2 is semantically identical to
-- cmdNextSubpass, except that it is extensible, and that
-- contents is provided as part of an extensible structure
-- instead of as a flat parameter.
--
-- Valid Usage
--
--
-- - The current subpass index must be less than the number of
-- subpasses in the render pass minus one
--
--
--
-- - This command must not be recorded when transform feedback
-- is active
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pSubpassBeginInfo must be a valid pointer to a
-- valid SubpassBeginInfo structure
-- - pSubpassEndInfo must be a valid pointer to a valid
-- SubpassEndInfo structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- CommandBuffer, SubpassBeginInfo, SubpassEndInfo
cmdNextSubpass2 :: forall io. MonadIO io => CommandBuffer -> SubpassBeginInfo -> SubpassEndInfo -> io ()
-- | vkCmdEndRenderPass2 - End the current render pass
--
-- Description
--
-- cmdEndRenderPass2 is semantically identical to
-- cmdEndRenderPass, except that it is extensible.
--
-- Valid Usage
--
--
-- - The current subpass index must be equal to the number of
-- subpasses in the render pass minus one
--
--
--
-- - This command must not be recorded when transform feedback
-- is active
-- - The current render pass instance must not have been begun
-- with cmdBeginRenderingKHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pSubpassEndInfo must be a valid pointer to a valid
-- SubpassEndInfo structure
-- - commandBuffer must be in the recording
-- state
-- - The CommandPool that commandBuffer was allocated
-- from must support graphics operations
-- - This command must only be called inside of a render pass
-- instance
-- - commandBuffer must be a primary
-- CommandBuffer
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- CommandBuffer, SubpassEndInfo
cmdEndRenderPass2 :: forall io. MonadIO io => CommandBuffer -> SubpassEndInfo -> io ()
-- | VkAttachmentDescription2 - Structure specifying an attachment
-- description
--
-- Description
--
-- Parameters defined by this structure with the same name as those in
-- AttachmentDescription have the identical effect to those
-- parameters.
--
-- If the separateDepthStencilLayouts feature is enabled, and
-- format is a depth/stencil format, initialLayout and
-- finalLayout can be set to a layout that only specifies
-- the layout of the depth aspect.
--
-- If the pNext chain includes a
-- AttachmentDescriptionStencilLayout structure, then the
-- stencilInitialLayout and stencilFinalLayout members
-- specify the initial and final layouts of the stencil aspect of a
-- depth/stencil format, and initialLayout and
-- finalLayout only apply to the depth aspect. For depth-only
-- formats, the AttachmentDescriptionStencilLayout structure is
-- ignored. For stencil-only formats, the initial and final layouts of
-- the stencil aspect are taken from the
-- AttachmentDescriptionStencilLayout structure if present, or
-- initialLayout and finalLayout if not present.
--
-- If format is a depth/stencil format, and either
-- initialLayout or finalLayout does not specify a
-- layout for the stencil aspect, then the application must
-- specify the initial and final layouts of the stencil aspect by
-- including a AttachmentDescriptionStencilLayout structure in the
-- pNext chain.
--
-- Valid Usage
--
--
--
--
-- - If format is a color format, initialLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - If format is a depth/stencil format,
-- initialLayout must not be
-- IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If format is a color format, finalLayout
-- must not be
-- IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - If format is a depth/stencil format, finalLayout
-- must not be IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
-- - If the separateDepthStencilLayouts feature is not enabled,
-- initialLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If the separateDepthStencilLayouts feature is not enabled,
-- finalLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, initialLayout
-- must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a color format, finalLayout
-- must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes both
-- depth and stencil aspects, and initialLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain
-- must include a AttachmentDescriptionStencilLayout
-- structure
-- - If format is a depth/stencil format which includes both
-- depth and stencil aspects, and finalLayout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain
-- must include a AttachmentDescriptionStencilLayout
-- structure
-- - If format is a depth/stencil format which includes only
-- the depth aspect, initialLayout must not be
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the depth aspect, finalLayout must not be
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the stencil aspect, initialLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
-- - If format is a depth/stencil format which includes only
-- the stencil aspect, finalLayout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- AttachmentDescriptionFlags, AttachmentLoadOp,
-- AttachmentStoreOp, Format, ImageLayout,
-- RenderPassCreateInfo2, SampleCountFlagBits,
-- StructureType
data AttachmentDescription2 (es :: [Type])
AttachmentDescription2 :: Chain es -> AttachmentDescriptionFlags -> Format -> SampleCountFlagBits -> AttachmentLoadOp -> AttachmentStoreOp -> AttachmentLoadOp -> AttachmentStoreOp -> ImageLayout -> ImageLayout -> AttachmentDescription2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> Chain es
-- | flags is a bitmask of AttachmentDescriptionFlagBits
-- specifying additional properties of the attachment.
[$sel:flags:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> AttachmentDescriptionFlags
-- | format is a Format value specifying the format of the
-- image that will be used for the attachment.
[$sel:format:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> Format
-- | samples is a SampleCountFlagBits value specifying the
-- number of samples of the image.
[$sel:samples:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> SampleCountFlagBits
-- | loadOp is a AttachmentLoadOp value specifying how the
-- contents of color and depth components of the attachment are treated
-- at the beginning of the subpass where it is first used.
[$sel:loadOp:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> AttachmentLoadOp
-- | storeOp is a AttachmentStoreOp value specifying how
-- the contents of color and depth components of the attachment are
-- treated at the end of the subpass where it is last used.
[$sel:storeOp:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> AttachmentStoreOp
-- | stencilLoadOp is a AttachmentLoadOp value specifying
-- how the contents of stencil components of the attachment are treated
-- at the beginning of the subpass where it is first used.
[$sel:stencilLoadOp:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> AttachmentLoadOp
-- | stencilStoreOp is a AttachmentStoreOp value specifying
-- how the contents of stencil components of the attachment are treated
-- at the end of the last subpass where it is used.
[$sel:stencilStoreOp:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> AttachmentStoreOp
-- | initialLayout is the layout the attachment image subresource
-- will be in when a render pass instance begins.
[$sel:initialLayout:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> ImageLayout
-- | finalLayout is the layout the attachment image subresource
-- will be transitioned to when a render pass instance ends.
[$sel:finalLayout:AttachmentDescription2] :: AttachmentDescription2 (es :: [Type]) -> ImageLayout
-- | VkAttachmentReference2 - Structure specifying an attachment reference
--
-- Description
--
-- Parameters defined by this structure with the same name as those in
-- AttachmentReference have the identical effect to those
-- parameters.
--
-- aspectMask is ignored when this structure is used to describe
-- anything other than an input attachment reference.
--
-- If the separateDepthStencilLayouts feature is enabled, and
-- attachment has a depth/stencil format, layout
-- can be set to a layout that only specifies the layout of the
-- depth aspect.
--
-- If layout only specifies the layout of the depth aspect of
-- the attachment, the layout of the stencil aspect is specified by the
-- stencilLayout member of a
-- AttachmentReferenceStencilLayout structure included in the
-- pNext chain. Otherwise, layout describes the layout
-- for all relevant image aspects.
--
-- Valid Usage
--
--
--
--
-- - If the separateDepthStencilLayouts feature is not enabled,
-- and attachment is not ATTACHMENT_UNUSED,
-- layout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
-- - If attachment is not ATTACHMENT_UNUSED, and the
-- format of the referenced attachment is a color format, layout
-- must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If attachment is not ATTACHMENT_UNUSED, and the
-- format of the referenced attachment is a depth/stencil format which
-- includes both depth and stencil aspects, and layout is
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain
-- must include a AttachmentReferenceStencilLayout
-- structure
-- - If attachment is not ATTACHMENT_UNUSED, and the
-- format of the referenced attachment is a depth/stencil format which
-- includes only the depth aspect, layout must not be
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-- - If attachment is not ATTACHMENT_UNUSED, and the
-- format of the referenced attachment is a depth/stencil format which
-- includes only the stencil aspect, layout must not be
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- FragmentShadingRateAttachmentInfoKHR, ImageAspectFlags,
-- ImageLayout, StructureType, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve
data AttachmentReference2 (es :: [Type])
AttachmentReference2 :: Chain es -> Word32 -> ImageLayout -> ImageAspectFlags -> AttachmentReference2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:AttachmentReference2] :: AttachmentReference2 (es :: [Type]) -> Chain es
-- | attachment is either an integer value identifying an
-- attachment at the corresponding index in
-- RenderPassCreateInfo2::pAttachments, or
-- ATTACHMENT_UNUSED to signify that this attachment is not used.
[$sel:attachment:AttachmentReference2] :: AttachmentReference2 (es :: [Type]) -> Word32
-- | layout is a ImageLayout value specifying the layout
-- the attachment uses during the subpass.
[$sel:layout:AttachmentReference2] :: AttachmentReference2 (es :: [Type]) -> ImageLayout
-- | aspectMask is a mask of which aspect(s) can be
-- accessed within the specified subpass as an input attachment.
[$sel:aspectMask:AttachmentReference2] :: AttachmentReference2 (es :: [Type]) -> ImageAspectFlags
-- | VkSubpassDescription2 - Structure specifying a subpass description
--
-- Description
--
-- Parameters defined by this structure with the same name as those in
-- SubpassDescription have the identical effect to those
-- parameters.
--
-- viewMask has the same effect for the described subpass as
-- RenderPassMultiviewCreateInfo::pViewMasks has on each
-- corresponding subpass.
--
-- If a FragmentShadingRateAttachmentInfoKHR structure is included
-- in the pNext chain, pFragmentShadingRateAttachment
-- is not NULL, and its attachment member is not
-- ATTACHMENT_UNUSED, the identified attachment defines a fragment
-- shading rate attachment for that subpass.
--
-- Valid Usage
--
--
--
--
-- - colorAttachmentCount must be less than or equal to
-- PhysicalDeviceLimits::maxColorAttachments
-- - If the first use of an attachment in this render pass is as an
-- input attachment, and the attachment is not also used as a color or
-- depth/stencil attachment in the same subpass, then loadOp
-- must not be ATTACHMENT_LOAD_OP_CLEAR
-- - If pResolveAttachments is not NULL, for each
-- resolve attachment that does not have the value
-- ATTACHMENT_UNUSED, the corresponding color attachment
-- must not have the value ATTACHMENT_UNUSED
-- - If pResolveAttachments is not NULL, for each
-- resolve attachment that is not ATTACHMENT_UNUSED, the
-- corresponding color attachment must not have a sample count of
-- SAMPLE_COUNT_1_BIT
-- - If pResolveAttachments is not NULL, each resolve
-- attachment that is not ATTACHMENT_UNUSED must have a
-- sample count of SAMPLE_COUNT_1_BIT
-- - Any given element of pResolveAttachments must have
-- the same Format as its corresponding color attachment
-- - All attachments in pColorAttachments that are not
-- ATTACHMENT_UNUSED must have the same sample count
-- - All attachments in pInputAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain at least
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - All attachments in pColorAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - All attachments in pResolveAttachments that are not
-- ATTACHMENT_UNUSED must have image formats whose
-- potential format features contain
-- FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
-- - If pDepthStencilAttachment is not NULL and the
-- attachment is not ATTACHMENT_UNUSED then it must have an
-- image format whose potential format features contain
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If the VK_AMD_mixed_attachment_samples extension is
-- enabled, all attachments in pColorAttachments that are not
-- ATTACHMENT_UNUSED must have a sample count that is
-- smaller than or equal to the sample count of
-- pDepthStencilAttachment if it is not
-- ATTACHMENT_UNUSED
-- - If neither the VK_AMD_mixed_attachment_samples nor the
-- VK_NV_framebuffer_mixed_samples extensions are enabled, and
-- if pDepthStencilAttachment is not ATTACHMENT_UNUSED
-- and any attachments in pColorAttachments are not
-- ATTACHMENT_UNUSED, they must have the same sample
-- count
-- - Each element of pPreserveAttachments must not be
-- ATTACHMENT_UNUSED
-- - Any given element of pPreserveAttachments must not
-- also be an element of any other member of the subpass description
-- - If any attachment is used by more than one
-- AttachmentReference2 member, then each use must use the
-- same layout
-- - Attachments must follow the image layout
-- requirements based on the type of attachment it is being used
-- as
-- - If flags includes
-- SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it
-- must also include
-- SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX
-- - If the attachment member of any element of
-- pInputAttachments is not ATTACHMENT_UNUSED, then the
-- aspectMask member must be a valid combination of
-- ImageAspectFlagBits
-- - If the attachment member of any element of
-- pInputAttachments is not ATTACHMENT_UNUSED, then the
-- aspectMask member must not be 0
-- - If the attachment member of any element of
-- pInputAttachments is not ATTACHMENT_UNUSED, then the
-- aspectMask member must not include
-- IMAGE_ASPECT_METADATA_BIT
-- - If the attachment member of any element of
-- pInputAttachments is not ATTACHMENT_UNUSED, then the
-- aspectMask member must not include
-- VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index
-- i
-- - An attachment must not be used in both
-- pDepthStencilAttachment and pColorAttachments
--
--
-- 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
-- FragmentShadingRateAttachmentInfoKHR or
-- SubpassDescriptionDepthStencilResolve
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- SubpassDescriptionFlagBits values
-- - pipelineBindPoint must be a valid
-- PipelineBindPoint value
-- - If inputAttachmentCount is not 0,
-- pInputAttachments must be a valid pointer to an array
-- of inputAttachmentCount valid AttachmentReference2
-- structures
-- - If colorAttachmentCount is not 0,
-- pColorAttachments must be a valid pointer to an array
-- of colorAttachmentCount valid AttachmentReference2
-- structures
-- - If colorAttachmentCount is not 0, and
-- pResolveAttachments is not NULL,
-- pResolveAttachments must be a valid pointer to an
-- array of colorAttachmentCount valid
-- AttachmentReference2 structures
-- - If pDepthStencilAttachment is not NULL,
-- pDepthStencilAttachment must be a valid pointer to a
-- valid AttachmentReference2 structure
-- - If preserveAttachmentCount is not 0,
-- pPreserveAttachments must be a valid pointer to an
-- array of preserveAttachmentCount uint32_t
-- values
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- AttachmentReference2, PipelineBindPoint,
-- RenderPassCreateInfo2, StructureType,
-- SubpassDescriptionFlags
data SubpassDescription2 (es :: [Type])
SubpassDescription2 :: Chain es -> SubpassDescriptionFlags -> PipelineBindPoint -> Word32 -> Vector (SomeStruct AttachmentReference2) -> Vector (SomeStruct AttachmentReference2) -> Vector (SomeStruct AttachmentReference2) -> Maybe (SomeStruct AttachmentReference2) -> Vector Word32 -> SubpassDescription2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Chain es
-- | flags is a bitmask of SubpassDescriptionFlagBits
-- specifying usage of the subpass.
[$sel:flags:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> SubpassDescriptionFlags
-- | pipelineBindPoint is a PipelineBindPoint value
-- specifying the pipeline type supported for this subpass.
[$sel:pipelineBindPoint:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> PipelineBindPoint
-- | viewMask is a bitfield of view indices describing which views
-- rendering is broadcast to in this subpass, when multiview is enabled.
[$sel:viewMask:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Word32
-- | pInputAttachments is a pointer to an array of
-- AttachmentReference2 structures defining the input attachments
-- for this subpass and their layouts.
[$sel:inputAttachments:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Vector (SomeStruct AttachmentReference2)
-- | pColorAttachments is a pointer to an array of
-- colorAttachmentCount AttachmentReference2 structures
-- defining the color attachments for this subpass and their layouts.
[$sel:colorAttachments:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Vector (SomeStruct AttachmentReference2)
-- | pResolveAttachments is NULL or a pointer to an array
-- of colorAttachmentCount AttachmentReference2
-- structures defining the resolve attachments for this subpass and their
-- layouts.
[$sel:resolveAttachments:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Vector (SomeStruct AttachmentReference2)
-- | pDepthStencilAttachment is a pointer to a
-- AttachmentReference2 structure specifying the depth/stencil
-- attachment for this subpass and its layout.
[$sel:depthStencilAttachment:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Maybe (SomeStruct AttachmentReference2)
-- | pPreserveAttachments is a pointer to an array of
-- preserveAttachmentCount render pass attachment indices
-- identifying attachments that are not used by this subpass, but whose
-- contents must be preserved throughout the subpass.
[$sel:preserveAttachments:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Vector Word32
-- | VkSubpassDependency2 - Structure specifying a subpass dependency
--
-- Description
--
-- Parameters defined by this structure with the same name as those in
-- SubpassDependency have the identical effect to those
-- parameters.
--
-- viewOffset has the same effect for the described subpass
-- dependency as
-- RenderPassMultiviewCreateInfo::pViewOffsets has on
-- each corresponding subpass dependency.
--
-- If a MemoryBarrier2KHR structure is included in the
-- pNext chain, srcStageMask, dstStageMask,
-- srcAccessMask, and dstAccessMask parameters are
-- ignored. The synchronization and access scopes instead are defined by
-- the parameters of MemoryBarrier2KHR.
--
-- Valid Usage
--
--
--
--
-- - If the tessellation shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- srcStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- srcStageMask must not be 0
-- - If the geometry shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_GEOMETRY_SHADER_BIT
-- - If the tessellation shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
-- PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
-- - If the conditional rendering feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
-- - If the fragment density map feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-- - If the transform feedback feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
-- - If the mesh shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_MESH_SHADER_BIT_NV
-- - If the task shaders feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_TASK_SHADER_BIT_NV
-- - If the shading rate image feature is not enabled,
-- dstStageMask must not contain
-- PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
-- - If the synchronization2 feature is not enabled,
-- dstStageMask must not be 0
-- - srcSubpass must be less than or equal to
-- dstSubpass, unless one of them is SUBPASS_EXTERNAL, to
-- avoid cyclic dependencies and ensure a valid execution order
-- - srcSubpass and dstSubpass must not both
-- be equal to SUBPASS_EXTERNAL
-- - If srcSubpass is equal to dstSubpass and not all
-- of the stages in srcStageMask and dstStageMask are
-- framebuffer-space stages, the logically latest pipeline
-- stage in srcStageMask must be logically earlier
-- than or equal to the logically earliest pipeline stage in
-- dstStageMask
-- - Any access flag included in srcAccessMask must be
-- supported by one of the pipeline stages in srcStageMask, as
-- specified in the table of supported access types
-- - Any access flag included in dstAccessMask must be
-- supported by one of the pipeline stages in dstStageMask, as
-- specified in the table of supported access types
-- - If dependencyFlags includes
-- DEPENDENCY_VIEW_LOCAL_BIT, srcSubpass must not
-- be equal to SUBPASS_EXTERNAL
-- - If dependencyFlags includes
-- DEPENDENCY_VIEW_LOCAL_BIT, dstSubpass must not
-- be equal to SUBPASS_EXTERNAL
-- - If srcSubpass equals dstSubpass, and
-- srcStageMask and dstStageMask both include a
-- framebuffer-space stage, then dependencyFlags
-- must include DEPENDENCY_BY_REGION_BIT
-- - If viewOffset is not equal to 0,
-- srcSubpass must not be equal to
-- dstSubpass
-- - If dependencyFlags does not include
-- DEPENDENCY_VIEW_LOCAL_BIT, viewOffset must be
-- 0
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of MemoryBarrier2KHR
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - srcStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - dstStageMask must be a valid combination of
-- PipelineStageFlagBits values
-- - srcAccessMask must be a valid combination of
-- AccessFlagBits values
-- - dstAccessMask must be a valid combination of
-- AccessFlagBits values
-- - dependencyFlags must be a valid combination of
-- DependencyFlagBits values
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- AccessFlags, DependencyFlags, PipelineStageFlags,
-- RenderPassCreateInfo2, StructureType
data SubpassDependency2 (es :: [Type])
SubpassDependency2 :: Chain es -> Word32 -> Word32 -> PipelineStageFlags -> PipelineStageFlags -> AccessFlags -> AccessFlags -> DependencyFlags -> Int32 -> SubpassDependency2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> Chain es
-- | srcSubpass is the subpass index of the first subpass in the
-- dependency, or SUBPASS_EXTERNAL.
[$sel:srcSubpass:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> Word32
-- | dstSubpass is the subpass index of the second subpass in the
-- dependency, or SUBPASS_EXTERNAL.
[$sel:dstSubpass:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> Word32
-- | srcStageMask is a bitmask of PipelineStageFlagBits
-- specifying the source stage mask.
[$sel:srcStageMask:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> PipelineStageFlags
-- | dstStageMask is a bitmask of PipelineStageFlagBits
-- specifying the destination stage mask
[$sel:dstStageMask:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> PipelineStageFlags
-- | srcAccessMask is a bitmask of AccessFlagBits
-- specifying a source access mask.
[$sel:srcAccessMask:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> AccessFlags
-- | dstAccessMask is a bitmask of AccessFlagBits
-- specifying a destination access mask.
[$sel:dstAccessMask:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> AccessFlags
-- | dependencyFlags is a bitmask of DependencyFlagBits.
[$sel:dependencyFlags:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> DependencyFlags
-- | viewOffset controls which views in the source subpass the
-- views in the destination subpass depend on.
[$sel:viewOffset:SubpassDependency2] :: SubpassDependency2 (es :: [Type]) -> Int32
-- | VkRenderPassCreateInfo2 - Structure specifying parameters of a newly
-- created render pass
--
-- Description
--
-- Parameters defined by this structure with the same name as those in
-- RenderPassCreateInfo have the identical effect to those
-- parameters; the child structures are variants of those used in
-- RenderPassCreateInfo which add sType and
-- pNext parameters, allowing them to be extended.
--
-- If the SubpassDescription2::viewMask member of any
-- element of pSubpasses is not zero, multiview
-- functionality is considered to be enabled for this render pass.
--
-- correlatedViewMaskCount and pCorrelatedViewMasks
-- have the same effect as
-- RenderPassMultiviewCreateInfo::correlationMaskCount
-- and RenderPassMultiviewCreateInfo::pCorrelationMasks,
-- respectively.
--
-- Valid Usage
--
--
-- - If any two subpasses operate on attachments with overlapping
-- ranges of the same DeviceMemory object, and at least one
-- subpass writes to that area of DeviceMemory, a subpass
-- dependency must be included (either directly or via some
-- intermediate subpasses) between them
--
--
--
-- - If the attachment member of any element of
-- pInputAttachments, pColorAttachments,
-- pResolveAttachments or pDepthStencilAttachment, or
-- the attachment indexed by any element of pPreserveAttachments
-- in any given element of pSubpasses is bound to a range of a
-- DeviceMemory object that overlaps with any other attachment in
-- any subpass (including the same subpass), the
-- AttachmentDescription2 structures describing them must
-- include ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT in
-- flags
-- - If the attachment member of any element of
-- pInputAttachments, pColorAttachments,
-- pResolveAttachments or pDepthStencilAttachment, or
-- any element of pPreserveAttachments in any given element of
-- pSubpasses is not ATTACHMENT_UNUSED, then it
-- must be less than attachmentCount
-- - If the pNext chain includes a
-- RenderPassFragmentDensityMapCreateInfoEXT structure and the
-- fragmentDensityMapAttachment member is not
-- ATTACHMENT_UNUSED, then attachment must be less
-- than attachmentCount
-- - If the pSubpasses pNext chain includes a
-- SubpassDescriptionDepthStencilResolve structure and the
-- pDepthStencilResolveAttachment member is not NULL
-- and does not have the value ATTACHMENT_UNUSED, then
-- attachment must be less than
-- attachmentCount
-- - For any member of pAttachments with a loadOp
-- equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that
-- attachment must not specify a layout equal to
-- IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
-- - For any member of pAttachments with a
-- stencilLoadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the
-- first use of that attachment must not specify a layout
-- equal to IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, or
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
-- - For any element of pDependencies, if the
-- srcSubpass is not SUBPASS_EXTERNAL, all stage flags
-- included in the srcStageMask member of that dependency
-- must be a pipeline stage supported by the pipeline
-- identified by the pipelineBindPoint member of the source
-- subpass
-- - For any element of pDependencies, if the
-- dstSubpass is not SUBPASS_EXTERNAL, all stage flags
-- included in the dstStageMask member of that dependency
-- must be a pipeline stage supported by the pipeline
-- identified by the pipelineBindPoint member of the destination
-- subpass
-- - The set of bits included in any element of
-- pCorrelatedViewMasks must not overlap with the set of
-- bits included in any other element of
-- pCorrelatedViewMasks
-- - If the SubpassDescription2::viewMask member of all
-- elements of pSubpasses is 0,
-- correlatedViewMaskCount must be 0
-- - The SubpassDescription2::viewMask member of all
-- elements of pSubpasses must either all be 0,
-- or all not be 0
-- - If the SubpassDescription2::viewMask member of all
-- elements of pSubpasses is 0, the
-- dependencyFlags member of any element of
-- pDependencies must not include
-- DEPENDENCY_VIEW_LOCAL_BIT
-- - For any element of pDependencies where its
-- srcSubpass member equals its dstSubpass member, if
-- the viewMask member of the corresponding element of
-- pSubpasses includes more than one bit, its
-- dependencyFlags member must include
-- DEPENDENCY_VIEW_LOCAL_BIT
-- - If the attachment member of any element of the
-- pInputAttachments member of any element of
-- pSubpasses is not ATTACHMENT_UNUSED, the
-- aspectMask member of that element of
-- pInputAttachments must only include aspects that are
-- present in images of the format specified by the element of
-- pAttachments specified by attachment
-- - The srcSubpass member of each element of
-- pDependencies must be less than
-- subpassCount
-- - The dstSubpass member of each element of
-- pDependencies must be less than
-- subpassCount
-- - If any element of pAttachments is used as a fragment
-- shading rate attachment in any subpass, it must not be used as
-- any other attachment in the render pass
-- - If flags includes
-- RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM, an element of
-- pSubpasses includes an instance of
-- FragmentShadingRateAttachmentInfoKHR in its pNext
-- chain, and the pFragmentShadingRateAttachment member of that
-- structure is not equal to NULL, the attachment
-- member of pFragmentShadingRateAttachment must be
-- ATTACHMENT_UNUSED
-- - If any element of pAttachments is used as a fragment
-- shading rate attachment in any subpass, it must have an image
-- format whose potential format features contain
-- FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-- - If the pipeline is being created with fragment shader state, and
-- the VK_QCOM_render_pass_shader_resolve extension is enabled,
-- and if subpass has any input attachments, and if the subpass
-- description contains
-- SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then the sample
-- count of the input attachments must equal
-- rasterizationSamples
-- - If the pipeline is being created with fragment shader state, and
-- the VK_QCOM_render_pass_shader_resolve extension is enabled,
-- and if the subpass description contains
-- SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then
-- sampleShadingEnable must be false
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if
-- pResolveAttachments is not NULL, then each resolve
-- attachment must be ATTACHMENT_UNUSED
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if
-- pDepthStencilResolveAttachment is not NULL, then the
-- depth/stencil resolve attachment must be
-- ATTACHMENT_UNUSED
-- - If flags includes
-- SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass
-- must be the last subpass in a subpass dependency chain
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pNext must be NULL or a pointer to a
-- valid instance of
-- RenderPassFragmentDensityMapCreateInfoEXT
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- RenderPassCreateFlagBits values
-- - If attachmentCount is not 0,
-- pAttachments must be a valid pointer to an array of
-- attachmentCount valid AttachmentDescription2
-- structures
-- - pSubpasses must be a valid pointer to an array of
-- subpassCount valid SubpassDescription2 structures
-- - If dependencyCount is not 0,
-- pDependencies must be a valid pointer to an array of
-- dependencyCount valid SubpassDependency2
-- structures
-- - If correlatedViewMaskCount is not 0,
-- pCorrelatedViewMasks must be a valid pointer to an
-- array of correlatedViewMaskCount uint32_t
-- values
-- - subpassCount must be greater than 0
--
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- AttachmentDescription2, RenderPassCreateFlags,
-- StructureType, SubpassDependency2,
-- SubpassDescription2, createRenderPass2,
-- createRenderPass2KHR
data RenderPassCreateInfo2 (es :: [Type])
RenderPassCreateInfo2 :: Chain es -> RenderPassCreateFlags -> Vector (SomeStruct AttachmentDescription2) -> Vector (SomeStruct SubpassDescription2) -> Vector (SomeStruct SubpassDependency2) -> Vector Word32 -> RenderPassCreateInfo2 (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> Chain es
-- | flags is reserved for future use.
[$sel:flags:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> RenderPassCreateFlags
-- | pAttachments is a pointer to an array of
-- attachmentCount AttachmentDescription2 structures
-- describing the attachments used by the render pass.
[$sel:attachments:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> Vector (SomeStruct AttachmentDescription2)
-- | pSubpasses is a pointer to an array of subpassCount
-- SubpassDescription2 structures describing each subpass.
[$sel:subpasses:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> Vector (SomeStruct SubpassDescription2)
-- | pDependencies is a pointer to an array of
-- dependencyCount SubpassDependency2 structures
-- describing dependencies between pairs of subpasses.
[$sel:dependencies:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> Vector (SomeStruct SubpassDependency2)
-- | pCorrelatedViewMasks is a pointer to an array of view masks
-- indicating sets of views that may be more efficient to render
-- concurrently.
[$sel:correlatedViewMasks:RenderPassCreateInfo2] :: RenderPassCreateInfo2 (es :: [Type]) -> Vector Word32
-- | VkSubpassBeginInfo - Structure specifying subpass begin information
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- StructureType, SubpassContents,
-- cmdBeginRenderPass2, cmdBeginRenderPass2KHR,
-- cmdNextSubpass2, cmdNextSubpass2KHR
data SubpassBeginInfo
SubpassBeginInfo :: SubpassContents -> SubpassBeginInfo
-- | contents is a SubpassContents value specifying how the
-- commands in the next subpass will be provided.
--
-- contents must be a valid SubpassContents value
[$sel:contents:SubpassBeginInfo] :: SubpassBeginInfo -> SubpassContents
-- | VkSubpassEndInfo - Structure specifying subpass end information
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_create_renderpass2, VK_VERSION_1_2,
-- StructureType, cmdEndRenderPass2,
-- cmdEndRenderPass2KHR, cmdNextSubpass2,
-- cmdNextSubpass2KHR
data SubpassEndInfo
SubpassEndInfo :: SubpassEndInfo
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es)
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.RenderPassCreateInfo2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2 es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2 es)
-- | Name
--
-- VK_KHR_fragment_shading_rate - device extension
--
-- VK_KHR_fragment_shading_rate
--
--
-- - Name String
-- VK_KHR_fragment_shading_rate
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 227
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_create_renderpass2
- Requires
-- VK_KHR_get_physical_device_properties2
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-30
--
--
--
-- - Interactions and External Dependencies
-- - Contributors
- Tobias Hector,
-- AMD
- Guennadi Riguer, AMD
- Matthaeus Chajdas,
-- AMD
- Pat Brown, Nvidia
- Matthew Netsch,
-- Qualcomm
- Slawomir Grajewski, Intel
- Jan-Harald
-- Fredriksen, Arm
- Jeff Bolz, Nvidia
- Contributors to the
-- VK_NV_shading_rate_image specification
- Contributors to the
-- VK_EXT_fragment_density_map specification
--
--
-- Description
--
-- This extension adds the ability to change the rate at which fragments
-- are shaded. Rather than the usual single fragment invocation for each
-- pixel covered by a primitive, multiple pixels can be shaded by a
-- single fragment shader invocation.
--
-- Up to three methods are available to the application to change the
-- fragment shading rate:
--
--
--
-- Additionally, these rates can all be specified and combined in order
-- to adjust the overall detail in the image at each point.
--
-- This functionality can be used to focus shading efforts where higher
-- levels of detail are needed in some parts of a scene compared to
-- others. This can be particularly useful in high resolution rendering,
-- or for XR contexts.
--
-- This extension also adds support for the
-- SPV_KHR_fragment_shading_rate extension which enables setting
-- the primitive fragment shading rate, and allows querying the
-- final shading rate from a fragment shader.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Enum Constants
--
--
--
--
--
-- If VK_KHR_format_feature_flags2 is supported:
--
--
--
-- Version History
--
--
-- - Revision 1, 2020-05-06 (Tobias Hector)
--
--
--
-- - Revision 2, 2021-09-30 (Jon Leech)
- Add interaction with
-- VK_KHR_format_feature_flags2 to
-- vk.xml
--
--
-- See Also
--
-- FragmentShadingRateAttachmentInfoKHR,
-- FragmentShadingRateCombinerOpKHR,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- cmdSetFragmentShadingRateKHR,
-- getPhysicalDeviceFragmentShadingRatesKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_fragment_shading_rate
-- | vkCmdSetFragmentShadingRateKHR - Set pipeline fragment shading rate
-- and combiner operation dynamically for a command buffer
--
-- Description
--
-- This command sets the pipeline fragment shading rate and combiner
-- operation for subsequent drawing commands when the graphics pipeline
-- is created with DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineFragmentShadingRateStateCreateInfoKHR values used to
-- create the currently active pipeline.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, CommandBuffer,
-- Extent2D, FragmentShadingRateCombinerOpKHR
cmdSetFragmentShadingRateKHR :: forall io. MonadIO io => CommandBuffer -> ("fragmentSize" ::: Extent2D) -> ("combinerOps" ::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)) -> io ()
-- | vkGetPhysicalDeviceFragmentShadingRatesKHR - Get available shading
-- rates for a physical device
--
-- Description
--
-- If pFragmentShadingRates is NULL, then the number of
-- fragment shading rates available is returned in
-- pFragmentShadingRateCount. Otherwise,
-- pFragmentShadingRateCount must point to a variable set
-- by the user to the number of elements in the
-- pFragmentShadingRates array, and on return the variable is
-- overwritten with the number of structures actually written to
-- pFragmentShadingRates. If pFragmentShadingRateCount
-- is less than the number of fragment shading rates available, at most
-- pFragmentShadingRateCount structures will be written, and
-- INCOMPLETE will be returned instead of SUCCESS, to
-- indicate that not all the available fragment shading rates were
-- returned.
--
-- The returned array of fragment shading rates must be ordered
-- from largest fragmentSize.width value to smallest, and each
-- set of fragment shading rates with the same
-- fragmentSize.width value must be ordered from largest
-- fragmentSize.height to smallest. Any two entries in the array
-- must not have the same fragmentSize values.
--
-- For any entry in the array, the following rules also apply:
--
--
-- - The value of fragmentSize.width must be less than
-- or equal to maxFragmentSize.width.
-- - The value of fragmentSize.width must be greater
-- than or equal to 1.
-- - The value of fragmentSize.width must be a
-- power-of-two.
-- - The value of fragmentSize.height must be less than
-- or equal to maxFragmentSize.height.
-- - The value of fragmentSize.height must be greater
-- than or equal to 1.
-- - The value of fragmentSize.height must be a
-- power-of-two.
-- - The highest sample count in sampleCounts must be
-- less than or equal to
-- maxFragmentShadingRateRasterizationSamples.
-- - The product of fragmentSize.width,
-- fragmentSize.height, and the highest sample count in
-- sampleCounts must be less than or equal to
-- maxFragmentShadingRateCoverageSamples.
--
--
-- Implementations must support at least the following shading
-- rates:
--
-- TODO: table
--
-- If framebufferColorSampleCounts, includes
-- SAMPLE_COUNT_2_BIT, the required rates must also include
-- SAMPLE_COUNT_2_BIT.
--
-- Note
--
-- Including the {1,1} fragment size is done for completeness; it has no
-- actual effect on the support of rendering without setting the fragment
-- size. All sample counts and render pass transforms are supported for
-- this rate.
--
-- The returned set of fragment shading rates must be returned in
-- the native (rotated) coordinate system. For rasterization using render
-- pass transform not equal to
-- SURFACE_TRANSFORM_IDENTITY_BIT_KHR, the application must
-- transform the returned fragment shading rates into the current
-- (unrotated) coordinate system to get the supported rates for that
-- transform.
--
-- Note
--
-- For example, consider an implementation returning support for 4x2, but
-- not 2x4 in the set of supported fragment shading rates. This means
-- that for transforms SURFACE_TRANSFORM_ROTATE_90_BIT_KHR and
-- SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, 2x4 is a supported rate,
-- but 4x2 is an unsupported rate.
--
-- Valid Usage (Implicit)
--
--
--
--
-- - pFragmentShadingRateCount must be a valid pointer
-- to a uint32_t value
-- - If the value referenced by pFragmentShadingRateCount is
-- not 0, and pFragmentShadingRates is not
-- NULL, pFragmentShadingRates must be a valid
-- pointer to an array of pFragmentShadingRateCount
-- PhysicalDeviceFragmentShadingRateKHR structures
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, PhysicalDevice,
-- PhysicalDeviceFragmentShadingRateKHR
getPhysicalDeviceFragmentShadingRatesKHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "fragmentShadingRates" ::: Vector PhysicalDeviceFragmentShadingRateKHR)
-- | VkFragmentShadingRateAttachmentInfoKHR - Structure specifying a
-- fragment shading rate attachment for a subpass
--
-- Description
--
-- If no shading rate attachment is specified, or if this structure is
-- not specified, the implementation behaves as if a valid shading rate
-- attachment was specified with all texels specifying a single pixel per
-- fragment.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pFragmentShadingRateAttachment is not NULL,
-- pFragmentShadingRateAttachment must be a valid pointer
-- to a valid AttachmentReference2 structure
--
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, AttachmentReference2,
-- Extent2D, StructureType
data FragmentShadingRateAttachmentInfoKHR
FragmentShadingRateAttachmentInfoKHR :: Maybe (SomeStruct AttachmentReference2) -> Extent2D -> FragmentShadingRateAttachmentInfoKHR
-- | pFragmentShadingRateAttachment is NULL or a pointer
-- to a AttachmentReference2 structure defining the fragment
-- shading rate attachment for this subpass.
[$sel:fragmentShadingRateAttachment:FragmentShadingRateAttachmentInfoKHR] :: FragmentShadingRateAttachmentInfoKHR -> Maybe (SomeStruct AttachmentReference2)
-- | shadingRateAttachmentTexelSize specifies the size of the
-- portion of the framebuffer corresponding to each texel in
-- pFragmentShadingRateAttachment.
[$sel:shadingRateAttachmentTexelSize:FragmentShadingRateAttachmentInfoKHR] :: FragmentShadingRateAttachmentInfoKHR -> Extent2D
-- | VkPipelineFragmentShadingRateStateCreateInfoKHR - Structure specifying
-- parameters controlling the fragment shading rate
--
-- Description
--
-- If the pNext chain of GraphicsPipelineCreateInfo
-- includes a PipelineFragmentShadingRateStateCreateInfoKHR
-- structure, then that structure includes parameters controlling the
-- pipeline fragment shading rate.
--
-- If this structure is not present, fragmentSize is considered
-- to be equal to (1,1), and both elements of combinerOps are
-- considered to be equal to
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, Extent2D,
-- FragmentShadingRateCombinerOpKHR, StructureType
data PipelineFragmentShadingRateStateCreateInfoKHR
PipelineFragmentShadingRateStateCreateInfoKHR :: Extent2D -> (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR) -> PipelineFragmentShadingRateStateCreateInfoKHR
-- | fragmentSize specifies a Extent2D structure containing
-- the fragment size used to define the pipeline fragment shading rate
-- for drawing commands using this pipeline.
[$sel:fragmentSize:PipelineFragmentShadingRateStateCreateInfoKHR] :: PipelineFragmentShadingRateStateCreateInfoKHR -> Extent2D
-- | combinerOps specifies a
-- FragmentShadingRateCombinerOpKHR value determining how the
-- pipeline, primitive, and attachment shading rates
-- are combined for fragments generated by drawing commands using
-- the created pipeline.
[$sel:combinerOps:PipelineFragmentShadingRateStateCreateInfoKHR] :: PipelineFragmentShadingRateStateCreateInfoKHR -> (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)
-- | VkPhysicalDeviceFragmentShadingRateFeaturesKHR - Structure indicating
-- support for variable rate fragment shading
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceFragmentShadingRateFeaturesKHR structure
-- is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentShadingRateFeaturesKHR can also be
-- used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, Bool32,
-- StructureType
data PhysicalDeviceFragmentShadingRateFeaturesKHR
PhysicalDeviceFragmentShadingRateFeaturesKHR :: Bool -> Bool -> Bool -> PhysicalDeviceFragmentShadingRateFeaturesKHR
-- | pipelineFragmentShadingRate indicates that the implementation
-- supports the pipeline fragment shading rate.
[$sel:pipelineFragmentShadingRate:PhysicalDeviceFragmentShadingRateFeaturesKHR] :: PhysicalDeviceFragmentShadingRateFeaturesKHR -> Bool
-- | primitiveFragmentShadingRate indicates that the
-- implementation supports the primitive fragment shading rate.
[$sel:primitiveFragmentShadingRate:PhysicalDeviceFragmentShadingRateFeaturesKHR] :: PhysicalDeviceFragmentShadingRateFeaturesKHR -> Bool
-- | attachmentFragmentShadingRate indicates that the
-- implementation supports the attachment fragment shading rate.
[$sel:attachmentFragmentShadingRate:PhysicalDeviceFragmentShadingRateFeaturesKHR] :: PhysicalDeviceFragmentShadingRateFeaturesKHR -> Bool
-- | VkPhysicalDeviceFragmentShadingRatePropertiesKHR - Structure
-- describing variable fragment shading rate limits that can be supported
-- by an implementation
--
-- Description
--
-- Note
--
-- Multiplication of the combiner rates using the fragment width/height
-- in linear space is equivalent to an addition of those values in log2
-- space. Some implementations inadvertently implemented an addition in
-- linear space due to unclear requirements originating outside of this
-- specification. This resulted in
-- fragmentShadingRateStrictMultiplyCombiner being added.
-- Fortunately, this only affects situations where a rate of 1 in either
-- dimension is combined with another rate of 1. All other combinations
-- result in the exact same result as if multiplication was performed in
-- linear space due to the clamping logic, and the fact that both the sum
-- and product of 2 and 2 are equal. In many cases, this limit will not
-- affect the correct operation of applications.
--
-- If the PhysicalDeviceFragmentShadingRatePropertiesKHR structure
-- is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- These properties are related to fragment shading rates.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, Bool32, Extent2D,
-- SampleCountFlagBits, StructureType
data PhysicalDeviceFragmentShadingRatePropertiesKHR
PhysicalDeviceFragmentShadingRatePropertiesKHR :: Extent2D -> Extent2D -> Word32 -> Bool -> Bool -> Bool -> Extent2D -> Word32 -> Word32 -> SampleCountFlagBits -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceFragmentShadingRatePropertiesKHR
-- | minFragmentShadingRateAttachmentTexelSize indicates minimum
-- supported width and height of the portion of the framebuffer
-- corresponding to each texel in a fragment shading rate attachment.
-- Each value must be less than or equal to the values in
-- maxFragmentShadingRateAttachmentTexelSize. Each value
-- must be a power-of-two. It must be (0,0) if the
-- attachmentFragmentShadingRate feature is not supported.
[$sel:minFragmentShadingRateAttachmentTexelSize:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Extent2D
-- | maxFragmentShadingRateAttachmentTexelSize indicates maximum
-- supported width and height of the portion of the framebuffer
-- corresponding to each texel in a fragment shading rate attachment.
-- Each value must be greater than or equal to the values in
-- minFragmentShadingRateAttachmentTexelSize. Each value
-- must be a power-of-two. It must be (0,0) if the
-- attachmentFragmentShadingRate feature is not supported.
[$sel:maxFragmentShadingRateAttachmentTexelSize:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Extent2D
-- | maxFragmentShadingRateAttachmentTexelSizeAspectRatio
-- indicates the maximum ratio between the width and height of the
-- portion of the framebuffer corresponding to each texel in a fragment
-- shading rate attachment.
-- maxFragmentShadingRateAttachmentTexelSizeAspectRatio
-- must be a power-of-two value, and must be less than or
-- equal to max(maxFragmentShadingRateAttachmentTexelSize.width
-- / minFragmentShadingRateAttachmentTexelSize.height,
-- maxFragmentShadingRateAttachmentTexelSize.height /
-- minFragmentShadingRateAttachmentTexelSize.width). It
-- must be 0 if the attachmentFragmentShadingRate feature
-- is not supported.
[$sel:maxFragmentShadingRateAttachmentTexelSizeAspectRatio:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Word32
-- | primitiveFragmentShadingRateWithMultipleViewports specifies
-- whether the primitive fragment shading rate can be used
-- when multiple viewports are used. If this value is FALSE, only
-- a single viewport must be used, and applications must
-- not write to the ViewportMaskNV or ViewportIndex
-- built-in when setting PrimitiveShadingRateKHR. It must
-- be FALSE if the shaderOutputViewportIndex feature, the
-- VK_EXT_shader_viewport_index_layer extension, or the
-- geometryShader feature is not supported, or if the
-- primitiveFragmentShadingRate feature is not supported.
[$sel:primitiveFragmentShadingRateWithMultipleViewports:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | layeredShadingRateAttachments specifies whether a shading
-- rate attachment image view can be created with multiple layers.
-- If this value is FALSE, when creating an image view with a
-- usage that includes
-- IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
-- layerCount must be 1. It must be
-- FALSE if the multiview feature, the
-- shaderOutputViewportIndex feature, the
-- VK_EXT_shader_viewport_index_layer extension, or the
-- geometryShader feature is not supported, or if the
-- attachmentFragmentShadingRate feature is not supported.
[$sel:layeredShadingRateAttachments:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateNonTrivialCombinerOps specifies whether
-- FragmentShadingRateCombinerOpKHR enums other than
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or
-- FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR can be
-- used. It must be FALSE unless either the
-- primitiveFragmentShadingRate or
-- attachmentFragmentShadingRate feature is supported.
[$sel:fragmentShadingRateNonTrivialCombinerOps:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | maxFragmentSize indicates the maximum supported width and
-- height of a fragment. Its width and height members
-- must both be power-of-two values. This limit is purely
-- informational, and is not validated.
[$sel:maxFragmentSize:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Extent2D
-- | maxFragmentSizeAspectRatio indicates the maximum ratio
-- between the width and height of a fragment.
-- maxFragmentSizeAspectRatio must be a power-of-two
-- value, and must be less than or equal to the maximum of the
-- width and height members of
-- maxFragmentSize. This limit is purely informational, and is
-- not validated.
[$sel:maxFragmentSizeAspectRatio:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Word32
-- | maxFragmentShadingRateCoverageSamples specifies the maximum
-- number of coverage samples supported in a single fragment.
-- maxFragmentShadingRateCoverageSamples must be less
-- than or equal to the product of the width and height
-- members of maxFragmentSize, and the sample count reported by
-- maxFragmentShadingRateRasterizationSamples.
-- maxFragmentShadingRateCoverageSamples must be less
-- than or equal to maxSampleMaskWords × 32 if
-- fragmentShadingRateWithShaderSampleMask is supported. This
-- limit is purely informational, and is not validated.
[$sel:maxFragmentShadingRateCoverageSamples:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Word32
-- | maxFragmentShadingRateRasterizationSamples is a
-- SampleCountFlagBits value specifying the maximum sample rate
-- supported when a fragment covers multiple pixels. This limit is purely
-- informational, and is not validated.
[$sel:maxFragmentShadingRateRasterizationSamples:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> SampleCountFlagBits
-- | fragmentShadingRateWithShaderDepthStencilWrites specifies
-- whether the implementation supports writing FragDepth or
-- FragStencilRefEXT from a fragment shader for multi-pixel
-- fragments. If this value is FALSE, writing to those built-ins
-- will clamp the fragment shading rate to (1,1).
[$sel:fragmentShadingRateWithShaderDepthStencilWrites:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateWithSampleMask specifies whether the the
-- implementation supports setting valid bits of
-- PipelineMultisampleStateCreateInfo::pSampleMask to
-- 0 for multi-pixel fragments. If this value is FALSE,
-- zeroing valid bits in the sample mask will clamp the fragment shading
-- rate to (1,1).
[$sel:fragmentShadingRateWithSampleMask:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateWithShaderSampleMask specifies whether the
-- implementation supports reading or writing SampleMask for
-- multi-pixel fragments. If this value is FALSE, using that
-- built-in will clamp the fragment shading rate to (1,1).
[$sel:fragmentShadingRateWithShaderSampleMask:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateWithConservativeRasterization specifies
-- whether conservative rasterization is supported for multi-pixel
-- fragments. It must be FALSE if
-- VK_EXT_conservative_rasterization is not supported. If this
-- value is FALSE, using conservative rasterization will
-- clamp the fragment shading rate to (1,1).
[$sel:fragmentShadingRateWithConservativeRasterization:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateWithFragmentShaderInterlock specifies
-- whether fragment shader interlock is supported for multi-pixel
-- fragments. It must be FALSE if
-- VK_EXT_fragment_shader_interlock is not supported. If this
-- value is FALSE, using fragment shader interlock will
-- clamp the fragment shading rate to (1,1).
[$sel:fragmentShadingRateWithFragmentShaderInterlock:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateWithCustomSampleLocations specifies
-- whether custom sample locations are supported for multi-pixel
-- fragments. It must be FALSE if
-- VK_EXT_sample_locations is not supported. If this value is
-- FALSE, using custom sample locations will clamp the
-- fragment shading rate to (1,1).
[$sel:fragmentShadingRateWithCustomSampleLocations:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | fragmentShadingRateStrictMultiplyCombiner specifies whether
-- FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR accurately performs a
-- multiplication or not. Implementations where this value is
-- FALSE will instead combine rates with an addition. If
-- fragmentShadingRateNonTrivialCombinerOps is FALSE,
-- implementations must report this as FALSE. If
-- fragmentShadingRateNonTrivialCombinerOps is TRUE,
-- implementations should report this as TRUE.
[$sel:fragmentShadingRateStrictMultiplyCombiner:PhysicalDeviceFragmentShadingRatePropertiesKHR] :: PhysicalDeviceFragmentShadingRatePropertiesKHR -> Bool
-- | VkPhysicalDeviceFragmentShadingRateKHR - Structure returning
-- information about sample count specific additional multisampling
-- capabilities
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_fragment_shading_rate, Extent2D,
-- SampleCountFlags, StructureType,
-- getPhysicalDeviceFragmentShadingRatesKHR
data PhysicalDeviceFragmentShadingRateKHR
PhysicalDeviceFragmentShadingRateKHR :: SampleCountFlags -> Extent2D -> PhysicalDeviceFragmentShadingRateKHR
-- | sampleCounts is a bitmask of sample counts for which the
-- shading rate described by fragmentSize is supported.
[$sel:sampleCounts:PhysicalDeviceFragmentShadingRateKHR] :: PhysicalDeviceFragmentShadingRateKHR -> SampleCountFlags
-- | fragmentSize is a Extent2D describing the width and
-- height of a supported shading rate.
[$sel:fragmentSize:PhysicalDeviceFragmentShadingRateKHR] :: PhysicalDeviceFragmentShadingRateKHR -> Extent2D
-- | VkFragmentShadingRateCombinerOpKHR - Control how fragment shading
-- rates are combined
--
-- Description
--
-- where combine(Axy,Bxy) is the combine operation, and Axy and Bxy are
-- the inputs to the operation.
--
-- If fragmentShadingRateStrictMultiplyCombiner is FALSE,
-- using FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR with values of
-- 1 for both A and B in the same dimension results in the value 2 being
-- produced for that dimension. See the definition of
-- fragmentShadingRateStrictMultiplyCombiner for more information.
--
-- These operations are performed in a component-wise fashion.
--
-- See Also
--
-- VK_KHR_fragment_shading_rate,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR
newtype FragmentShadingRateCombinerOpKHR
FragmentShadingRateCombinerOpKHR :: Int32 -> FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = Axy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR specifies a
-- combiner operation of combine(Axy,Bxy) = Bxy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = min(Axy,Bxy).
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = max(Axy,Bxy).
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = Axy*Bxy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR :: FragmentShadingRateCombinerOpKHR
type KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2
pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION :: forall a. Integral a => a
type KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate"
pattern KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by
-- a buffer
--
-- Description
--
-- The following bits may be set in linearTilingFeatures
-- and optimalTilingFeatures, specifying that the features are
-- supported by images or image views or sampler Y′CBCR
-- conversion objects created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an
-- image view can be sampled from.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an
-- image view can be used as a storage image.
-- - FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies
-- that an image view can be used as storage image that supports
-- atomic operations.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
-- - FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies
-- that an image view can be used as a framebuffer color
-- attachment that supports blending and as an input attachment.
-- - FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
-- - FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
-- specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.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. Where depth comparison is supported it may be
-- linear filtered whether this bit is present or not, but where this bit
-- is not present the filtered value may be computed 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.
-- - FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an
-- image can be used as a source image for copy
-- commands.
-- - FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an
-- image can be used as a destination image for copy
-- commands and clear commands.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
-- 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_2_SAMPLED_IMAGE_BIT_KHR.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
-- specifies that Image can be used with a sampler that has
-- either of magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
-- - FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
-- - FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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.
--
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
-- - FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a
-- multi-planar image can have the
-- IMAGE_CREATE_DISJOINT_BIT set during image creation. An
-- implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
-- - FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies
-- that an image view can be used as a fragment density map
-- attachment.
-- - FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
-- - FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for read operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
-- specifies that image views created with this format can be used
-- as storage images for write operations without specifying a
-- format.
-- - FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref
-- instructions.
--
--
-- The following bits may be set in bufferFeatures,
-- specifying that the features are supported by buffers or
-- buffer views created with the queried
-- getPhysicalDeviceFormatProperties2::format:
--
--
--
-- See Also
--
-- VK_KHR_format_feature_flags2
newtype FormatFeatureFlagBits2KHR
FormatFeatureFlagBits2KHR :: Flags64 -> FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR specifies that an image
-- view can be sampled from.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR specifies that an image
-- view can be used as a storage image.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR specifies that an
-- image view can be used as storage image that supports atomic
-- operations.
pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR 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_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR 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_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR specifies
-- that atomic operations are supported on
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR specifies that the
-- format can be used as a vertex attribute format
-- (VertexInputAttributeDescription::format).
pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR specifies that an
-- image view can be used as a framebuffer color attachment and as
-- an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR specifies that
-- an image view can be used as a framebuffer color attachment
-- that supports blending and as an input attachment.
pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR specifies
-- that an image view can be used as a framebuffer depth/stencil
-- attachment and as an input attachment.
pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR specifies that an image
-- can be used as srcImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_BLIT_DST_BIT_KHR specifies that an image
-- can be used as dstImage for the
-- cmdBlitImage2KHR and cmdBlitImage commands.
pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR specifies
-- that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR 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_2_BLIT_SRC_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR or
-- FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.
--
-- 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. Where depth comparison is
-- supported it may be linear filtered whether this bit is present
-- or not, but where this bit is not present the filtered value
-- may be computed 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_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT specifies
-- that Image can be used with a sampler that has either of
-- magFilter or minFilter set to
-- FILTER_CUBIC_EXT, or be the source image for a blit with
-- filter set to FILTER_CUBIC_EXT. This bit must
-- only be exposed for formats that also support the
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR. If the format being
-- queried is a depth/stencil format, this only specifies that the depth
-- aspect is cubic filterable.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR specifies that an image
-- can be used as a source image for copy commands.
pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR specifies that an image
-- can be used as a destination image for copy commands and
-- clear commands.
pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR 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_2_SAMPLED_IMAGE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR 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_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.
pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
-- specifies that an application can define a sampler Y′CBCR
-- conversion using this format as a source with
-- chromaFilter set to FILTER_LINEAR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
-- specifies that the format can have different chroma, min, and mag
-- filters.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- 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_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- |
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
-- specifies that reconstruction can be forcibly made explicit by
-- setting
-- SamplerYcbcrConversionCreateInfo::forceExplicitReconstruction
-- to TRUE. If the format being queried supports
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
-- it must also support
-- FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_DISJOINT_BIT_KHR specifies that a multi-planar
-- image can have the IMAGE_CREATE_DISJOINT_BIT set during
-- image creation. An implementation must not set
-- FORMAT_FEATURE_2_DISJOINT_BIT_KHR for single-plane
-- formats.
pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR 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_2_COSITED_CHROMA_SAMPLES_BIT_KHR nor
-- FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR is set, the
-- application must not define a sampler Y′CBCR conversion
-- using this format as a source.
pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for read operations without specifying a format.
pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR specifies
-- that image views created with this format can be used as
-- storage images for write operations without specifying a
-- format.
pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
-- specifies that image views created with this format can be used
-- for depth comparison performed by OpImage*Dref instructions.
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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 with numeric type other than *UINT,
-- or set it as a buffer feature.
pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an
-- image view can be used as a fragment density map
-- attachment.
pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
-- | FORMAT_FEATURE_2_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_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
-- | VkFlags64 - Vulkan 64-bit bitmasks
--
-- Description
--
-- When the 31 bits available in Flags are insufficient, the
-- Flags64 type can be passed to commands and structures to
-- represent up to 64 options. Flags64 is not used directly in the
-- API. Instead, a Vk*Flags2 type which is an alias of
-- Flags64, and whose name matches the corresponding
-- Vk*FlagBits2 that are valid for that type, is used.
--
-- Any Vk*Flags2 member or parameter used in the API as an input
-- must be a valid combination of bit flags. A valid combination
-- is either zero or the bitwise OR of valid bit flags. A bit flag is
-- valid if:
--
--
-- - The bit flag is defined as part of the Vk*FlagBits2 type,
-- where the bits type is obtained by taking the flag type and replacing
-- the trailing Flags2 with FlagBits2. For example, a
-- flag value of type AccessFlags2KHR must contain only bit
-- flags defined by AccessFlagBits2KHR.
-- - The flag is allowed in the context in which it is being used. For
-- example, in some cases, certain bit flags or combinations of bit flags
-- are mutually exclusive.
--
--
-- Any Vk*Flags2 member or parameter returned from a query
-- command or otherwise output from Vulkan to the application may
-- contain bit flags undefined in its corresponding Vk*FlagBits2
-- type. An application cannot rely on the state of these
-- unspecified bits.
--
-- Note
--
-- Both the Vk*FlagBits2 type, and the individual bits defined
-- for that type, are defined as uint64_t integers in the C API.
-- This is in contrast to the 32-bit types, where the
-- Vk*FlagBits type is defined as a C enum and the
-- individual bits as enumerants belonging to that enum. As a
-- result, there is less compile-time type checking possible for the
-- 64-bit types. This is unavoidable since there is no sufficiently
-- portable way to define a 64-bit enum type in C99.
--
-- See Also
--
-- VK_KHR_synchronization2, Flags
type Flags64 = Word64
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance GHC.Classes.Ord Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance GHC.Read.Read Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR
-- | Name
--
-- VK_NV_fragment_shading_rate_enums - device extension
--
-- VK_NV_fragment_shading_rate_enums
--
--
-- - Name String
-- VK_NV_fragment_shading_rate_enums
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 327
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_fragment_shading_rate
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2020-09-02
--
--
--
-- - Contributors
- Pat Brown, NVIDIA
- Jeff
-- Bolz, NVIDIA
--
--
-- Description
--
-- This extension builds on the fragment shading rate functionality
-- provided by the VK_KHR_fragment_shading_rate extension, adding support
-- for “supersample” fragment shading rates that trigger multiple
-- fragment shader invocations per pixel as well as a “no invocations”
-- shading rate that discards any portions of a primitive that would use
-- that shading rate.
--
-- New Commands
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
--
-- - Why was this extension created? How should it be
-- named?RESOLVED: The primary goal of this extension was to
-- expose support for supersample and “no invocations” shading rates,
-- which are supported by the VK_NV_shading_rate_image extension but not
-- by VK_KHR_fragment_shading_rate. Because VK_KHR_fragment_shading_rate
-- specifies the primitive shading rate using a fragment size in pixels,
-- it lacks a good way to specify supersample rates. To deal with this,
-- we defined enums covering shading rates supported by the KHR extension
-- as well as the new shading rates and added structures and APIs
-- accepting shading rate enums instead of fragment sizes.Since this
-- extension adds two different types of shading rates, both expressed
-- using enums, we chose the extension name
-- VK_NV_fragment_shading_rate_enums.
--
--
--
-- - Is this a standalone extension?RESOLVED: No, this extension
-- requires VK_KHR_fragment_shading_rate. In order to use the features of
-- this extension, applications must enable the relevant features of KHR
-- extension.
-- - How are the shading rate enums used, and how were the enum values
-- assigned?RESOLVED: The shading rates supported by the enums in
-- this extension are accepted as pipeline, primitive, and attachment
-- shading rates and behave identically. For the shading rates also
-- supported by the KHR extension, the values assigned to the
-- corresponding enums are identical to the values already used for the
-- primitive and attachment shading rates in the KHR extension. For those
-- enums, bits 0 and 1 specify the base two logarithm of the fragment
-- height and bits 2 and 3 specify the base two logarithm of the fragment
-- width. For the new shading rates added by this extension, we chose to
-- use 11 through 14 (10 plus the base two logarithm of the invocation
-- count) for the supersample rates and 15 for the “no invocations” rate.
-- None of those values are supported as primitive or attachment shading
-- rates by the KHR extension.
-- - Between this extension, VK_KHR_fragment_shading_rate, and
-- VK_NV_shading_rate_image, there are three different ways to specify
-- shading rate state in a pipeline. How should we handle
-- this?RESOLVED: We do not allow the concurrent use of
-- VK_NV_shading_rate_image and VK_KHR_fragment_shading_rate; it is an
-- error to enable shading rate features from both extensions. But we do
-- allow applications to enable this extension together with
-- VK_KHR_fragment_shading_rate together. While we expect that
-- applications will never attach pipeline CreateInfo structures for both
-- this extension and the KHR extension concurrently, Vulkan does not
-- have any precedent forbidding such behavior and instead typically
-- treats a pipeline created without an extension-specific CreateInfo
-- structure as equivalent to one containing default values specified by
-- the extension. Rather than adding such a rule considering the presence
-- or absence of our new CreateInfo structure, we instead included a
-- shadingRateType member to
-- PipelineFragmentShadingRateEnumStateCreateInfoNV that selects
-- between using state specified by that structure and state specified by
-- PipelineFragmentShadingRateStateCreateInfoKHR.
--
--
-- Version History
--
--
-- - Revision 1, 2020-09-02 (pbrown)
--
--
-- See Also
--
-- FragmentShadingRateNV, FragmentShadingRateTypeNV,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- cmdSetFragmentShadingRateEnumNV
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_fragment_shading_rate_enums
-- | vkCmdSetFragmentShadingRateEnumNV - Set pipeline fragment shading rate
-- dynamically for a command buffer using enums
--
-- Description
--
-- This command sets the pipeline fragment shading rate and combiner
-- operation for subsequent drawing commands when the graphics pipeline
-- is created with DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR set in
-- PipelineDynamicStateCreateInfo::pDynamicStates.
-- Otherwise, this state is specified by the
-- PipelineFragmentShadingRateEnumStateCreateInfoNV values used to
-- create the currently active pipeline.
--
-- Note
--
-- This command allows specifying additional shading rates beyond those
-- supported by cmdSetFragmentShadingRateKHR. For more
-- information, refer to the VK_NV_fragment_shading_rate_enums
-- appendix.
--
-- Valid Usage
--
--
--
--
-- - If supersampleFragmentShadingRates is not enabled,
-- shadingRate must not be
-- FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV, or
-- FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
-- - If noInvocationFragmentShadingRates is not enabled,
-- shadingRate must not be
-- FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
-- - fragmentShadingRateEnums must be enabled
-- - One of pipelineFragmentShadingRate,
-- primitiveFragmentShadingRate, or
-- attachmentFragmentShadingRate must be enabled
-- - If the primitiveFragmentShadingRate feature is not enabled,
-- combinerOps[0] must be
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the attachmentFragmentShadingRate feature is not
-- enabled, combinerOps[1] must be
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-- - If the fragmentSizeNonTrivialCombinerOps limit is not
-- supported, elements of combinerOps must be either
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or
-- FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Command Properties
--
-- '
--
-- TODO: table
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums, CommandBuffer,
-- FragmentShadingRateCombinerOpKHR, FragmentShadingRateNV
cmdSetFragmentShadingRateEnumNV :: forall io. MonadIO io => CommandBuffer -> FragmentShadingRateNV -> ("combinerOps" ::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)) -> io ()
-- | VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV - Structure
-- indicating support for fragment shading rate enums
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV can
-- also be used in the pNext chain of DeviceCreateInfo to
-- selectively enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums, Bool32,
-- StructureType
data PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: Bool -> Bool -> Bool -> PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
-- | fragmentShadingRateEnums indicates that the implementation
-- supports specifying fragment shading rates using the
-- FragmentShadingRateNV enumerated type.
[$sel:fragmentShadingRateEnums:PhysicalDeviceFragmentShadingRateEnumsFeaturesNV] :: PhysicalDeviceFragmentShadingRateEnumsFeaturesNV -> Bool
-- | supersampleFragmentShadingRates indicates that the
-- implementation supports fragment shading rate enum values indicating
-- more than one invocation per fragment.
[$sel:supersampleFragmentShadingRates:PhysicalDeviceFragmentShadingRateEnumsFeaturesNV] :: PhysicalDeviceFragmentShadingRateEnumsFeaturesNV -> Bool
-- | noInvocationFragmentShadingRates indicates that the
-- implementation supports a fragment shading rate enum value indicating
-- that no fragment shaders should be invoked when that shading rate is
-- used.
[$sel:noInvocationFragmentShadingRates:PhysicalDeviceFragmentShadingRateEnumsFeaturesNV] :: PhysicalDeviceFragmentShadingRateEnumsFeaturesNV -> Bool
-- | VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV - Structure
-- describing fragment shading rate limits that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
-- structure is included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- These properties are related to fragment shading rates.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums, SampleCountFlagBits,
-- StructureType
data PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: SampleCountFlagBits -> PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
-- | maxFragmentShadingRateInvocationCount is a
-- SampleCountFlagBits value indicating the maximum number of
-- fragment shader invocations per fragment supported in pipeline,
-- primitive, and attachment fragment shading rates.
--
-- maxFragmentShadingRateInvocationCount must be a valid
-- SampleCountFlagBits value
[$sel:maxFragmentShadingRateInvocationCount:PhysicalDeviceFragmentShadingRateEnumsPropertiesNV] :: PhysicalDeviceFragmentShadingRateEnumsPropertiesNV -> SampleCountFlagBits
-- | VkPipelineFragmentShadingRateEnumStateCreateInfoNV - Structure
-- specifying parameters controlling the fragment shading rate using rate
-- enums
--
-- Description
--
-- If the pNext chain of GraphicsPipelineCreateInfo
-- includes a PipelineFragmentShadingRateEnumStateCreateInfoNV
-- structure, then that structure includes parameters controlling the
-- pipeline fragment shading rate.
--
-- If this structure is not present, shadingRateType is
-- considered to be equal to
-- FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
-- shadingRate is considered to be equal to
-- FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV, and both
-- elements of combinerOps are considered to be equal to
-- FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR.
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums,
-- FragmentShadingRateCombinerOpKHR, FragmentShadingRateNV,
-- FragmentShadingRateTypeNV, StructureType
data PipelineFragmentShadingRateEnumStateCreateInfoNV
PipelineFragmentShadingRateEnumStateCreateInfoNV :: FragmentShadingRateTypeNV -> FragmentShadingRateNV -> (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR) -> PipelineFragmentShadingRateEnumStateCreateInfoNV
-- | shadingRateType specifies a FragmentShadingRateTypeNV
-- value indicating whether fragment shading rates are specified using
-- fragment sizes or FragmentShadingRateNV enums.
[$sel:shadingRateType:PipelineFragmentShadingRateEnumStateCreateInfoNV] :: PipelineFragmentShadingRateEnumStateCreateInfoNV -> FragmentShadingRateTypeNV
-- | shadingRate specifies a FragmentShadingRateNV value
-- indicating the pipeline fragment shading rate.
[$sel:shadingRate:PipelineFragmentShadingRateEnumStateCreateInfoNV] :: PipelineFragmentShadingRateEnumStateCreateInfoNV -> FragmentShadingRateNV
-- | combinerOps specifies FragmentShadingRateCombinerOpKHR
-- values determining how the pipeline, primitive, and
-- attachment shading rates are combined for fragments
-- generated by drawing commands using the created pipeline.
[$sel:combinerOps:PipelineFragmentShadingRateEnumStateCreateInfoNV] :: PipelineFragmentShadingRateEnumStateCreateInfoNV -> (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)
-- | VkFragmentShadingRateNV - Enumeration with fragment shading rates
--
-- Description
--
-- To use the shading rates
-- FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
-- FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV, and
-- FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV as a
-- pipeline, primitive, or attachment shading rate, the
-- supersampleFragmentShadingRates feature must be
-- enabled. To use the shading rate
-- FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV as a pipeline,
-- primitive, or attachment shading rate, the
-- noInvocationFragmentShadingRates feature must be
-- enabled.
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- cmdSetFragmentShadingRateEnumNV
newtype FragmentShadingRateNV
FragmentShadingRateNV :: Int32 -> FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV specifies a
-- fragment size of 1x1 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV specifies
-- a fragment size of 1x2 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV specifies
-- a fragment size of 2x1 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV specifies
-- a fragment size of 2x2 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV specifies
-- a fragment size of 2x4 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV specifies
-- a fragment size of 4x2 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV specifies
-- a fragment size of 4x4 pixels.
pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV specifies a
-- fragment size of 1x1 pixels, with two fragment shader invocations per
-- fragment.
pattern FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV specifies a
-- fragment size of 1x1 pixels, with four fragment shader invocations per
-- fragment.
pattern FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV specifies a
-- fragment size of 1x1 pixels, with eight fragment shader invocations
-- per fragment.
pattern FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV specifies a
-- fragment size of 1x1 pixels, with sixteen fragment shader invocations
-- per fragment.
pattern FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
-- | FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV specifies that any
-- portions of a primitive that use that shading rate should be discarded
-- without invoking any fragment shader.
pattern FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV :: FragmentShadingRateNV
-- | VkFragmentShadingRateTypeNV - Enumeration with fragment shading rate
-- types
--
-- See Also
--
-- VK_NV_fragment_shading_rate_enums,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV
newtype FragmentShadingRateTypeNV
FragmentShadingRateTypeNV :: Int32 -> FragmentShadingRateTypeNV
-- | FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV specifies that a
-- graphics pipeline should obtain its pipeline fragment shading rate and
-- shading rate combiner state from the
-- PipelineFragmentShadingRateStateCreateInfoKHR structure and
-- that any state specified by the
-- PipelineFragmentShadingRateEnumStateCreateInfoNV structure
-- should be ignored.
pattern FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV :: FragmentShadingRateTypeNV
-- | FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV specifies that a graphics
-- pipeline should obtain its pipeline fragment shading rate and shading
-- rate combiner state from the
-- PipelineFragmentShadingRateEnumStateCreateInfoNV structure and
-- that any state specified by the
-- PipelineFragmentShadingRateStateCreateInfoKHR structure should
-- be ignored.
pattern FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV :: FragmentShadingRateTypeNV
type NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1
pattern NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: forall a. Integral a => a
type NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums"
pattern NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkFragmentShadingRateCombinerOpKHR - Control how fragment shading
-- rates are combined
--
-- Description
--
-- where combine(Axy,Bxy) is the combine operation, and Axy and Bxy are
-- the inputs to the operation.
--
-- If fragmentShadingRateStrictMultiplyCombiner is FALSE,
-- using FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR with values of
-- 1 for both A and B in the same dimension results in the value 2 being
-- produced for that dimension. See the definition of
-- fragmentShadingRateStrictMultiplyCombiner for more information.
--
-- These operations are performed in a component-wise fashion.
--
-- See Also
--
-- VK_KHR_fragment_shading_rate,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR
newtype FragmentShadingRateCombinerOpKHR
FragmentShadingRateCombinerOpKHR :: Int32 -> FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = Axy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR specifies a
-- combiner operation of combine(Axy,Bxy) = Bxy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = min(Axy,Bxy).
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = max(Axy,Bxy).
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR :: FragmentShadingRateCombinerOpKHR
-- | FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR specifies a combiner
-- operation of combine(Axy,Bxy) = Axy*Bxy.
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR :: FragmentShadingRateCombinerOpKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateTypeNV
instance GHC.Show.Show Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance GHC.Read.Read Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FragmentShadingRateNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
-- | Name
--
-- VK_KHR_create_renderpass2 - device extension
--
-- VK_KHR_create_renderpass2
--
--
-- - Name String VK_KHR_create_renderpass2
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 110
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires VK_KHR_multiview
- Requires
-- VK_KHR_maintenance2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-02-07
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Tobias Hector
- Jeff
-- Bolz
--
--
-- Description
--
-- This extension provides a new entry point to create render passes in a
-- way that can be easily extended by other extensions through the
-- substructures of render pass creation. The Vulkan 1.0 render pass
-- creation sub-structures do not include sType/pNext
-- members. Additionally, the render pass begin/next/end commands have
-- been augmented with new extensible structures for passing additional
-- subpass information.
--
-- The RenderPassMultiviewCreateInfo and
-- InputAttachmentAspectReference structures that extended the
-- original RenderPassCreateInfo are not accepted into the new
-- creation functions, and instead their parameters are folded into this
-- extension as follows:
--
--
--
-- The details of these mappings are explained fully in the new
-- structures.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-02-07 (Tobias Hector)
--
--
-- See Also
--
-- AttachmentDescription2KHR, AttachmentReference2KHR,
-- RenderPassCreateInfo2KHR, SubpassBeginInfoKHR,
-- SubpassDependency2KHR, SubpassDescription2KHR,
-- SubpassEndInfoKHR, cmdBeginRenderPass2KHR,
-- cmdEndRenderPass2KHR, cmdNextSubpass2KHR,
-- createRenderPass2KHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_create_renderpass2
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_END_INFO_KHR :: StructureType
createRenderPass2KHR :: forall (a :: [Type]) io. (Extendss RenderPassCreateInfo2 a, PokeChain a, MonadIO io) => Device -> RenderPassCreateInfo2 a -> ("allocator" ::: Maybe AllocationCallbacks) -> io RenderPass
cmdBeginRenderPass2KHR :: forall (a :: [Type]) io. (Extendss RenderPassBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> RenderPassBeginInfo a -> SubpassBeginInfo -> io ()
cmdNextSubpass2KHR :: MonadIO io => CommandBuffer -> SubpassBeginInfo -> SubpassEndInfo -> io ()
cmdEndRenderPass2KHR :: MonadIO io => CommandBuffer -> SubpassEndInfo -> io ()
type AttachmentDescription2KHR = AttachmentDescription2
type AttachmentReference2KHR = AttachmentReference2
type SubpassDescription2KHR = SubpassDescription2
type SubpassDependency2KHR = SubpassDependency2
type RenderPassCreateInfo2KHR = RenderPassCreateInfo2
type SubpassBeginInfoKHR = SubpassBeginInfo
type SubpassEndInfoKHR = SubpassEndInfo
type KHR_CREATE_RENDERPASS_2_SPEC_VERSION = 1
pattern KHR_CREATE_RENDERPASS_2_SPEC_VERSION :: forall a. Integral a => a
type KHR_CREATE_RENDERPASS_2_EXTENSION_NAME = "VK_KHR_create_renderpass2"
pattern KHR_CREATE_RENDERPASS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve
-- | VkPhysicalDeviceDepthStencilResolveProperties - Structure describing
-- depth/stencil resolve properties that can be supported by an
-- implementation
--
-- Description
--
-- If the PhysicalDeviceDepthStencilResolveProperties structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_depth_stencil_resolve, VK_VERSION_1_2,
-- Bool32, ResolveModeFlags, StructureType
data PhysicalDeviceDepthStencilResolveProperties
PhysicalDeviceDepthStencilResolveProperties :: ResolveModeFlags -> ResolveModeFlags -> Bool -> Bool -> PhysicalDeviceDepthStencilResolveProperties
-- | supportedDepthResolveModes is a bitmask of
-- ResolveModeFlagBits indicating the set of supported depth
-- resolve modes. RESOLVE_MODE_SAMPLE_ZERO_BIT must be
-- included in the set but implementations may support additional
-- modes.
[$sel:supportedDepthResolveModes:PhysicalDeviceDepthStencilResolveProperties] :: PhysicalDeviceDepthStencilResolveProperties -> ResolveModeFlags
-- | supportedStencilResolveModes is a bitmask of
-- ResolveModeFlagBits indicating the set of supported stencil
-- resolve modes. RESOLVE_MODE_SAMPLE_ZERO_BIT must be
-- included in the set but implementations may support additional
-- modes. RESOLVE_MODE_AVERAGE_BIT must not be included in
-- the set.
[$sel:supportedStencilResolveModes:PhysicalDeviceDepthStencilResolveProperties] :: PhysicalDeviceDepthStencilResolveProperties -> ResolveModeFlags
-- | independentResolveNone is TRUE if the implementation
-- supports setting the depth and stencil resolve modes to different
-- values when one of those modes is RESOLVE_MODE_NONE. Otherwise
-- the implementation only supports setting both modes to the same value.
[$sel:independentResolveNone:PhysicalDeviceDepthStencilResolveProperties] :: PhysicalDeviceDepthStencilResolveProperties -> Bool
-- | independentResolve is TRUE if the implementation
-- supports all combinations of the supported depth and stencil resolve
-- modes, including setting either depth or stencil resolve mode to
-- RESOLVE_MODE_NONE. An implementation that supports
-- independentResolve must also support
-- independentResolveNone.
[$sel:independentResolve:PhysicalDeviceDepthStencilResolveProperties] :: PhysicalDeviceDepthStencilResolveProperties -> Bool
-- | VkSubpassDescriptionDepthStencilResolve - Structure specifying
-- depth/stencil resolve operations for a subpass
--
-- Description
--
-- If pDepthStencilResolveAttachment is NULL, or if its
-- attachment index is ATTACHMENT_UNUSED, it indicates that no
-- depth/stencil resolve attachment will be used in the subpass.
--
-- Valid Usage
--
--
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED,
-- pDepthStencilAttachment must not be NULL or
-- have the value ATTACHMENT_UNUSED
--
--
--
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED,
-- depthResolveMode and stencilResolveMode must
-- not both be RESOLVE_MODE_NONE
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED,
-- pDepthStencilAttachment must not have a sample count
-- of SAMPLE_COUNT_1_BIT
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED,
-- pDepthStencilResolveAttachment must have a sample
-- count of SAMPLE_COUNT_1_BIT
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED then it
-- must have an image format whose potential format
-- features contain
-- FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED and Format
-- of pDepthStencilResolveAttachment has a depth component, then
-- the Format of pDepthStencilAttachment must have
-- a depth component with the same number of bits and numerical type
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED, and
-- Format of pDepthStencilResolveAttachment has a stencil
-- component, then the Format of pDepthStencilAttachment
-- must have a stencil component with the same number of bits and
-- numerical type
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED and the
-- Format of pDepthStencilResolveAttachment has a depth
-- component, then the value of depthResolveMode must be
-- one of the bits set in
-- PhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModes
-- or RESOLVE_MODE_NONE
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED and the
-- Format of pDepthStencilResolveAttachment has a stencil
-- component, then the value of stencilResolveMode must
-- be one of the bits set in
-- PhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes
-- or RESOLVE_MODE_NONE
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED, the
-- Format of pDepthStencilResolveAttachment has both
-- depth and stencil components,
-- PhysicalDeviceDepthStencilResolveProperties::independentResolve
-- is FALSE, and
-- PhysicalDeviceDepthStencilResolveProperties::independentResolveNone
-- is FALSE, then the values of depthResolveMode and
-- stencilResolveMode must be identical
-- - If pDepthStencilResolveAttachment is not NULL
-- and does not have the value ATTACHMENT_UNUSED, the
-- Format of pDepthStencilResolveAttachment has both
-- depth and stencil components,
-- PhysicalDeviceDepthStencilResolveProperties::independentResolve
-- is FALSE and
-- PhysicalDeviceDepthStencilResolveProperties::independentResolveNone
-- is TRUE, then the values of depthResolveMode and
-- stencilResolveMode must be identical or one of them
-- must be RESOLVE_MODE_NONE
--
--
-- Valid Usage (Implicit)
--
--
--
--
-- - If pDepthStencilResolveAttachment is not NULL,
-- pDepthStencilResolveAttachment must be a valid pointer
-- to a valid AttachmentReference2 structure
--
--
-- See Also
--
-- VK_KHR_depth_stencil_resolve, VK_VERSION_1_2,
-- AttachmentReference2, ResolveModeFlagBits,
-- StructureType
data SubpassDescriptionDepthStencilResolve
SubpassDescriptionDepthStencilResolve :: ResolveModeFlagBits -> ResolveModeFlagBits -> Maybe (SomeStruct AttachmentReference2) -> SubpassDescriptionDepthStencilResolve
-- | depthResolveMode is a ResolveModeFlagBits value
-- describing the depth resolve mode.
[$sel:depthResolveMode:SubpassDescriptionDepthStencilResolve] :: SubpassDescriptionDepthStencilResolve -> ResolveModeFlagBits
-- | stencilResolveMode is a ResolveModeFlagBits value
-- describing the stencil resolve mode.
[$sel:stencilResolveMode:SubpassDescriptionDepthStencilResolve] :: SubpassDescriptionDepthStencilResolve -> ResolveModeFlagBits
-- | pDepthStencilResolveAttachment is NULL or a pointer
-- to a AttachmentReference2 structure defining the depth/stencil
-- resolve attachment for this subpass and its layout.
[$sel:depthStencilResolveAttachment:SubpassDescriptionDepthStencilResolve] :: SubpassDescriptionDepthStencilResolve -> Maybe (SomeStruct AttachmentReference2)
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkResolveModeFlagBits - Bitmask indicating supported depth and stencil
-- resolve modes
--
-- See Also
--
-- VK_KHR_depth_stencil_resolve, VK_VERSION_1_2,
-- RenderingAttachmentInfoKHR, ResolveModeFlags,
-- SubpassDescriptionDepthStencilResolve
newtype ResolveModeFlagBits
ResolveModeFlagBits :: Flags -> ResolveModeFlagBits
-- | RESOLVE_MODE_NONE indicates that no resolve operation is done.
pattern RESOLVE_MODE_NONE :: ResolveModeFlagBits
-- | RESOLVE_MODE_SAMPLE_ZERO_BIT indicates that result of the
-- resolve operation is equal to the value of sample 0.
pattern RESOLVE_MODE_SAMPLE_ZERO_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_AVERAGE_BIT indicates that result of the resolve
-- operation is the average of the sample values.
pattern RESOLVE_MODE_AVERAGE_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_MIN_BIT indicates that result of the resolve
-- operation is the minimum of the sample values.
pattern RESOLVE_MODE_MIN_BIT :: ResolveModeFlagBits
-- | RESOLVE_MODE_MAX_BIT indicates that result of the resolve
-- operation is the maximum of the sample values.
pattern RESOLVE_MODE_MAX_BIT :: ResolveModeFlagBits
type ResolveModeFlags = ResolveModeFlagBits
instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
instance GHC.Show.Show Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties
-- | Name
--
-- VK_KHR_depth_stencil_resolve - device extension
--
-- VK_KHR_depth_stencil_resolve
--
--
-- - Name String
-- VK_KHR_depth_stencil_resolve
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 200
-- - Revision 1
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_KHR_create_renderpass2
-- - Deprecation state
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2018-04-09
--
--
--
-- - Interactions and External Dependencies
--
- Promoted to Vulkan 1.2 Core
-- - Contributors
- Jan-Harald Fredriksen,
-- Arm
- Andrew Garrard, Samsung Electronics
- Soowan Park,
-- Samsung Electronics
- Jeff Bolz, NVIDIA
- Daniel Rakos,
-- AMD
--
--
-- Description
--
-- This extension adds support for automatically resolving multisampled
-- depth/stencil attachments in a subpass in a similar manner as for
-- color attachments.
--
-- Multisampled color attachments can be resolved at the end of a subpass
-- by specifying pResolveAttachments entries corresponding to
-- the pColorAttachments array entries. This does not allow for
-- a way to map the resolve attachments to the depth/stencil attachment.
-- The cmdResolveImage command does not allow for depth/stencil
-- images. While there are other ways to resolve the depth/stencil
-- attachment, they can give sub-optimal performance. Extending the
-- SubpassDescription2 in this extension allows an application to
-- add a pDepthStencilResolveAttachment, that is similar to the
-- color pResolveAttachments, that the
-- pDepthStencilAttachment can be resolved into.
--
-- Depth and stencil samples are resolved to a single value based on the
-- resolve mode. The set of possible resolve modes is defined in the
-- ResolveModeFlagBits enum. The
-- RESOLVE_MODE_SAMPLE_ZERO_BIT mode is the only mode that is
-- required of all implementations (that support the extension or support
-- Vulkan 1.2 or higher). Some implementations may also support averaging
-- (the same as color sample resolve) or taking the minimum or maximum
-- sample, which may be more suitable for depth/stencil resolve.
--
-- Promotion to Vulkan 1.2
--
-- All functionality in this extension is included in core Vulkan 1.2,
-- with the KHR suffix omitted. The original type, enum and command names
-- are still available as aliases of the core functionality.
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Version History
--
--
-- - Revision 1, 2018-04-09 (Jan-Harald Fredriksen)
--
--
-- See Also
--
-- PhysicalDeviceDepthStencilResolvePropertiesKHR,
-- ResolveModeFlagBitsKHR, ResolveModeFlagsKHR,
-- SubpassDescriptionDepthStencilResolveKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_depth_stencil_resolve
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR :: StructureType
pattern RESOLVE_MODE_NONE_KHR :: ResolveModeFlagBits
pattern RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR :: ResolveModeFlagBits
pattern RESOLVE_MODE_AVERAGE_BIT_KHR :: ResolveModeFlagBits
pattern RESOLVE_MODE_MIN_BIT_KHR :: ResolveModeFlagBits
pattern RESOLVE_MODE_MAX_BIT_KHR :: ResolveModeFlagBits
type ResolveModeFlagsKHR = ResolveModeFlags
type ResolveModeFlagBitsKHR = ResolveModeFlagBits
type PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties
type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve
type KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION = 1
pattern KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION :: forall a. Integral a => a
type KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME = "VK_KHR_depth_stencil_resolve"
pattern KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
module Vulkan.Core12
pattern API_VERSION_1_2 :: Word32
-- | VkPhysicalDeviceVulkan11Features - Structure describing the Vulkan 1.1
-- features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceVulkan11Features structure is included in
-- the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceVulkan11Features can also be used in the
-- pNext chain of DeviceCreateInfo to selectively enable
-- these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_2, Bool32, StructureType
data PhysicalDeviceVulkan11Features
PhysicalDeviceVulkan11Features :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceVulkan11Features
-- | storageBuffer16BitAccess specifies whether objects in the
-- StorageBuffer, ShaderRecordBufferKHR, or
-- PhysicalStorageBuffer storage class with the Block
-- decoration can have 16-bit integer and 16-bit floating-point
-- members. If this feature is not enabled, 16-bit integer or 16-bit
-- floating-point members must not be used in such objects. This
-- also specifies whether shader modules can declare the
-- StorageBuffer16BitAccess capability.
[$sel:storageBuffer16BitAccess:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | uniformAndStorageBuffer16BitAccess specifies whether objects
-- in the Uniform storage class with the Block
-- decoration can have 16-bit integer and 16-bit floating-point
-- members. If this feature is not enabled, 16-bit integer or 16-bit
-- floating-point members must not be used in such objects. This
-- also specifies whether shader modules can declare the
-- UniformAndStorageBuffer16BitAccess capability.
[$sel:uniformAndStorageBuffer16BitAccess:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | storagePushConstant16 specifies whether objects in the
-- PushConstant storage class can have 16-bit integer and
-- 16-bit floating-point members. If this feature is not enabled, 16-bit
-- integer or floating-point members must not be used in such
-- objects. This also specifies whether shader modules can declare
-- the StoragePushConstant16 capability.
[$sel:storagePushConstant16:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | storageInputOutput16 specifies whether objects in the
-- Input and Output storage classes can have
-- 16-bit integer and 16-bit floating-point members. If this feature is
-- not enabled, 16-bit integer or 16-bit floating-point members
-- must not be used in such objects. This also specifies whether
-- shader modules can declare the StorageInputOutput16
-- capability.
[$sel:storageInputOutput16:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | multiview specifies whether the implementation supports
-- multiview rendering within a render pass. If this feature is not
-- enabled, the view mask of each subpass must always be zero.
[$sel:multiview:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | multiviewGeometryShader specifies whether the implementation
-- supports multiview rendering within a render pass, with geometry
-- shaders. If this feature is not enabled, then a pipeline compiled
-- against a subpass with a non-zero view mask must not include a
-- geometry shader.
[$sel:multiviewGeometryShader:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | multiviewTessellationShader specifies whether the
-- implementation supports multiview rendering within a render pass, with
-- tessellation shaders. If this feature is not enabled, then a
-- pipeline compiled against a subpass with a non-zero view mask
-- must not include any tessellation shaders.
[$sel:multiviewTessellationShader:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | variablePointersStorageBuffer specifies whether the
-- implementation supports the SPIR-V
-- VariablePointersStorageBuffer capability. When this feature
-- is not enabled, shader modules must not declare the
-- SPV_KHR_variable_pointers extension or the
-- VariablePointersStorageBuffer capability.
[$sel:variablePointersStorageBuffer:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | variablePointers specifies whether the implementation
-- supports the SPIR-V VariablePointers capability. When this
-- feature is not enabled, shader modules must not declare the
-- VariablePointers capability.
[$sel:variablePointers:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | protectedMemory specifies whether protected memory is
-- supported.
[$sel:protectedMemory:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | samplerYcbcrConversion specifies whether the implementation
-- supports sampler Y′CBCR conversion. If
-- samplerYcbcrConversion is FALSE, sampler Y′CBCR
-- conversion is not supported, and samplers using sampler Y′CBCR
-- conversion must not be used.
[$sel:samplerYcbcrConversion:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | shaderDrawParameters specifies whether the implementation
-- supports the SPIR-V DrawParameters capability. When this
-- feature is not enabled, shader modules must not declare the
-- SPV_KHR_shader_draw_parameters extension or the
-- DrawParameters capability.
[$sel:shaderDrawParameters:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool
-- | VkPhysicalDeviceVulkan11Properties - Structure specifying physical
-- device properties for functionality promoted to Vulkan 1.1
--
-- Description
--
-- If the PhysicalDeviceVulkan11Properties structure is included
-- in the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- These properties correspond to Vulkan 1.1 functionality.
--
-- The members of PhysicalDeviceVulkan11Properties have the same
-- values as the corresponding members of
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceProtectedMemoryProperties, and
-- PhysicalDeviceMaintenance3Properties.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_2, Bool32, DeviceSize,
-- PointClippingBehavior, ShaderStageFlags,
-- StructureType, SubgroupFeatureFlags
data PhysicalDeviceVulkan11Properties
PhysicalDeviceVulkan11Properties :: ByteString -> ByteString -> ByteString -> Word32 -> Bool -> Word32 -> ShaderStageFlags -> SubgroupFeatureFlags -> Bool -> PointClippingBehavior -> Word32 -> Word32 -> Bool -> Word32 -> DeviceSize -> PhysicalDeviceVulkan11Properties
-- | deviceUUID is an array of UUID_SIZE uint8_t
-- values representing a universally unique identifier for the device.
[$sel:deviceUUID:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> ByteString
-- | driverUUID is an array of UUID_SIZE uint8_t
-- values representing a universally unique identifier for the driver
-- build in use by the device.
[$sel:driverUUID:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> ByteString
-- | deviceLUID is an array of LUID_SIZE uint8_t
-- values representing a locally unique identifier for the device.
[$sel:deviceLUID:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> ByteString
-- | deviceNodeMask is a uint32_t bitfield identifying
-- the node within a linked device adapter corresponding to the device.
[$sel:deviceNodeMask:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Word32
-- | deviceLUIDValid is a boolean value that will be TRUE
-- if deviceLUID contains a valid LUID and
-- deviceNodeMask contains a valid node mask, and FALSE
-- if they do not.
[$sel:deviceLUIDValid:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Bool
-- | subgroupSize is the default number of invocations in each
-- subgroup. subgroupSize is at least 1 if any of the physical
-- device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT. subgroupSize is a power-of-two.
[$sel:subgroupSize:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Word32
-- | subgroupSupportedStages is a bitfield of
-- ShaderStageFlagBits describing the shader stages that group
-- operations with subgroup scope are supported in.
-- subgroupSupportedStages will have the
-- SHADER_STAGE_COMPUTE_BIT bit set if any of the physical
-- device’s queues support QUEUE_COMPUTE_BIT.
[$sel:subgroupSupportedStages:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> ShaderStageFlags
-- | subgroupSupportedOperations is a bitmask of
-- SubgroupFeatureFlagBits specifying the sets of group
-- operations with subgroup scope supported on this device.
-- subgroupSupportedOperations will have the
-- SUBGROUP_FEATURE_BASIC_BIT bit set if any of the physical
-- device’s queues support QUEUE_GRAPHICS_BIT or
-- QUEUE_COMPUTE_BIT.
[$sel:subgroupSupportedOperations:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlags
-- | subgroupQuadOperationsInAllStages is a boolean specifying
-- whether quad group operations are available in all stages, or
-- are restricted to fragment and compute stages.
[$sel:subgroupQuadOperationsInAllStages:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Bool
-- | pointClippingBehavior is a PointClippingBehavior value
-- specifying the point clipping behavior supported by the
-- implementation.
[$sel:pointClippingBehavior:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> PointClippingBehavior
-- | maxMultiviewViewCount is one greater than the maximum view
-- index that can be used in a subpass.
[$sel:maxMultiviewViewCount:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Word32
-- | maxMultiviewInstanceIndex is the maximum valid value of
-- instance index allowed to be generated by a drawing command recorded
-- within a subpass of a multiview render pass instance.
[$sel:maxMultiviewInstanceIndex:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Word32
-- | protectedNoFault specifies how an implementation behaves when
-- an application attempts to write to unprotected memory in a protected
-- queue operation, read from protected memory in an unprotected queue
-- operation, or perform a query in a protected queue operation. If this
-- limit is TRUE, such writes will be discarded or have undefined
-- values written, reads and queries will return undefined values. If
-- this limit is FALSE, applications must not perform these
-- operations. See ??? for more information.
[$sel:protectedNoFault:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Bool
-- | maxPerSetDescriptors is a maximum number of descriptors
-- (summed over all descriptor types) in a single descriptor set that is
-- guaranteed to satisfy any implementation-dependent constraints on the
-- size of a descriptor set itself. Applications can query whether
-- a descriptor set that goes beyond this limit is supported using
-- getDescriptorSetLayoutSupport.
[$sel:maxPerSetDescriptors:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> Word32
-- | maxMemoryAllocationSize is the maximum size of a memory
-- allocation that can be created, even if there is more space
-- available in the heap.
[$sel:maxMemoryAllocationSize:PhysicalDeviceVulkan11Properties] :: PhysicalDeviceVulkan11Properties -> DeviceSize
-- | VkPhysicalDeviceVulkan12Features - Structure describing the Vulkan 1.2
-- features that can be supported by an implementation
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
--
-- - sType is the type of this structure.
--
--
--
-- - pNext is NULL or a pointer to a structure
-- extending this structure.
-- - samplerMirrorClampToEdge indicates whether the
-- implementation supports the
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode.
-- If this feature is not enabled, the
-- SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode
-- must not be used.
-- - drawIndirectCount indicates whether the implementation
-- supports the cmdDrawIndirectCount and
-- cmdDrawIndexedIndirectCount functions. If this feature is not
-- enabled, these functions must not be used.
-- - storageBuffer8BitAccess indicates whether objects in the
-- StorageBuffer, ShaderRecordBufferKHR, or
-- PhysicalStorageBuffer storage class with the Block
-- decoration can have 8-bit integer members. If this feature is
-- not enabled, 8-bit integer members must not be used in such
-- objects. This also indicates whether shader modules can declare
-- the StorageBuffer8BitAccess capability.
-- - uniformAndStorageBuffer8BitAccess indicates whether
-- objects in the Uniform storage class with the Block
-- decoration can have 8-bit integer members. If this feature is
-- not enabled, 8-bit integer members must not be used in such
-- objects. This also indicates whether shader modules can declare
-- the UniformAndStorageBuffer8BitAccess capability.
-- - storagePushConstant8 indicates whether objects in the
-- PushConstant storage class can have 8-bit integer
-- members. If this feature is not enabled, 8-bit integer members
-- must not be used in such objects. This also indicates whether
-- shader modules can declare the StoragePushConstant8
-- capability.
-- - shaderBufferInt64Atomics indicates whether shaders
-- can perform 64-bit unsigned and signed integer atomic
-- operations on buffers.
-- - shaderSharedInt64Atomics indicates whether shaders
-- can perform 64-bit unsigned and signed integer atomic
-- operations on shared memory.
-- - shaderFloat16 indicates whether 16-bit floats (halfs) are
-- supported in shader code. This also indicates whether shader modules
-- can declare the Float16 capability. However, this only
-- enables a subset of the storage classes that SPIR-V allows for the
-- Float16 SPIR-V capability: Declaring and using 16-bit floats
-- in the Private, Workgroup (for non-Block variables),
-- and Function storage classes is enabled, while declaring them
-- in the interface storage classes (e.g., UniformConstant,
-- Uniform, StorageBuffer, Input,
-- Output, and PushConstant) is not enabled.
-- - shaderInt8 indicates whether 8-bit integers (signed and
-- unsigned) are supported in shader code. This also indicates whether
-- shader modules can declare the Int8 capability.
-- However, this only enables a subset of the storage classes that SPIR-V
-- allows for the Int8 SPIR-V capability: Declaring and using
-- 8-bit integers in the Private, Workgroup (for
-- non-Block variables), and Function storage classes is
-- enabled, while declaring them in the interface storage classes (e.g.,
-- UniformConstant, Uniform, StorageBuffer,
-- Input, Output, and PushConstant) is not
-- enabled.
-- - descriptorIndexing indicates whether the implementation
-- supports the minimum set of descriptor indexing features as described
-- in the Feature Requirements section. Enabling the
-- descriptorIndexing member when createDevice is called
-- does not imply the other minimum descriptor indexing features are also
-- enabled. Those other descriptor indexing features must be
-- enabled individually as needed by the application.
-- - shaderInputAttachmentArrayDynamicIndexing indicates
-- whether arrays of input attachments can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT must be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the InputAttachmentArrayDynamicIndexing capability.
-- - shaderUniformTexelBufferArrayDynamicIndexing indicates
-- whether arrays of uniform texel buffers can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the UniformTexelBufferArrayDynamicIndexing
-- capability.
-- - shaderStorageTexelBufferArrayDynamicIndexing indicates
-- whether arrays of storage texel buffers can be indexed by
-- dynamically uniform integer expressions in shader code. If this
-- feature is not enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must be indexed
-- only by constant integral expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the StorageTexelBufferArrayDynamicIndexing
-- capability.
-- - shaderUniformBufferArrayNonUniformIndexing indicates
-- whether arrays of uniform buffers can be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must not be
-- indexed by non-uniform integer expressions when aggregated into arrays
-- in shader code. This also indicates whether shader modules can
-- declare the UniformBufferArrayNonUniformIndexing
-- capability.
-- - shaderSampledImageArrayNonUniformIndexing indicates
-- whether arrays of samplers or sampled images can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE must not be indexed by
-- non-uniform integer expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the SampledImageArrayNonUniformIndexing capability.
-- - shaderStorageBufferArrayNonUniformIndexing indicates
-- whether arrays of storage buffers can be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must not be
-- indexed by non-uniform integer expressions when aggregated into arrays
-- in shader code. This also indicates whether shader modules can
-- declare the StorageBufferArrayNonUniformIndexing
-- capability.
-- - shaderStorageImageArrayNonUniformIndexing indicates
-- whether arrays of storage images can be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_IMAGE must not be indexed by
-- non-uniform integer expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the StorageImageArrayNonUniformIndexing capability.
-- - shaderInputAttachmentArrayNonUniformIndexing indicates
-- whether arrays of input attachments can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_INPUT_ATTACHMENT must not be indexed by
-- non-uniform integer expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules can declare
-- the InputAttachmentArrayNonUniformIndexing capability.
-- - shaderUniformTexelBufferArrayNonUniformIndexing indicates
-- whether arrays of uniform texel buffers can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must not be indexed
-- by non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the UniformTexelBufferArrayNonUniformIndexing
-- capability.
-- - shaderStorageTexelBufferArrayNonUniformIndexing indicates
-- whether arrays of storage texel buffers can be indexed by
-- non-uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must not be indexed
-- by non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules can
-- declare the StorageTexelBufferArrayNonUniformIndexing
-- capability.
-- - descriptorBindingUniformBufferUpdateAfterBind indicates
-- whether the implementation supports updating uniform buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_UNIFORM_BUFFER.
-- - descriptorBindingSampledImageUpdateAfterBind indicates
-- whether the implementation supports updating sampled image descriptors
-- after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_SAMPLER,
-- DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or
-- DESCRIPTOR_TYPE_SAMPLED_IMAGE.
-- - descriptorBindingStorageImageUpdateAfterBind indicates
-- whether the implementation supports updating storage image descriptors
-- after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_STORAGE_IMAGE.
-- - descriptorBindingStorageBufferUpdateAfterBind indicates
-- whether the implementation supports updating storage buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be
-- used with DESCRIPTOR_TYPE_STORAGE_BUFFER.
-- - descriptorBindingUniformTexelBufferUpdateAfterBind
-- indicates whether the implementation supports updating uniform texel
-- buffer descriptors after a set is bound. If this feature is not
-- enabled, DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must
-- not be used with DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.
-- - descriptorBindingStorageTexelBufferUpdateAfterBind
-- indicates whether the implementation supports updating storage texel
-- buffer descriptors after a set is bound. If this feature is not
-- enabled, DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must
-- not be used with DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.
-- - descriptorBindingUpdateUnusedWhilePending indicates
-- whether the implementation supports updating descriptors while the set
-- is in use. If this feature is not enabled,
-- DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT must
-- not be used.
-- - descriptorBindingPartiallyBound indicates whether the
-- implementation supports statically using a descriptor set binding in
-- which some descriptors are not valid. If this feature is not enabled,
-- DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT must not be
-- used.
-- - descriptorBindingVariableDescriptorCount indicates
-- whether the implementation supports descriptor sets with a
-- variable-sized last binding. If this feature is not enabled,
-- DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT must
-- not be used.
-- - runtimeDescriptorArray indicates whether the
-- implementation supports the SPIR-V RuntimeDescriptorArray
-- capability. If this feature is not enabled, descriptors must
-- not be declared in runtime arrays.
-- - samplerFilterMinmax indicates whether the implementation
-- supports a minimum set of required formats supporting min/max
-- filtering as defined by the filterMinmaxSingleComponentFormats
-- property minimum requirements. If this feature is not enabled, then no
-- SamplerCreateInfo pNext chain can include a
-- SamplerReductionModeCreateInfo structure.
-- - scalarBlockLayout indicates that the implementation
-- supports the layout of resource blocks in shaders using scalar
-- alignment.
-- - imagelessFramebuffer indicates that the implementation
-- supports specifying the image view for attachments at render pass
-- begin time via RenderPassAttachmentBeginInfo.
-- - uniformBufferStandardLayout indicates that the
-- implementation supports the same layouts for uniform buffers as for
-- storage and other kinds of buffers. See Standard Buffer
-- Layout.
-- - shaderSubgroupExtendedTypes is a boolean specifying
-- whether subgroup operations can use 8-bit integer, 16-bit integer,
-- 64-bit integer, 16-bit floating-point, and vectors of these types in
-- group operations with subgroup scope, if the
-- implementation supports the types.
-- - separateDepthStencilLayouts indicates whether the
-- implementation supports a ImageMemoryBarrier for a
-- depth/stencil image with only one of IMAGE_ASPECT_DEPTH_BIT or
-- IMAGE_ASPECT_STENCIL_BIT set, and whether
-- IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-- IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-- IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
-- IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL can be used.
-- - hostQueryReset indicates that the implementation supports
-- resetting queries from the host with resetQueryPool.
-- - timelineSemaphore indicates whether semaphores created
-- with a SemaphoreType of SEMAPHORE_TYPE_TIMELINE are
-- supported.
-- - bufferDeviceAddress indicates that the implementation
-- supports accessing buffer memory in shaders as storage buffers via an
-- address queried from getBufferDeviceAddress.
-- - bufferDeviceAddressCaptureReplay indicates that the
-- implementation supports saving and reusing buffer and device
-- addresses, e.g. for trace capture and replay.
-- - bufferDeviceAddressMultiDevice indicates that the
-- implementation supports the bufferDeviceAddress ,
-- rayTracingPipeline and rayQuery features for logical
-- devices created with multiple physical devices. If this feature is not
-- supported, buffer and acceleration structure addresses must not
-- be queried on a logical device created with more than one physical
-- device.
-- - vulkanMemoryModel indicates whether the Vulkan Memory
-- Model is supported, as defined in Vulkan Memory Model. This
-- also indicates whether shader modules can declare the
-- VulkanMemoryModel capability.
-- - vulkanMemoryModelDeviceScope indicates whether the Vulkan
-- Memory Model can use Device scope synchronization. This also
-- indicates whether shader modules can declare the
-- VulkanMemoryModelDeviceScope capability.
-- - vulkanMemoryModelAvailabilityVisibilityChains indicates
-- whether the Vulkan Memory Model can use availability and visibility
-- chains with more than one element.
-- - shaderOutputViewportIndex indicates whether the
-- implementation supports the ShaderViewportIndex SPIR-V
-- capability enabling variables decorated with the
-- ViewportIndex built-in to be exported from vertex or
-- tessellation evaluation shaders. If this feature is not enabled, the
-- ViewportIndex built-in decoration must not be used on
-- outputs in vertex or tessellation evaluation shaders.
-- - shaderOutputLayer indicates whether the implementation
-- supports the ShaderLayer SPIR-V capability enabling variables
-- decorated with the Layer built-in to be exported from vertex
-- or tessellation evaluation shaders. If this feature is not enabled,
-- the Layer built-in decoration must not be used on
-- outputs in vertex or tessellation evaluation shaders.
-- - If subgroupBroadcastDynamicId is TRUE, the “Id”
-- operand of OpGroupNonUniformBroadcast can be
-- dynamically uniform within a subgroup, and the “Index” operand of
-- OpGroupNonUniformQuadBroadcast can be dynamically
-- uniform within the derivative group. If it is FALSE, these
-- operands must be constants.
--
--
-- If the PhysicalDeviceVulkan12Features structure is included in
-- the pNext chain of the PhysicalDeviceFeatures2
-- structure passed to getPhysicalDeviceFeatures2, it is filled in
-- to indicate whether each corresponding feature is supported.
-- PhysicalDeviceVulkan12Features can also be used in the
-- pNext chain of DeviceCreateInfo to selectively enable
-- these features.
--
-- Valid Usage (Implicit)
--
--
--
-- See Also
--
-- VK_VERSION_1_2, Bool32, StructureType
data PhysicalDeviceVulkan12Features
PhysicalDeviceVulkan12Features :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> PhysicalDeviceVulkan12Features
[$sel:samplerMirrorClampToEdge:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:drawIndirectCount:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:storageBuffer8BitAccess:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:uniformAndStorageBuffer8BitAccess:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:storagePushConstant8:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderBufferInt64Atomics:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderSharedInt64Atomics:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderFloat16:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderInt8:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderInputAttachmentArrayDynamicIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderUniformTexelBufferArrayDynamicIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderStorageTexelBufferArrayDynamicIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderUniformBufferArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderSampledImageArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderStorageBufferArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderStorageImageArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderInputAttachmentArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderUniformTexelBufferArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderStorageTexelBufferArrayNonUniformIndexing:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingUniformBufferUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingSampledImageUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingStorageImageUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingStorageBufferUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingUniformTexelBufferUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingStorageTexelBufferUpdateAfterBind:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingUpdateUnusedWhilePending:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingPartiallyBound:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:descriptorBindingVariableDescriptorCount:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:runtimeDescriptorArray:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:samplerFilterMinmax:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:scalarBlockLayout:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:imagelessFramebuffer:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:uniformBufferStandardLayout:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderSubgroupExtendedTypes:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:separateDepthStencilLayouts:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:hostQueryReset:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:timelineSemaphore:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:bufferDeviceAddress:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:bufferDeviceAddressCaptureReplay:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:bufferDeviceAddressMultiDevice:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:vulkanMemoryModel:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:vulkanMemoryModelDeviceScope:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:vulkanMemoryModelAvailabilityVisibilityChains:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderOutputViewportIndex:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:shaderOutputLayer:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
[$sel:subgroupBroadcastDynamicId:PhysicalDeviceVulkan12Features] :: PhysicalDeviceVulkan12Features -> Bool
-- | VkPhysicalDeviceVulkan12Properties - Structure specifying physical
-- device properties for functionality promoted to Vulkan 1.2
--
-- Description
--
-- If the PhysicalDeviceVulkan12Properties structure is included
-- in the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- These properties correspond to Vulkan 1.2 functionality.
--
-- The members of PhysicalDeviceVulkan12Properties must
-- have the same values as the corresponding members of
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceSamplerFilterMinmaxProperties, and
-- PhysicalDeviceTimelineSemaphoreProperties.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_2, Bool32, ConformanceVersion,
-- DriverId, ResolveModeFlags, SampleCountFlags,
-- ShaderFloatControlsIndependence, StructureType
data PhysicalDeviceVulkan12Properties
PhysicalDeviceVulkan12Properties :: DriverId -> ByteString -> ByteString -> ConformanceVersion -> ShaderFloatControlsIndependence -> ShaderFloatControlsIndependence -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word32 -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> ResolveModeFlags -> ResolveModeFlags -> Bool -> Bool -> Bool -> Bool -> Word64 -> SampleCountFlags -> PhysicalDeviceVulkan12Properties
-- | driverID is a unique identifier for the driver of the
-- physical device.
[$sel:driverID:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> DriverId
-- | driverName is an array of MAX_DRIVER_NAME_SIZE
-- char containing a null-terminated UTF-8 string which is the
-- name of the driver.
[$sel:driverName:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ByteString
-- | driverInfo is an array of MAX_DRIVER_INFO_SIZE
-- char containing a null-terminated UTF-8 string with
-- additional information about the driver.
[$sel:driverInfo:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ByteString
-- | conformanceVersion is the version of the Vulkan conformance
-- test this driver is conformant against (see
-- ConformanceVersion).
[$sel:conformanceVersion:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ConformanceVersion
-- | denormBehaviorIndependence is a
-- ShaderFloatControlsIndependence value indicating whether, and
-- how, denorm behavior can be set independently for different bit
-- widths.
[$sel:denormBehaviorIndependence:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ShaderFloatControlsIndependence
-- | roundingModeIndependence is a
-- ShaderFloatControlsIndependence value indicating whether, and
-- how, rounding modes can be set independently for different bit widths.
[$sel:roundingModeIndependence:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ShaderFloatControlsIndependence
-- | shaderSignedZeroInfNanPreserveFloat16 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 16-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat16:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderSignedZeroInfNanPreserveFloat32 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 32-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat32:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderSignedZeroInfNanPreserveFloat64 is a boolean value
-- indicating whether sign of a zero, Nans and <math> can be
-- preserved in 64-bit floating-point computations. It also indicates
-- whether the SignedZeroInfNanPreserve execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderSignedZeroInfNanPreserveFloat64:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormPreserveFloat16 is a boolean value indicating
-- whether denormals can be preserved in 16-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 16-bit floating-point types.
[$sel:shaderDenormPreserveFloat16:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormPreserveFloat32 is a boolean value indicating
-- whether denormals can be preserved in 32-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 32-bit floating-point types.
[$sel:shaderDenormPreserveFloat32:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormPreserveFloat64 is a boolean value indicating
-- whether denormals can be preserved in 64-bit floating-point
-- computations. It also indicates whether the DenormPreserve
-- execution mode can be used for 64-bit floating-point types.
[$sel:shaderDenormPreserveFloat64:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormFlushToZeroFloat16 is a boolean value indicating
-- whether denormals can be flushed to zero in 16-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 16-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat16:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormFlushToZeroFloat32 is a boolean value indicating
-- whether denormals can be flushed to zero in 32-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 32-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat32:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderDenormFlushToZeroFloat64 is a boolean value indicating
-- whether denormals can be flushed to zero in 64-bit
-- floating-point computations. It also indicates whether the
-- DenormFlushToZero execution mode can be used for
-- 64-bit floating-point types.
[$sel:shaderDenormFlushToZeroFloat64:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTEFloat16 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 16-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat16:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTEFloat32 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 32-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat32:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTEFloat64 is a boolean value indicating
-- whether an implementation supports the round-to-nearest-even rounding
-- mode for 64-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTE execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderRoundingModeRTEFloat64:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTZFloat16 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 16-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 16-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat16:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTZFloat32 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 32-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 32-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat32:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderRoundingModeRTZFloat64 is a boolean value indicating
-- whether an implementation supports the round-towards-zero rounding
-- mode for 64-bit floating-point arithmetic and conversion instructions.
-- It also indicates whether the RoundingModeRTZ execution mode
-- can be used for 64-bit floating-point types.
[$sel:shaderRoundingModeRTZFloat64:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | maxUpdateAfterBindDescriptorsInAllPools is the maximum number
-- of descriptors (summed over all descriptor types) that can be
-- created across all pools that are created with the
-- DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set. Pool
-- creation may fail when this limit is exceeded, or when the
-- space this limit represents is unable to satisfy a pool creation due
-- to fragmentation.
[$sel:maxUpdateAfterBindDescriptorsInAllPools:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | shaderUniformBufferArrayNonUniformIndexingNative is a boolean
-- value indicating whether uniform buffer descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- uniform buffers may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderUniformBufferArrayNonUniformIndexingNative:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderSampledImageArrayNonUniformIndexingNative is a boolean
-- value indicating whether sampler and image descriptors natively
-- support nonuniform indexing. If this is FALSE, then a single
-- dynamic instance of an instruction that nonuniformly indexes an array
-- of samplers or images may execute multiple times in order to
-- access all the descriptors.
[$sel:shaderSampledImageArrayNonUniformIndexingNative:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderStorageBufferArrayNonUniformIndexingNative is a boolean
-- value indicating whether storage buffer descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage buffers may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderStorageBufferArrayNonUniformIndexingNative:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderStorageImageArrayNonUniformIndexingNative is a boolean
-- value indicating whether storage image descriptors natively support
-- nonuniform indexing. If this is FALSE, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage images may execute multiple times in order to access
-- all the descriptors.
[$sel:shaderStorageImageArrayNonUniformIndexingNative:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | shaderInputAttachmentArrayNonUniformIndexingNative is a
-- boolean value indicating whether input attachment descriptors natively
-- support nonuniform indexing. If this is FALSE, then a single
-- dynamic instance of an instruction that nonuniformly indexes an array
-- of input attachments may execute multiple times in order to
-- access all the descriptors.
[$sel:shaderInputAttachmentArrayNonUniformIndexingNative:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | robustBufferAccessUpdateAfterBind is a boolean value
-- indicating whether robustBufferAccess can be enabled in
-- a device simultaneously with
-- descriptorBindingUniformBufferUpdateAfterBind,
-- descriptorBindingStorageBufferUpdateAfterBind,
-- descriptorBindingUniformTexelBufferUpdateAfterBind, and/or
-- descriptorBindingStorageTexelBufferUpdateAfterBind. If this
-- is FALSE, then either robustBufferAccess must
-- be disabled or all of these update-after-bind features must be
-- disabled.
[$sel:robustBufferAccessUpdateAfterBind:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | quadDivergentImplicitLod is a boolean value indicating
-- whether implicit level of detail calculations for image operations
-- have well-defined results when the image and/or sampler objects used
-- for the instruction are not uniform within a quad. See Derivative
-- Image Operations.
[$sel:quadDivergentImplicitLod:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | maxPerStageDescriptorUpdateAfterBindSamplers is similar to
-- maxPerStageDescriptorSamplers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindSamplers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindUniformBuffers is similar
-- to maxPerStageDescriptorUniformBuffers but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindUniformBuffers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindStorageBuffers is similar
-- to maxPerStageDescriptorStorageBuffers but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindStorageBuffers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindSampledImages is similar
-- to maxPerStageDescriptorSampledImages but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindSampledImages:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindStorageImages is similar
-- to maxPerStageDescriptorStorageImages but counts descriptors
-- from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindStorageImages:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageDescriptorUpdateAfterBindInputAttachments is
-- similar to maxPerStageDescriptorInputAttachments but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageDescriptorUpdateAfterBindInputAttachments:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxPerStageUpdateAfterBindResources is similar to
-- maxPerStageResources but counts descriptors from descriptor
-- sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxPerStageUpdateAfterBindResources:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindSamplers is similar to
-- maxDescriptorSetSamplers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindSamplers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindUniformBuffers is similar to
-- maxDescriptorSetUniformBuffers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindUniformBuffers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindUniformBuffersDynamic is
-- similar to maxDescriptorSetUniformBuffersDynamic but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set. While an application can allocate dynamic uniform buffer
-- descriptors from a pool created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-- bindings for these descriptors must not be present in any
-- descriptor set layout that includes bindings created with
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT.
[$sel:maxDescriptorSetUpdateAfterBindUniformBuffersDynamic:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageBuffers is similar to
-- maxDescriptorSetStorageBuffers but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindStorageBuffers:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageBuffersDynamic is
-- similar to maxDescriptorSetStorageBuffersDynamic but counts
-- descriptors from descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set. While an application can allocate dynamic storage buffer
-- descriptors from a pool created with the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-- bindings for these descriptors must not be present in any
-- descriptor set layout that includes bindings created with
-- DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT.
[$sel:maxDescriptorSetUpdateAfterBindStorageBuffersDynamic:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindSampledImages is similar to
-- maxDescriptorSetSampledImages but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindSampledImages:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindStorageImages is similar to
-- maxDescriptorSetStorageImages but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindStorageImages:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | maxDescriptorSetUpdateAfterBindInputAttachments is similar to
-- maxDescriptorSetInputAttachments but counts descriptors from
-- descriptor sets created with or without the
-- DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
-- set.
[$sel:maxDescriptorSetUpdateAfterBindInputAttachments:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word32
-- | supportedDepthResolveModes is a bitmask of
-- ResolveModeFlagBits indicating the set of supported depth
-- resolve modes. RESOLVE_MODE_SAMPLE_ZERO_BIT must be
-- included in the set but implementations may support additional
-- modes.
[$sel:supportedDepthResolveModes:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ResolveModeFlags
-- | supportedStencilResolveModes is a bitmask of
-- ResolveModeFlagBits indicating the set of supported stencil
-- resolve modes. RESOLVE_MODE_SAMPLE_ZERO_BIT must be
-- included in the set but implementations may support additional
-- modes. RESOLVE_MODE_AVERAGE_BIT must not be included in
-- the set.
[$sel:supportedStencilResolveModes:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> ResolveModeFlags
-- | independentResolveNone is TRUE if the implementation
-- supports setting the depth and stencil resolve modes to different
-- values when one of those modes is RESOLVE_MODE_NONE. Otherwise
-- the implementation only supports setting both modes to the same value.
[$sel:independentResolveNone:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | independentResolve is TRUE if the implementation
-- supports all combinations of the supported depth and stencil resolve
-- modes, including setting either depth or stencil resolve mode to
-- RESOLVE_MODE_NONE. An implementation that supports
-- independentResolve must also support
-- independentResolveNone.
[$sel:independentResolve:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | filterMinmaxSingleComponentFormats is a boolean value
-- indicating whether a minimum set of required formats support min/max
-- filtering.
[$sel:filterMinmaxSingleComponentFormats:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | filterMinmaxImageComponentMapping is a boolean value
-- indicating whether the implementation supports non-identity component
-- mapping of the image when doing min/max filtering.
[$sel:filterMinmaxImageComponentMapping:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Bool
-- | maxTimelineSemaphoreValueDifference indicates the maximum
-- difference allowed by the implementation between the current value of
-- a timeline semaphore and any pending signal or wait operations.
[$sel:maxTimelineSemaphoreValueDifference:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> Word64
-- | framebufferIntegerColorSampleCounts is a bitmask of
-- SampleCountFlagBits indicating the color sample counts that are
-- supported for all framebuffer color attachments with integer formats.
[$sel:framebufferIntegerColorSampleCounts:PhysicalDeviceVulkan12Properties] :: PhysicalDeviceVulkan12Properties -> SampleCountFlags
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
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_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: 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_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: 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_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_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_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: 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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: 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_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: 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_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: 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_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_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_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: 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_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: 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_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: 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_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_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
-- | VkPhysicalDeviceDriverProperties - Structure containing driver
-- identification information
--
-- Description
--
-- If the PhysicalDeviceDriverProperties structure is included in
-- the pNext chain of the PhysicalDeviceProperties2
-- structure passed to getPhysicalDeviceProperties2, it is filled
-- in with each corresponding implementation-dependent property.
--
-- These are properties of the driver corresponding to a physical device.
--
-- driverID must be immutable for a given driver across
-- instances, processes, driver versions, and system reboots.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- ConformanceVersion, DriverId, StructureType
data PhysicalDeviceDriverProperties
PhysicalDeviceDriverProperties :: DriverId -> ByteString -> ByteString -> ConformanceVersion -> PhysicalDeviceDriverProperties
-- | driverID is a unique identifier for the driver of the
-- physical device.
[$sel:driverID:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> DriverId
-- | driverName is an array of MAX_DRIVER_NAME_SIZE
-- char containing a null-terminated UTF-8 string which is the
-- name of the driver.
[$sel:driverName:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ByteString
-- | driverInfo is an array of MAX_DRIVER_INFO_SIZE
-- char containing a null-terminated UTF-8 string with
-- additional information about the driver.
[$sel:driverInfo:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ByteString
-- | conformanceVersion is the version of the Vulkan conformance
-- test this driver is conformant against (see
-- ConformanceVersion).
[$sel:conformanceVersion:PhysicalDeviceDriverProperties] :: PhysicalDeviceDriverProperties -> ConformanceVersion
-- | VkConformanceVersion - Structure containing the conformance test suite
-- version the implementation is compliant with
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceVulkan12Properties
data ConformanceVersion
ConformanceVersion :: Word8 -> Word8 -> Word8 -> Word8 -> ConformanceVersion
-- | major is the major version number of the conformance test
-- suite.
[$sel:major:ConformanceVersion] :: ConformanceVersion -> Word8
-- | minor is the minor version number of the conformance test
-- suite.
[$sel:minor:ConformanceVersion] :: ConformanceVersion -> Word8
-- | subminor is the subminor version number of the conformance
-- test suite.
[$sel:subminor:ConformanceVersion] :: ConformanceVersion -> Word8
-- | patch is the patch version number of the conformance test
-- suite.
[$sel:patch:ConformanceVersion] :: ConformanceVersion -> Word8
-- | VkDriverId - Khronos driver IDs
--
-- Description
--
-- Note
--
-- Khronos driver IDs may be allocated by vendors at any time. There may
-- be multiple driver IDs for the same vendor, representing different
-- drivers (for e.g. different platforms, proprietary or open source,
-- etc.). Only the latest canonical versions of this Specification, of
-- the corresponding vk.xml API Registry, and of the
-- corresponding vulkan_core.h header file must contain
-- all reserved Khronos driver IDs.
--
-- Only driver IDs registered with Khronos are given symbolic names.
-- There may be unregistered driver IDs returned.
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceVulkan12Properties
newtype DriverId
DriverId :: Int32 -> DriverId
pattern DRIVER_ID_SAMSUNG_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_PANVK :: DriverId
pattern DRIVER_ID_MESA_V3DV :: DriverId
pattern DRIVER_ID_MESA_TURNIP :: DriverId
pattern DRIVER_ID_VERISILICON_PROPRIETARY :: DriverId
pattern DRIVER_ID_JUICE_PROPRIETARY :: DriverId
pattern DRIVER_ID_COREAVI_PROPRIETARY :: DriverId
pattern DRIVER_ID_MOLTENVK :: DriverId
pattern DRIVER_ID_MESA_LLVMPIPE :: DriverId
pattern DRIVER_ID_BROADCOM_PROPRIETARY :: DriverId
pattern DRIVER_ID_GGP_PROPRIETARY :: DriverId
pattern DRIVER_ID_GOOGLE_SWIFTSHADER :: DriverId
pattern DRIVER_ID_ARM_PROPRIETARY :: DriverId
pattern DRIVER_ID_QUALCOMM_PROPRIETARY :: DriverId
pattern DRIVER_ID_IMAGINATION_PROPRIETARY :: DriverId
pattern DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: DriverId
pattern DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: DriverId
pattern DRIVER_ID_NVIDIA_PROPRIETARY :: DriverId
pattern DRIVER_ID_MESA_RADV :: DriverId
pattern DRIVER_ID_AMD_OPEN_SOURCE :: DriverId
pattern DRIVER_ID_AMD_PROPRIETARY :: DriverId
-- | VkStructureType - Vulkan structure types (sType)
--
-- See Also
--
-- VK_VERSION_1_0,
-- AccelerationStructureBuildGeometryInfoKHR,
-- AccelerationStructureBuildSizesInfoKHR,
-- AccelerationStructureCreateInfoKHR,
-- AccelerationStructureCreateInfoNV,
-- AccelerationStructureDeviceAddressInfoKHR,
-- AccelerationStructureGeometryAabbsDataKHR,
-- AccelerationStructureGeometryInstancesDataKHR,
-- AccelerationStructureGeometryKHR,
-- AccelerationStructureGeometryMotionTrianglesDataNV,
-- AccelerationStructureGeometryTrianglesDataKHR,
-- AccelerationStructureInfoNV,
-- AccelerationStructureMemoryRequirementsInfoNV,
-- AccelerationStructureMotionInfoNV,
-- AccelerationStructureVersionInfoKHR,
-- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR,
-- AndroidHardwareBufferFormatProperties2ANDROID,
-- AndroidHardwareBufferFormatPropertiesANDROID,
-- AndroidHardwareBufferPropertiesANDROID,
-- AndroidHardwareBufferUsageANDROID,
-- AndroidSurfaceCreateInfoKHR, ApplicationInfo,
-- AttachmentDescription2,
-- AttachmentDescriptionStencilLayout,
-- AttachmentReference2, AttachmentReferenceStencilLayout,
-- AttachmentSampleCountInfoAMD, BaseInStructure,
-- BaseOutStructure, BindAccelerationStructureMemoryInfoNV,
-- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo,
-- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo,
-- BindImageMemorySwapchainInfoKHR,
-- BindImagePlaneMemoryInfo, BindSparseInfo,
-- BlitImageInfo2KHR,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, BufferCopy2KHR,
-- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT,
-- BufferDeviceAddressInfo, BufferImageCopy2KHR,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2,
-- BufferOpaqueCaptureAddressCreateInfo,
-- BufferViewCreateInfo, CalibratedTimestampInfoEXT,
-- CheckpointData2NV, CheckpointDataNV,
-- CommandBufferAllocateInfo, CommandBufferBeginInfo,
-- CommandBufferInheritanceConditionalRenderingInfoEXT,
-- CommandBufferInheritanceInfo,
-- CommandBufferInheritanceRenderPassTransformInfoQCOM,
-- CommandBufferInheritanceRenderingInfoKHR,
-- CommandBufferInheritanceViewportScissorInfoNV,
-- CommandBufferSubmitInfoKHR, CommandPoolCreateInfo,
-- ComputePipelineCreateInfo,
-- ConditionalRenderingBeginInfoEXT,
-- CooperativeMatrixPropertiesNV,
-- CopyAccelerationStructureInfoKHR,
-- CopyAccelerationStructureToMemoryInfoKHR,
-- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR,
-- CopyCommandTransformInfoQCOM, CopyDescriptorSet,
-- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- CopyMemoryToAccelerationStructureInfoKHR,
-- CuFunctionCreateInfoNVX, CuLaunchInfoNVX,
-- CuModuleCreateInfoNVX, D3D12FenceSubmitInfoKHR,
-- DebugMarkerMarkerInfoEXT, DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT,
-- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT,
-- DebugUtilsMessengerCallbackDataEXT,
-- DebugUtilsMessengerCreateInfoEXT,
-- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT,
-- DedicatedAllocationBufferCreateInfoNV,
-- DedicatedAllocationImageCreateInfoNV,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DependencyInfoKHR, DescriptorPoolCreateInfo,
-- DescriptorPoolInlineUniformBlockCreateInfoEXT,
-- DescriptorSetAllocateInfo,
-- DescriptorSetLayoutBindingFlagsCreateInfo,
-- DescriptorSetLayoutCreateInfo,
-- DescriptorSetLayoutSupport,
-- DescriptorSetVariableDescriptorCountAllocateInfo,
-- DescriptorSetVariableDescriptorCountLayoutSupport,
-- DescriptorUpdateTemplateCreateInfo,
-- DeviceBufferMemoryRequirementsKHR, DeviceCreateInfo,
-- DeviceDeviceMemoryReportCreateInfoEXT,
-- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT,
-- DeviceGroupBindSparseInfo,
-- DeviceGroupCommandBufferBeginInfo,
-- DeviceGroupDeviceCreateInfo,
-- DeviceGroupPresentCapabilitiesKHR,
-- DeviceGroupPresentInfoKHR,
-- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo,
-- DeviceGroupSwapchainCreateInfoKHR,
-- DeviceImageMemoryRequirementsKHR,
-- DeviceMemoryOpaqueCaptureAddressInfo,
-- DeviceMemoryOverallocationCreateInfoAMD,
-- DeviceMemoryReportCallbackDataEXT,
-- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo,
-- DeviceQueueGlobalPriorityCreateInfoEXT,
-- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT,
-- DisplayEventInfoEXT, DisplayModeCreateInfoKHR,
-- DisplayModeProperties2KHR,
-- DisplayNativeHdrSurfaceCapabilitiesAMD,
-- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR,
-- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT,
-- DisplayPresentInfoKHR, DisplayProperties2KHR,
-- DisplaySurfaceCreateInfoKHR,
-- DrmFormatModifierPropertiesList2EXT,
-- DrmFormatModifierPropertiesListEXT, EventCreateInfo,
-- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR,
-- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV,
-- ExportMemoryWin32HandleInfoKHR,
-- ExportMemoryWin32HandleInfoNV,
-- ExportSemaphoreCreateInfo,
-- ExportSemaphoreWin32HandleInfoKHR,
-- ExternalBufferProperties, ExternalFenceProperties,
-- ExternalFormatANDROID, ExternalImageFormatProperties,
-- ExternalMemoryBufferCreateInfo,
-- ExternalMemoryImageCreateInfo,
-- ExternalMemoryImageCreateInfoNV,
-- ExternalSemaphoreProperties, FenceCreateInfo,
-- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR,
-- FilterCubicImageViewImageFormatPropertiesEXT,
-- FormatProperties2, FormatProperties3KHR,
-- FragmentShadingRateAttachmentInfoKHR,
-- FramebufferAttachmentImageInfo,
-- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo,
-- FramebufferMixedSamplesCombinationNV,
-- GeneratedCommandsInfoNV,
-- GeneratedCommandsMemoryRequirementsInfoNV,
-- GeometryAABBNV, GeometryNV, GeometryTrianglesNV,
-- GraphicsPipelineCreateInfo,
-- GraphicsPipelineShaderGroupsCreateInfoNV,
-- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT,
-- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK,
-- ImageBlit2KHR, ImageConstraintsInfoFUCHSIA,
-- ImageCopy2KHR, ImageCreateInfo,
-- ImageDrmFormatModifierExplicitCreateInfoEXT,
-- ImageDrmFormatModifierListCreateInfoEXT,
-- ImageDrmFormatModifierPropertiesEXT,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImageFormatListCreateInfo, ImageFormatProperties2,
-- ImageMemoryBarrier, ImageMemoryBarrier2KHR,
-- ImageMemoryRequirementsInfo2,
-- ImagePipeSurfaceCreateInfoFUCHSIA,
-- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR,
-- ImageSparseMemoryRequirementsInfo2,
-- ImageStencilUsageCreateInfo,
-- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT,
-- ImageViewAddressPropertiesNVX, ImageViewCreateInfo,
-- ImageViewHandleInfoNVX, ImageViewMinLodCreateInfoEXT,
-- ImageViewUsageCreateInfo,
-- ImportAndroidHardwareBufferInfoANDROID,
-- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR,
-- ImportMemoryBufferCollectionFUCHSIA,
-- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT,
-- ImportMemoryWin32HandleInfoKHR,
-- ImportMemoryWin32HandleInfoNV,
-- ImportMemoryZirconHandleInfoFUCHSIA,
-- ImportSemaphoreFdInfoKHR,
-- ImportSemaphoreWin32HandleInfoKHR,
-- ImportSemaphoreZirconHandleInfoFUCHSIA,
-- IndirectCommandsLayoutCreateInfoNV,
-- IndirectCommandsLayoutTokenNV,
-- InitializePerformanceApiInfoINTEL, InstanceCreateInfo,
-- MacOSSurfaceCreateInfoMVK, MappedMemoryRange,
-- MemoryAllocateFlagsInfo, MemoryAllocateInfo,
-- MemoryBarrier, MemoryBarrier2KHR,
-- MemoryDedicatedAllocateInfo,
-- MemoryDedicatedRequirements, MemoryFdPropertiesKHR,
-- MemoryGetAndroidHardwareBufferInfoANDROID,
-- MemoryGetFdInfoKHR, MemoryGetRemoteAddressInfoNV,
-- MemoryGetWin32HandleInfoKHR,
-- MemoryGetZirconHandleInfoFUCHSIA,
-- MemoryHostPointerPropertiesEXT,
-- MemoryOpaqueCaptureAddressAllocateInfo,
-- MemoryPriorityAllocateInfoEXT, MemoryRequirements2,
-- MemoryWin32HandlePropertiesKHR,
-- MemoryZirconHandlePropertiesFUCHSIA,
-- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT,
-- MultiviewPerViewAttributesInfoNVX,
-- MutableDescriptorTypeCreateInfoVALVE,
-- PerformanceConfigurationAcquireInfoINTEL,
-- PerformanceCounterDescriptionKHR, PerformanceCounterKHR,
-- PerformanceMarkerInfoINTEL,
-- PerformanceOverrideInfoINTEL,
-- PerformanceQuerySubmitInfoKHR,
-- PerformanceStreamMarkerInfoINTEL,
-- PhysicalDevice16BitStorageFeatures,
-- PhysicalDevice4444FormatsFeaturesEXT,
-- PhysicalDevice8BitStorageFeatures,
-- PhysicalDeviceASTCDecodeFeaturesEXT,
-- PhysicalDeviceAccelerationStructureFeaturesKHR,
-- PhysicalDeviceAccelerationStructurePropertiesKHR,
-- PhysicalDeviceBlendOperationAdvancedFeaturesEXT,
-- PhysicalDeviceBlendOperationAdvancedPropertiesEXT,
-- PhysicalDeviceBorderColorSwizzleFeaturesEXT,
-- PhysicalDeviceBufferDeviceAddressFeatures,
-- PhysicalDeviceBufferDeviceAddressFeaturesEXT,
-- PhysicalDeviceCoherentMemoryFeaturesAMD,
-- PhysicalDeviceColorWriteEnableFeaturesEXT,
-- PhysicalDeviceComputeShaderDerivativesFeaturesNV,
-- PhysicalDeviceConditionalRenderingFeaturesEXT,
-- PhysicalDeviceConservativeRasterizationPropertiesEXT,
-- PhysicalDeviceCooperativeMatrixFeaturesNV,
-- PhysicalDeviceCooperativeMatrixPropertiesNV,
-- PhysicalDeviceCornerSampledImageFeaturesNV,
-- PhysicalDeviceCoverageReductionModeFeaturesNV,
-- PhysicalDeviceCustomBorderColorFeaturesEXT,
-- PhysicalDeviceCustomBorderColorPropertiesEXT,
-- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
-- PhysicalDeviceDepthClipControlFeaturesEXT,
-- PhysicalDeviceDepthClipEnableFeaturesEXT,
-- PhysicalDeviceDepthStencilResolveProperties,
-- PhysicalDeviceDescriptorIndexingFeatures,
-- PhysicalDeviceDescriptorIndexingProperties,
-- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
-- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
-- PhysicalDeviceDeviceMemoryReportFeaturesEXT,
-- PhysicalDeviceDiagnosticsConfigFeaturesNV,
-- PhysicalDeviceDiscardRectanglePropertiesEXT,
-- PhysicalDeviceDriverProperties,
-- PhysicalDeviceDrmPropertiesEXT,
-- PhysicalDeviceDynamicRenderingFeaturesKHR,
-- PhysicalDeviceExclusiveScissorFeaturesNV,
-- PhysicalDeviceExtendedDynamicState2FeaturesEXT,
-- PhysicalDeviceExtendedDynamicStateFeaturesEXT,
-- PhysicalDeviceExternalBufferInfo,
-- PhysicalDeviceExternalFenceInfo,
-- PhysicalDeviceExternalImageFormatInfo,
-- PhysicalDeviceExternalMemoryHostPropertiesEXT,
-- PhysicalDeviceExternalMemoryRDMAFeaturesNV,
-- PhysicalDeviceExternalSemaphoreInfo,
-- PhysicalDeviceFeatures2,
-- PhysicalDeviceFloatControlsProperties,
-- PhysicalDeviceFragmentDensityMap2FeaturesEXT,
-- PhysicalDeviceFragmentDensityMap2PropertiesEXT,
-- PhysicalDeviceFragmentDensityMapFeaturesEXT,
-- PhysicalDeviceFragmentDensityMapPropertiesEXT,
-- PhysicalDeviceFragmentShaderBarycentricFeaturesNV,
-- PhysicalDeviceFragmentShaderInterlockFeaturesEXT,
-- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV,
-- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV,
-- PhysicalDeviceFragmentShadingRateFeaturesKHR,
-- PhysicalDeviceFragmentShadingRateKHR,
-- PhysicalDeviceFragmentShadingRatePropertiesKHR,
-- PhysicalDeviceGlobalPriorityQueryFeaturesEXT,
-- PhysicalDeviceGroupProperties,
-- PhysicalDeviceHostQueryResetFeatures,
-- PhysicalDeviceIDProperties,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- PhysicalDeviceImageFormatInfo2,
-- PhysicalDeviceImageRobustnessFeaturesEXT,
-- PhysicalDeviceImageViewImageFormatInfoEXT,
-- PhysicalDeviceImageViewMinLodFeaturesEXT,
-- PhysicalDeviceImagelessFramebufferFeatures,
-- PhysicalDeviceIndexTypeUint8FeaturesEXT,
-- PhysicalDeviceInheritedViewportScissorFeaturesNV,
-- PhysicalDeviceInlineUniformBlockFeaturesEXT,
-- PhysicalDeviceInlineUniformBlockPropertiesEXT,
-- PhysicalDeviceInvocationMaskFeaturesHUAWEI,
-- PhysicalDeviceLineRasterizationFeaturesEXT,
-- PhysicalDeviceLineRasterizationPropertiesEXT,
-- PhysicalDeviceMaintenance3Properties,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- PhysicalDeviceMemoryBudgetPropertiesEXT,
-- PhysicalDeviceMemoryPriorityFeaturesEXT,
-- PhysicalDeviceMemoryProperties2,
-- PhysicalDeviceMeshShaderFeaturesNV,
-- PhysicalDeviceMeshShaderPropertiesNV,
-- PhysicalDeviceMultiDrawFeaturesEXT,
-- PhysicalDeviceMultiDrawPropertiesEXT,
-- PhysicalDeviceMultiviewFeatures,
-- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
-- PhysicalDeviceMultiviewProperties,
-- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE,
-- PhysicalDevicePCIBusInfoPropertiesEXT,
-- PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT,
-- PhysicalDevicePerformanceQueryFeaturesKHR,
-- PhysicalDevicePerformanceQueryPropertiesKHR,
-- PhysicalDevicePipelineCreationCacheControlFeaturesEXT,
-- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
-- PhysicalDevicePointClippingProperties,
-- PhysicalDevicePortabilitySubsetFeaturesKHR,
-- PhysicalDevicePortabilitySubsetPropertiesKHR,
-- PhysicalDevicePresentIdFeaturesKHR,
-- PhysicalDevicePresentWaitFeaturesKHR,
-- PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT,
-- PhysicalDevicePrivateDataFeaturesEXT,
-- PhysicalDeviceProperties2,
-- PhysicalDeviceProtectedMemoryFeatures,
-- PhysicalDeviceProtectedMemoryProperties,
-- PhysicalDeviceProvokingVertexFeaturesEXT,
-- PhysicalDeviceProvokingVertexPropertiesEXT,
-- PhysicalDevicePushDescriptorPropertiesKHR,
-- PhysicalDeviceRGBA10X6FormatsFeaturesEXT,
-- PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM,
-- PhysicalDeviceRayQueryFeaturesKHR,
-- PhysicalDeviceRayTracingMotionBlurFeaturesNV,
-- PhysicalDeviceRayTracingPipelineFeaturesKHR,
-- PhysicalDeviceRayTracingPipelinePropertiesKHR,
-- PhysicalDeviceRayTracingPropertiesNV,
-- PhysicalDeviceRepresentativeFragmentTestFeaturesNV,
-- PhysicalDeviceRobustness2FeaturesEXT,
-- PhysicalDeviceRobustness2PropertiesEXT,
-- PhysicalDeviceSampleLocationsPropertiesEXT,
-- PhysicalDeviceSamplerFilterMinmaxProperties,
-- PhysicalDeviceSamplerYcbcrConversionFeatures,
-- PhysicalDeviceScalarBlockLayoutFeatures,
-- PhysicalDeviceSeparateDepthStencilLayoutsFeatures,
-- PhysicalDeviceShaderAtomicFloat2FeaturesEXT,
-- PhysicalDeviceShaderAtomicFloatFeaturesEXT,
-- PhysicalDeviceShaderAtomicInt64Features,
-- PhysicalDeviceShaderClockFeaturesKHR,
-- PhysicalDeviceShaderCoreProperties2AMD,
-- PhysicalDeviceShaderCorePropertiesAMD,
-- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
-- PhysicalDeviceShaderDrawParametersFeatures,
-- PhysicalDeviceShaderFloat16Int8Features,
-- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
-- PhysicalDeviceShaderImageFootprintFeaturesNV,
-- PhysicalDeviceShaderIntegerDotProductFeaturesKHR,
-- PhysicalDeviceShaderIntegerDotProductPropertiesKHR,
-- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
-- PhysicalDeviceShaderSMBuiltinsFeaturesNV,
-- PhysicalDeviceShaderSMBuiltinsPropertiesNV,
-- PhysicalDeviceShaderSubgroupExtendedTypesFeatures,
-- PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR,
-- PhysicalDeviceShaderTerminateInvocationFeaturesKHR,
-- PhysicalDeviceShadingRateImageFeaturesNV,
-- PhysicalDeviceShadingRateImagePropertiesNV,
-- PhysicalDeviceSparseImageFormatInfo2,
-- PhysicalDeviceSubgroupProperties,
-- PhysicalDeviceSubgroupSizeControlFeaturesEXT,
-- PhysicalDeviceSubgroupSizeControlPropertiesEXT,
-- PhysicalDeviceSubpassShadingFeaturesHUAWEI,
-- PhysicalDeviceSubpassShadingPropertiesHUAWEI,
-- PhysicalDeviceSurfaceInfo2KHR,
-- PhysicalDeviceSynchronization2FeaturesKHR,
-- PhysicalDeviceTexelBufferAlignmentFeaturesEXT,
-- PhysicalDeviceTexelBufferAlignmentPropertiesEXT,
-- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
-- PhysicalDeviceTimelineSemaphoreFeatures,
-- PhysicalDeviceTimelineSemaphoreProperties,
-- PhysicalDeviceToolPropertiesEXT,
-- PhysicalDeviceTransformFeedbackFeaturesEXT,
-- PhysicalDeviceTransformFeedbackPropertiesEXT,
-- PhysicalDeviceUniformBufferStandardLayoutFeatures,
-- PhysicalDeviceVariablePointersFeatures,
-- PhysicalDeviceVertexAttributeDivisorFeaturesEXT,
-- PhysicalDeviceVertexAttributeDivisorPropertiesEXT,
-- PhysicalDeviceVertexInputDynamicStateFeaturesEXT,
-- VkPhysicalDeviceVideoFormatInfoKHR,
-- PhysicalDeviceVulkan11Features,
-- PhysicalDeviceVulkan11Properties,
-- PhysicalDeviceVulkan12Features,
-- PhysicalDeviceVulkan12Properties,
-- PhysicalDeviceVulkanMemoryModelFeatures,
-- PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR,
-- PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT,
-- PhysicalDeviceYcbcrImageArraysFeaturesEXT,
-- PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR,
-- PipelineCacheCreateInfo,
-- PipelineColorBlendAdvancedStateCreateInfoEXT,
-- PipelineColorBlendStateCreateInfo,
-- PipelineColorWriteCreateInfoEXT,
-- PipelineCompilerControlCreateInfoAMD,
-- PipelineCoverageModulationStateCreateInfoNV,
-- PipelineCoverageReductionStateCreateInfoNV,
-- PipelineCoverageToColorStateCreateInfoNV,
-- PipelineCreationFeedbackCreateInfoEXT,
-- PipelineDepthStencilStateCreateInfo,
-- PipelineDiscardRectangleStateCreateInfoEXT,
-- PipelineDynamicStateCreateInfo,
-- PipelineExecutableInfoKHR,
-- PipelineExecutableInternalRepresentationKHR,
-- PipelineExecutablePropertiesKHR,
-- PipelineExecutableStatisticKHR,
-- PipelineFragmentShadingRateEnumStateCreateInfoNV,
-- PipelineFragmentShadingRateStateCreateInfoKHR,
-- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo,
-- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR,
-- PipelineMultisampleStateCreateInfo,
-- PipelineRasterizationConservativeStateCreateInfoEXT,
-- PipelineRasterizationDepthClipStateCreateInfoEXT,
-- PipelineRasterizationLineStateCreateInfoEXT,
-- PipelineRasterizationProvokingVertexStateCreateInfoEXT,
-- PipelineRasterizationStateCreateInfo,
-- PipelineRasterizationStateRasterizationOrderAMD,
-- PipelineRasterizationStateStreamCreateInfoEXT,
-- PipelineRenderingCreateInfoKHR,
-- PipelineRepresentativeFragmentTestStateCreateInfoNV,
-- PipelineSampleLocationsStateCreateInfoEXT,
-- PipelineShaderStageCreateInfo,
-- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
-- PipelineTessellationDomainOriginStateCreateInfo,
-- PipelineTessellationStateCreateInfo,
-- PipelineVertexInputDivisorStateCreateInfoEXT,
-- PipelineVertexInputStateCreateInfo,
-- PipelineViewportCoarseSampleOrderStateCreateInfoNV,
-- PipelineViewportDepthClipControlCreateInfoEXT,
-- PipelineViewportExclusiveScissorStateCreateInfoNV,
-- PipelineViewportShadingRateImageStateCreateInfoNV,
-- PipelineViewportStateCreateInfo,
-- PipelineViewportSwizzleStateCreateInfoNV,
-- PipelineViewportWScalingStateCreateInfoNV,
-- PresentFrameTokenGGP, PresentIdKHR,
-- PresentInfoKHR, PresentRegionsKHR,
-- PresentTimesInfoGOOGLE, PrivateDataSlotCreateInfoEXT,
-- ProtectedSubmitInfo, QueryPoolCreateInfo,
-- QueryPoolPerformanceCreateInfoKHR,
-- QueryPoolPerformanceQueryCreateInfoINTEL,
-- QueueFamilyCheckpointProperties2NV,
-- QueueFamilyCheckpointPropertiesNV,
-- QueueFamilyGlobalPriorityPropertiesEXT,
-- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR,
-- RayTracingPipelineCreateInfoNV,
-- RayTracingPipelineInterfaceCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoKHR,
-- RayTracingShaderGroupCreateInfoNV,
-- RenderPassAttachmentBeginInfo, RenderPassBeginInfo,
-- RenderPassCreateInfo, RenderPassCreateInfo2,
-- RenderPassFragmentDensityMapCreateInfoEXT,
-- RenderPassInputAttachmentAspectCreateInfo,
-- RenderPassMultiviewCreateInfo,
-- RenderPassSampleLocationsBeginInfoEXT,
-- RenderPassTransformBeginInfoQCOM,
-- RenderingAttachmentInfoKHR,
-- RenderingFragmentDensityMapAttachmentInfoEXT,
-- RenderingFragmentShadingRateAttachmentInfoKHR,
-- RenderingInfoKHR, ResolveImageInfo2KHR,
-- SampleLocationsInfoEXT,
-- SamplerBorderColorComponentMappingCreateInfoEXT,
-- SamplerCreateInfo,
-- SamplerCustomBorderColorCreateInfoEXT,
-- SamplerReductionModeCreateInfo,
-- SamplerYcbcrConversionCreateInfo,
-- SamplerYcbcrConversionImageFormatProperties,
-- SamplerYcbcrConversionInfo, ScreenSurfaceCreateInfoQNX,
-- SemaphoreCreateInfo, SemaphoreGetFdInfoKHR,
-- SemaphoreGetWin32HandleInfoKHR,
-- SemaphoreGetZirconHandleInfoFUCHSIA,
-- SemaphoreSignalInfo, SemaphoreSubmitInfoKHR,
-- SemaphoreTypeCreateInfo, SemaphoreWaitInfo,
-- ShaderModuleCreateInfo,
-- ShaderModuleValidationCacheCreateInfoEXT,
-- SharedPresentSurfaceCapabilitiesKHR,
-- SparseImageFormatProperties2,
-- SparseImageMemoryRequirements2,
-- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo,
-- SubmitInfo2KHR, SubpassBeginInfo,
-- SubpassDependency2, SubpassDescription2,
-- SubpassDescriptionDepthStencilResolve, SubpassEndInfo,
-- SubpassShadingPipelineCreateInfoHUAWEI,
-- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR,
-- SurfaceCapabilitiesFullScreenExclusiveEXT,
-- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT,
-- SurfaceFullScreenExclusiveWin32InfoEXT,
-- SurfaceProtectedCapabilitiesKHR,
-- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR,
-- SwapchainDisplayNativeHdrCreateInfoAMD,
-- SysmemColorSpaceFUCHSIA,
-- TextureLODGatherFormatPropertiesAMD,
-- TimelineSemaphoreSubmitInfo,
-- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT,
-- ValidationFlagsEXT, VertexInputAttributeDescription2EXT,
-- VertexInputBindingDescription2EXT,
-- ViSurfaceCreateInfoNN, VkVideoBeginCodingInfoKHR,
-- VkVideoBindMemoryKHR, VkVideoCapabilitiesKHR,
-- VkVideoCodingControlInfoKHR,
-- VkVideoDecodeH264CapabilitiesEXT,
-- VkVideoDecodeH264DpbSlotInfoEXT,
-- VkVideoDecodeH264MvcEXT,
-- VkVideoDecodeH264PictureInfoEXT,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH264SessionCreateInfoEXT,
-- VkVideoDecodeH264SessionParametersAddInfoEXT,
-- VkVideoDecodeH264SessionParametersCreateInfoEXT,
-- VkVideoDecodeH265CapabilitiesEXT,
-- VkVideoDecodeH265DpbSlotInfoEXT,
-- VkVideoDecodeH265PictureInfoEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoDecodeH265SessionCreateInfoEXT,
-- VkVideoDecodeH265SessionParametersAddInfoEXT,
-- VkVideoDecodeH265SessionParametersCreateInfoEXT,
-- VkVideoDecodeInfoKHR, VkVideoEncodeH264CapabilitiesEXT,
-- VkVideoEncodeH264DpbSlotInfoEXT,
-- VkVideoEncodeH264EmitPictureParametersEXT,
-- VkVideoEncodeH264NaluSliceEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH264RateControlInfoEXT,
-- VkVideoEncodeH264RateControlLayerInfoEXT,
-- VkVideoEncodeH264SessionCreateInfoEXT,
-- VkVideoEncodeH264SessionParametersAddInfoEXT,
-- VkVideoEncodeH264SessionParametersCreateInfoEXT,
-- VkVideoEncodeH264VclFrameInfoEXT,
-- VkVideoEncodeH265CapabilitiesEXT,
-- VkVideoEncodeH265DpbSlotInfoEXT,
-- VkVideoEncodeH265EmitPictureParametersEXT,
-- VkVideoEncodeH265NaluSliceEXT,
-- VkVideoEncodeH265ProfileEXT,
-- VkVideoEncodeH265RateControlInfoEXT,
-- VkVideoEncodeH265RateControlLayerInfoEXT,
-- VkVideoEncodeH265ReferenceListsEXT,
-- VkVideoEncodeH265SessionCreateInfoEXT,
-- VkVideoEncodeH265SessionParametersAddInfoEXT,
-- VkVideoEncodeH265SessionParametersCreateInfoEXT,
-- VkVideoEncodeH265VclFrameInfoEXT, VkVideoEncodeInfoKHR,
-- VkVideoEncodeRateControlInfoKHR,
-- VkVideoEncodeRateControlLayerInfoKHR,
-- VkVideoEndCodingInfoKHR, VkVideoFormatPropertiesKHR,
-- VkVideoGetMemoryPropertiesKHR,
-- VkVideoPictureResourceKHR, VkVideoProfileKHR,
-- VkVideoProfilesKHR, VkVideoQueueFamilyProperties2KHR,
-- VkVideoReferenceSlotKHR, VkVideoSessionCreateInfoKHR,
-- VkVideoSessionParametersCreateInfoKHR,
-- VkVideoSessionParametersUpdateInfoKHR,
-- WaylandSurfaceCreateInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoKHR,
-- Win32KeyedMutexAcquireReleaseInfoNV,
-- Win32SurfaceCreateInfoKHR, WriteDescriptorSet,
-- WriteDescriptorSetAccelerationStructureKHR,
-- WriteDescriptorSetAccelerationStructureNV,
-- WriteDescriptorSetInlineUniformBlockEXT,
-- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR
newtype StructureType
StructureType :: Int32 -> StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType
pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType
pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType
pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType
pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType
pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType
pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType
pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType
pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType
pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType
pattern STRUCTURE_TYPE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX :: StructureType
pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType
pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType
pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType
pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType
pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType
pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType
pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType
pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType
pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType
pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType
pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType
pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType
pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType
pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType
pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType
pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType
pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType
pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PRESENT_ID_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR :: StructureType
pattern STRUCTURE_TYPE_DEPENDENCY_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV :: StructureType
pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType
pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType
pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType
pattern STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA :: StructureType
pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI :: StructureType
pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR :: StructureType
pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR :: StructureType
pattern STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_MEMORY_BARRIER :: StructureType
pattern STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: StructureType
pattern STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_IMAGE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_EVENT_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_FENCE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_BIND_SPARSE_INFO :: StructureType
pattern STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: StructureType
pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_SUBMIT_INFO :: StructureType
pattern STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_APPLICATION_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DEVICE_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: StructureType
pattern STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: StructureType
pattern STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: StructureType
pattern STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: StructureType
pattern STRUCTURE_TYPE_BUFFER_CREATE_INFO :: StructureType
type MAX_DRIVER_INFO_SIZE = 256
type MAX_DRIVER_NAME_SIZE = 256
-- | VK_MAX_DRIVER_INFO_SIZE - Length of a physical device driver
-- information string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_INFO_SIZE :: forall a. Integral a => a
-- | VK_MAX_DRIVER_NAME_SIZE - Maximum length of a physical device driver
-- name string
--
-- See Also
--
-- VK_KHR_driver_properties, VK_VERSION_1_2
pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a
instance GHC.Classes.Eq Vulkan.Core12.PhysicalDeviceVulkan11Features
instance GHC.Classes.Eq Vulkan.Core12.PhysicalDeviceVulkan12Features
instance GHC.Show.Show Vulkan.Core12.PhysicalDeviceVulkan11Features
instance GHC.Show.Show Vulkan.Core12.PhysicalDeviceVulkan11Properties
instance GHC.Show.Show Vulkan.Core12.PhysicalDeviceVulkan12Features
instance GHC.Show.Show Vulkan.Core12.PhysicalDeviceVulkan12Properties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.PhysicalDeviceVulkan12Properties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.PhysicalDeviceVulkan12Properties
instance Foreign.Storable.Storable Vulkan.Core12.PhysicalDeviceVulkan12Properties
instance Vulkan.Zero.Zero Vulkan.Core12.PhysicalDeviceVulkan12Properties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.PhysicalDeviceVulkan12Features
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.PhysicalDeviceVulkan12Features
instance Foreign.Storable.Storable Vulkan.Core12.PhysicalDeviceVulkan12Features
instance Vulkan.Zero.Zero Vulkan.Core12.PhysicalDeviceVulkan12Features
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.PhysicalDeviceVulkan11Properties
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.PhysicalDeviceVulkan11Properties
instance Foreign.Storable.Storable Vulkan.Core12.PhysicalDeviceVulkan11Properties
instance Vulkan.Zero.Zero Vulkan.Core12.PhysicalDeviceVulkan11Properties
instance Vulkan.CStruct.ToCStruct Vulkan.Core12.PhysicalDeviceVulkan11Features
instance Vulkan.CStruct.FromCStruct Vulkan.Core12.PhysicalDeviceVulkan11Features
instance Foreign.Storable.Storable Vulkan.Core12.PhysicalDeviceVulkan11Features
instance Vulkan.Zero.Zero Vulkan.Core12.PhysicalDeviceVulkan11Features
module Vulkan.SPIRVRequirements
spirvExtensionRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
module Vulkan.Core10.CommandBuffer
-- | vkAllocateCommandBuffers - Allocate command buffers from an existing
-- command pool
--
-- Description
--
-- allocateCommandBuffers can be used to allocate multiple
-- command buffers. If the allocation of any of those command buffers
-- fails, the implementation must free all successfully allocated
-- command buffer objects from this command, set all entries of the
-- pCommandBuffers array to NULL and return the error.
--
-- Note
--
-- Filling pCommandBuffers with NULL values on failure
-- is an exception to the default error behavior that output parameters
-- will have undefined contents.
--
-- When command buffers are first allocated, they are in the initial
-- state.
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pAllocateInfo must be a valid pointer to a valid
-- CommandBufferAllocateInfo structure
-- - pCommandBuffers must be a valid pointer to an
-- array of pAllocateInfo->commandBufferCount
-- CommandBuffer handles
-- - pAllocateInfo->commandBufferCount must be
-- greater than 0
--
--
-- Host Synchronization
--
--
-- - Host access to pAllocateInfo->commandPool must
-- be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- CommandBufferAllocateInfo, Device
allocateCommandBuffers :: forall io. MonadIO io => Device -> CommandBufferAllocateInfo -> io ("commandBuffers" ::: Vector CommandBuffer)
-- | A convenience wrapper to make a compatible pair of calls to
-- allocateCommandBuffers and freeCommandBuffers
--
-- To ensure that freeCommandBuffers 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.
withCommandBuffers :: forall io r. MonadIO io => Device -> CommandBufferAllocateInfo -> (io (Vector CommandBuffer) -> (Vector CommandBuffer -> io ()) -> r) -> r
-- | vkFreeCommandBuffers - Free command buffers
--
-- Description
--
-- Any primary command buffer that is in the recording or executable
-- state and has any element of pCommandBuffers recorded
-- into it, becomes invalid.
--
-- Valid Usage
--
--
-- - All elements of pCommandBuffers must not be in the
-- pending state
--
--
--
-- - pCommandBuffers must be a valid pointer to an
-- array of commandBufferCount CommandBuffer handles,
-- each element of which must either be a valid handle or
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - commandPool must be a valid CommandPool
-- handle
-- - commandBufferCount must be greater than
-- 0
-- - commandPool must have been created, allocated, or
-- retrieved from device
-- - Each element of pCommandBuffers that is a valid handle
-- must have been created, allocated, or retrieved from
-- commandPool
--
--
-- Host Synchronization
--
--
-- - Host access to commandPool must be externally
-- synchronized
--
--
--
-- - Host access to each member of pCommandBuffers must
-- be externally synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer, CommandPool,
-- Device
freeCommandBuffers :: forall io. MonadIO io => Device -> CommandPool -> ("commandBuffers" ::: Vector CommandBuffer) -> io ()
-- | vkBeginCommandBuffer - Start recording a command buffer
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- CommandBufferBeginInfo
beginCommandBuffer :: forall a io. (Extendss CommandBufferBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> CommandBufferBeginInfo a -> io ()
-- | This function will call the supplied action between calls to
-- beginCommandBuffer and endCommandBuffer
--
-- Note that endCommandBuffer is *not* called if an exception is
-- thrown by the inner action.
useCommandBuffer :: forall a io r. (Extendss CommandBufferBeginInfo a, PokeChain a, MonadIO io) => CommandBuffer -> CommandBufferBeginInfo a -> io r -> io r
-- | vkEndCommandBuffer - Finish recording a command buffer
--
-- Description
--
-- If there was an error during recording, the application will be
-- notified by an unsuccessful return code returned by
-- endCommandBuffer. If the application wishes to further use the
-- command buffer, the command buffer must be reset.
--
-- The command buffer must have been in the recording
-- state, and is moved to the executable state.
--
-- Valid Usage
--
--
--
--
-- - If commandBuffer is a primary command buffer, there
-- must not be an active render pass instance
-- - All queries made active during the recording of
-- commandBuffer must have been made inactive
-- - Conditional rendering must not be active
-- - If commandBuffer is a secondary command buffer, there
-- must not be an outstanding cmdBeginDebugUtilsLabelEXT
-- command recorded to commandBuffer that has not previously
-- been ended by a call to cmdEndDebugUtilsLabelEXT
-- - If commandBuffer is a secondary command buffer, there
-- must not be an outstanding cmdDebugMarkerBeginEXT
-- command recorded to commandBuffer that has not previously
-- been ended by a call to cmdDebugMarkerEndEXT
--
--
-- Valid Usage (Implicit)
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer
endCommandBuffer :: forall io. MonadIO io => CommandBuffer -> io ()
-- | vkResetCommandBuffer - Reset a command buffer to the initial state
--
-- Description
--
-- Any primary command buffer that is in the recording or executable
-- state and has commandBuffer recorded into it, becomes
-- invalid.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- Host Synchronization
--
--
-- - Host access to commandBuffer must be externally
-- synchronized
--
--
--
-- - Host access to the CommandPool that commandBuffer
-- was allocated from must be externally synchronized
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBuffer,
-- CommandBufferResetFlags
resetCommandBuffer :: forall io. MonadIO io => CommandBuffer -> CommandBufferResetFlags -> io ()
-- | VkCommandBufferAllocateInfo - Structure specifying the allocation
-- parameters for command buffer object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferLevel, CommandPool,
-- StructureType, allocateCommandBuffers
data CommandBufferAllocateInfo
CommandBufferAllocateInfo :: CommandPool -> CommandBufferLevel -> Word32 -> CommandBufferAllocateInfo
-- | commandPool is the command pool from which the command
-- buffers are allocated.
--
-- commandPool must be a valid CommandPool handle
[$sel:commandPool:CommandBufferAllocateInfo] :: CommandBufferAllocateInfo -> CommandPool
-- | level is a CommandBufferLevel value specifying the
-- command buffer level.
--
-- level must be a valid CommandBufferLevel value
[$sel:level:CommandBufferAllocateInfo] :: CommandBufferAllocateInfo -> CommandBufferLevel
-- | commandBufferCount is the number of command buffers to
-- allocate from the pool.
[$sel:commandBufferCount:CommandBufferAllocateInfo] :: CommandBufferAllocateInfo -> Word32
-- | VkCommandBufferInheritanceInfo - Structure specifying command buffer
-- inheritance information
--
-- Description
--
-- If the CommandBuffer will not be executed within a render pass
-- instance, or if the render pass instance was begun with
-- cmdBeginRenderingKHR, renderPass, subpass,
-- and framebuffer are ignored.
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, Bool32, CommandBufferBeginInfo,
-- Framebuffer, QueryControlFlags,
-- QueryPipelineStatisticFlags, RenderPass,
-- StructureType
data CommandBufferInheritanceInfo (es :: [Type])
CommandBufferInheritanceInfo :: Chain es -> RenderPass -> Word32 -> Framebuffer -> Bool -> QueryControlFlags -> QueryPipelineStatisticFlags -> CommandBufferInheritanceInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> Chain es
-- | renderPass is a RenderPass object defining which
-- render passes the CommandBuffer will be compatible with
-- and can be executed within.
[$sel:renderPass:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> RenderPass
-- | subpass is the index of the subpass within the render pass
-- instance that the CommandBuffer will be executed within.
[$sel:subpass:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> Word32
-- | framebuffer can refer to the Framebuffer object
-- that the CommandBuffer will be rendering to if it is executed
-- within a render pass instance. It can be NULL_HANDLE if
-- the framebuffer is not known.
--
-- Note
--
-- Specifying the exact framebuffer that the secondary command buffer
-- will be executed with may result in better performance at
-- command buffer execution time.
[$sel:framebuffer:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> Framebuffer
-- | occlusionQueryEnable specifies whether the command buffer
-- can be executed while an occlusion query is active in the
-- primary command buffer. If this is TRUE, then this command
-- buffer can be executed whether the primary command buffer has
-- an occlusion query active or not. If this is FALSE, then the
-- primary command buffer must not have an occlusion query active.
[$sel:occlusionQueryEnable:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> Bool
-- | queryFlags specifies the query flags that can be used
-- by an active occlusion query in the primary command buffer when this
-- secondary command buffer is executed. If this value includes the
-- QUERY_CONTROL_PRECISE_BIT bit, then the active query can
-- return boolean results or actual sample counts. If this bit is not
-- set, then the active query must not use the
-- QUERY_CONTROL_PRECISE_BIT bit.
[$sel:queryFlags:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> QueryControlFlags
-- | pipelineStatistics is a bitmask of
-- QueryPipelineStatisticFlagBits specifying the set of pipeline
-- statistics that can be counted by an active query in the
-- primary command buffer when this secondary command buffer is executed.
-- If this value includes a given bit, then this command buffer
-- can be executed whether the primary command buffer has a
-- pipeline statistics query active that includes this bit or not. If
-- this value excludes a given bit, then the active pipeline statistics
-- query must not be from a query pool that counts that statistic.
[$sel:pipelineStatistics:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> QueryPipelineStatisticFlags
-- | VkCommandBufferBeginInfo - Structure specifying a command buffer begin
-- operation
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferInheritanceInfo,
-- CommandBufferUsageFlags, StructureType,
-- beginCommandBuffer
data CommandBufferBeginInfo (es :: [Type])
CommandBufferBeginInfo :: Chain es -> CommandBufferUsageFlags -> Maybe (SomeStruct CommandBufferInheritanceInfo) -> CommandBufferBeginInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:CommandBufferBeginInfo] :: CommandBufferBeginInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of CommandBufferUsageFlagBits
-- specifying usage behavior for the command buffer.
[$sel:flags:CommandBufferBeginInfo] :: CommandBufferBeginInfo (es :: [Type]) -> CommandBufferUsageFlags
-- | pInheritanceInfo is a pointer to a
-- CommandBufferInheritanceInfo structure, used if
-- commandBuffer is a secondary command buffer. If this is a
-- primary command buffer, then this value is ignored.
[$sel:inheritanceInfo:CommandBufferBeginInfo] :: CommandBufferBeginInfo (es :: [Type]) -> Maybe (SomeStruct CommandBufferInheritanceInfo)
-- | VkCommandBuffer - Opaque handle to a command buffer object
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferSubmitInfoKHR,
-- SubmitInfo, allocateCommandBuffers,
-- beginCommandBuffer, cmdBeginConditionalRenderingEXT,
-- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery,
-- cmdBeginQueryIndexedEXT, cmdBeginRenderPass,
-- cmdBeginRenderPass2, cmdBeginRenderPass2KHR,
-- cmdBeginRenderingKHR, cmdBeginTransformFeedbackEXT,
-- vkCmdBeginVideoCodingKHR, cmdBindDescriptorSets,
-- cmdBindIndexBuffer, cmdBindInvocationMaskHUAWEI,
-- cmdBindPipeline, cmdBindPipelineShaderGroupNV,
-- cmdBindShadingRateImageNV,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBlitImage, cmdBlitImage2KHR,
-- cmdBuildAccelerationStructureNV,
-- cmdBuildAccelerationStructuresIndirectKHR,
-- cmdBuildAccelerationStructuresKHR, cmdClearAttachments,
-- cmdClearColorImage, cmdClearDepthStencilImage,
-- vkCmdControlVideoCodingKHR,
-- cmdCopyAccelerationStructureKHR,
-- cmdCopyAccelerationStructureNV,
-- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer,
-- cmdCopyBuffer2KHR, cmdCopyBufferToImage,
-- cmdCopyBufferToImage2KHR, cmdCopyImage,
-- cmdCopyImage2KHR, cmdCopyImageToBuffer,
-- cmdCopyImageToBuffer2KHR,
-- cmdCopyMemoryToAccelerationStructureKHR,
-- cmdCopyQueryPoolResults, cmdCuLaunchKernelNVX,
-- cmdDebugMarkerBeginEXT, cmdDebugMarkerEndEXT,
-- cmdDebugMarkerInsertEXT, vkCmdDecodeVideoKHR,
-- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR,
-- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV,
-- cmdDrawMultiEXT, cmdDrawMultiIndexedEXT,
-- vkCmdEncodeVideoKHR, cmdEndConditionalRenderingEXT,
-- cmdEndDebugUtilsLabelEXT, cmdEndQuery,
-- cmdEndQueryIndexedEXT, cmdEndRenderPass,
-- cmdEndRenderPass2, cmdEndRenderPass2KHR,
-- cmdEndRenderingKHR, cmdEndTransformFeedbackEXT,
-- vkCmdEndVideoCodingKHR, cmdExecuteCommands,
-- cmdExecuteGeneratedCommandsNV, cmdFillBuffer,
-- cmdInsertDebugUtilsLabelEXT, cmdNextSubpass,
-- cmdNextSubpass2, cmdNextSubpass2KHR,
-- cmdPipelineBarrier, cmdPipelineBarrier2KHR,
-- cmdPreprocessGeneratedCommandsNV, cmdPushConstants,
-- cmdPushDescriptorSetKHR,
-- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent,
-- cmdResetEvent2KHR, cmdResetQueryPool,
-- cmdResolveImage, cmdResolveImage2KHR,
-- cmdSetBlendConstants, cmdSetCheckpointNV,
-- cmdSetCoarseSampleOrderNV, cmdSetColorWriteEnableEXT,
-- cmdSetCullModeEXT, cmdSetDepthBias,
-- cmdSetDepthBiasEnableEXT, cmdSetDepthBounds,
-- cmdSetDepthBoundsTestEnableEXT, cmdSetDepthCompareOpEXT,
-- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT,
-- cmdSetDeviceMask, cmdSetDeviceMaskKHR,
-- cmdSetDiscardRectangleEXT, cmdSetEvent,
-- cmdSetEvent2KHR, cmdSetExclusiveScissorNV,
-- cmdSetFragmentShadingRateEnumNV,
-- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT,
-- cmdSetLineStippleEXT, cmdSetLineWidth,
-- cmdSetLogicOpEXT, cmdSetPatchControlPointsEXT,
-- cmdSetPerformanceMarkerINTEL,
-- cmdSetPerformanceOverrideINTEL,
-- cmdSetPerformanceStreamMarkerINTEL,
-- cmdSetPrimitiveRestartEnableEXT,
-- cmdSetPrimitiveTopologyEXT,
-- cmdSetRasterizerDiscardEnableEXT,
-- cmdSetRayTracingPipelineStackSizeKHR,
-- cmdSetSampleLocationsEXT, cmdSetScissor,
-- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask,
-- cmdSetStencilOpEXT, cmdSetStencilReference,
-- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask,
-- cmdSetVertexInputEXT, cmdSetViewport,
-- cmdSetViewportShadingRatePaletteNV,
-- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT,
-- cmdSubpassShadingHUAWEI, cmdTraceRaysIndirectKHR,
-- cmdTraceRaysKHR, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWaitEvents, cmdWaitEvents2KHR,
-- cmdWriteAccelerationStructuresPropertiesKHR,
-- cmdWriteAccelerationStructuresPropertiesNV,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- cmdWriteTimestamp, cmdWriteTimestamp2KHR,
-- endCommandBuffer, freeCommandBuffers,
-- resetCommandBuffer
data CommandBuffer
CommandBuffer :: Ptr CommandBuffer_T -> DeviceCmds -> CommandBuffer
[$sel:commandBufferHandle:CommandBuffer] :: CommandBuffer -> Ptr CommandBuffer_T
[$sel:deviceCmds:CommandBuffer] :: CommandBuffer -> DeviceCmds
-- | VkCommandBufferLevel - Enumerant specifying a command buffer level
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferAllocateInfo
newtype CommandBufferLevel
CommandBufferLevel :: Int32 -> CommandBufferLevel
-- | COMMAND_BUFFER_LEVEL_PRIMARY specifies a primary command
-- buffer.
pattern COMMAND_BUFFER_LEVEL_PRIMARY :: CommandBufferLevel
-- | COMMAND_BUFFER_LEVEL_SECONDARY specifies a secondary command
-- buffer.
pattern COMMAND_BUFFER_LEVEL_SECONDARY :: CommandBufferLevel
-- | VkQueryControlFlagBits - Bitmask specifying constraints on a query
--
-- See Also
--
-- VK_VERSION_1_0, QueryControlFlags
newtype QueryControlFlagBits
QueryControlFlagBits :: Flags -> QueryControlFlagBits
-- | QUERY_CONTROL_PRECISE_BIT specifies the precision of
-- occlusion queries.
pattern QUERY_CONTROL_PRECISE_BIT :: QueryControlFlagBits
type QueryControlFlags = QueryControlFlagBits
-- | VkCommandBufferUsageFlagBits - Bitmask specifying usage behavior for
-- command buffer
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferUsageFlags
newtype CommandBufferUsageFlagBits
CommandBufferUsageFlagBits :: Flags -> CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT specifies that each
-- recording of the command buffer will only be submitted once, and the
-- command buffer will be reset and recorded again between each
-- submission.
pattern COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT :: CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT specifies that a
-- secondary command buffer is considered to be entirely inside a render
-- pass. If this is a primary command buffer, then this bit is ignored.
pattern COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT :: CommandBufferUsageFlagBits
-- | COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT specifies that a
-- command buffer can be resubmitted to a queue while it is in the
-- /pending state/, and recorded into multiple primary command buffers.
pattern COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT :: CommandBufferUsageFlagBits
type CommandBufferUsageFlags = CommandBufferUsageFlagBits
-- | VkCommandBufferResetFlagBits - Bitmask controlling behavior of a
-- command buffer reset
--
-- See Also
--
-- VK_VERSION_1_0, CommandBufferResetFlags
newtype CommandBufferResetFlagBits
CommandBufferResetFlagBits :: Flags -> CommandBufferResetFlagBits
-- | COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT specifies that most
-- or all memory resources currently owned by the command buffer
-- should be returned to the parent command pool. If this flag is
-- not set, then the command buffer may hold onto memory resources
-- and reuse them when recording commands. commandBuffer is
-- moved to the initial state.
pattern COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT :: CommandBufferResetFlagBits
type CommandBufferResetFlags = CommandBufferResetFlagBits
instance GHC.Classes.Eq Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
instance GHC.Show.Show Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es)
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.CommandBuffer.CommandBufferBeginInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo es)
instance Vulkan.CStruct.ToCStruct Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
instance Vulkan.CStruct.FromCStruct Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
instance Foreign.Storable.Storable Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
instance Vulkan.Zero.Zero Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo
module Vulkan.Core10.Buffer
-- | vkCreateBuffer - Create a new buffer object
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pCreateInfo must be a valid pointer to a valid
-- BufferCreateInfo structure
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - pBuffer must be a valid pointer to a Buffer
-- handle
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Buffer,
-- BufferCreateInfo, Device
createBuffer :: forall a io. (Extendss BufferCreateInfo a, PokeChain a, MonadIO io) => Device -> BufferCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Buffer
-- | A convenience wrapper to make a compatible pair of calls to
-- createBuffer and destroyBuffer
--
-- To ensure that destroyBuffer 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.
withBuffer :: forall a io r. (Extendss BufferCreateInfo a, PokeChain a, MonadIO io) => Device -> BufferCreateInfo a -> Maybe AllocationCallbacks -> (io Buffer -> (Buffer -> io ()) -> r) -> r
-- | vkDestroyBuffer - Destroy a buffer object
--
-- Valid Usage
--
--
-- - All submitted commands that refer to buffer, either
-- directly or via a BufferView, must have completed
-- execution
--
--
--
-- - If AllocationCallbacks were provided when buffer
-- was created, a compatible set of callbacks must be provided
-- here
-- - If no AllocationCallbacks were provided when
-- buffer was created, pAllocator must be
-- NULL
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - If buffer is not NULL_HANDLE, buffer
-- must be a valid Buffer handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - If buffer is a valid handle, it must have been
-- created, allocated, or retrieved from device
--
--
-- Host Synchronization
--
--
-- - Host access to buffer must be externally
-- synchronized
--
--
-- See Also
--
-- VK_VERSION_1_0, AllocationCallbacks, Buffer,
-- Device
destroyBuffer :: forall io. MonadIO io => Device -> Buffer -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | VkBufferCreateInfo - Structure specifying the parameters of a newly
-- created buffer object
--
-- Valid Usage
--
--
-- - size must be greater than 0
--
--
--
-- - If sharingMode is SHARING_MODE_CONCURRENT,
-- pQueueFamilyIndices must be a valid pointer to an
-- array of queueFamilyIndexCount uint32_t values
-- - If sharingMode is SHARING_MODE_CONCURRENT,
-- queueFamilyIndexCount must be greater than
-- 1
-- - If sharingMode is SHARING_MODE_CONCURRENT, each
-- element of pQueueFamilyIndices must be unique and
-- must be less than pQueueFamilyPropertyCount returned
-- by either getPhysicalDeviceQueueFamilyProperties or
-- getPhysicalDeviceQueueFamilyProperties2 for the
-- physicalDevice that was used to create device
-- - If the sparse bindings feature is not enabled,
-- flags must not contain
-- BUFFER_CREATE_SPARSE_BINDING_BIT
-- - If the sparse buffer residency feature is not enabled,
-- flags must not contain
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT
-- - If the sparse aliased residency feature is not enabled,
-- flags must not contain
-- BUFFER_CREATE_SPARSE_ALIASED_BIT
-- - If flags contains
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT or
-- BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain
-- BUFFER_CREATE_SPARSE_BINDING_BIT
-- - If the pNext chain includes a
-- ExternalMemoryBufferCreateInfo structure, its
-- handleTypes member must only contain bits that are
-- also in
-- ExternalBufferProperties::externalMemoryProperties.compatibleHandleTypes,
-- as returned by getPhysicalDeviceExternalBufferProperties with
-- pExternalBufferInfo->handleType equal to any one of the
-- handle types specified in
-- ExternalMemoryBufferCreateInfo::handleTypes
-- - If the protected memory feature is not enabled, flags
-- must not contain BUFFER_CREATE_PROTECTED_BIT
-- - If any of the bits BUFFER_CREATE_SPARSE_BINDING_BIT,
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or
-- BUFFER_CREATE_SPARSE_ALIASED_BIT are set,
-- BUFFER_CREATE_PROTECTED_BIT must not also be set
-- - If the pNext chain includes a
-- DedicatedAllocationBufferCreateInfoNV structure, and the
-- dedicatedAllocation member of the chained structure is
-- TRUE, then flags must not include
-- BUFFER_CREATE_SPARSE_BINDING_BIT,
-- BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or
-- BUFFER_CREATE_SPARSE_ALIASED_BIT
-- - If BufferDeviceAddressCreateInfoEXT::deviceAddress
-- is not zero, flags must include
-- BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-- - If
-- BufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress
-- is not zero, flags must include
-- BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-- - If flags includes
-- BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, the
-- bufferDeviceAddressCaptureReplay or
-- ::bufferDeviceAddressCaptureReplay feature must be
-- enabled
-- - size must be less than or equal to
-- PhysicalDeviceMaintenance4PropertiesKHR::maxBufferSize
--
--
-- 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
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferDeviceAddressCreateInfoEXT,
-- BufferOpaqueCaptureAddressCreateInfo,
-- DedicatedAllocationBufferCreateInfoNV,
-- ExternalMemoryBufferCreateInfo,
-- VkVideoDecodeH264ProfileEXT,
-- VkVideoDecodeH265ProfileEXT,
-- VkVideoEncodeH264ProfileEXT,
-- VkVideoEncodeH265ProfileEXT, VkVideoProfileKHR, or
-- VkVideoProfilesKHR
-- - The sType value of each struct in the pNext
-- chain must be unique
-- - flags must be a valid combination of
-- BufferCreateFlagBits values
-- - usage must be a valid combination of
-- BufferUsageFlagBits values
-- - usage must not be 0
-- - sharingMode must be a valid SharingMode
-- value
--
--
-- See Also
--
-- VK_VERSION_1_0, BufferConstraintsInfoFUCHSIA,
-- BufferCreateFlags, BufferUsageFlags,
-- DeviceBufferMemoryRequirementsKHR, DeviceSize,
-- SharingMode, StructureType, createBuffer
data BufferCreateInfo (es :: [Type])
BufferCreateInfo :: Chain es -> BufferCreateFlags -> DeviceSize -> BufferUsageFlags -> SharingMode -> Vector Word32 -> BufferCreateInfo (es :: [Type])
-- | pNext is NULL or a pointer to a structure extending
-- this structure.
[$sel:next:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> Chain es
-- | flags is a bitmask of BufferCreateFlagBits specifying
-- additional parameters of the buffer.
[$sel:flags:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> BufferCreateFlags
-- | size is the size in bytes of the buffer to be created.
[$sel:size:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> DeviceSize
-- | usage is a bitmask of BufferUsageFlagBits specifying
-- allowed usages of the buffer.
[$sel:usage:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> BufferUsageFlags
-- | sharingMode is a SharingMode value specifying the
-- sharing mode of the buffer when it will be accessed by multiple queue
-- families.
[$sel:sharingMode:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> SharingMode
-- | pQueueFamilyIndices is a pointer to an array of queue
-- families that will access this buffer. It is ignored if
-- sharingMode is not SHARING_MODE_CONCURRENT.
[$sel:queueFamilyIndices:BufferCreateInfo] :: BufferCreateInfo (es :: [Type]) -> Vector Word32
-- | VkBuffer - Opaque handle to a buffer object
--
-- See Also
--
-- VK_VERSION_1_0, AccelerationStructureCreateInfoKHR,
-- BindBufferMemoryInfo, BufferDeviceAddressInfo,
-- BufferMemoryBarrier, BufferMemoryBarrier2KHR,
-- BufferMemoryRequirementsInfo2, BufferViewCreateInfo,
-- ConditionalRenderingBeginInfoEXT, CopyBufferInfo2KHR,
-- CopyBufferToImageInfo2KHR, CopyImageToBufferInfo2KHR,
-- DedicatedAllocationMemoryAllocateInfoNV,
-- DescriptorBufferInfo, GeneratedCommandsInfoNV,
-- GeometryAABBNV, GeometryTrianglesNV,
-- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo,
-- SparseBufferMemoryBindInfo, VkVideoDecodeInfoKHR,
-- VkVideoEncodeInfoKHR, bindBufferMemory,
-- cmdBeginTransformFeedbackEXT, cmdBindIndexBuffer,
-- cmdBindTransformFeedbackBuffersEXT,
-- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT,
-- cmdBuildAccelerationStructureNV, cmdCopyBuffer,
-- cmdCopyBufferToImage, cmdCopyImageToBuffer,
-- cmdCopyQueryPoolResults, cmdDispatchIndirect,
-- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount,
-- cmdDrawIndexedIndirectCountAMD,
-- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect,
-- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount,
-- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR,
-- cmdDrawMeshTasksIndirectCountNV,
-- cmdDrawMeshTasksIndirectNV, cmdEndTransformFeedbackEXT,
-- cmdFillBuffer, cmdTraceRaysNV, cmdUpdateBuffer,
-- cmdWriteBufferMarker2AMD, cmdWriteBufferMarkerAMD,
-- createBuffer, destroyBuffer,
-- getBufferMemoryRequirements
newtype Buffer
Buffer :: Word64 -> Buffer
-- | VkSharingMode - Buffer and image sharing modes
--
-- Description
--
-- Note
--
-- SHARING_MODE_CONCURRENT may result in lower performance
-- access to the buffer or image than SHARING_MODE_EXCLUSIVE.
--
-- Ranges of buffers and image subresources of image objects created
-- using SHARING_MODE_EXCLUSIVE must only be accessed by
-- queues in the queue family that has ownership of the resource.
-- Upon creation, such resources are not owned by any queue family;
-- ownership is implicitly acquired upon first use within a queue. Once a
-- resource using SHARING_MODE_EXCLUSIVE is owned by some queue
-- family, the application must perform a queue family
-- ownership transfer to make the memory contents of a range or image
-- subresource accessible to a different queue family.
--
-- Note
--
-- Images still require a layout transition from
-- IMAGE_LAYOUT_UNDEFINED or IMAGE_LAYOUT_PREINITIALIZED
-- before being used on the first queue.
--
-- A queue family can take ownership of an image subresource or
-- buffer range of a resource created with SHARING_MODE_EXCLUSIVE,
-- without an ownership transfer, in the same way as for a resource that
-- was just created; however, taking ownership in this way has the effect
-- that the contents of the image subresource or buffer range are
-- undefined.
--
-- Ranges of buffers and image subresources of image objects created
-- using SHARING_MODE_CONCURRENT must only be accessed by
-- queues from the queue families specified through the
-- queueFamilyIndexCount and pQueueFamilyIndices
-- members of the corresponding create info structures.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateInfo,
-- ImageCreateInfo,
-- PhysicalDeviceImageDrmFormatModifierInfoEXT,
-- SwapchainCreateInfoKHR
newtype SharingMode
SharingMode :: Int32 -> SharingMode
-- | SHARING_MODE_EXCLUSIVE specifies that access to any range or
-- image subresource of the object will be exclusive to a single queue
-- family at a time.
pattern SHARING_MODE_EXCLUSIVE :: SharingMode
-- | SHARING_MODE_CONCURRENT specifies that concurrent access to any
-- range or image subresource of the object from multiple queue families
-- is supported.
pattern SHARING_MODE_CONCURRENT :: SharingMode
-- | VkBufferUsageFlagBits - Bitmask specifying allowed usage of a buffer
--
-- See Also
--
-- VK_VERSION_1_0, BufferUsageFlags
newtype BufferUsageFlagBits
BufferUsageFlagBits :: Flags -> BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_SRC_BIT specifies that the buffer
-- can be used as the source of a transfer command (see the
-- definition of
-- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-transfer).
pattern BUFFER_USAGE_TRANSFER_SRC_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFER_DST_BIT specifies that the buffer
-- can be used as the destination of a transfer command.
pattern BUFFER_USAGE_TRANSFER_DST_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.
pattern BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT specifies that the buffer
-- can be used to create a BufferView suitable for
-- occupying a DescriptorSet slot of type
-- DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.
pattern BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_UNIFORM_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER or
-- DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_UNIFORM_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_STORAGE_BUFFER_BIT specifies that the buffer
-- can be used in a DescriptorBufferInfo suitable for
-- occupying a DescriptorSet slot either of type
-- DESCRIPTOR_TYPE_STORAGE_BUFFER or
-- DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC.
pattern BUFFER_USAGE_STORAGE_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdBindIndexBuffer.
pattern BUFFER_USAGE_INDEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_VERTEX_BUFFER_BIT specifies that the buffer is
-- suitable for passing as an element of the pBuffers array to
-- cmdBindVertexBuffers.
pattern BUFFER_USAGE_VERTEX_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_INDIRECT_BUFFER_BIT specifies that the buffer is
-- suitable for passing as the buffer parameter to
-- cmdDrawIndirect, cmdDrawIndexedIndirect,
-- cmdDrawMeshTasksIndirectNV,
-- cmdDrawMeshTasksIndirectCountNV, or cmdDispatchIndirect.
-- It is also suitable for passing as the buffer member of
-- IndirectCommandsStreamNV, or sequencesCountBuffer or
-- sequencesIndexBuffer or preprocessedBuffer member of
-- GeneratedCommandsInfoNV
pattern BUFFER_USAGE_INDIRECT_BUFFER_BIT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR specifies that the
-- buffer is suitable for use as a Shader Binding Table.
pattern BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR specifies
-- that the buffer is suitable for storage space for a
-- AccelerationStructureKHR.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR :: BufferUsageFlagBits
-- |
-- BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-- specifies that the buffer is suitable for use as a read-only input to
-- an acceleration structure build.
pattern BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR :: BufferUsageFlagBits
-- | BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT specifies that the
-- buffer is suitable for passing as the buffer parameter to
-- cmdBeginConditionalRenderingEXT.
pattern BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
-- specifies that the buffer is suitable for using as a counter buffer
-- with cmdBeginTransformFeedbackEXT and
-- cmdEndTransformFeedbackEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT specifies that
-- the buffer is suitable for using for binding as a transform feedback
-- buffer with cmdBindTransformFeedbackBuffersEXT.
pattern BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT :: BufferUsageFlagBits
-- | BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT specifies that the
-- buffer can be used to retrieve a buffer device address via
-- getBufferDeviceAddress and use that address to access the
-- buffer’s memory from a shader.
pattern BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT :: BufferUsageFlagBits
type BufferUsageFlags = BufferUsageFlagBits
-- | VkBufferCreateFlagBits - Bitmask specifying additional parameters of a
-- buffer
--
-- Description
--
-- See Sparse Resource Features and Physical Device
-- Features for details of the sparse memory features supported on a
-- device.
--
-- See Also
--
-- VK_VERSION_1_0, BufferCreateFlags
newtype BufferCreateFlagBits
BufferCreateFlagBits :: Flags -> BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_BINDING_BIT specifies that the buffer will
-- be backed using sparse memory binding.
pattern BUFFER_CREATE_SPARSE_BINDING_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_RESIDENCY_BIT specifies that the buffer
-- can be partially backed using sparse memory binding. Buffers
-- created with this flag must also be created with the
-- BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_SPARSE_ALIASED_BIT specifies that the buffer will
-- be backed using sparse memory binding with memory ranges that might
-- also simultaneously be backing another buffer (or another portion of
-- the same buffer). Buffers created with this flag must also be
-- created with the BUFFER_CREATE_SPARSE_BINDING_BIT flag.
pattern BUFFER_CREATE_SPARSE_ALIASED_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT specifies that
-- the buffer’s address can be saved and reused on a subsequent
-- run (e.g. for trace capture and replay), see
-- BufferOpaqueCaptureAddressCreateInfo for more detail.
pattern BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: BufferCreateFlagBits
-- | BUFFER_CREATE_PROTECTED_BIT specifies that the buffer is a
-- protected buffer.
pattern BUFFER_CREATE_PROTECTED_BIT :: BufferCreateFlagBits
type BufferCreateFlags = BufferCreateFlagBits
instance GHC.Show.Show (Vulkan.CStruct.Extends.Chain es) => GHC.Show.Show (Vulkan.Core10.Buffer.BufferCreateInfo es)
instance Vulkan.CStruct.Extends.Extensible Vulkan.Core10.Buffer.BufferCreateInfo
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Buffer.BufferCreateInfo es, Vulkan.CStruct.Extends.PokeChain es) => Vulkan.CStruct.ToCStruct (Vulkan.Core10.Buffer.BufferCreateInfo es)
instance (Vulkan.CStruct.Extends.Extendss Vulkan.Core10.Buffer.BufferCreateInfo es, Vulkan.CStruct.Extends.PeekChain es) => Vulkan.CStruct.FromCStruct (Vulkan.Core10.Buffer.BufferCreateInfo es)
instance (es GHC.Types.~ '[]) => Vulkan.Zero.Zero (Vulkan.Core10.Buffer.BufferCreateInfo es)
-- | Name
--
-- VK_KHR_maintenance4 - device extension
--
-- VK_KHR_maintenance4
--
--
-- - Name String VK_KHR_maintenance4
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 414
-- - Revision 2
-- - Extension and Version Dependencies
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-10-25
--
--
--
-- - Interactions and External Dependencies
--
- Requires SPIR-V 1.2 for LocalSizeId
-- - Contributors
- Lionel Duc,
-- NVIDIA
- Jason Ekstrand, Intel
- Spencer Fricke,
-- Samsung
- Tobias Hector, AMD
- Lionel Landwerlin,
-- Intel
- Graeme Leese, Broadcom
- Tom Olson,
-- Arm
- Stu Smith, AMD
- Yiwei Zhang, Google
--
--
-- Description
--
-- VK_KHR_maintenance4 adds a collection of minor features, none
-- of which would warrant an entire extension of their own.
--
-- The new features are as follows:
--
--
-- - Allow the application to destroy their PipelineLayout
-- object immediately after it was used to create another object. It is
-- no longer necessary to keep its handle valid while the created object
-- is in use.
-- - Add a new maxBufferSize implementation-defined limit for
-- the maximum size Buffer that can be created.
-- - Add support for the SPIR-V 1.2 LocalSizeId execution
-- mode, which can be used as an alternative to LocalSize to
-- specify the local workgroup size with specialization constants.
-- - Add a guarantee that images created with identical creation
-- parameters will always have the same alignment requirements.
-- - Add new getDeviceBufferMemoryRequirementsKHR,
-- getDeviceImageMemoryRequirementsKHR, and
-- getDeviceImageSparseMemoryRequirementsKHR to allow the
-- application to query the image memory requirements without having to
-- create an image object and query it.
-- - Relax the requirement that push constants must be initialized
-- before they are dynamically accessed.
-- - Relax the interface matching rules to allow a larger output vector
-- to match with a smaller input vector, with additional values being
-- discarded.
-- - Add a guarantee for buffer memory requirement that the size memory
-- requirement is never greater than the result of aligning create size
-- with the alignment memory requirement.
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- None.
--
-- Version History
--
--
-- - Revision 1, 2021-08-18 (Piers Daniell)
--
--
--
-- - Revision 2, 2021-10-25 (Yiwei Zhang)
- More guarantees on
-- buffer memory requirements
--
--
-- See Also
--
-- DeviceBufferMemoryRequirementsKHR,
-- DeviceImageMemoryRequirementsKHR,
-- PhysicalDeviceMaintenance4FeaturesKHR,
-- PhysicalDeviceMaintenance4PropertiesKHR,
-- getDeviceBufferMemoryRequirementsKHR,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_KHR_maintenance4
-- | vkGetDeviceBufferMemoryRequirementsKHR - Returns the memory
-- requirements for specified Vulkan object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_maintenance4, Device,
-- DeviceBufferMemoryRequirementsKHR, MemoryRequirements2
getDeviceBufferMemoryRequirementsKHR :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> ("info" ::: DeviceBufferMemoryRequirementsKHR) -> io (MemoryRequirements2 a)
-- | vkGetDeviceImageMemoryRequirementsKHR - Returns the memory
-- requirements for specified Vulkan object
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_maintenance4, Device,
-- DeviceImageMemoryRequirementsKHR, MemoryRequirements2
getDeviceImageMemoryRequirementsKHR :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> ("info" ::: DeviceImageMemoryRequirementsKHR) -> io (MemoryRequirements2 a)
-- | vkGetDeviceImageSparseMemoryRequirementsKHR - Query the memory
-- requirements for a sparse image
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - pInfo must be a valid pointer to a valid
-- DeviceImageMemoryRequirementsKHR structure
-- - pSparseMemoryRequirementCount must be a valid
-- pointer to a uint32_t value
-- - If the value referenced by pSparseMemoryRequirementCount
-- is not 0, and pSparseMemoryRequirements is not
-- NULL, pSparseMemoryRequirements must be a
-- valid pointer to an array of pSparseMemoryRequirementCount
-- SparseImageMemoryRequirements2 structures
--
--
-- See Also
--
-- VK_KHR_maintenance4, Device,
-- DeviceImageMemoryRequirementsKHR,
-- SparseImageMemoryRequirements2
getDeviceImageSparseMemoryRequirementsKHR :: forall io. MonadIO io => Device -> ("info" ::: DeviceImageMemoryRequirementsKHR) -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2)
-- | VkDeviceBufferMemoryRequirementsKHR - (None)
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_maintenance4, BufferCreateInfo,
-- StructureType, getDeviceBufferMemoryRequirementsKHR
data DeviceBufferMemoryRequirementsKHR
DeviceBufferMemoryRequirementsKHR :: SomeStruct BufferCreateInfo -> DeviceBufferMemoryRequirementsKHR
-- | pCreateInfo is a pointer to a BufferCreateInfo
-- structure containing parameters affecting creation of the buffer to
-- query.
--
-- pCreateInfo must be a valid pointer to a valid
-- BufferCreateInfo structure
[$sel:createInfo:DeviceBufferMemoryRequirementsKHR] :: DeviceBufferMemoryRequirementsKHR -> SomeStruct BufferCreateInfo
-- | VkDeviceImageMemoryRequirementsKHR - (None)
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_KHR_maintenance4, ImageAspectFlagBits,
-- ImageCreateInfo, StructureType,
-- getDeviceImageMemoryRequirementsKHR,
-- getDeviceImageSparseMemoryRequirementsKHR
data DeviceImageMemoryRequirementsKHR
DeviceImageMemoryRequirementsKHR :: SomeStruct ImageCreateInfo -> ImageAspectFlagBits -> DeviceImageMemoryRequirementsKHR
-- | pCreateInfo is a pointer to a ImageCreateInfo
-- structure containing parameters affecting creation of the image to
-- query.
[$sel:createInfo:DeviceImageMemoryRequirementsKHR] :: DeviceImageMemoryRequirementsKHR -> SomeStruct ImageCreateInfo
-- | planeAspect is a ImageAspectFlagBits value specifying
-- the aspect corresponding to the image plane to query. This parameter
-- is ignored unless pCreateInfo::flags has
-- IMAGE_CREATE_DISJOINT_BIT or
-- IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT set.
[$sel:planeAspect:DeviceImageMemoryRequirementsKHR] :: DeviceImageMemoryRequirementsKHR -> ImageAspectFlagBits
-- | VkPhysicalDeviceMaintenance4FeaturesKHR - Structure describing whether
-- the implementation supports maintenance4 functionality
--
-- Members
--
-- This structure describes the following features:
--
-- Description
--
-- If the PhysicalDeviceMaintenance4FeaturesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceFeatures2 structure passed to
-- getPhysicalDeviceFeatures2, it is filled in to indicate whether
-- each corresponding feature is supported.
-- PhysicalDeviceMaintenance4FeaturesKHR can also be used
-- in the pNext chain of DeviceCreateInfo to selectively
-- enable these features.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_maintenance4, Bool32, StructureType
data PhysicalDeviceMaintenance4FeaturesKHR
PhysicalDeviceMaintenance4FeaturesKHR :: Bool -> PhysicalDeviceMaintenance4FeaturesKHR
-- | maintenance4 indicates that the implementation supports the
-- following:
--
--
-- - The application may destroy a PipelineLayout object
-- immediately after using it to create another object.
-- - LocalSizeId can be used as an alternative to
-- LocalSize to specify the local workgroup size with
-- specialization constants.
-- - Images created with identical creation parameters will always have
-- the same alignment requirements.
-- - The size memory requirement of a buffer or image is never greater
-- than that of another buffer or image created with a greater or equal
-- size.
-- - Push constants do not have to be initialized before they are
-- dynamically accessed.
-- - The interface matching rules allow a larger output vector to match
-- with a smaller input vector, with additional values being
-- discarded.
--
[$sel:maintenance4:PhysicalDeviceMaintenance4FeaturesKHR] :: PhysicalDeviceMaintenance4FeaturesKHR -> Bool
-- | VkPhysicalDeviceMaintenance4PropertiesKHR - Structure describing
-- various implementation-defined properties introduced with
-- VK_KHR_maintenance4
--
-- Description
--
-- If the PhysicalDeviceMaintenance4PropertiesKHR structure is
-- included in the pNext chain of the
-- PhysicalDeviceProperties2 structure passed to
-- getPhysicalDeviceProperties2, it is filled in with each
-- corresponding implementation-dependent property.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_KHR_maintenance4, DeviceSize, StructureType
data PhysicalDeviceMaintenance4PropertiesKHR
PhysicalDeviceMaintenance4PropertiesKHR :: DeviceSize -> PhysicalDeviceMaintenance4PropertiesKHR
-- | maxBufferSize is the maximum size Buffer that
-- can be created.
[$sel:maxBufferSize:PhysicalDeviceMaintenance4PropertiesKHR] :: PhysicalDeviceMaintenance4PropertiesKHR -> DeviceSize
type KHR_MAINTENANCE_4_SPEC_VERSION = 2
pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a. Integral a => a
type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4"
pattern KHR_MAINTENANCE_4_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance GHC.Show.Show Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR
-- | Name
--
-- VK_FUCHSIA_buffer_collection - device extension
--
-- VK_FUCHSIA_buffer_collection
--
--
-- - Name String
-- VK_FUCHSIA_buffer_collection
--
--
--
-- - Extension Type Device extension
-- - Registered Extension Number 367
-- - Revision 2
-- - Extension and Version Dependencies
- Requires
-- Vulkan 1.0
- Requires
-- VK_FUCHSIA_external_memory
- Requires
-- VK_KHR_sampler_ycbcr_conversion
-- - Contact
--
--
-- Other Extension Metadata
--
--
-- - Last Modified Date 2021-09-23
--
--
--
-- - IP Status No known IP claims.
-- - Contributors
- Craig Stout,
-- Google
- John Bauman, Google
- John Rosasco,
-- Google
--
--
-- Description
--
-- A buffer collection is a collection of one or more buffers which were
-- allocated together as a group and which all have the same properties.
-- These properties describe the buffers' internal representation such as
-- its dimensions and memory layout. This ensures that all of the buffers
-- can be used interchangeably by tasks that require swapping among
-- multiple buffers, such as double-buffered graphics rendering.
--
-- By sharing such a collection of buffers between components,
-- communication about buffer lifecycle can be made much simpler and more
-- efficient. For example, when a content producer finishes writing to a
-- buffer, it can message the consumer of the buffer with the buffer
-- index, rather than passing a handle to the shared memory.
--
-- On Fuchsia, the Sysmem service uses buffer collections as a core
-- construct in its design. VK_FUCHSIA_buffer_collection is the Vulkan
-- extension that allows Vulkan applications to interoperate with the
-- Sysmem service on Fuchsia.
--
-- New Object Types
--
--
--
-- New Commands
--
--
--
--
--
-- New Structures
--
--
--
--
--
-- New Enums
--
--
--
-- New Bitmasks
--
--
--
--
--
-- New Enum Constants
--
--
--
--
--
-- Issues
--
-- 1) When configuring a ImageConstraintsInfoFUCHSIA structure for
-- constraint setting, should a NULL pFormatConstraints
-- parameter be allowed ?
--
-- RESOLVED: No. Specifying a NULL pFormatConstraints
-- results in logical complexity of interpreting the relationship between
-- the ImageCreateInfo::usage settings of the elements of
-- the pImageCreateInfos array and the implied or desired
-- FormatFeatureFlags.
--
-- The explicit requirement for pFormatConstraints to be
-- non-NULL simplifies the implied logic of the implementation and
-- expectations for the Vulkan application.
--
-- Version History
--
--
-- - Revision 2, 2021-09-23 (John Rosasco)
--
--
--
-- - Revision 1, 2021-03-09 (John Rosasco)
--
--
-- See Also
--
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA,
-- BufferConstraintsInfoFUCHSIA,
-- ImageConstraintsInfoFUCHSIA,
-- ImageConstraintsInfoFlagBitsFUCHSIA,
-- ImageConstraintsInfoFlagsFUCHSIA,
-- ImageFormatConstraintsFlagsFUCHSIA,
-- ImageFormatConstraintsInfoFUCHSIA,
-- ImportMemoryBufferCollectionFUCHSIA,
-- SysmemColorSpaceFUCHSIA, createBufferCollectionFUCHSIA,
-- destroyBufferCollectionFUCHSIA,
-- getBufferCollectionPropertiesFUCHSIA,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA
--
-- Document Notes
--
-- For more information, see the Vulkan Specification
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_FUCHSIA_buffer_collection
-- | vkCreateBufferCollectionFUCHSIA - Create a new buffer collection
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- Host Access
--
-- All functions referencing a BufferCollectionFUCHSIA must
-- be externally synchronized with the exception of
-- createBufferCollectionFUCHSIA.
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, AllocationCallbacks,
-- BufferCollectionCreateInfoFUCHSIA,
-- BufferCollectionFUCHSIA, Device
createBufferCollectionFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> ("allocator" ::: Maybe AllocationCallbacks) -> io BufferCollectionFUCHSIA
-- | A convenience wrapper to make a compatible pair of calls to
-- createBufferCollectionFUCHSIA and
-- destroyBufferCollectionFUCHSIA
--
-- To ensure that destroyBufferCollectionFUCHSIA 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.
withBufferCollectionFUCHSIA :: forall io r. MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> Maybe AllocationCallbacks -> (io BufferCollectionFUCHSIA -> (BufferCollectionFUCHSIA -> io ()) -> r) -> r
-- | vkSetBufferCollectionBufferConstraintsFUCHSIA - Set buffer-based
-- constraints for a buffer collection
--
-- Description
--
-- setBufferCollectionBufferConstraintsFUCHSIA may fail if
-- the implementation does not support the constraints specified in the
-- bufferCollectionConstraints structure. If that occurs,
-- setBufferCollectionBufferConstraintsFUCHSIA will return
-- ERROR_FORMAT_NOT_SUPPORTED.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- BufferConstraintsInfoFUCHSIA, Device
setBufferCollectionBufferConstraintsFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> BufferConstraintsInfoFUCHSIA -> io ()
-- | vkSetBufferCollectionImageConstraintsFUCHSIA - Set image-based
-- constraints for a buffer collection
--
-- Description
--
-- setBufferCollectionImageConstraintsFUCHSIA may fail if
-- pImageConstraintsInfo::formatConstraintsCount is
-- larger than the implementation-defined limit. If that occurs,
-- setBufferCollectionImageConstraintsFUCHSIA will return
-- VK_ERROR_INITIALIZATION_FAILED.
--
-- setBufferCollectionImageConstraintsFUCHSIA may fail if
-- the implementation does not support any of the formats described by
-- the pImageConstraintsInfo structure. If that occurs,
-- setBufferCollectionImageConstraintsFUCHSIA will return
-- ERROR_FORMAT_NOT_SUPPORTED.
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- Device, ImageConstraintsInfoFUCHSIA
setBufferCollectionImageConstraintsFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> ImageConstraintsInfoFUCHSIA -> io ()
-- | vkDestroyBufferCollectionFUCHSIA - Destroy a buffer collection
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
-- - collection must be a valid
-- BufferCollectionFUCHSIA handle
-- - If pAllocator is not NULL, pAllocator
-- must be a valid pointer to a valid AllocationCallbacks
-- structure
-- - collection must have been created, allocated, or
-- retrieved from device
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, AllocationCallbacks,
-- BufferCollectionFUCHSIA, Device
destroyBufferCollectionFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
-- | vkGetBufferCollectionPropertiesFUCHSIA - Retrieve properties from a
-- buffer collection
--
-- Description
--
-- For image-based buffer collections, upon calling
-- getBufferCollectionPropertiesFUCHSIA, Sysmem will choose an
-- element of the
-- ImageConstraintsInfoFUCHSIA::pImageCreateInfos
-- established by the preceding call to
-- setBufferCollectionImageConstraintsFUCHSIA. The index of the
-- element chosen is stored in and can be retrieved from
-- BufferCollectionPropertiesFUCHSIA::createInfoIndex.
--
-- For buffer-based buffer collections, a single BufferCreateInfo
-- is specified as
-- BufferConstraintsInfoFUCHSIA::createInfo.
-- BufferCollectionPropertiesFUCHSIA::createInfoIndex
-- will therefore always be zero.
--
-- getBufferCollectionPropertiesFUCHSIA may fail if Sysmem
-- is unable to resolve the constraints of all of the participants in the
-- buffer collection. If that occurs,
-- getBufferCollectionPropertiesFUCHSIA will return
-- ERROR_INITIALIZATION_FAILED.
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
-- - device must be a valid Device handle
--
--
--
--
-- Return Codes
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- BufferCollectionPropertiesFUCHSIA, Device
getBufferCollectionPropertiesFUCHSIA :: forall io. MonadIO io => Device -> BufferCollectionFUCHSIA -> io BufferCollectionPropertiesFUCHSIA
-- | VkImportMemoryBufferCollectionFUCHSIA - Structure to specify the
-- Sysmem buffer to import
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- StructureType
data ImportMemoryBufferCollectionFUCHSIA
ImportMemoryBufferCollectionFUCHSIA :: BufferCollectionFUCHSIA -> Word32 -> ImportMemoryBufferCollectionFUCHSIA
-- | collection is the BufferCollectionFUCHSIA handle
--
-- collection must be a valid
-- BufferCollectionFUCHSIA handle
[$sel:collection:ImportMemoryBufferCollectionFUCHSIA] :: ImportMemoryBufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
-- | index the index of the buffer to import from
-- collection
--
-- index must be less than the value retrieved as
-- BufferCollectionPropertiesFUCHSIA:bufferCount
[$sel:index:ImportMemoryBufferCollectionFUCHSIA] :: ImportMemoryBufferCollectionFUCHSIA -> Word32
-- | VkBufferCollectionImageCreateInfoFUCHSIA - Create a
-- VkBufferCollectionFUCHSIA-compatible VkImage
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- StructureType
data BufferCollectionImageCreateInfoFUCHSIA
BufferCollectionImageCreateInfoFUCHSIA :: BufferCollectionFUCHSIA -> Word32 -> BufferCollectionImageCreateInfoFUCHSIA
-- | collection is the BufferCollectionFUCHSIA handle
--
-- collection must be a valid
-- BufferCollectionFUCHSIA handle
[$sel:collection:BufferCollectionImageCreateInfoFUCHSIA] :: BufferCollectionImageCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
-- | index is the index of the buffer in the buffer collection
-- from which the memory will be imported
--
-- index must be less than
-- BufferCollectionPropertiesFUCHSIA::bufferCount
[$sel:index:BufferCollectionImageCreateInfoFUCHSIA] :: BufferCollectionImageCreateInfoFUCHSIA -> Word32
-- | VkBufferCollectionBufferCreateInfoFUCHSIA - Create a
-- VkBufferCollectionFUCHSIA-compatible VkBuffer
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, BufferCollectionFUCHSIA,
-- StructureType
data BufferCollectionBufferCreateInfoFUCHSIA
BufferCollectionBufferCreateInfoFUCHSIA :: BufferCollectionFUCHSIA -> Word32 -> BufferCollectionBufferCreateInfoFUCHSIA
-- | collection is the BufferCollectionFUCHSIA handle
--
-- collection must be a valid
-- BufferCollectionFUCHSIA handle
[$sel:collection:BufferCollectionBufferCreateInfoFUCHSIA] :: BufferCollectionBufferCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
-- | index is the index of the buffer in the buffer collection
-- from which the memory will be imported
--
-- index must be less than
-- BufferCollectionPropertiesFUCHSIA::bufferCount
[$sel:index:BufferCollectionBufferCreateInfoFUCHSIA] :: BufferCollectionBufferCreateInfoFUCHSIA -> Word32
-- | VkBufferCollectionCreateInfoFUCHSIA - Structure specifying desired
-- parameters to create the buffer collection
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, StructureType,
-- createBufferCollectionFUCHSIA
data BufferCollectionCreateInfoFUCHSIA
BufferCollectionCreateInfoFUCHSIA :: Zx_handle_t -> BufferCollectionCreateInfoFUCHSIA
-- | collectionToken is a zx_handle_t containing the
-- Sysmem client’s buffer collection token
--
-- collectionToken must be a valid zx_handle_t
-- to a Zircon channel allocated from Sysmem
-- (fuchsia.sysmem.Allocator/AllocateSharedCollection) with
-- ZX_DEFAULT_CHANNEL_RIGHTS rights
[$sel:collectionToken:BufferCollectionCreateInfoFUCHSIA] :: BufferCollectionCreateInfoFUCHSIA -> Zx_handle_t
-- | VkBufferCollectionPropertiesFUCHSIA - Structure specifying the
-- negotiated format chosen by Sysmem
--
-- Description
--
-- sysmemColorSpace is only set for image-based buffer
-- collections where the constraints were specified using
-- ImageConstraintsInfoFUCHSIA in a call to
-- setBufferCollectionImageConstraintsFUCHSIA.
--
-- For image-based buffer collections, createInfoIndex will
-- identify both the
-- ImageConstraintsInfoFUCHSIA::pImageCreateInfos element
-- and the
-- ImageConstraintsInfoFUCHSIA::pFormatConstraints
-- element chosen by Sysmem when
-- setBufferCollectionImageConstraintsFUCHSIA was called. The
-- value of sysmemColorSpaceIndex will be an index to one of the
-- color spaces provided in the
-- ImageFormatConstraintsInfoFUCHSIA::pColorSpaces array.
--
-- The implementation must have formatFeatures with all bits set
-- that were set in
-- ImageFormatConstraintsInfoFUCHSIA::requiredFormatFeatures,
-- by the call to setBufferCollectionImageConstraintsFUCHSIA, at
-- createInfoIndex (other bits could be set as well).
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, ChromaLocation,
-- ComponentMapping, FormatFeatureFlags,
-- SamplerYcbcrModelConversion, SamplerYcbcrRange,
-- StructureType, SysmemColorSpaceFUCHSIA,
-- getBufferCollectionPropertiesFUCHSIA
data BufferCollectionPropertiesFUCHSIA
BufferCollectionPropertiesFUCHSIA :: Word32 -> Word32 -> Word32 -> Word64 -> FormatFeatureFlags -> SysmemColorSpaceFUCHSIA -> ComponentMapping -> SamplerYcbcrModelConversion -> SamplerYcbcrRange -> ChromaLocation -> ChromaLocation -> BufferCollectionPropertiesFUCHSIA
-- | memoryTypeBits is a bitmask containing one bit set for every
-- memory type which the buffer collection can be imported as buffer
-- collection
[$sel:memoryTypeBits:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> Word32
-- | bufferCount is the number of buffers in the collection
[$sel:bufferCount:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> Word32
-- | createInfoIndex as described in Sysmem chosen create
-- infos
[$sel:createInfoIndex:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> Word32
-- | sysmemPixelFormat is the Sysmem PixelFormatType as
-- defined in fuchsia.sysmem/image_formats.fidl
[$sel:sysmemPixelFormat:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> Word64
-- | formatFeatures is a bitmask of FormatFeatureFlagBits
-- shared by the buffer collection
--
-- formatFeatures must be a valid combination of
-- FormatFeatureFlagBits values
--
-- formatFeatures must not be 0
[$sel:formatFeatures:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> FormatFeatureFlags
-- | sysmemColorSpaceIndex is a SysmemColorSpaceFUCHSIA
-- struct specifying the color space
--
-- sysmemColorSpaceIndex must be a valid
-- SysmemColorSpaceFUCHSIA structure
[$sel:sysmemColorSpaceIndex:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> SysmemColorSpaceFUCHSIA
-- | samplerYcbcrConversionComponents is a ComponentMapping
-- struct specifying the component mapping
--
-- samplerYcbcrConversionComponents must be a valid
-- ComponentMapping structure
[$sel:samplerYcbcrConversionComponents:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> ComponentMapping
-- | suggestedYcbcrModel is a SamplerYcbcrModelConversion
-- value specifying the suggested Y′CBCR model
--
-- suggestedYcbcrModel must be a valid
-- SamplerYcbcrModelConversion value
[$sel:suggestedYcbcrModel:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrModelConversion
-- | suggestedYcbcrRange is a SamplerYcbcrRange value
-- specifying the suggested Y′CBCR range
--
-- suggestedYcbcrRange must be a valid
-- SamplerYcbcrRange value
[$sel:suggestedYcbcrRange:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrRange
-- | suggestedXChromaOffset is a ChromaLocation value
-- specifying the suggested X chroma offset
--
-- suggestedXChromaOffset must be a valid
-- ChromaLocation value
[$sel:suggestedXChromaOffset:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> ChromaLocation
-- | suggestedYChromaOffset is a ChromaLocation value
-- specifying the suggested Y chroma offset
--
-- suggestedYChromaOffset must be a valid
-- ChromaLocation value
[$sel:suggestedYChromaOffset:BufferCollectionPropertiesFUCHSIA] :: BufferCollectionPropertiesFUCHSIA -> ChromaLocation
-- | VkBufferConstraintsInfoFUCHSIA - Structure buffer-based buffer
-- collection constraints
--
-- Valid Usage
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- BufferCreateInfo, FormatFeatureFlags,
-- StructureType,
-- setBufferCollectionBufferConstraintsFUCHSIA
data BufferConstraintsInfoFUCHSIA
BufferConstraintsInfoFUCHSIA :: SomeStruct BufferCreateInfo -> FormatFeatureFlags -> BufferCollectionConstraintsInfoFUCHSIA -> BufferConstraintsInfoFUCHSIA
[$sel:createInfo:BufferConstraintsInfoFUCHSIA] :: BufferConstraintsInfoFUCHSIA -> SomeStruct BufferCreateInfo
-- | requiredFormatFeatures bitmask of
-- FormatFeatureFlagBits required features of the buffers in the
-- buffer collection
[$sel:requiredFormatFeatures:BufferConstraintsInfoFUCHSIA] :: BufferConstraintsInfoFUCHSIA -> FormatFeatureFlags
-- | bufferCollectionConstraints is used to supply parameters for
-- the negotiation and allocation of the buffer collection
[$sel:bufferCollectionConstraints:BufferConstraintsInfoFUCHSIA] :: BufferConstraintsInfoFUCHSIA -> BufferCollectionConstraintsInfoFUCHSIA
-- | VkSysmemColorSpaceFUCHSIA - Structure describing the buffer
-- collections color space
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferCollectionPropertiesFUCHSIA,
-- ImageFormatConstraintsInfoFUCHSIA, StructureType
data SysmemColorSpaceFUCHSIA
SysmemColorSpaceFUCHSIA :: Word32 -> SysmemColorSpaceFUCHSIA
-- | colorSpace value of the Sysmem ColorSpaceType
--
-- colorSpace must be a ColorSpaceType as
-- defined in fuchsia.sysmem/image_formats.fidl
[$sel:colorSpace:SysmemColorSpaceFUCHSIA] :: SysmemColorSpaceFUCHSIA -> Word32
-- | VkImageFormatConstraintsInfoFUCHSIA - Structure image-based buffer
-- collection constraints
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection, FormatFeatureFlags,
-- ImageConstraintsInfoFUCHSIA, ImageCreateInfo,
-- ImageFormatConstraintsFlagsFUCHSIA, StructureType,
-- SysmemColorSpaceFUCHSIA
data ImageFormatConstraintsInfoFUCHSIA
ImageFormatConstraintsInfoFUCHSIA :: SomeStruct ImageCreateInfo -> FormatFeatureFlags -> ImageFormatConstraintsFlagsFUCHSIA -> Word64 -> Word32 -> SysmemColorSpaceFUCHSIA -> ImageFormatConstraintsInfoFUCHSIA
-- | imageCreateInfo is the ImageCreateInfo used to create
-- a Image that is to use memory from the
-- BufferCollectionFUCHSIA
--
-- imageCreateInfo must be a valid ImageCreateInfo
-- structure
[$sel:imageCreateInfo:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> SomeStruct ImageCreateInfo
-- | requiredFormatFeatures is a bitmask of
-- FormatFeatureFlagBits specifying required features of the
-- buffers in the buffer collection
--
-- requiredFormatFeatures must be a valid combination of
-- FormatFeatureFlagBits values
--
-- requiredFormatFeatures must not be 0
[$sel:requiredFormatFeatures:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> FormatFeatureFlags
-- | flags is reserved for future use
--
-- flags must be 0
[$sel:flags:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> ImageFormatConstraintsFlagsFUCHSIA
-- | sysmemPixelFormat is a PixelFormatType value from
-- the fuchsia.sysmem/image_formats.fidl FIDL interface
[$sel:sysmemPixelFormat:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> Word64
-- | colorSpaceCount the element count of pColorSpaces
[$sel:colorSpaceCount:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> Word32
-- | pColorSpaces is a pointer to an array of
-- SysmemColorSpaceFUCHSIA structs of size
-- colorSpaceCount
--
-- pColorSpaces must be a valid pointer to a valid
-- SysmemColorSpaceFUCHSIA structure
[$sel:colorSpaces:ImageFormatConstraintsInfoFUCHSIA] :: ImageFormatConstraintsInfoFUCHSIA -> SysmemColorSpaceFUCHSIA
-- | VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer
-- collection constraints
--
-- Valid Usage
--
--
--
--
--
-- Valid Usage (Implicit)
--
--
--
--
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferCollectionConstraintsInfoFUCHSIA,
-- ImageConstraintsInfoFlagsFUCHSIA,
-- ImageFormatConstraintsInfoFUCHSIA, StructureType,
-- setBufferCollectionImageConstraintsFUCHSIA
data ImageConstraintsInfoFUCHSIA
ImageConstraintsInfoFUCHSIA :: Vector ImageFormatConstraintsInfoFUCHSIA -> BufferCollectionConstraintsInfoFUCHSIA -> ImageConstraintsInfoFlagsFUCHSIA -> ImageConstraintsInfoFUCHSIA
-- | pFormatConstraints is a pointer to an array of
-- ImageFormatConstraintsInfoFUCHSIA structures of size
-- formatConstraintsCount that is used to further constrain
-- buffer collection format selection for image-based buffer collections.
[$sel:formatConstraints:ImageConstraintsInfoFUCHSIA] :: ImageConstraintsInfoFUCHSIA -> Vector ImageFormatConstraintsInfoFUCHSIA
-- | bufferCollectionConstraints is a
-- BufferCollectionConstraintsInfoFUCHSIA structure used to supply
-- parameters for the negotiation and allocation for buffer-based buffer
-- collections.
[$sel:bufferCollectionConstraints:ImageConstraintsInfoFUCHSIA] :: ImageConstraintsInfoFUCHSIA -> BufferCollectionConstraintsInfoFUCHSIA
-- | flags is a ImageConstraintsInfoFlagBitsFUCHSIA value
-- specifying hints about the type of memory Sysmem should allocate for
-- the buffer collection.
[$sel:flags:ImageConstraintsInfoFUCHSIA] :: ImageConstraintsInfoFUCHSIA -> ImageConstraintsInfoFlagsFUCHSIA
-- | VkBufferCollectionConstraintsInfoFUCHSIA - Structure of general buffer
-- collection constraints
--
-- Description
--
-- Sysmem uses all buffer count parameters in combination to determine
-- the number of buffers it will allocate. Sysmem defines buffer count
-- constraints in fuchsia.sysmem/constraints.fidl.
--
-- Camping as referred to by minBufferCountForCamping, is
-- the number of buffers that should be available for the participant
-- that are not for transient use. This number of buffers is required for
-- the participant to logically operate.
--
-- Slack as referred to by
-- minBufferCountForDedicatedSlack and
-- minBufferCountForSharedSlack, refers to the number of buffers
-- desired by participants for optimal performance.
-- minBufferCountForDedicatedSlack refers to the current
-- participant. minBufferCountForSharedSlack refers to buffer
-- slack for all participants in the collection.
--
-- Valid Usage (Implicit)
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferConstraintsInfoFUCHSIA,
-- ImageConstraintsInfoFUCHSIA, StructureType
data BufferCollectionConstraintsInfoFUCHSIA
BufferCollectionConstraintsInfoFUCHSIA :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> BufferCollectionConstraintsInfoFUCHSIA
-- | minBufferCount is the minimum number of buffers available in
-- the collection
[$sel:minBufferCount:BufferCollectionConstraintsInfoFUCHSIA] :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
-- | maxBufferCount is the maximum number of buffers allowed in
-- the collection
[$sel:maxBufferCount:BufferCollectionConstraintsInfoFUCHSIA] :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
-- | minBufferCountForCamping is the per-participant minimum
-- buffers for camping
[$sel:minBufferCountForCamping:BufferCollectionConstraintsInfoFUCHSIA] :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
-- | minBufferCountForDedicatedSlack is the per-participant
-- minimum buffers for dedicated slack
[$sel:minBufferCountForDedicatedSlack:BufferCollectionConstraintsInfoFUCHSIA] :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
-- | minBufferCountForSharedSlack is the per-participant minimum
-- buffers for shared slack
[$sel:minBufferCountForSharedSlack:BufferCollectionConstraintsInfoFUCHSIA] :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
-- | VkImageFormatConstraintsFlagsFUCHSIA - Reserved for future use
--
-- Description
--
-- ImageFormatConstraintsFlagsFUCHSIA is a bitmask type for
-- setting a mask, but is currently reserved for future use.
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- ImageFormatConstraintsInfoFUCHSIA
newtype ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA :: Flags -> ImageFormatConstraintsFlagsFUCHSIA
type ImageConstraintsInfoFlagsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA
-- | VkImageConstraintsInfoFlagBitsFUCHSIA - Bitmask specifying image
-- constraints flags
--
-- Description
--
-- General hints about the type of memory that should be allocated by
-- Sysmem based on the expected usage of the images in the buffer
-- collection include:
--
-- For protected memory:
--
-- Note that if all participants in the buffer collection (Vulkan or
-- otherwise) specify that protected memory is optional, Sysmem will not
-- allocate protected memory.
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- ImageConstraintsInfoFlagsFUCHSIA
newtype ImageConstraintsInfoFlagBitsFUCHSIA
ImageConstraintsInfoFlagBitsFUCHSIA :: Flags -> ImageConstraintsInfoFlagBitsFUCHSIA
-- | IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA
pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
-- | IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA
pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
-- | IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA
pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
-- | IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA
pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
-- | IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA specifies
-- that protected memory is optional for the buffer collection.
pattern IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA :: ImageConstraintsInfoFlagBitsFUCHSIA
type FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall a. Integral a => a
type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"
pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
-- | VkBufferCollectionFUCHSIA - Opaque handle to a buffer collection
-- object
--
-- See Also
--
-- VK_FUCHSIA_buffer_collection,
-- BufferCollectionBufferCreateInfoFUCHSIA,
-- BufferCollectionImageCreateInfoFUCHSIA,
-- ImportMemoryBufferCollectionFUCHSIA,
-- createBufferCollectionFUCHSIA,
-- destroyBufferCollectionFUCHSIA,
-- getBufferCollectionPropertiesFUCHSIA,
-- setBufferCollectionBufferConstraintsFUCHSIA,
-- setBufferCollectionImageConstraintsFUCHSIA
newtype BufferCollectionFUCHSIA
BufferCollectionFUCHSIA :: Word64 -> BufferCollectionFUCHSIA
-- | VkDebugReportObjectTypeEXT - Specify the type of an object handle
--
-- Description
--
-- '
--
-- TODO: table
--
-- DebugReportObjectTypeEXT and Vulkan Handle Relationship
--
-- Note
--
-- The primary expected use of ERROR_VALIDATION_FAILED_EXT is for
-- validation layer testing. It is not expected that an application would
-- see this error code during normal use of the validation layers.
--
-- See Also
--
-- VK_EXT_debug_marker, VK_EXT_debug_report,
-- DebugMarkerObjectNameInfoEXT,
-- DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
newtype DebugReportObjectTypeEXT
DebugReportObjectTypeEXT :: Int32 -> DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
type Zx_handle_t = Word32
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance Data.Bits.Bits Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance GHC.Classes.Ord Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance Data.Bits.FiniteBits Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance Data.Bits.Bits Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance GHC.Classes.Ord Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance GHC.Read.Read Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFlagBitsFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA
instance GHC.Show.Show Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance GHC.Read.Read Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsFlagsFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA
instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
instance Foreign.Storable.Storable Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
instance Vulkan.Zero.Zero Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA
module Vulkan.Core10
pattern API_VERSION_1_0 :: Word32
module Vulkan.Extensions.Dependencies
-- | The set of other extensions required to use this extension
extensionDependencies :: ("extensionName" ::: ByteString) -> [ByteString]
-- | The minimum required API version to use this extension
extensionCoreRequirement :: ("extensionName" ::: ByteString) -> Word32
module Vulkan.Extensions
module Vulkan